MOSFET driver

Odpovědět
miha
Příspěvky: 14
Registrován: 10. 4. 2010, 3:21

12. 4. 2010, 12:42

Navrhuji elektroniku na ovladani stepper a servo motoru (obou). Mam navrzeny H mustek, ktery bude ovladat MCU+CPLD. Mezi logikou a MOSFETem je driver (IR21xx). HI i LO jsou N-MOSFETy. Rozhodl jsem se to navrhnout bez nejakych L298 a podobnych, protoze nejsou na moc velke proudy.

Mam nekolik nejasnosti.

1) Na schematu k UHU controlleru (http://www.embeddedtronics.com/public/E ... ematic.pdf) jsou mezi IR2184 a gate MOSFETu odpory a zener+dioda+kapacita. Muze mi nekdo vysvetlit funkci tohoto zapojeni? Dle meho nazoru tim resi rozdil mezi Cgs a Cdg, aby se oboji stejne rychle nabijelo/vybijelo a FETy zbytecne netopily diky pruchodu proudu ve stejne vetvi pri jejich otevirani/zavirani. Nebo se pletu? V datasheetech jsem nikde takove zapojeni nevidel.

2) Volba driveru MOSFETu: Microchip nedela dle meho nazoru nic pouzitelneho (pro vyssi napeti, navic nemaji charge pump - nebo nerozumim jejich datasheetum). Volba padla na IRF - IR2184 vypada velmi slusne (velky proud na vystupu pro rychle spinani), nicmene jde hure sehnat. IR2104 ma moc male proudy, ten asi nebude moc pouzitelny. Potom jsem nasel jeste IR2110, ktery je levny, je skladem, a mel by jit pouzit - stal se tedy favoritem (ma dat 2A). Nedelam nekde chybu, je ten obvod vhodny?

3) Jak to bude s chlazenim IRF540N (TO-220) ? Jak velky chladic to bude chtit pro proudy rekneme do 5A, 10A, 20A, 30A ? Jak resite izolaci pripadneho jednoho velkeho chladice? heat pad je pripojena na drain, tzn. dolni pulka jde prizemnit, ale horni bohuzel nikoliv.

Diky,

Martin
PBr
Příspěvky: 944
Registrován: 16. 6. 2007, 8:21
Bydliště: Slovensky Grob
Kontaktovat uživatele:

12. 4. 2010, 7:25

Nazdar,

1. Zenerka je jasna, ta by mala chranit proti vysokemu Ugs, u FET-ov moze byt max. 20V. Ta kombinacia R-R-C-D podla mna by mala pomalsie otvarat a rychlejsie zatvarat trandaky, takze je to nieco ako spominate.

2. Volba driveru je vec autora, kazdopadne ja by som pouzil kompletny half bridge s nabojovou pumpou. Akurat bude treba spocitat, ci nebude niekde problem pri pracovnej frekvencii s danym trandakom. Kupit sa da vsetko, tych par korun navyse uz nikoho nezabije :)

3. Chadenie sa da vypocitat, ale lepsie je s tym experimentovat pocas vyvoja. Priamo na chladic asi sa nebude dat nic, vsetko bude treba cez izolacne podlozky/priechodky.

Pokial sa v niecom mylim, kludne ma napravte, rad sa priucim :)
miha
Příspěvky: 14
Registrován: 10. 4. 2010, 3:21

12. 4. 2010, 10:24

PBr píše:Nazdar,
2. Volba driveru je vec autora, kazdopadne ja by som pouzil kompletny half bridge s nabojovou pumpou. Akurat bude treba spocitat, ci nebude niekde problem pri pracovnej frekvencii s danym trandakom. Kupit sa da vsetko, tych par korun navyse uz nikoho nezabije :)
Tady vubec nejde o par korun, ale aby to nekdo dodal. Vzorky muzu mit od cehokoliv, ale bude to chvili trvat. Rad bych zvolil neco, co je skladem napr. v GME.

Mohl bych poprosit nekoho zkuseneho, aby vyloucil nevhodne drivery?

http://www.gme.cz/_dokumentace/dokument ... -072.1.pdf (muj favorit)
http://ftp.cnchungary.com/Varsanyi_Pete ... tDrive.pdf (tento je v UHU)

A dale cokoliv co je dostupne na http://www.gme.cz/cz/elektronicke-souca ... 71577.html.

Umim kupovat samozrejme i jinde (Farnell apod)., ale tam se neobjednava kazdy tyden.
ledvinap
Příspěvky: 793
Registrován: 8. 11. 2009, 4:40
Bydliště: Plzen

12. 4. 2010, 11:05

Hraju si z necim podobnym, viz priloha. Jen chci zkusit pouzit jen XMega procesor a vse delat pres nej (zadna externi logika a externi komparator)

1) Teorie driveru je celkem pekne popsana zde: http://focus.ti.com/lit/ml/slup169/slup169.pdf. Pro rizeni motoru bych si s tim asi hlavu moc nelamal, prece jenom 20kHz neni zaddna frekvence. Jediny problem by mohl byt minimalni proud.

2) Ja jsem skoncil u IRS2011. Prinejmensim je to jen 8 pin ;-). Charge pump asi nepotrebujes, ma smysl jen pokud je treba 100% duty cycle (normalne se kondenzator pro horni fet nabiji pres diodu kdyz je vystup dole, pokud by byl trvale horni fet zapnuty, tak se casem horni kondenzator vybije. Proto nekdete obvody maji menic, ktery ho v tomto pripade udrzuje nabity. IMHO je pro rizeni motoru zvytecne, jde resit tim, ze PWM nikdy nebude na 100%)

3) Pokud pouzijes TO220, tak mas celkem velky prostor volby tranzistoru. Osobne jsem vychazel z pozadovaneho proudu (10Arms) a hledal neco s Rdson tak, aby tam vysel rozumny ztratovy vykon. Pak podle ceny ...

Pro pridelani na chladic hodlam pouzit silikonove izolacni podlozky (treba od gme) + plastove srouby nebo izolacni podlozku pod sroub. Izoloval bych vsechny tranzistory. Na chladic by vysel plus, navic kdyby jedna izolace selhala, tak se nic nestane.
Přílohy
motdrv_v1_0.pdf
(43.7 KiB) Staženo 1098 x
miha
Příspěvky: 14
Registrován: 10. 4. 2010, 3:21

12. 4. 2010, 12:46

Pojdme spojit sily dohromady :-). Xmegu neznam, ale asi to pouzitelne bude. Ja to budu delat s PIC24HJ, MIPS, nebo ARM7. Vidim 3 problemy:

1) Rychlost vypnuti pri nadproudu, pres MCU na INT to bude hodne dlouhe, nevim zda to nebude mit fatalni nasledky.

2) Dekodovani pulsu z encoderu, pro rychle zpracovani MCU by bylo dobre mit jeden signal na generovani INT a druhy na zjisteni stavu, aby se dalo snadno rozeskocit a behem par instrukci provest celou operaci.

3) PWM 20kHz mi prijde dost malo... ale nemam praktickou zkusenost.


---------------------

Dale doplnuji errata ke svemu prvnimu prispevku: na source low fetu sice chladic muzu dat, ale neni tam primo zem. Slo by tedy propojit jen ty dva FETy, musime merit proud mezi source a gnd pres odpor.
ledvinap
Příspěvky: 793
Registrován: 8. 11. 2009, 4:40
Bydliště: Plzen

12. 4. 2010, 1:50

Pojdme spojit sily dohromady :-). Xmegu neznam, ale asi to pouzitelne bude. Ja to budu delat s PIC24HJ, MIPS, nebo ARM7. Vidim 3 problemy:

1) Rychlost vypnuti pri nadproudu, pres MCU na INT to bude hodne dlouhe, nevim zda to nebude mit fatalni nasledky.

Nadproud bych asi resil jen castecne. S xmega jde reagovat pres event system, tam bude spozdeni par tiku hodin (na 32MHz). Spis jak to detekovat. Low-side by slo pres adc (asi 4us by vysel reakcni cas), nebo pridat komparatory, coz se mi moc nelibi, nebo pres interni komparator, ale to uz je spis na Xmega A3, jiank problem s pinama.
High-side je na 100v dost problem, sice me par reseni napada, ale nic elegantniho.

Otazka je, zda resit zkrat na vystupu. Tam je treba reagovat cca 1uS. Spis bych to zatim bral tak, ze deska bude levna a opravitelna ... a holt se bude muset davat prochu pozor.

2) Dekodovani pulsu z encoderu, pro rychle zpracovani MCU by bylo dobre mit jeden signal na generovani INT a druhy na zjisteni stavu, aby se dalo snadno rozeskocit a behem par instrukci provest celou operaci.

Xmega ma quadrature decoder, dokonce i s indexem ...

Pro vstup step/dir by slo pres IRQ resit DIR (je celekem cas, dir se meni pri male rychlosti, takze do dalsiho STEP je cas) a STEP pripojit primo na vstup citace.



3) PWM 20kHz mi prijde dost malo... ale nemam praktickou zkusenost.

Obecne se pouziva PWM aby to nepiskalo. Pro vyssi frekvenci rostou ztraty v motoru a koncaku a nic se IMHO neziska ...
Mechanicka casova konstanta motoru jse stejne daleko delsi.

---------------------

Dale doplnuji errata ke svemu prvnimu prispevku: na source low fetu sice chladic muzu dat, ale neni tam primo zem. Slo by tedy propojit jen ty dva FETy, musime merit proud mezi source a gnd pres odpor.

Podivej se na V7131 od GME.cz . Vejdou se na nej 2 TO220, Rth neuvadej ... ale tech 10W se na nem snad nejak rozptyli ...
pavel-gravos
Příspěvky: 318
Registrován: 27. 1. 2008, 4:30

12. 4. 2010, 3:53

V7131 - na 10W maly
idealni je dostat teplo ven na pixlu, jinak se kumuluje.

tranzistory ve FullPack, po starostech s izolaci
http://www.irf.com/product-info/datashe ... fi540n.pdf
www.semic.cz na st.metra B Hurka vede vyrobky IRF
ledvinap
Příspěvky: 793
Registrován: 8. 11. 2009, 4:40
Bydliště: Plzen

12. 4. 2010, 5:15

Nevim, chci postavit rozumnej, ne spickovej driver. A hlavne zkusit, zda to xmega A4 stiha a jak se to chova.
Tak nejak cilove:
80V 10A
4 nezavisle h-mustky
- bldc
- dc (x1)
- 2 a 3 phase stepper

Izolovany vstup step/dir/enable (nebo podle SW)
izolovany vystup (asi fail nebo tak neco)
pripojeni A/B/Z encoderu (diferencialni + 5Vaux)
Napajeni +12V logika a buzeni FETu, 80V pro H-Mustek

Chladic ... pod 30kc sezenu tranzistor 100V/15mOhm (irf4610), pro 10Arms mi vychazi ztratak 1.5W, to na tom V7131 uchladim s velkou rezervou. Nejspis budu moct pouzit i FET s vetsim odporem, ktery bude jeste levnejsi.

Zatim mi to cele vychazi na desku 80x100mm (vcetne 2x2200uF/100V), pri pouziti jineho chladice by asi bylo hur.

Naklady nevypadaji uplne zle, urcite se vejdu pod 1000kc.

A kdyby se to delalo poradne ... asi bych konecne vyzkousel DirectFet ;-)

pokud jsem neco opomnel, tak budu rad za radu ...
Laco19
Příspěvky: 276
Registrován: 17. 12. 2008, 4:19
Bydliště: Kosice

12. 4. 2010, 6:00

ledvinap píše: ... Nadproud bych asi resil jen castecne. S xmega jde reagovat pres event system, tam bude spozdeni par tiku hodin (na 32MHz). Spis jak to detekovat. Low-side by slo pres adc (asi 4us by vysel reakcni cas), nebo pridat komparatory, coz se mi moc nelibi, nebo pres interni komparator, ale to uz je spis na Xmega A3, jiank problem s pinama.
High-side je na 100v dost problem, sice me par reseni napada, ale nic elegantniho...
Co sa tyka high side, mozes sa inspirovat pdf v prilohe (snad mi autor prepaci ze to sirim dalej). Pri low side by snad slo pouzit nejaky prudovy snimac od Allegro s nastavovatelnym nadprudovym vystupom, napr. ACS709, len neviem ci sa v nasich krajoch da aj kupit (ale ak nebude v TME, tak v digikey urcite).
Přílohy
High_side_current_sense.pdf
(47.53 KiB) Staženo 901 x
miha
Příspěvky: 14
Registrován: 10. 4. 2010, 3:21

12. 4. 2010, 6:08

pavel-gravos píše:V7131 - na 10W maly
idealni je dostat teplo ven na pixlu, jinak se kumuluje.

tranzistory ve FullPack, po starostech s izolaci
http://www.irf.com/product-info/datashe ... fi540n.pdf
www.semic.cz na st.metra B Hurka vede vyrobky IRF
Za ten kontakt diky ... ne kvuli tomu FullPacku, ale zejmena IR2184: http://www.semic-shop.cz/semic-shop-cz/0/0/3 !!

Na pokusnou desku muzu dat chladicu kolik chci, uz to mam i navrzene tak, ze se mohou pripojit vodive.

Jinak ADuC7xxx maji PLA, ktere se da naprogramovat na quadrature encoder.

Nemate jste nejaky dobry zdroj na merici odpory v radu miliohm ? (oprava: jednotek az desitek miliohm, samozrejme bez indukce a na vetsi proudy. proste pod mustek).
hex24
Příspěvky: 7
Registrován: 30. 5. 2009, 12:24
Bydliště: Praha

12. 4. 2010, 6:24

Já jsem si onehdá kupoval tyhle snímací odpory pod můstek:

http://export.farnell.com/vishay-dale/w ... t=110-7419
ledvinap
Příspěvky: 793
Registrován: 8. 11. 2009, 4:40
Bydliště: Plzen

12. 4. 2010, 6:29

merici odpory jsem resil, ale na muj vkus jsou bud moc velke (rozmerove), nebo drahe nebo blbe dostupne. Takze jsem se nakonec rozhodl na kousek .56mm manganin dratu (1,5Ohm/m), ktery hodlam prilepit na chladic tranzistoru. Teplotni stabilita by mela byt celkem vpohode, ten watt nejak uchladim, cena zanedbatelna a meji ho skoro vsude.
Navic muzu pohodlne menit delku a indukcnost bude celkem zanedbatelna ...

Ir2184 - ma cenu brat obvod s dead-time? mme to prijde celkem zbytecne, resil bych to SW. Teoreticky muzes mit problme pri mikrokrokovani, od dead-time se odviji minimalni regulovatelny proud. Ale asi je to otazka vkusu ;-)
ledvinap
Příspěvky: 793
Registrován: 8. 11. 2009, 4:40
Bydliště: Plzen

16. 4. 2010, 12:58

Tak jsem trosku pokrocil. Schema je uz celkem finalni (ale potrebuje vycistit, to si necham nakonec;-) ), snad jen prehazet piny aby vysla lip deska.

Plosnak je castecne, velikost 80x100mm, jeste tam zustane kus mista ;-)

Nakonec jsem pridelal sledovani nadroudu na + vetvi, prodleva bude par uS, to by mohlo stacit. Low-side mozna pred ADC, zpozdeni nebude o moc vetsi. Ale spis bych to videl na slusne zachazeni ;-)

Tak ze mesic by to mohlo byt vyrobene, SW bude asi trosku jiny orisek...

Budu moc rad za pripominky (jak se znam, tak jsem neco urcite prehledl )
Přílohy
motdrv_v1_0_sch.pdf
(52.91 KiB) Staženo 1068 x
motdrv_v1_0_pcb.pdf
(41.4 KiB) Staženo 671 x
miha
Příspěvky: 14
Registrován: 10. 4. 2010, 3:21

16. 4. 2010, 9:24

- Q9 se vam rozjede bez kapacit? No asi ano, ale..

- chybi hodnoty filtr. kapacit

- na desku bych urcite dal rozlitou zem

- bez eagle sch+brd nevidim kde je co na desce umistene

- nestalo by preci jen udelat/pouzit DAC na procesoru, ten privest do komparatoru a alespon na dolni vetvi takto odpojovat drivery jen pres logiku? Spoctete si zpozdeni jake to bude mit softwarove... dsPIC33 na to ma dokonce pin, ktery shodi PWMku, tzn. neni nutne nic dratovat okolo.

Muj plan dekodovani pozice je takovy, ze si pripojim na vhodne porty ten enkoder, na jeden port dam fast interrupt (mam tam CPLD, takze porty si budu volit az dodatecne pri vyvoji). Tento fast interrupt si vezme hodnotu z daneho portu (vc. dalsich veci okolo), provede AND s maskou aby tam byly jen ty 2 bity. Hodnotu pricte k PC, cimz skoci na instrukci inc/dec. (to mame 1takt and, 4 takty jmp, 1 takt pricteni/odecteni, a pak interrupt return). takto to bude na par cyklu, ukladat budu jen 1 registr. Planujete neco podobneho?

Proc tam na to servo mate 2x plny bridge?
ledvinap
Příspěvky: 793
Registrován: 8. 11. 2009, 4:40
Bydliště: Plzen

16. 4. 2010, 10:59

> Q9 se vam rozjede bez kapacit? No asi ano, ale..
Kapacity pro 32k krystal jsou integrovane na chipu, takze to takto funguje.

> - chybi hodnoty filtr. kapacit
Jeste jsem to moc neresil. Na vykonove strane se vejde 2x 2.2mF/100V, blokovaci kondenzatory 100n, kondenzatory v low-pass filtrech bud neosazovat, nebo nastavit RC kolem 1MHz

> - na desku bych urcite dal rozlitou zem
Do ridici casti urcite prijde, vykonovou bych asi nechal tak, jak je, max. zesily spoje kde to jde.

> - bez eagle sch+brd nevidim kde je co na desce umistene
Jeste to trosku poladim a vystavim je. Nebo pokud vas zajimaji v tomto stavu, tak muzu poslat.

> - nestalo by preci jen udelat/pouzit DAC na procesoru, ten privest do komparatoru a alespon na dolni vetvi takto odpojovat drivery jen pres logiku? Spoctete si zpozdeni jake to bude mit softwarove... dsPIC33 na to ma dokonce pin, ktery shodi PWMku, tzn. neni nutne nic dratovat okolo

Tohle reseni se mi moc nelibi. Veci radeji resim v SW, HW bych chtel mit co nejjednodussi. Navic externi komparator znamena generovat blanking, muzou byt problemy s rusenim a tak.
Moje myslenka je pouzit PI regulator na nastaveni stridy PWM pro pozadovany proud. Mereni pres ADC (2Ms/s, pipeline zpozdeni 5 ticku). Ale spis udelat par vzorku a podle toho ridit PID.

> Muj plan dekodovani pozice je takovy, ze si pripojim na vhodne porty ten enkoder, na jeden port dam fast interrupt (mam tam CPLD, takze porty si budu volit az dodatecne pri vyvoji). Tento fast interrupt si vezme hodnotu z daneho portu (vc. dalsich veci okolo), provede AND s maskou aby tam byly jen ty 2 bity. Hodnotu pricte k PC, cimz skoci na instrukci inc/dec. (to mame 1takt and, 4 takty jmp, 1 takt pricteni/odecteni, a pak interrupt return). takto to bude na par cyklu, ukladat budu jen 1 registr. Planujete neco podobneho?

XMega ma integrovany qadraturni demodulator. Pripoji se na citac, umi i index. Takze pozici mam v registru citace a neni moc co resit. Pracuje asi do 16MHz. Pro step/dir mzuu pripojit step primo na casovac, na DIR itnerrupt, ktery bude meni bit DIR citace.


> Proc tam na to servo mate 2x plny bridge?
Rad bych, aby to bylo celkem univerzalni - krokovy motor, 3f krokovy motor, bldc/blac servo, 2x dc servo (ale pak rizeni jen pres 485)
Odpovědět

Zpět na „Servomotory“