Krokový motor

Citronnek
Příspěvky: 9
Registrován: 9. 11. 2010, 7:54
Kontaktovat uživatele:

7. 12. 2010, 9:42

Každopádně tohle mě velice zaujalo..=)

Kód: Vybrat vše

http://maczaka.webz.cz/deskata.htm
Ale koukal jsem na tme, kde stojí 350,- což by nebylo tak strašné, jen jsem měl otázku ohledně proudové zatížitelnosti v datasheetu jsem se dočetl špičkově 2,5A a u motoru se udává až 2,8, nepříjdu o část výkonu, když pomocí pwm nedokáži dodat do motoru maximální proud?
Všem Vám moc děkuji za rady, potřebuji hlavně kvalitní základ, který budu postupně rozšiřovat a později třeba postavím i drivery z diskrétních součástek.. :)
Uživatelský avatar
Pavka
Příspěvky: 908
Registrován: 10. 3. 2008, 8:40
Bydliště: Ronov

7. 12. 2010, 10:15

Já bych raději použil TB6560, je na větší proud a levnější.
HonzaCh
Příspěvky: 286
Registrován: 21. 11. 2006, 8:57
Bydliště: Ostrava

7. 12. 2010, 10:17

Citronnek píše:Každopádně tohle mě velice zaujalo..=)

Kód: Vybrat vše

http://maczaka.webz.cz/deskata.htm
Ale koukal jsem na tme, kde stojí 350,- což by nebylo tak strašné, jen jsem měl otázku ohledně proudové zatížitelnosti v datasheetu jsem se dočetl špičkově 2,5A a u motoru se udává až 2,8, nepříjdu o část výkonu, když pomocí pwm nedokáži dodat do motoru maximální proud?
Všem Vám moc děkuji za rady, potřebuji hlavně kvalitní základ, který budu postupně rozšiřovat a později třeba postavím i drivery z diskrétních součástek.. :)
  • Samozřejmě, že přijdeš o část výkonu. Ne moc, ale přijdeš. Ale nemáš rezervu ani teď (plná zátěž ==> spolehlivost rozhodně neporoste), ani do budoucna.
  • Když bys to postavil podle cizího návrhu, tak už to (tahle část) IMHO moc tvůrčí není…nevyplatí se to nakonec přeci jen koupit a vyřádit se jinde? ;-) Třeba 3-osý s TB6560 (36V/3,5A na vinutí, řízení proudu, mikrokok až 1/16, relé, vstupy, galvanické oddělení, chladič s větráčkem…) za cca 50USD z eBay včetně poštovného vyjde podstatně levněji, než 3 kousky TA8435H po skoro 400 s DPH z TME plus další díly.
Ale jak jsem psal, nechci tě odrazovat. Zlom vaz,
H.
Uživatelský avatar
packa
Příspěvky: 7031
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

7. 12. 2010, 10:21

tady na foru je vlákno driver s TB6560 měl by dát 3,5A max a je opravdu ještě levnější zapojení je stejně jednoduché.
pajda
Příspěvky: 170
Registrován: 19. 3. 2010, 8:38
Bydliště: Hradec Králové

7. 12. 2010, 10:27

HonzaCh píše:I ty filuto! ;)
:D

Ta nezkušenost nemusí být vůbec naškodu, protože třeba nebude o něčem vědět, že něco nejde, a prostě to udělá :wink: Obecně mám s programátory (ajťáky) zatím zkušenosti spíše takové, že nechat je zapojit 1.f zásuvku tak se stane neštěstí, ale když dostanou do rukou patřičný hw, tak ti které to opravdu baví, dokážou úplné divy.

Teď zase k věci :D Téměř každý výrobce MCU, tedy i Atmel má nějaké tutorialy k tomu, jak s jejich MCU řídit krokové motory, tj. je dobré prohledat stránky výrobců, jestli už nemají ideálně nějaké "reference" prográmky hotové jako třeba právě to LuminaryMicro a ty pak už jen upravovat, nebo se jimi nechat třeba jen inspirovat.

Pokud chce "rozumně" jezdit s CNC, tak se nutně musí s driverem dostat na takovou úroveň, jako mají ty integrované Toshiby (chopper, omezení proudu při nečinnosti) Pokud si chce pouze hrát, tak samozřejmě lze leccos vynechat.

Pozn. abych se přiznal, tak to co umí ten RDK od LuminaryMicro (bože to je taky název pro firmu), přečetl pořádně až včera a byl jsem celkem příjemně překvapen (Já u nich pokukoval spíše po tom ARM s programem pro skalární řízení FM). Jinak jejich ARM jsou prý hodně dobré v tom, jak si umí poradit s přerušením, třeba na nich mělo být původně postaveno i bezsenzorové vektorové řízení asynchroňáku (což je běžně záležitost pro DSP), ale to jim bohužel Texas Instruments zatrhli, páč by jim prý už moc lezli do zelí(holt koncernová stategie :?

Tj. třeba já si myslím, že kdyby si k tomu nějaký programátor sedl (já určitě ne), tak by se dalo dostat na 100kHz pro vstupní signál a stejně tak aspoň 16 či 32mikrokroků - teď to umí 8, s tím, že výkonovou část je hračka postavit třeba na 230V/ 10A, navíc za "par korun" .


edti: motivační video :) http://www.luminarymicro.com/index.php? ... &width=700
Citronnek
Příspěvky: 9
Registrován: 9. 11. 2010, 7:54
Kontaktovat uživatele:

7. 12. 2010, 11:58

Tak samozřejmě, že si to chci postavit sám, nebo alespoň částečně navrhnout, jenže pořád z toho nejsem moudrý a nevím, jak začít, spíše kterou cestou se vydat. Je mi jasné, že samo to nepůjde, ale potřebuji, aby mi dal někdo impulz, kterým směrem se tedy vydat.. :) Takže začnu stavět něco, abych roztočil aspoň jeden motor a mohl vychytat softwarovou část, no a v průběhu zkusím "sestrojit" něco smysluplnějšího..:) Každopádně mockrát děkuji za veškeré rady i možnou pomoc..:)

Edit: Asi máte pravdu, zkusím to na menším motoru, aspoň si vyzkouším co a jak, každopádně budu vděčný za každé další rady a nápady, všem mockrát díky..
Naposledy upravil(a) Citronnek dne 7. 12. 2010, 1:01, celkem upraveno 1 x.
HonzaCh
Příspěvky: 286
Registrován: 21. 11. 2006, 8:57
Bydliště: Ostrava

7. 12. 2010, 12:17

Možná blbost, ale…
Citronnek píše:Tak samozřejmě, že si to chci postavit sám, nebo alespoň částečně navrhnout, jenže pořád z toho nejsem moudrý a nevím, jak začít, spíše kterou cestou se vydat. Je mi jasné, že samo to nepůjde, ale potřebuji, aby mi dal někdo impulz, kterým směrem se tedy vydat.. :) Takže začnu stavět něco, abych roztočil aspoň jeden motor a mohl vychytat softwarovou část, no a v průběhu zkusím "sestrojit" něco smysluplnějšího..:) Každopádně mockrát děkuji za veškeré rady i možnou pomoc..:)
…když to bereš takhle, nestálo by za to vzít pro úplný start unipolární KM z disketové mechaniky nebo tiskárny, k tomu tranzistorový driver ala ULN2803 za pár korun a začít si hrát s vrtěním? Vejde se to na stůl, netopí to, moc to nežere… Mezitím v tobě ;) může uzrát, kam vlastně směřuješ, co potřebuješ, něco nastuduješ (a bude se ti proto ještě hůř rozhodovat, kterou cestou se dát dál :D).

H.
Citronnek
Příspěvky: 9
Registrován: 9. 11. 2010, 7:54
Kontaktovat uživatele:

12. 12. 2010, 1:40

Dobrý den,
tak jsem se snažil polepšit a prostudovat, co se dalo.. Motorem jsem zkoušel točit a bez větších problému, pomocí integráče L298N, proto jsem zkusil vytvořit vylepšený obvod.. =) Prosím vás tedy o rady, poznatky a hlavně kritiku.. Mockrát děkuji..
Přílohy
v1.1
v1.1
HonzaCh
Příspěvky: 286
Registrován: 21. 11. 2006, 8:57
Bydliště: Ostrava

12. 12. 2010, 7:57

Ahoj,

no…že se toho pořád držím jak h*o košule ;)…ptám se: A zkusil jsi tu simulaci? Stačí jenom půlka pro jedno vinutí. Když se oťukají průběhy po celém obvodu, možná budeš překvapen, co to všechno si to dělá.

Na první trochu delší pohled mě napadá:
  • Horní trand nemůže být pořádně otevřen. (MOSFET potřebuje pro otevření nějaké Ugs, když potřebuješ udržet minimální Uds, Ug musí být přiměřeně větší, než Ud, což je u tebe Vcc. K tomu se používá budič s měničem [bootstrap, floating high-side driver]…nebo se každý polomůstek realizuje komplementární dvojicí N-MOS/P-MOS.)
  • I kdyby to nebylo, není zajištěno výhradní otevření jediného trandu v každém polomůstku. Ve skutečnosti se mezi otevřené stavy dokonce vkládá dead-time, kdy jsou zavřené oba.
  • Tak udělané PWM ti neumožní rekuperaci energie z vinutí (fast decay).
  • Pro rychlé přechody mezi otevřeným a zavřeným stavem FETu je kupodivu třeba i nějaký budicí proud (impulsně, pro rychlou změnu náboje na kapacitě hradla, kterou mají výkonové FETy spíš větší) — těch 100Ω i 2k2 se mi proto zdají moc.
  • Pořád ignoruješ potřebu napájet obvyklý KM pro maximum výkonu mnohem vyšším napětím, než vychází staticky z parametrů vinutí podle Ohmova zákona (ten chopping, snímání proudu). Podle čeho chceš spočítat střídu PWM?
  • Obvykle bývá zajímavá také potřeba mikrokrokování (dtto).
  • Na pozici D1-4 se běžně používají Schottkyho diody (rychlost!!! i úbytek).
Nedošlo mi, co si slibuješ od D5-R3 (a ostatních dvojic), ale to může být moje chyba. Snad jsem nenapsal moc velké blbosti, chytřejší a znalejší nechť mě doplní či opraví.

HTH,
H.
pajda
Příspěvky: 170
Registrován: 19. 3. 2010, 8:38
Bydliště: Hradec Králové

13. 12. 2010, 11:05

Ahoj,

HonzaCh to popsal velmi výstižně, já bych si k tomu opět přidal akorát pár svých poznámek :D

1) N-MOSFET (N-IGBT) se na horních pozici můstku používá především z důvodu toho, že se technologicky nedaří běžně vyrábět MOSFET/IGBT s P-vodivostí jednak se slušným výkonem ale hlavně na vyšší napětí než je cca 80-100V. Samozřejmě výhoda P-MOSFETu v horní pozici je zřejmá - není potřeba vytvářet tzv. plovoucí (floating) zdroj napětí pro jeho otevírání. Plovoucí proto, že jako nula se pro otevírání horního tranzistoru používá napětí meziobvodu a k němu se "moduluje" napětí z obvodu bootstrap. (nejčastěji 10-25V pro dokonalé otevření výkonového spínače).

Př. pro měnič napájený z 1f. sítě, kde je po usměrnění v DC meziobvodu 300V, je spodní tranzistor můstku vůči nule(zemi) řízen běžnými 15V, ale ten horní tranzistor v můstku vlastně 315V, kdyby se to měřilo vůči zemi. Jenomže právě z principu zapojení můstku je možné použít jako "nulu" pro spínání horního tranzistoru střed mezi horním a dolním tranzistorem, čili to napětí meziobvodu. Takže ten horní tranzistor to vnímá tak jako by byl spínán taky jen 15V, akorát si celkem spokojeně hoví na zcela jiném potenciálu, a napěťově za něj trpí budič. :wink:


Vytvoření toho plovoucího zdroje lze realizovat vícero způsoby, ale nejednodušší a tedy i nejlevnější se ukázalo jako zapojení označované [bootstrap, floating high-side driver] jak píše Honza. Tento obvod, především tedy logika jeho řízení je integrována přímo v budiči. Teoreticky se jedná o asi nejednodušší zapojení tzv. "zvyšovače" napětí. Skládá se z tranzistoru, diody, kondenzátoru a případně odporu. Bohužel přímo do budiče se integruje pouze ten tranzistor (budiče od ST mají občas integrovanou i diodu). Takže je třeba ostatní součástky k budiči připojovat externě. To lze ostatně vidět na schématickém zapojení těchto budičů, např. IR2101, nebo viz ten ve schematics v .pdf co jsem postnul na první stránku.

Teď udělám z pedagogického hlediska zásadní chybu, neboť přeskočím z časových důvodů :wink: princip funkce obvodu bootstrap a pouze vypíchnu jednu obecnou a zásadní vlastnost tohoto zapojení, která se nám vysloveně nehodí. Jelikož zásobárnu energie pro plovoucí zdroj obvodu bootstrap tvoří pouze kondenzátor, který se při buzení tranzistoru přes jeho přechod G-E pomalu vybíjí, tak je samozřejmě potřeba řešit jeho opětovné dobíjení. (pozn. existují složitější zapojení, které kondenzátor dobíjí permanentně z jiného obvodu ) . Kondenzátor lze totiž dobít jen v případě, že je horní tranzistor uzavřený a dolní tranzistor větve můstku otevřený. Toto se naštěstí děje za chodu v můstku permanentně z principu jeho funkce. Problémem je ale start můstku, kdy jsou všechny tranzistory vypnuté, takže kondenzátor je vybitý. Proto je potřeba jej před startem můstku nabít. Toto bohužel ve většině budičů ošetřeno není a je tedy potřeba tuto "startovací sekvenci" naprogramovat v řídícím MCU.

Př. Konkrétně se to realizuje tak, že po příchodu signálu ke startu, se nejprve na chvilku sepnou všechny spodní tranzistory můstku (většinou se do nich pouští nějaká PWM), přes které se nabijí kondenzátory obvodu bootstrap (připojený motor nemůže z principu ještě vykonat žádný pohyb). a po uplynutí této doby se teprve spustí sekvence řízení můstku. - tzn. z toho vyplývá nutnost umět řídit samostatně spodní tranzistory můstku!!!


2) ad budící proud - u mrňavých tranzistorů, tj. do spínání 3kW výkonu motoru to není třeba nějak složitě řešit, spíše naopak se budící proud ještě úmyslně omezuje.

Tady v tomto případě se vyskytuje zvláštní paradox, za jehož příčinou je opět ta k... indukčnost. Z logiky věci přece chceme tranzistor sepnout co nejrychleji, protože doba přechodu z otevřeného stavu do zavřeného přímo souvisí s množstvím tzv. spínacích ztrát na něm vznikajících. Rychlost sepnutí tranzistoru i u MOSFET/IGBT paradoxně ovlivňuje velikost budícího proudu, tedy tvrdost budiče. Neboť je potřeba ve struktuře tranzistoru nabít nejvýznamnější parazitní kapacitu Cgs (ono jich je tam víc). Jenže...
Když tedy budeme mít ideální tranzistor, který sepne skokem, tak se nám za to indukčnost motoru odvděčí šílenou špičkou napětí, která ohrožuje především veškeré polovodiče, které ji přijdou do cesty, kde na prvním místě stojí právě spínací tranzistory a jejich budiče. A bohužel i sebelépe navržený snubber obvod není všemocný, neboť my ty tranzistory spínací napěťově zas tolik předimenzované nemáme.

Př. Proto se tedy spínací tranzistory úmyslně "zpomalují" vložením odporu do cesty k Gate tranzistoru v rozmezí většinou 33 - 100 Ohm (závisí na konkrétním případě, občas na to lze u výrobce tranzistoru najít i graf). Kde za cenu prodloužení spínací doby tranzistoru (doba roste lineárně s velikostí odporu) a tedy vzrůstu spínacích ztrát na něm vznikajících, velice účinně eliminuje špičkovou hodnotu indukovaného napětí na cívce motoru.

Á teď ještě koukám na Citronnkovo zapojení a málem bych zapomněl to tu zmínit... Samozřejmě, když je potřeba k rychlému sepnutí tranzistoru nabít parazitní kapacity, tak samozřejmě k jeho rychlému uzavření je potřeba je prozměnu rychle vybít. Zde se spoléhá opět na kvalitní konstrukci budiče, přes který by měl být schopen náboj rychle odtéci pryč. Proud se tentokráte vrací jinou cestou zpět do budiče a to přes emitor do vstupu budiče značeného jako VSx. Tj. je občas třeba provést další speciální obvodová zapojení jak rychle (případně naopak pomaleji, protože špičky vznikají i při vypínání) vybít tu kapacitu.(pozn. o to se asi právě chtělo pokoušet to zapojení D5-R3) Někdy je tak dokonce vhodné "nastavit" zvlášť zapínací a zvlášť vypínací dobu daného tranzistoru. Vypínací dobu pak ovlivňujeme vložením resistoru (poloviční resp. třetinové, tranzistory mají totiž delší vypínací dobu) velikosti mezi emitor a vstup VSx budiče.

Prakticky se tak celý problém řeší většinou pouhým vložením jednoho resistoru do obvodu Gate a tím problém hasne (řešení té vybíjecí cesty se provádí až u hodně velkých tranzistorů, tam se dokonce lze setkat i s aktivním zapojením).

3) ad ty diody pro komutaci proudu z můstku. Věc se má tak že MOSFET tranzistory mají tuto diodu přímo v sobě, jako parazitní strukturu, které se nejde zbavit. (pozn. IGBT tuto diodu ve své struktuře nemá). Konkrétně v aplikaci pro můstkové zapojení by se mohlo na první pohled zdát, že tu parazitní diodu s výhodou použijeme. Bohužel problém tkví v tom, že ta dioda je děsně pomalá (a ta pomalost bohužel ještě roste s napětím, na jaké se struktura MOSFET postavena) tj. pro komutaci větších proudů v můstku naprosto nepoužitelná, neboť na ní vznikají vysoké spínací ztráty (analogie k tomu co jsem popisoval výše) a brzo uhoří. Její nahrazení externí rychlou Schottkyho diodou je také problematické, protože ta parazitní bestie krom toho, že je pomalá má i velmi malý úbytek napětí(díky tomu že je součástí struktury), takže proud má stejně tendenci téci přes ní. Řešením je tak pouze použití "super" diod, tuším, že je kdysi vyráběl Siemens pod označením FRED. Takže tahle vlastnost MOSFETu je vlastně hlavní příčina, proč v obvodech dnes už od 100V výše převládají IGBT tranzistory.
Jukos3
Příspěvky: 203
Registrován: 24. 10. 2008, 5:20
Bydliště: Svit
Kontaktovat uživatele:

15. 12. 2010, 9:34

Ahoj

Podobne ako ty som sa chcel naucit ako riadit KM. Skušal som ATmega32 + darlingtony a riadil motor unipolarne, avsak pri vyssom napati sa motor prehrieval, tak som zacal studovat nieco o regulacii prudu. Ak sa chces naucit riadi KM v aplikacii pre CNC tak odporucam pouzit vzkonove mostiky, ako je to tu http://avrstmd.com/
Moja skusenost:
Po napajkovani ATmegy a dvoch mostov LMD18245T podla datasheetu a pouziti krokovacej tabulky v datasheete som vedel realizovat mikrokrokovanie za jeden den. Nevyhoda -iba 4 bit DAC a slaba prudova zatazitelnost, ale pomohlo mi to pochopit, ako pomocou presnej regulacie prudu dokazes zvysit rozlisenie motora - mikrokrokovanie.
Potom som sa pustil do stavby drivera s obvodom A3986, bola to strastiplna cesta, ale podarilo sa mi urobit driver ktory zvlada 48V/10A, 16mikrokrokov.
nejake info o tom najdes tu na fore.
Na zaciatok skus robit pokusy s LMD18245T, pripadne inymi mostikmi L6203(vykonovy H-most)+L6505(obvod pre riadenie prudu s L6203 - s touto kombinaciou robil svoj driver CZ pascal) aby si zistil co ako funguje a potom zacal navrhovat analogovu vykonovu cast, lebo len dobra schema neznamena ze to v praxi pojde, treba urobit aj spravny navrh DPS. Mne od prveho behu maleho krokacika z tlaciane az po plnohodnotny driver trvalo priblizne 1.5 roka, ale chce to hlavne chut, vela usilia a hlavne studia novych veci.
Ked to chces mat ako hobby tak sa potom vykasli na rady typu kup profi driver a experimentuj.
V tvojom navrhu chyba vetva snimania prudu.

s.p. Jukos3
Kazdy raz nejako musel zacat ...
http://robotika.yweb.sk
http://ap.urpi.fei.stuba.sk/sensorwiki/index.php/Kráčajúci_mobilný_robot
Citronnek
Příspěvky: 9
Registrován: 9. 11. 2010, 7:54
Kontaktovat uživatele:

3. 1. 2011, 4:34

Ahoj,
chvíli mi trvalo, než jsem vše nastudoval, ale už vím o čem je řeč a řekl bych, že tomu rozumím. Mockrát děkuji za připomínky od všech. Každopádně na začátek jsem se rozhodl, že použiji spojení L297 s L298. Zdá se mi to levné a pro vyzkoušení i jednoduché.

Každopádně lze realizovat Bootstrap, jako násobič napětí. Rozumím tomu, že je potřeba k úplnému otevření tranzistorů. (Pokud se pletu, tak mne prosím opravte). Pokud to tedy chápu správně, když nedokáži otevřít (vybudit) tranzistory úplně budou se hrozně hřát, čím je to způsobené? Ještě k té teoretické části moc nerozumím tzv. "deadline" domnívám se, že jde o omezení proudu.

Poté bych měl dotaz ohledně použití varistoru jako filtr napěťových špiček, jestli je to vhodné řešení. A k řízení pomocí pwm, mi stačí posílat jenom jeden pwm signál (v mém zapojení používám na každý můstek jiný)

Opět Vám mockrát děkuji za připomínky, přeji šťastný nový rok a plno úspěchu,
s pozdravem Lukáš Novák
Odpovědět

Zpět na „Krokové motory“