Ana Tema => Genel Devre Tasarımı => Konuyu başlatan: Serk@n77 - 27 Eylül 2024, 06:56:36
Başlık: H-Köprü Tasarımı
Gönderen: Serk@n77 - 27 Eylül 2024, 06:56:36
İyi çalışmalar.
Daha önce hazır entegreler ile PWM DC motor kontrolü yapmıştım. Şimdi mosfetlerle kendi devremi tasarlayıp 12V, 90W bir motoru hız ve yön olarak kontrol etmek istiyorum. Temel elektronik bilgilerimle internette H-Bridge devrelerini araştırarak bir devre tasarladım. Bu devreyi denemek istiyorum. Şemasını gönderiyorum. İlk denemem olduğu için dikkat etmem gereken hususları size sormak sormak istedim. Mosfet1, mosfet2, mosfet3, mosfet4 5V kontrol pinlerim.
1-3, 2-4 pinleri aynı anda lojik 1 seviyesine getirmemem gerekiyor.Bunun tehlikesini biliyorum.
Motoru döndürmem için 1-3 lojik 1 ise diğerleri 0 olmalı veya ters yön için tam tersi. Motoru hızlı bir şekilde sağ-sol yapmamam gerekiyor. Biraz beklemek gerektiğini biliyorum.
Bunun haricinde bir tavsiyeniz var mı? Mesela merak ettiğim motora bir paralel kondansatör (100nF) bağlamak gerekir mi veya PWM özellikleri gibi.
Mosfetleri yüksek amperli ve açıldığında D-S omajı yüksek olanlardan seçtim. Mosfet geytlerini 5V ile kontrol edilen transistörlerle 12V üzerinden kontrol etmeyi tasarladım.
Böyle bir devre tasarlarken Mosfetlerin ne kadar belalı olabileceklerini akıldan çıkartmamak gerekiyor. Uygun olmayan H-Köprü devrelerinde mosfet çakışması yaşandığında anında mosfetler çöp olacaktır. Buna dikkat etmek gerekiyor. Diğer bir konu da Mosfet Gate'lerinin bir kondansatör gibi davrandıklarını unutmamak gerekiyor. Malum kondansatör belirli bir akım ve voltajla şarj edildiği gibi kondansatörü deşarj etmek için yine bir tertibata ihtiyacın olduğunu unutma. Devrendeki HIGH side tarafındaki mosfetin 10K direnç üzerinden yeterince deşarj edilmesi bence pek mümkün değil gibi. Bu durumda sen kapatma emrini versende o mosfet tam kapanmayacak ve diğer tarafı açtığında mosfet çakışması kaçınılmaz olacaktır. İşte bu tür sorunların giderilmesi için mosfet sürücü entegreleri geliştirilmiştir. Bir nevi Push-Pull olarak mosfeti sürerler. Açarken hızlı şarj ve kapatırkende hızlı deşarj yaparak çakıışmayı engellerler. Geriye mosfetlerin sürülürken araya yeterli ölü zamanın koyulması kalıyor. Her bir mosfetin Açılma (Turn_on) ve kapanma (TUrn-Off) zamanı vardır. Bu sürelere özellikle dikkat edip açma kapama ve yön değiştirme işlemlerinde gereken ölü zamanın (Dead time) aralıkta verilmesi gerekir. Yoksa biri kapanırken henüz kapanmadan diğerini açmış olursunki bu durumda mosfet çakışması meydana gelirki hiç istenmeyen bir durumdur bu. Söylediklerim bir amatörün tecrübelere dayanan sözleridir. Anlam çıkarmak zana kalıyor.
Başlık: Ynt: H-Köprü Tasarımı
Gönderen: mehmet - 27 Eylül 2024, 10:40:21
Bu nedenle; IR2104 gibi ic kullanmanız. Bu durumda tüm mosfetleriniz N-ch olacaktır. Rahat edersiniz.
İlla bu şekilde sürmek istiyorsanız: Mosfetleri süren transistörler yanlış bağlı. Kuzey mosfetleri alttaki gibi sürebilirsiniz. Eğer, yük gerilimi 15volttan düşükse gerilim bölücüye gerek yok.
(https://i.ibb.co/3cC0x4p/ih51T.png)
Ben alttaki şemayı yaptım. Mosfetler 3205, sürücü 2104 olarak kullandım. Ayrıca dört adet hızlı yük diyotlarını ilave ettim.
Alıntı yapılan: ete - 27 Eylül 2024, 09:05:26Devrendeki HIGH side tarafındaki mosfetin 10K direnç üzerinden yeterince deşarj edilmesi bence pek mümkün değil gibi. Bu durumda sen kapatma emrini versende o mosfet tam kapanmayacak ve diğer tarafı açtığında mosfet çakışması kaçınılmaz olacaktır. Ete
Hocam bu durum sizce hız ayarında da sorun teşkil eder mi? Neticede PWM'de açılıp kapanan bir sinyal.
Zira motoru ters döndürme için 5 sn. süre opsiyonum var. Sanırım bu süre mosfet boşalması için yeterli bir süredir.
İlla bu şekilde sürmek istiyorsanız: Mosfetleri süren transistörler yanlış bağlı. Kuzey mosfetleri alttaki gibi sürebilirsiniz. Eğer, yük gerilimi 15volttan düşükse gerilim bölücüye gerek yok.
(https://i.ibb.co/3cC0x4p/ih51T.png)
Ben alttaki şemayı yaptım. Mosfetler 3205, sürücü 2104 olarak kullandım. Ayrıca dört adet hızlı yük diyotlarını ilave ettim.
P kanal Mosfet hatta PNP transistör bile kullanmaktan mümkün-mertebe imtinâ ediyorum. Ezberimi bozan elemanlar gibi geliyor. Maalesef hocam P kanal mosfet ile söylediğiniz konuyu anlayamadım, imkanınız varsa biraz daha detaylandırarak anlatabilir misiniz?
Bu mosfet 12V ile D-S arası açık, 1V-2V civarında düşük bir voltay ile kapalı olması lazım benim bildiğim kadarıyla.
Başlık: Ynt: H-Köprü Tasarımı
Gönderen: mehmet - 27 Eylül 2024, 21:14:37
Merhaba; Alttaki devre ile 24v 2 adet liner mota yön vermeye çalışıyorum ayrıca gnd tarafına şönt direnc koyup morun çektiği akımı ölçüyorum. (https://i.ibb.co/jhbTdpk/Ekran-Al-nt-s-6.jpg) (https://ibb.co/jhbTdpk) Devre masada düzgün çalışıyor liner motor test sırasında yüksüz 1.5amper çekiyor buna ayrıca taş direnç le ilave yük oluşturup 5amper ve üzeri yükledik devrede gene bir sorun olmadı. ancak motoru tezgaha bağladığımızda 1 hafta içerisinde arızalandı. araştırma yaptığımda bu tarz devre için yön değiştirme yapmadan önce akımı başka bir mosfetle kesip o şekilde yapmam gerektiğini gördüm. konu hakkında tavsiyeniz nedir. motor hız kontrolü yapmayacağım.
Alttaki devre ile gate bacağı gerilimini düşürmeye çalışılmış bu devrenin uygulamasını yapacağım mevcut devrede küçük değişiklikle uygulayacağım. çizim için fikriniz nedir.
motordan enerjiyi kestiğin anda motor durana kadar jeneratöre dönüşür ve verdiğin alternansın ters alternansında motor durana kadar sana geri enerji verir.
bu enerjiyi ya sönümlemelisin, ya da motor durana kadar bekleyip(ölü zaman) sonra diğer yönde enerji vermelisin.
Alıntı yapılan: ahmet_zxc - 30 Eylül 2024, 21:35:59motordan enerjiyi kestiğin anda motor durana kadar jeneratöre dönüşür ve verdiğin alternansın ters alternansında motor durana kadar sana geri enerji verir.
bu enerjiyi ya sönümlemelisin, ya da motor durana kadar bekleyip(ölü zaman) sonra diğer yönde enerji vermelisin.
alttaki devrede de buna yönelik bir çözüm yok.
Merhaba ters yönlü hareket için bekleme süresini ekleye bilirim 5sn fazlasıyla yeterli olacaktır motorun hareketini durması için. Alttaki devrede ise gate voltajinin 18vvden fazla olmaması için ilave direnç ve zener eklenmiş devreyi kurdum ve test ettiğimde mosfetler artık 12v de çalıştırmıyor ancak 24v ile devreyi beslerseniz o zaman çıkış alabiliyorsun. Elimde 24v motor olmadığından deneme yapamadım ölçü aleti ile yaptığım kontrolde 12v ile beslersen cikisda voltaj olmazken 24v ile beslersen cikisda voltaj gözükmekte
Misfeti aslında role kontakları yapışma sondan dolayı mosfetli h-bridge yapmak istedim ama sıkıntısı bitmiyor
Role kontağı yapışma problemine çözüm olarak acaba bir mosfetle besleme kesip sonra rolenin kontagini değiştirip sonra gene mosfetle enerjiyi açsam hatta pwm ile hızını yavasdan yukselterek role kontak ömrüne faydası olurmu sizce
Alıntı yapılan: ete - 27 Eylül 2024, 09:05:26Böyle bir devre tasarlarken Mosfetlerin ne kadar belalı olabileceklerini akıldan çıkartmamak gerekiyor. Uygun olmayan H-Köprü devrelerinde mosfet çakışması yaşandığında anında mosfetler çöp olacaktır. Buna dikkat etmek gerekiyor. Diğer bir konu da Mosfet Gate'lerinin bir kondansatör gibi davrandıklarını unutmamak gerekiyor. Malum kondansatör belirli bir akım ve voltajla şarj edildiği gibi kondansatörü deşarj etmek için yine bir tertibata ihtiyacın olduğunu unutma. Devrendeki HIGH side tarafındaki mosfetin 10K direnç üzerinden yeterince deşarj edilmesi bence pek mümkün değil gibi. Bu durumda sen kapatma emrini versende o mosfet tam kapanmayacak ve diğer tarafı açtığında mosfet çakışması kaçınılmaz olacaktır. İşte bu tür sorunların giderilmesi için mosfet sürücü entegreleri geliştirilmiştir. Bir nevi Push-Pull olarak mosfeti sürerler. Açarken hızlı şarj ve kapatırkende hızlı deşarj yaparak çakıışmayı engellerler. Geriye mosfetlerin sürülürken araya yeterli ölü zamanın koyulması kalıyor. Her bir mosfetin Açılma (Turn_on) ve kapanma (TUrn-Off) zamanı vardır. Bu sürelere özellikle dikkat edip açma kapama ve yön değiştirme işlemlerinde gereken ölü zamanın (Dead time) aralıkta verilmesi gerekir. Yoksa biri kapanırken henüz kapanmadan diğerini açmış olursunki bu durumda mosfet çakışması meydana gelirki hiç istenmeyen bir durumdur bu. Söylediklerim bir amatörün tecrübelere dayanan sözleridir. Anlam çıkarmak zana kalıyor.
Ete
Hocam 10K yı kaç ohm'a düşürmemi tavsiye edersiniz? Bu devrede sanırım dönüşler arasına uygun bir süre koyarsam sorun çıkmayacak gibi. Veya en azından deneyip tecrübe kazanmak istiyorum.
PWM frekansı konusunda bir tavsiyeniz olur mu?
Bir de PWM.i her iki mosfetten eş zamanlı mı vermeliyim yoksa mosfetin birisi açıp (kapalı hâle getirip) diğerinden mi vermeliyim?
Anlaşılan mosfet sürücü kullanmadan yapayım diyorsun. Bu durumda 10K direncin değeri ni en azından yarıya düşürmende fayda var. Mosfet gate leri ortalama 100-150 ohm dirençleri sever. Ama oraya bu değerde bir direnç koyamazsın devrenin yapısı gereği kaldırmaz.Belkide biraz deneme yapıp 1K ya kadar o direnci düşürebilirsin. MOsfetleri sürerken araya bir ölü zaman gecikmesi koymanda yarar var. Zamanın miktarı konusunu deneyerek bulman gerekecek. Motorlar için en uygun PWM frekansı 5Khz - 20Khz aralığıdır. Bazı arkadaşlar daha yüksek frekanslarda çalışmışlar ve daha uygun olduğu söylüyorlar ben 20Khz tercih ederim. PWM nin eş zamanlı verilmesi bence zararlı. Kime lazım ise diğeri kapalı olmalı lazım olana verilmeli. Burada temel fikir alt mosfetlerin aynı anda sürülü olmamasını sağlamaktır. Aynı şey üst mosfetler içinde geçerli elbette.
Merhaba alttaki devreyi uyguladım. elimde 12v silecek motoru ile test ediyorum motor boşta 2.5amper çekiyor. Kontrolcü olarak 16f1827 kullandım donınmsal pwm ile önce röle cekip ardından duty arttırarak motoru calıştırıyorum durarkende duty i yavaşca sıfıra çekip ardından röleyi kapatıyorum bu şekilde röle kontaklarını korumaya çalışacağım. Her nasılsa pwm çalıştrımayı başardım benim için oldukca karmaşık geldi uyguladığım pwm hesabını hesaplamak için yardımcı olurmusunuz.
Devre başka bir devreden tetik alıyor. kart üzerinde bir potans var ondan akım sınırlama değeri alıyor başka bir pindende motor akımını ölçüyor. set değerden fazla ise portb.0 ı high yapıyor.
ASM
__config _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_ON & _MCLRE_OFF & _CPD_ON & _BOREN_OFF & _CLKOUTEN_OFF & _IESO_ON & _FCMEN_OFF
__config _CONFIG2, _WRT_OFF & _PLLEN_ON & _LVP_OFF & _STVREN_OFF
endasm
OSCCON = %11110000 '8 mhz internal clock, PLL on
ANSELA = %00000011 ' AN on PortA.0 analog
ANSELB = %00000000 ' Digital inputs
OPTION_REG.7=0
'WPUA = %11000000
'WPUB = %00110010
DEFINE OSC 32
DEFINE ADC_BITS 10 ' 10 bit A/D Conversion
DEFINE ADC_CLOCK 1
DEFINE ADC_SAMPLEUS 10 ' 5 uS A/D sample time
'///////////////////////////Analoglar///////////////////////////////
Symbol GODONE = ADCON0.1 'Dönüştürme Durum Biti Devam ediyor = 1
Symbol ADONE = ADCON0.0 'Dönüştürme Modülü Etkin = 1
Symbol ADIF = PIR1.6 'ADC okuma bitti kesme bayrağı
ADCON1 = 128
'RCSTA = $90 ' Enable serial port & continuous receive
'TXSTA = $24 ' Enable transmit, BRGH = 1
'SPBRG = 64 ' 9600 Baud @ 32MHz, 0,04%
'SPBRGH = 3
'BAUDCON.3 = 1 ' Enable 16 bit baudrate generator
Symbol GIE = INTCON.7 'genel kesmeler aktif
Symbol PEIE = INTCON.6 'Çevresel kesmeler aktif
Symbol RCIE = PIE1.5 'EUSART alma kesmesi
Symbol RCIF = PIR1.5 'EUsart Kesme Bayrağı
Symbol SPEN = RCSTA.7 'Seri Bağlantı Noktası Etkin = 1
Symbol CREN = RCSTA.4 'Sürekli veri alma etkin = 1
Symbol OERR = RCSTA.1 'Sürekli veri alma etkin = 1
PEIE = 0 'Çevresel Kesmeler Aktif
SPEN = 0 'Seri Bağlantı Noktası Etkin = 1
CREN = 0 'Sürekli veri alma etkin = 1
CREN = 0
RCIE = 0 'EUsart Alma Kesmesi Aktif = 1
GIE = 0 'Tüm kesmeler açık
'ON INTERRUPT GOTO KESME 'komut satırını ekle programa (BASLA satırından bir evvele koyabilirsin)
Porta = 0
Portb = 0
TRISA = 3
TRISB = %11000000
WPUA = 0
WPUB = %11000000
MDCON=0 'modülator çıkışı iptal
MDSRC=0 'modülasyon kaynak seçimi pwm sayfa 205 ten başlıyor
MDCARH=0 'modülasyon yüksek biti
MDCARL=0 'modülasyon düşük biti
CCP1CON.2=1 'pwm moduna ve tek pin çıkışına ayarlandı
CCP1CON.3=1 'pwm moduna ve tek pin çıkışına ayarlandı
CCPTMRS=0 'tüm ccp lere tmr2 seçildi
CCPR1L=0
CCPR1H=0
T2CON=%00000110 'Prescaller / 16, Timer2 ON 'ccp1 için prescaller ayarlandı ve t2 devreye alındı
PR2=249
Symbol YAkm = Portb.0
'Portb.3 Pwm Cıkıs
Symbol Rly1 = Portb.4
Symbol Rly2 = Portb.5
Symbol Ttk1 = Portb.6
Symbol Ttk2 = portb.7
Deger var word
MtrAkm var word
SetAkm var word
CCPR1L=0
CCPR1H=0
basla:
if Ttk1 = 0 and Rly1 = 0 then
if CCPR1L != 0 then gosub Durdur
high Rly1:Low Rly2
pause 100
for CCPR1L = 1 to 250
pause 5
next CCPR1L
endif
if Ttk2 = 0 and Rly2 = 0 then
if CCPR1L != 0 then gosub Durdur
Low Rly1:High Rly2
pause 100
for CCPR1L = 1 to 250
pause 5
next CCPR1L
endif
Adcon0 = 0
ADIF = 0
ADONE = 1 'Dönüştürme Modülü Etkin = 1
GODONE = 1
while GODONE = 1
wend
ADONE = 0
MtrAkm = (ADRESh*256) + ADRESL
Adcon0 = 4
ADIF = 0
ADONE = 1 'Dönüştürme Modülü Etkin = 1
GODONE = 1
while GODONE = 1
wend
ADONE = 0
SetAkm = (ADRESh*256) + ADRESL
if MtrAkm > SetAkm then
high YAkm
else
low Yakm
endif
pause 50
if Ttk1 = 1 and Ttk2 = 1 and CCPR1L != 0 then Gosub DurDur
goto basla
'===============================================================================
'===============================================================================
DurTmp var byte
DurDur:
DurTmp = CCPR1L
for CCPR1L = DurTmp to 1 Step -1
pause 2
next CCPR1L
pause 100
low Rly1:Low Rly2
pause 100
return
Alıntı yapılan: aRci - 01 Ekim 2024, 00:17:48Merhaba ters yönlü hareket için bekleme süresini ekleye bilirim 5sn fazlasıyla yeterli olacaktır motorun hareketini durması için. Alttaki devrede ise gate voltajinin 18vvden fazla olmaması için ilave direnç ve zener eklenmiş devreyi kurdum ve test ettiğimde mosfetler artık 12v de çalıştırmıyor ancak 24v ile devreyi beslerseniz o zaman çıkış alabiliyorsun. Elimde 24v motor olmadığından deneme yapamadım ölçü aleti ile yaptığım kontrolde 12v ile beslersen cikisda voltaj olmazken 24v ile beslersen cikisda voltaj gözükmekte
Misfeti aslında role kontakları yapışma sondan dolayı mosfetli h-bridge yapmak istedim ama sıkıntısı bitmiyor
Role kontağı yapışma problemine çözüm olarak acaba bir mosfetle besleme kesip sonra rolenin kontagini değiştirip sonra gene mosfetle enerjiyi açsam hatta pwm ile hızını yavasdan yukselterek role kontak ömrüne faydası olurmu sizce
roleler elbette bir çözüm olmakla birlikte bana motor sürmede çok doğru tercih gibi gelmiyorlar. belkide ben yanılıyorumdur. yaptığın yöntemle roleleri koruyabilirsin, makul mantıklı. bizde ac de çalışan cihazlarda zero cross detect yapıp zero noktasında roleleri açıp kapıyoruz.
Başlık: Ynt: H-Köprü Tasarımı
Gönderen: mehmet - 05 Ekim 2024, 10:30:50
DC motor için, iki röle ve bir mosfet ile yön ve hız kontrolü yapılır. Mosfet S pini ile GND arasına bağlalan bir direnç ile akım okuması yapılabilir.
Alıntı yapılan: ete - 27 Eylül 2024, 09:05:26Böyle bir devre tasarlarken Mosfetlerin ne kadar belalı olabileceklerini akıldan çıkartmamak gerekiyor. Uygun olmayan H-Köprü devrelerinde mosfet çakışması yaşandığında anında mosfetler çöp olacaktır. Buna dikkat etmek gerekiyor. Diğer bir konu da Mosfet Gate'lerinin bir kondansatör gibi davrandıklarını unutmamak gerekiyor. Malum kondansatör belirli bir akım ve voltajla şarj edildiği gibi kondansatörü deşarj etmek için yine bir tertibata ihtiyacın olduğunu unutma. Devrendeki HIGH side tarafındaki mosfetin 10K direnç üzerinden yeterince deşarj edilmesi bence pek mümkün değil gibi. Bu durumda sen kapatma emrini versende o mosfet tam kapanmayacak ve diğer tarafı açtığında mosfet çakışması kaçınılmaz olacaktır. İşte bu tür sorunların giderilmesi için mosfet sürücü entegreleri geliştirilmiştir. Bir nevi Push-Pull olarak mosfeti sürerler. Açarken hızlı şarj ve kapatırkende hızlı deşarj yaparak çakıışmayı engellerler. Geriye mosfetlerin sürülürken araya yeterli ölü zamanın koyulması kalıyor. Her bir mosfetin Açılma (Turn_on) ve kapanma (TUrn-Off) zamanı vardır. Bu sürelere özellikle dikkat edip açma kapama ve yön değiştirme işlemlerinde gereken ölü zamanın (Dead time) aralıkta verilmesi gerekir. Yoksa biri kapanırken henüz kapanmadan diğerini açmış olursunki bu durumda mosfet çakışması meydana gelirki hiç istenmeyen bir durumdur bu. Söylediklerim bir amatörün tecrübelere dayanan sözleridir. Anlam çıkarmak zana kalıyor.
Ete
Tristate buffer kullanılarak dediğiniz şey yapılabilir aslında. Bunların çıkışı yarım köprü olup; giriş düşük olduğunda çıkışı VSS'ye, giriş yüksek olduğunda ise VDD'ye çekerler. Her girişe birer tane tristate buffer konabilir. Bu durumda MOSFET'ler lojik seviyede sürülebilen IRLZ serisinden seçilebilir.