Kérkel segíts, hogy ne maradjon hibás információ az oldalon!
Ha szerinted valami nem fedi a valóságot, kérlek írd meg, hogy javítani tudjam. Ha kérdésed van, fordulj hozzám bizalommal!

A következő címkéjű bejegyzések mutatása: bldc. Összes bejegyzés megjelenítése
A következő címkéjű bejegyzések mutatása: bldc. Összes bejegyzés megjelenítése

2009. október 30., péntek

A BLDC motorok hajtása

A BLDC motorok semmilyen körülmények között nem képesek vezérlő nélkül működni. A mai mikrokontrollereknek viszont nem ellenfél egy ilyen hajtás vezérlése. A vezérlési startégia többféle is lehet. Azt, hogy mikor melyiket választjuk a típus és a funkció dönti el. Az egyetlen közös bennük az, hogy valamilyen módon a kommutációs szekvenciát kell követnünk. A kommutációs szekvenciát a gyártó az adatlapon közli. Ezen kívül az, hogy a meghajtó tudhat sebességet állítani (PWM jelekkel) vagy sem. Ha más sebességet is akarunk állítani, akkor a szabályozás lehet nyílt hurkú (nincs visszacsatolás) vagy zárt (visszacsatolás hall szenzorokon vagy EMF jeleken keresztül).

A maradék hasonlóság (azaz, inkább egyezés) a vezérlő felépítésében és a teljesítmény elektronikában van. Egy elvi felépítést mutat a következő ábra (amit egy nagyon jó cikkből emeltem át, nem nagy kedvem volt újra berajzolni egy ilyet, ezer van belőle a neten):
Tehát alapvetően 5 jól elkülöníthető részből áll:

  1. vezérlő MCU
  2. meghajtó fokozat
  3. teljesítmény fokozat (végfok)
  4. motor
  5. visszacsatolás.

Vezérlési/Szabályozási elvek, stratégiák:

Legegyszerűbben a szenzorozott motorokat lehet meghajtani. A szenzorok kimenete adja meg, hogy mi a következő kommutációs lépés. Amikor bejön a szenzorokon a jel, mi egyszerűen kitesszük a kimenetre és a megfelelő tranzisztorokat kapcsoljuk. Az ilyen, sorozatos kapcsolgatással a motort csak maximum sebességen tudjuk járatni.
Szoftver szempontból kétféle lehet a megvalósítás:
  • megszakítás alapon: a szenzorok jele olyan processzor lábakra érkezik, amelyek megszakítást generálnak a processzorban. A megfelelő kimenet beállítását a megszakítás függvény teszi meg. Ez a legkényelmesebb, legjobb megoldás, főleg hosszútávon.
  • "polling" (folyamatos ellenőrzés) alapon: a program fő ciklusa folyamatosan ellenőrzi a bemeneteket és annak megfelelően állítja a kimeneteket. Előnytelen, mert gyakorlatilag semmi másra nem lesz alkalmas a vezérlő (főleg nagy sebességnél). Az általam készített vezérlő jelenleg sajnos pollingot használ, de lesz ez még máshogy :).
Apró információ, hogy a szenzorok kimeneti jele kétféle lehet: jöhetnek 60°-os csúszásban egymáshoz képest, vagy 120°-ban csúsztatva. Ennek nem igazán van nagy hatása az életünkre, leszámítva akkor, ha olyan vezérlőt készítünk, ami mind a két féle szenzorozás esetén működőképes. De ez esetben sem nagyon...

Ha a motor szenzor nélküli, a helyzet annyiban változik, hogy további áramkör részekkel kell kiegészíteni a vezérlőnket, amely képes az EMF jelek mikrovezérlőhöz való csatolására. Ezeket a jeleket a vezérlő komparátor lábaira kell kötni és a nulla átmeneteket kell vizsgálni. A feladat még tovább bonyolódik, mert az EMF jelek jelentős késéssel érkeznek csak meg, amit a firmwarenek képesnek kell lenni kompenzálni. Ezt úgy tehetjük meg, hogy a jelek időközeit timerrel mérjük, és már a nulla átmenet előtt megszakítást generálunk és a következő állapotba tesszük a kimenetet.

Ez a technika egyébként a szenzorozott esetekben is használhat és Phase Advance (Fázis siettetés) a neve. Növeli a motor nyomatékát és legfőképpen akkor használjuk, ha a névlegesnél magasabb fordulatokat akarunk elérni.

További nehézség a szenzorozatlan motor meghajtásánál, hogy álló helyzetben (és alacsony fordulatokon) nem ismerjük a rotor pozícióját. Ezért az ilyen esetekben a mozgatást nyílt húrkú vezérléssel kell kezdeni, ellenőrizni, hogy a rotor megmozdult-e (lock) és csak aztán lehet átállni az EMF jelek használatára, ha azok nagysága elegendő.

Sebesség beállítás
A motor sebességét a mágneses terek által kifejtett nyomaték adja. A nyomaték a tekercsekben folyó árammal arányos. Ha kevesebb áram folyik a tekercseken át, a motor lassabban fog forogni. Ezt legegyszerűbben a PWM (Impulzus szélesség moduláció) segítségével tudjuk elérni.

Vissza csatolatlan esetben a sebesség vezérlést U/f vezérlésnek is hívják. Ekkor nem foglalkozunk a motor valós sebességével, hanem arra építünk, hogy adott feltételek alapján a motor adott PWM jeleknél mindig ugyanazzal a sebességgel fog forogni és a sebesség a kitöltési tényezővel arányosan változik. A PWM jelekkel elég az alsó (v. felső) kapcsoló tranzisztorok jeleit modulálni.
Bár ez nem mindig igaz, sok esetben ennyi már pont elég. Mint pl. az általam készített vezérlőnél is a kezelő a potméterrel állítja be a kívánt sebességet és a feladat a sebesség tartásra nem érzékeny.

Egyszerűen tudunk visszacsolt rendszert készíteni, hiszen a hall szenzorok (vagy az EMF jelek) körülfordulásonként 3 jelet is adnak számunkra. Ha mérjük a közöttük eltelt időt, ki tudjuk számítani a motor sebességét és egyszerű szabályozó stratégiákkal, vagy pl egy PID szabályozó implementálásával a motorra a kívánt sebességet tudjuk kényszeríteni. (A szabályozó kimenete a PWM jel kitöltési tényezőjét állítja.)


A Mikéntek és Hogyanok miatt lásd a már elkészített vezérlőmet és nézz vissza később is, valószínűleg lesz még cikk erről.

2009. október 28., szerda

A BLDC motorokról

A BLDC motorok elektronikusan kommutált motorok, nem használnak szénkefét, így a csapágyazáson kívül nincs bennük kopó alkatrész. Mivel nem szikráznak, mint a szén vagy fémkefés motorok, ezért robbanásveszélyes környezetbe is vihetők (ilyen esetekben természetesen tengersok egyéb követelményt is meg kell vizsgálnunk!). Megfelelő kommutálás mellett egyes típusaik 10-15ezres fordulatra is képesek, de általánosságban igaz, hogy a névleges fordulat 50%-ára lehet őket hajtani (természetesen nyomaték veszteséggel).

Rengeteg fejtörést okozott, hogy akkor ez most mitől is lesz DC? Hát, nem is DC :). Nevezik állandó mágnesű motornak is (PM - Permanent Magnet), állandó mágnesű szinkron motornak is (PMSM) és állandó mágnesű AC motornak is (PMAC).

A felépítésük abban tér el jelentősen a kefés DC motoroktól, hogy ezekben a forgó rész az állandó mágnes és az álló rész van tekercselve. Ezek formájától és kivitelétől függően léteznek szinuszos és trapezoid BLDC motorok. A trapezoid motorokban a tekercselés egyenletes és a forgórész mágnesei négyszög formájúak. A színuszoid BLDC motorok forgórészét kerekebbre formálják és a tekercselést szinuszoiddá teszik (a közép tájékon sürűsödik). A színuszos motorok színuszos vezérlővel jobban hatásfokra képesek és (mivel) alacsonyabb a mechanikai rezgésekklé alakuló teljesítmény.
A kommutálást mindig a rotor szögének megfelelően kell végrehajtani. Ezt segítendő a gyártók Hall szenzorokat építenek a motorba, 60°-os szögben eltolva egymástól, amiből mindig lehet tudni, hogy melyik tekercseket kell energetizálni. De manapság már elterjedtek a szenzor nélküli motorok (költség hatékonyság). Az ilyen típusok esetén a tekercsben a forgó mágneses tér keltette indukált feszültséget használjuk fel (félreértés ne essék, a szenzoros motorok esetében senki sem kötelez rá, hogy a szenzorok jelét használjuk, természetesen ez a technika ott is alkalmazható). Ez a back Electromagnetic Force azaz az EMF. A motor EMF jeléből megtudhatjuk, hogy az illető motor szinuszoid, vagy trapezoid felépítésű. És itt jön a DC/AC kérdésre a magyarázat. (Amit egyébként az edaboard egyik fórumán találtam meg, de az információt nem ellenőrítem!) A színuszoid motorokat általában a gyártók AC-nek jelölik és csak a trapezoid típusok a DC típusok. Ugye, a zavara ejtő hasonlóság a szinkron motorokkal, majd jön az, hogy hajtsuk színuszos feszültséggel. Tehát azok mégsem teljesen DC motorok. Viszont gyakorlatilag elegendő a megszaggatott DC feszültség a működéshez, valószínűleg innen a neve.

A BLDC motorok előnyei:

  • magas élettartam
  • alacsony karbantartási igény
  • jó nyomaték/térfogat arány
  • jobb hatásfok (a teljes tápfeszültség a tekercsen esik)
  • könnyű rotor
  • kisebb elektronikus zaj
  • Egyenletes nyomaték karakterisztika
Legnagyobb hátránya az, hogy vezérlő nélkül nem moccan meg. Emellett ezek a vezérlők jó drágák :). Gyakran említik emelett, hogy gyártani is drága őket, de saját tapasztalatból ítélkezve én nem érzem olyan/sokkal drágábbnak, mint a sima DC motorokat. Nem beszélve a fémkefés DC-kről, amik simán túlszárnyalják árban őket.

Működése:
A működésének az alapja természetesen a mágnesesség, elektromágnesesség. Miszerint, az árammal átjárt vezető mágneses teret gerjeszt. Ha ebbe a térbe egy állandó mágnest helyezünk, akkor arra erő/nyomaték fog hatni.
A BLDC motorok tekercselését általában 6 részre osztják (60° helyezve egymástól), amiből egy időben 2 tekercset energetizálunk. Így forgatva mindig a következő pozícióba a rotort (állandó mágnest).



A BLDC motorokról a legösszefogottab ismertetőt a Micrchip AN885-ös számú BLDC Fundamentals cikk adja.

2009. október 27., kedd

Olcsó BLDC Vezérlő

A nyáron még a gépész kollégák kő keményen mellé nyúltak egy motor választásnak.
"DC, nem? Rákötöm a 24VDC-t és már megy is. .. .... .. Vagy nem?!"
A döbbenet a doboz kibontása után volt, amikor meglátta a sok-sok kiálló kábelt. Ez mi?! Ez nem az a pillanat volt, amikor a kollégával madarat lehetett volna fogatni :). Végülis megbeszéltük, hogy csinálok egy meghajtót hozzá, mert akárhogy is nézzük, igen borsos ára van az ilyen vezérlőknek és akkor úgy volt, hogy 3 nap áll rendelkezésre a beszerzéshez...A motor:
A motort a német Nanotectől vettük. DB42S03-as rabszámot visel. 24V 26W. Bika motorok ezek és ez előtt helyet foglalt egy elég nagy áttétel is (kimenet 80RPM).


Alkatrész válogatás:
Legelső sorban a PIC-ekkel szívtam meg. A tökéletességhez oly közel álló típusból nem volt raktáron. Pedig mi kell ide?

  • Interrupt on change - legalább 3 lábon úgy, hogy lehetőleg ne essen egybe a PWM kimenetekkel. (Mellesleg valaki elmondhatná, hogy miért is esnek egybe ezek a lábak a PWM kimenetekkel?!)
  • PWM - 3 pár pwm kimenet, tehát összesen hat. Ez általában a power management családokban található meg.
És ennyivel meg is elégedtem volna, de bárhogy is próbálkoztam, ügyeskedtem, Microchippék mindenáron legalább 1-2 IOC lábat fedésbe terveztek a PWM kimenetekkel. Kivéve a 1230, 1330-as pic18-asoknál! Csodás! Na, ez az, ami nem volt raktáron...

Idő szorít, pollingoljuk a Hall szenzorokat. Bár nem örülök.

Teljesítmény meghajtónak az IR2130-as három fázisú hídmegható több, mint jó. Csodálatos IC, nekem nagyon tetszik , valami azt súgja, hogy nem ez az utolsó projekt, amiben használtam. Hogy mit is tud?
  • 600V maximum!
  • Túláram és táphiány felügyelet.
  • Összehangol késleletetés.
  • 2,5V digitális jeltől kompatibilis.
  • Beépített erősítő áram méréshez.
A teljesítmény fokozatnak bármilyen IGBT és sok MOSFET megfelel. Az IGBT-k itt kezdődnek :), a FETeknél azért már oda kell figyelni a választáskor.

A táp stabilitásról az elmaradthatatlan 78XX család gondoskodott. A többesszám azért van, mert kell 15V az IR2130-nak és az 5V a PIC-nek.

És Voila:
Persze, azért ez ennél picit hosszadalmasabb volt, de magával a tervezéssel és az első működő protóval belefértem a 4 éjszakába (nappal másik projekt:) ). Hétfőn kezdődött, szerda hajnal 4 körül 15 perc alatt égettem el 4 IR2130-at és PICet...

Ez a projekt mutatta meg számomra először, hogy mi is az a bypass kondenzátor és mennyire lehet arra számítani, hogy majd az LM7805... Az első protón nem volt még ennyi kondenzátor, az már a későbbi fejlődés. Emberek, egyszerűen kell. Itt kapcsolgatunk, méghozzá gyorsan, és az áram útjában egyedül a tekercs igen alacsony ellenállása és induktivítása van. Használjátok csak szépen a kondikat, azért vannak.

Elismerem, nem sok ki és bemenet van az eszközön a külvilággal való kommunikációhoz, de ez azért van, mert az adott gépbe közveten egy motor helyett kerül be. Így relé kontakt bemenetet kapott az eszköz. Ez annyit jelent, hogy ha rövidre zárod a bemenetet, akkor a motor elindul. Próbáltam egy kis védelmet tenni az ellen, hogyha valaki 24V-ot köt a bemenetre, de, őszintén, nem próbálnám ki... :D

Nyákterv:
Az igaz, hogy a tervezés és a protózás igen gyorsan megvolt, de sajna a végső kialakítás rendesen elhúzódott. Ezért bánom is, hogy nem volt időm vissza alakítani 18F1230-ra és mivel akkor még úgy volt, hogy a nyák otthon készül, ezért egyoldalas, könnyen gyártható elrendezésre törekedtem, kevés átkötéssel.
Ha lesz jövője a projektnek, akkor azért sok design változást fogok eszközölni. Ilyenek: interface illeszthetőség, digitális státusz ki és bemenetek, kétoldalasra alkítás, itt-ott smd alkatrézek. Sokkal kompaktabbá válna tőle.
A tranzisztorokat nagyon szerencsétlenül helyeztem le, így nem lehet őket hűtőbordázni. Ahhoz szilikon padeket kell venni. (Igaz, ennél a 26W teljesítménynél nem szükséges a hűtőborda.)
A letölthető fájlba a gyártási Gerbereket is beleraktam.

A firmware:
Az elérhető eszközök (pic) rendesen behatárolták a firmwaret. A letölthető rarban elég sok fájlt találni, ezek egyike másika a fejlesztés különböző szakaszaiban készültek. A "véglege" a p18f2431 könyvtárban van.
A polling miatt igazándiból mindent ki kellett szórnom a mainből és IOC nélkül az időközök mérésére sem hagyatkoznék ezért ezzel az IC-vel ezt a minimál megvalósítást választottam. A sebesség és a felfutási idő potméterekkel állítható be. Több funkció nem is igazán kapott helyet.

Bővíthetőség:
Korlátlan.A PICet kicserélve főleg. A teljesítmény a kW nagyságrendekig emelhető az IGBT végfoknak és az IR meghajtónak köszönhetően (megfelelő hűtés mellett, természetesen). Kommunikációs interface beilleszthetőséggel akarom még felruházni. Szinuszos hajtást is meg lehet valósítani (igaz, hasznosan azt is csak az új IC-vel) és Phase Advance funkcióval bővíteni.


Letölthető fájlok:
Eagle projekt + Gerber
Piklab projekt (firmware)




FELELŐSSÉG KIZÁRÁS / DISCLAIMER
A balesetekért, károkért semmilyen felelősséget nem vállalok és nem is vagyok felelősségre vonható!
Mindenki kizárólag a saját felelősségére építheti meg.
Ez a blogon megjelent összes projektre igaz!