BLDC motorvezérlés Arduino -val, megmentett HD motorral és csarnok érzékelőkkel
Otthon » Blog » BLDC motorvezérlés Arduino -val, megmentett HD motorral és csarnok érzékelőkkel

BLDC motorvezérlés Arduino -val, megmentett HD motorral és csarnok érzékelőkkel

Megtekintések: 0     Szerző: A webhelyszerkesztő közzététele: 2020-09-02 Origin: Telek

Érdeklődik

Facebook megosztási gomb
Twitter megosztási gomb
vonalmegosztó gomb
WeChat megosztási gomb
LinkedIn megosztási gomb
Pinterest megosztási gomb
WhatsApp megosztás gomb
Kakao megosztási gomb
Snapchat megosztó gomb
távirat megosztó gomb
Sharethis megosztási gomb

Manapság a rajongókat nagyon érdekli a kefe nélküli DC (BLDC) vezérlése
a hagyományos DC motorhoz képest, a motor teljesítménye javult, az energiahatékonyság is javult, de ezt nehezebb használni. sok polcon kívüli termék létezik.
Erre a célra
Például sok apró BLDCS vezérlő van, amely nagyon jól működik az RC repülőgépeknél.
Azok számára, akik mélyebben meg akarják vizsgálni a BLDC irányítását, számos különféle mikrovezérlő és más elektronikus hardver létezik az ipari felhasználók számára, amelyek általában nagyon jó dokumentációval rendelkeznek.
Eddig nem találtam átfogó leírást arról, hogyan lehet az Arduino Micro Controller használatát a BLDC vezérléshez.
Továbbá, ha érdekli a regeneráló fékezés vagy a BLDC használata az energiatermeléshez, akkor nem találtam sok olyan terméket, amely alkalmas kis motorokkal, és nem tudtam, hogyan kell vezérelni a 3 fázisú generátort.
Ez a struktúra eredetileg a valós idejű számításról szóló történetben volt
, ezt folytatom a kurzus vége után.
A projekt gondolata az, hogy egy hibrid autó arányos modelljét mutatja be lendkerék -energiatárolással és regeneráló fékezéssel.
A projektben használt motor egy kis BLDCS, amelyet a sérült számítógépes merevlemez -meghajtóról tisztítottak.
Ez a kézikönyv leírja, hogyan lehet használni az Arduino mikrotroller-t, és a Hall-
befolyásolja a helyzetérzékelőket a vezetési és regeneráló fékezési módokban.
Felhívjuk figyelmét, hogy az Oscillisoft látogatása nagyon hasznos, ha nem nélkülözhetetlen a projekt befejezéséhez.
Ha nem tud hozzáférni a hatókörhöz, néhány javaslatot adtam hozzá, hogyan kell ezt megtenni a hatókör nélkül (5. lépés).
Az egyik dolog, amelyet ez a projekt nem tartalmazhat egyetlen tényleges motorvezérlőbe sem, az olyan biztonsági funkciók, mint például az aktuális védelem.
Valójában a legrosszabb dolog az, hogy kiéged a HD motort.
Ugyanakkor a túláram védelem bevezetése az aktuális hardverrel nem nehéz, és ezt talán egy bizonyos ponton megteszem.
Ha egy nagyobb motort próbál irányítani, kérjük, adja meg az aktuális védelmet a motor és a saját biztonságának védelme érdekében.
Meg akarom próbálni ezt a vezérlőt egy nagyobb motorral használni, amely képes valamilyen \ 'valódi \' munkát végezni, de még nem vagyok megfelelő.
Észrevettem, hogy az eBay körülbelül 40 dollárért eladott egy 86 W -os autót.
Úgy néz ki, mint egy jó jelölt.
Van még egy RC webhely is, amelyet \ 'GOBRUSHLESS \' néven neveznek, amely olyan készleteket árusít, amelyek összegyűjtik a saját BLDC -jüket.
Ezek nem túl drágák, és érdemes a tapasztalatokat építeni.
Felhívjuk figyelmét, hogy ezen a weboldalon a motorhoz nincs hallérzékelő. Tyűha!
Ennek a struktúrának a megírása nagy munka.
Remélem, hogy hasznosnak találja, kérjük, tegye meg észrevételeit és javaslatait.
Digitális multiméter (DMM)-
Ha a DMM-nek frekvenciamérője van oszcilloszkópja (
jobb, ha legalább 2 csatornával rendelkezik)
T8 TORX illesztőprogram (
szükségük van valamelyikre a merevlemez megnyitásához).
Van egy jó hardverbolt.
Gépi műhely és a gyors prototípus (
ezek nagyon hasznosak, de szerintem ez a projekt nélkülük végrehajtható).
Anyag BLDC motoros mágneses gyűrű a számítógépes merevlemezről (
a motor fele)
egy másik kemény meghajtású (3-6)
egy második kis motor a merevlemezen (egyenáramú kefével)
gumiszalaggal vagy (lehetőleg)
a kefe nélküli DC motorral, egy másik motoros kenyérlemez-huzallal, ha az Arduino Duemilanove 120 K OHM ellenállást végeznek, 400 OHM-os, 400 OHM ellenállóképes, vagy egy ohmST micro circuit L6234 three phase motor driver IC two 100 uF capacitors one 10 nF capacitor one 220 nF capacitor one 1 uF capacitor one 100 uF capacitor three receiving diodes One 2.
Honeywell SS411A bipolar Hall-5 Amp Fuse 1 fuse holder 3
Note: Mike Anton designed and sold a product that will replace the power electronics and Hall sensor circuits I have shown in this manual (
Vissza a potenciális indukcióval szabályozva).
A specifikációk és a beszerzési információk megtalálhatók e két linkben: Ha ezt a projektet fogod elvégezni, azt javaslom, hogy szánjon időt a BLDC működésének és ellenőrzésének alapos megértésére.
Számos online referencia található (
néhány javaslatot lásd az alábbiakban).
Ugyanakkor néhány diagramot és táblázatot tartalmazok a projektembe, amelyek segítenek megérteni.
Az alábbiakban felsorolják azokat a fogalmakat, amelyek szerintem a legfontosabbak a projekt megértése szempontjából: MOSFET tranzisztorok 3 fázisú félhíd 6-
3 lépéssel a mondat
impulzusszélességének modulációja (PWM) Hall-
MICROCHIP AVR443: Az érzékelők-Általános Referencia DC Motor-
vezérlés a Háromfázisú kefe nélküli motoros motorral szemben
. Az érzékelő, egy jó videó a merevlemez -motor tisztításáról, de úgy tűnik, hogy a szerző a motort lépőmotorként és lépcsőfokként futtatja. A BLDC -hez az L6234 Motor Drive IC -en egy konkrétabb referencia weboldal, beleértve az adatlapokat, az alkalmazásjegyzeteket és a vásárlási információkat.
Ingyenes minta PM kefe nélküli motoros hajtáshoz hibrid elektromos járművek alkalmazására.
Ez az egyetlen olyan cikk, amelyet találtam, amely leírja a regeneráló fékezési szakasz változásának sorrendjét.
Ez a cikk, az elektromos járművek regeneráló fékezése hasznos, néhány számot kölcsönzöttem belőle, de szerintem helytelenül írja le a regeneráció működését.
Ezt a projektet újrahasznosított lemezmeghajtó motorral végeztem, mert könnyű volt átjutni, és szeretek egy kis alacsony feszültségű motort használni a BLDC által vezérelt kábel megtanulásához, és nem okozhat biztonsági problémákat.
Ezenkívül a Hall -érzékelő mágneses konfigurációja nagyon egyszerűvé válik, ha
a motorok második részétől a mágneses gyűrű (rotor) használatával (lásd a 4. lépést).
Ha nem akarja eljutni a Hall-érzékelő (5-7. Lépések) telepítésének és kalibrálásának minden nehézségére,
tudom, hogy van legalább néhány CD/DVD meghajtó motor, amelyet a HALL érzékelőbe építettek.
Annak érdekében, hogy némi fordulási tehetetlenséget biztosítsam a motornak, és egy kis terhelést adjak nekik, 5 merevlemezt tettem a motorra, óvatosan ragasztva egy kis erős ragasztóval és ragasztva a motorhoz (
ez az eredeti projektembe készítette a lendkeréket).
Ha eltávolítja a motort a merevlemezről, akkor szüksége van egy T8 Torx meghajtóra, hogy megcsavarja a házat (
általában két csavar van rejtve a bot mögött a Centeron címkén)
és a belső csavarok, amelyek a motort a helyükön tartják.
Azt is el kell távolítania a fejolvasót (
Sound Circle Executive),
így kiveheti a memória lemezt a motor eléréséhez.
Ezenkívül szüksége lesz egy második azonos merevlemez -motorra a forgórész eltávolításához a motorból (
benne van egy mágnes).
Annak érdekében, hogy a motort szétválaszthassam, megragadtam a rotorot (tetejét)
a motor vázát, és az állórészen (alsó) fúrtam be.
A két csavarhúzó 180 fokkal távol van.
Nem könnyű a motort elég szűk páron tartani deformáció nélkül.
Érdemes lehet építeni egy
erre a célra használt fát.
Egy lyukat fúrtam az eszterga mágneses gyűrűjében, hogy kényelmesen illeszkedjen a motor tetejére.
Ha nem tudja használni az esztergat, akkor erős ragasztóval rögzítheti a motoron lévő fordított rotorot.
Az alábbi 2. és 3. képen az egyik motor belsejét mutatom, amelyet szétszereltem.
Az első félidőben (a forgórész) 8 oszlop található (
műanyagba csomagolva).
A második félidőben (az állórész)
12 rés (tekercs) van.
A három motoros fázis mindegyikében 4 slot található.
Néhány HD motornak három érintkezője van az alján, az egyik fázisonként, a másik pedig a motor középső csapja (
ahol három szakasz találkozik).
Ebben a projektben nincs szükség középső csapra, de az érzékelő-mentes vezérlésben hasznos lehet (
remélem, hogy egy napon kiad egy jegyzetet az érzékelő-mentes vezérlésről).
Ha a motornak négy érintkezője van, akkor az Ohmeter -rel azonosíthatja a fázist.
A középső csap és a fázis közötti ellenállás a két fázis közötti ellenállás fele.
A BLDC Motors-ról szóló irodalom többsége létrán alakú hátpotenciális hullámformával foglalkozik, de úgy tűnik, hogy a merevlemez motorja hátul potenciállal rendelkezik, amely szinusznak tűnik (lásd alább).
Amennyire tudom, a szinuszhullámú motor PWM -jével történő vezetés jól működik, bár a hatékonyság kissé csökkenhet. Mint az összes BLDC motor, ez is háromfázisú félfázisú
áll (
tranzisztor hídból
lásd a 2. képeket az alábbiakban).
Az ST Micro (L6234) által készített IC -t használom
a hídhoz, más néven motoros vezetőnek is.
Az L6234 elektromos csatlakozását a 8. lépés mutatja.
Az alábbi harmadik fotó a motorvezető és a három motoros fázis vázlatos diagramját mutatja.
Annak érdekében, hogy a motor az óramutató járásával megegyező irányban működjön, a kapcsolót a következő sorrendben hajtják végre (
az első betű a felső tranzisztor, a második betű az alsó tranzisztor)
: 1. lépés 2 3 4 5 6 Az óramutató járásával megegyező irányban: CB, AB, AC, BC, BA, CA pult az
óramutató járásával megegyező irányban : BC, BC, CA, CB, AC, AC. motorok.
Ezért az egyes motorok forgási sebessége négyszer fordul elő.
Úgy tűnik, hogy a két szekvencia azonos, de nem azonosak, mert a 6-
lépéses szekvencia esetében a CW esetében az aktuális irány a fázison keresztül egy irány, a CCW esetében az aktuális irány ellentétes.
Ezt láthatja, ha az akkumulátor vagy a tápegység feszültségét alkalmazza mindkét motoros fázisra.
Ha a feszültséget alkalmazza, a motor kissé egy irányba mozog, és leáll.
Ha a fenti szekvenciák egyikében gyorsan megváltoztathatja a fázis feszültségét, akkor a motort manuálisan forgathatja.
A tranzisztorok és a mikrovezérlők nagyon gyorsan befejezik ezeket a kapcsolókat, másodpercenként százszor váltva, amikor a motor nagy sebességgel működik.
Felhívjuk figyelmét továbbá, hogy ha a feszültséget mindkét fázisra alkalmazzák, a motor egy kicsit mozog, majd megáll.
Ennek oka az, hogy a nyomaték nulla.
Ezt láthatja az alábbi negyedik képen, amely megmutatja egy motoros fázis hátul potenciálját.
Ez egy szinuszhullám.
Amikor a hullám áthalad az x-
tengelyen, az adott fázis által biztosított nyomaték nulla. A
hatlépéses BLDC fázisváltási sorrendben, amely soha nem történt meg.
Mielőtt az adott fázis nyomatéka alacsony lesz, az energiát egy másik fáziskombinációra váltják.
A nagyobb BLDC motorokat általában a motor belsejében előcsarnok -érzékelők gyártják.
Ha van ilyen motorja, akkor kihagyhatja ezt a lépést.
Azt is tudom, hogy van legalább néhány CD/DVD meghajtó motor, amelyet már Hall érzékelőbe építettek.
Amikor a motor forog, három csarnok -érzékelőt használnak a helyzet észlelésére, így a fázisváltást a megfelelő pillanatban hajtják végre.
A HD motorom 9000 fordulat / perc (150 Hz) is fut.
Mivel kerékenként 24 változás történik, 9000 fordulat / perc sebességgel, a gépet 280 mikrosekundumonként cserélik.
Az Arduino mikro-vezérlő 16 MHz-en működik, tehát minden óraciklus 0,06 mikrosekundum.
Nem tudom, hogy hány óraciklusra van szükség a mondat csökkentéséhez, de még ha 100 óraciklusra is szükség van, azaz 5 mikrosekundumot vesz igénybe a mondat minden egyes csökkentéséhez.
A HD motoroknak nincsenek hallérzékelői, ezért be kell szerelni azokat a motor külső oldalára.
Az érzékelőt rögzíteni kell a motor forgása szempontjából, és olyan pólusok sorozatának kell kitéve, amelyek összhangban vannak a motor forgásával.
Megoldásom az, hogy eltávolítsam a mágneses gyűrűt ugyanabból a motorból, és fejjel lefelé telepítsem a vezérlést.
Ezután három csarnok -érzékelőt telepítettem e mágneses gyűrű fölé, 30 fokkal eltekintve egymástól a motor tengelyén (
120 fokos elektromos motor forgása).
A Hall Sensor -tartóm egy egyszerű tartóból áll, amely három alumínium alkatrészből és három műanyag részből áll, amelyek gyors prototípusra készülnek.
Ha nincs ilyen eszköze, akkor nem lehet nehéz megtalálni a helyzet jelzésének más módját.
A zárójelek létrehozása a hallérzékelők számára nagyobb kihívást jelent.
Ez a munka lehetséges módja: 1.
Keresse meg a megfelelő méretű műanyag tálcát, és gondosan epoxiát adhat a Hall érzékelőnek. 2.
A sablont nyomtatják a papírra, amelynek a mágneses gyűrűs sugara megegyezik a körére, és a három pont 15 fokos távolságra van.
Ragasztja be a sablont a lemezre, majd használja a sablont útmutatóként a Hall érzékelő epoxiának a helyére.
Most, hogy a Hall Sensors a motorra van felszerelve, csatlakoztassa azokat az alább látható áramkörhez, és tesztelje őket DMM vagy oszcilloszkóp segítségével, hogy megbizonyosodjon arról, hogy a kimenet magasabb és alacsonyabb lesz -e, amikor a motor forog.
Ezeket az érzékelőket 5 V alatt futtatom az Arduino 5 V kimenetével.
A csarnok érzékelője magas vagy alacsony kimenetelű (1 vagy 0)
attól függ, hogy érezik -e az antarktiszot vagy a sarkvidéket.
Mivel 15 fokos távolságra vannak, a mágnesek alatta forognak, és 45 fokonként megváltoztatják a polaritást, ez a három érzékelő soha nem lesz magas vagy alacsony egyszerre.
Amikor a motor forog, az érzékelő kimenete 6-
A következő táblázatban látható lépés mintázat.
Az érzékelőt be kell igazítani a motor mozgásával úgy, hogy a három érzékelő egyike pontosan a motoros fázisváltási helyzetben változjon.
Ebben az esetben az első Hall -érzékelő (H1) emelkedő szélének
összhangban kell lennie a C kombináció (magas) és B (alacsony) kinyitásával.
Ez megegyezik a 3. és 5. tranzisztor bekapcsolásával a híd áramkörében.
Összehangolom az érzékelőt a mágneshez oszcilloszkóppal.
Ennek érdekében három csatornát kell használnom.
A motort úgy forgatom, hogy csatlakozom a második motor övéhez, és megmérjük a hátsó potenciált a két fázisú kombináció között (
A és B, A és C)
Ez két szinusz.
Mint az alábbi képen látható hullámok,
majd nézzük meg az oszcilloszkóp 3. csatornáján a 2. halló érzékelő jelét.
A Hall érzékelő tartóját addig fordítják, amíg a Hall -érzékelő emelkedő széle teljesen megegyezik azzal a ponttal, ahol a fázisváltozást kell végrehajtani (lásd alább).
Most rájöttem, hogy csak két csatorna van ugyanazon kalibráláshoz.
Ha a B fázis-kombináció B-
felhasználásával a C-t használja, akkor a H2 emelkedő széle a BC görbével kapcsolódik.
A fázisváltás itt az oka az, hogy a motor nyomatékát mindig a lehető legmagasabb tartásában tartsa.
A hátsó potenciál arányos a nyomatékkal, és észreveszi, hogy minden fázisváltozás akkor fordul elő, amikor a hátsó potenciál a következő szakaszgörbe alatt halad át.
Ezért a tényleges nyomaték az egyes fáziskombinációk legmagasabb részéből áll.
Ha nem tud hozzáférni a hatókörhöz, itt az én gondolatom az igazításról.
Ez valójában érdekes gyakorlat mindenkinek, aki meg akarja tudni, hogyan működik a BLDC motor.
Ha az A motoros fázis csatlakozik (pozitív) és B (negatív)
a tápegységhez, és kapcsolja be a tápegységet, a motor kissé elforgat és leáll.
Ezután, ha a negatív teljesítményvezetéket a C fázisba helyezik, és az energiát be kell kapcsolni, a motor tovább fordul és leáll.
A szekvencia következő része az lesz, hogy a pozitív vezetést a B fázisba mozgatja stb.,
Amikor ezt megteszi, a motor mindig ott áll, ahol a nyomaték nulla, ami egy olyan helynek felel meg, ahol a diagram áthalad a diagram x tengelyén.
Vegye figyelembe, hogy a harmadik fázisú kombináció nulla pontja megfelel az első két kombináció fázisváltási helyzetének.
Ezért a B-kombináció nulla nyomatékos helyzetét
a H2 emelkedő széle meg akarja helyezni.
Jelölje meg ezt a pozíciót finom jelekkel vagy éles pengékkel, majd állítsa be a Hall -érzékelő tartóját a DMM segítségével, amíg a H2 kimenete pontosan magasabb lesz ezen a jelnél.
Még akkor is, ha kissé eltér az iskolai ütemtervtől, a motornak jól kell működnie.
A három motoros fázis energiát kap az L6234 háromfázisú motoros vezetőből.
Megállapítottam, hogy ez egy jó termék, amely elválaszthatja az idő próbáját.
Számos módon lehet véletlenül megsütni az alkatrészeket, amikor a Power Electronics használatát használja, nem vagyok villamosmérnök, és nem tudom, mi folyik itt.
Az iskolai programomban elkészítettük a saját 3
fázisú, 6 MOSFET tranzisztor és 6 dióda-féle híd kimenetet.
Ezt a másik sofőr Intersil HIP4086 -on használtuk, de sok problémánk van ezzel a beállítással,
egy csomó tranzisztorot és chipset égetettünk.
Az L6234 -et (
tehát a motort) 12 V -on futtatom.
Az L6234 szokatlan bemeneti készlete van, amely 6 tranzisztor fél hídját vezérli.
Nem minden tranzisztornak van bemenete, hanem egy engedélyezési (EN)
bemenet a három szakasz mindegyikéhez, majd egy másik bemenet (IN)
válassza ki, melyik tranzisztor a nyitott fázisban (felső vagy alsó).
Például kapcsolja be az 1. (felső) és a 6 (alsó) tranzisztorot,
mind az EN1, mind az EN3 magas (
EN2 alacsony a stádium zárva tartásához),
az 1 -ben, in3 alacsony.
Ez teszi a fázis kombinációját.
Míg az L6234 jelentkezési feljegyzés javasolta a motor sebességének vezérlésére használt PWM alkalmazását, úgy döntöttem, hogy az EN PIN -n megteszem, mert akkoriban azt gondolom, hogy \ 'furcsa \' lenne, ha a fázis felső és alsó fázisának felső és alsó tranzisztorát is bekapcsolnák, ugyanakkor ugyanazon a potenciálisnak, mert az alsó tranzisztorok mindkét fázisának, az alacsonyabb tranzisztorokhoz való bekapcsolásuk, így az alsó tranzisztorok
mindkét fázisának, az alacsonyabb tranzisztorokhoz való bekapcsolásuk, hogy az alacsonyabb tranzisztorokhoz forduljanak, hogy az alacsonyabb tranzisztorok legyenek az alacsony tranzisztorokhoz, hogy az alacsony tranzisztorok legyenek az alacsony tranzisztoroknál, hogy az alacsony tranzisztorok legyenek az alacsony tranzisztorokhoz, ha az alacsony tranzisztorok az alacsony tranzisztorokat fordítják, hogy az alacsony tranzisztorok az alacsony tranzisztorokhoz forduljanak. A jelenlegi áthaladnak
módszerrel
.
árammal
az Kicsit kicsi, tehát a nagyobb verziókhoz lásd az L6234 dokumentációját.
Megjegyzés: Mike Anton elkészítette az L6234 PCB -jét, amely (azt hiszem)
kicseréli ezt a pályát, és megmenti az összeszerelés feladatait.
Tekintse meg ezeket a linkeket a specifikációkhoz és a vásárlási információkhoz: Nem találtam sokat a 3-ról-
leírom, hogyan működik.
Felhívjuk figyelmét, hogy nem vagyok villamosmérnök, és értékelnénk a magyarázatom minden javítását.
Vezetés közben a vezérlőrendszer az áramot három motoros fázisba továbbítja oly módon, hogy maximalizálja a nyomatékot.
A regeneráló fékezés során a vezérlőrendszer is maximalizálja a nyomatékot, de ezúttal negatív nyomaték, amely miatt a motor lelassul, miközben az áramot visszaadja az akkumulátorhoz.
Az általam alkalmazott regeneráló fékezési módszer az Egyesült Államok Oakridge Nemzeti Laboratóriumának papírjából származik. S. Govt.
Egy laboratórium, amely sok kutatást végez az autómotorok számára.
Az alábbi táblázat egy másik cikkből származik, amely segít bemutatni a működését (
azonban azt hiszem, hogy a második cikkben megadott magyarázat részben helytelen).
Ne feledje, hogy amikor a motor forog, a motoros fázisban a BEMF feszültsége fel -le ingadozik.
Az ábrán azt mutatja, hogy a BEMF magas a B stádiumban és alacsony a színpadon.
Ebben az esetben lehetséges, hogy az áram B -ről folyjon.
A regeneráló fékezés szempontjából kritikus az alacsony kategóriájú tranzisztorok gyorsan bekapcsolnak és kikapcsolnak (
ezer PWM kapcsoló másodpercenként).
Amikor a csúcskategóriás tranzisztor kapcsoló ki van kapcsolva;
Amikor az alacsony tranzisztor be van kapcsolva, az áram az első képen látható módon áramlik.
A teljesítmény -elektronika szempontjából az áramkör olyan, mint egy Boost Converternek nevezett eszköz, ahol az energiát a motor fázisában tárolják (a
Wikipedia jó cikkben ismerteti, hogy hogyan működik a Boost Converter).
Ez az energia akkor szabadul fel, amikor az alacsony kategóriájú tranzisztor kikapcsol, de nagyobb feszültség mellett az áram azonnal átfolyik az \ 'anti-izzadás \' diódán, az egyes tranzisztorok mellett, majd visszatér az akkumulátorhoz.
A dióda megakadályozza, hogy az áram az akkumulátorból a motorba folyjon.
Ugyanakkor az ebben az irányban az áram (
a vezetéssel ellentétben)
kölcsönhatásba lép a mágnesgyűrűvel, hogy negatív nyomatékot eredményezzen, amely lelassítja a motort.
Az alacsony oldalú tranzisztor PWM kapcsolót használ, és a PWM üzemi ciklusa szabályozza a fékezés mennyiségét.
Vezetés közben a motor kommutációja az egyik kombinációról a másikra kapcsolódik a lehető legmagasabb nyomaték fenntartása érdekében.
A regeneráló fék kommutációja nagyon hasonló, mivel egyes kapcsolási mód miatt a motor a lehető legtöbb negatív nyomatékot eredményezi.
Ha az első lépésben nézi a videót, láthatja, hogy a regeneráló fék jól működik, de nem működik jól.
Úgy gondolom, hogy a fő ok az, hogy az általam használt merevlemez -motor nagyon alacsony nyomatékú motor, tehát nem hoz létre sok BEMF -et, kivéve a legnagyobb sebességet.
Alacsonyabb sebességgel nagyon kevés a regeneráló fékezés (ha van ilyen). Ezenkívül
a rendszerem szintén viszonylag alacsony feszültséggel (12 V) fut
, mivel az anti-ingitációs dióda minden egyes útja több voltal csökkenti a feszültséget, ez szintén nagymértékben csökkenti a hatékonyságot.
Normál egyenirányító diódákat használok, és jobb teljesítményt kaphatok, ha néhány speciális diódát használok, alacsonyabb feszültségcsökkenéssel.
Az alábbiakban felsoroljuk az Arduino bemeneteinek és kimeneteinek listáját.
Tartalmazza a táblám táblázatait és fényképeit is. 2-
Digitális belépési Hall 1
120 K A GND ellenállása 3
Digitális bejárati csarnok 2
120 K A GND ellenállása 4
Hall 3 Digitális bemenet-
120 K A GND ellenállása 5
1 digitális kimenet 400 ohm ellenállás 6
2 digitális kimenet, 400 ohm ellenállás 7
digitális outputs sorozatban, 400 OHM ellenállással, 400 OHM-rel, 400 OHM-rel, 400 OHM-rel, 400 OHM-rel, 400 OHM-rel, 400 OHM-vel,
400 OHM-rel, 400 OHM-vel,
400 OHM-vel, 400 OHM-rel, 400 OHM-rel. 11-
Az EN 3 digitális kimenet sorozatban van, 400 ohm ellenállással, 100 K ohm potenciométerrel, 5 V-os és GND-vel mindkét végén, és a 0-as analóg tűt a közepén csatlakoztatva.
Ezt a potenciométert használják a motor sebességének és fékmennyiségének szabályozására.
5 V V Az áramellátást a Hall érzékelők futtatására is használják (lásd az 5. lépést).
Itt van az egész program, amelyet az Ardjuino -nak írtam, amely megjegyzéseket tartalmaz:/* BLDC_Congroller 3. 1.
1* 3, David Glazer.
Az X sorozat ST L6234 3-
Fázisú motoros vezető IC * A lemezmeghajtó motorja az óramutató járásával megegyező irányban * Regeneratív fékezéssel * Motoros sebesség és fékezés
,
egyetlen
potenciométerrel vezérelve. 3 * 3 A PIN-es csapok (1,2,3)
Csatlakoztassa a szimulációt a potenciométerhez, hogy megváltoztassa a PWM-ciklust, és változtassa meg a vezetést és a
féket
.
regeneráló
*
* Hall -érzékelők
intrstate2
3,2,1
;
(
)
/1. terem pinMode (3, bemenet);
/2. csarnok PinMode (4, bemenet);
/L6234 3. csarnok/A PinMode Motor Driver kimenete (5, kimenet);
/1 pinMode -ban (6, kimenet);
/2 pinMode -ban (7, kimenet);
/3 PinMode -ban (9, kimenet);
/En 1 pinMode (10, kimenet);
/En 2 pinMode (11, kimenet);
/EN 3/Soros. Begin (9600);
Ha soros kapcsolatot fog használni, kérjük, engedje meg ezt a sort.
A Flush parancs a program végén.
/* Állítsa be a PWM frekvenciát a 9., 10. és 11. csapokon/állítsa be a PWM-t 32 kHz-re a 9-es csapokhoz, 10/első törölje mindhárom rividider bit: int prescalVal = 0x07;
/Hozzon létre egy prescalVal nevű változót, és állítsa be úgy, hogy megegyezzen a \ '00000111 \' tcCr1b & = ~ prescaler
/bináris számmal, és a TCCR0B értéke bináris számmal \ '11111000 \' /most állítsa be a megfelelő előzetes kódoló bitet: int elõzetes kódolás bit 2 = 1;
/Állítsa be a prescalVal -t, hogy megegyezzen a bináris számmal \ '00000001 \' TCCR1B | = prescalVal2;
/Vagy érték a TCCR0B-ben, bináris számmal \ '00000001 \' /PWM-t 32 kHz-re állítsa be a 3,11-es csapnál (
ez a program csak a 11. érintkezőjét használja)
/Először törölje mindhárom kaliforgó-bitet: TCCR2B & = ~ Pre-Kalervál;
/És a TCCR0B értéke bináris számmal \ '11111000 \'/most állítsa be a megfelelő előadási bitet: TCCR2B | = A 2. bit előadása;
/Vagy a TCCR0B értéke bináris számmal \ '00000001 \'/Első törlése mindhárom előkerült bit:}
A/prgrom void hurok főhuroka () {
/idő = millis ();
A nyomtatási program megkezdése utáni idő. println (idő); //Sorozatszám. nyomtatás(\'\');
Fojtószelep = analogread (0);
/Fojtószelep potenciométer MSPS = térkép (
fojtószelep, 512,1023, 0,255);
/A vezetést a BSPEED = MAP potenciométer felső felére térképezzük (
fojtószelep, 0,511,255, 0);
/Félrészes regeneráló fékezés a pot alján/MSPS Ed = 100;
/HallState1 = DigitalRead (2) hibakereséséhez;
/Olvassa el a bemeneti értéket az 1. csarnokból 2 = digitális leolvasás (3);
/Olvassa el a bemeneti értéket a 2. csarnokból 3 = digitális leolvasás (4);
Olvassa el a bemeneti értéket/numerikus írást a 3. csarnokból (8, HallState1);
/Ha a megfelelő érzékelő nagy teljesítményű, akkor a LED bekapcsol, amelyet
eredetileg a digitális írásbeli hibakereséshez használnak (9, HallState2);
// DigitalWrite (10, HallState3); HallVal = (HallState1)+ (2*HallState2)+ (4*HallState3);
/Számítsa ki a 3 Hall -érzékelő bináris értékeit/* sorozat. nyomtatás (\ 'H 1: \');
A soros port hibakereséséhez. println (HallState1); Sorozatszám. nyomtatás (\ 'H 2: \'); Sorozatszám. println (HallState2); Sorozatszám. nyomtatás (\ 'H 3: \'); Sorozatszám. println (HallState3); Sorozatszám. println (\ '\');
*/// soros. println (mSpeed); //Sorozatszám. println (HallVal); //Sorozatszám. nyomtatás(\'\');
/Monitor Monitor Transistor kimenet/késleltetés (1000);
/* T1 = digitalRead (2); // t1 = ~ t1;
T2 = digitalRead (4); // t2 = ~ t2;
T3 = digitalRead (5); // t3 = ~ t3; Sorozatszám. nyomtatás (T1); Sorozatszám. print (\ '\ t \'); Sorozatszám. nyomtatás (T2); Sorozatszám. print (\ '\ t \'); Sorozatszám. nyomtatás (T3); Sorozatszám. nyomtatás(\'\'); Sorozatszám. nyomtatás(\'\'); Sorozatszám. nyomtatás (digitalRead (3)); Sorozatszám. print (\ '\ t \'); Sorozatszám. nyomtatás (digitalRead (9)); Sorozatszám. print (\ '\ t \'); Sorozatszám. println (digitalread (10)); Sorozatszám. nyomtatás(\'\'); Sorozatszám. nyomtatás(\'\'); // késleltetés (500);
*/Vezetési fázisváltás/Minden bináris számnak van egy olyan esete, amely megfelel a különböző tranzisztoroknak, amelyek be/bit matematikát használnak az Arduino kimenet értékének megváltoztatásához:/PortD tartalmazza az L6234 illesztőprogramban lévő PIN -kód kimenetét
. potenciométerrel vezérelve). if (throttle> 511) {kapcsoló (HallVal) {
3. eset:/portd = 1111xxx00;
/A 0–7. PIN-kód várható kimenete
a Hall bemenetre utal, és a PortD & = B0001111111111111111111;
Portd | = B01100000;
/Analowrite (9, MSPEED);
PWM egy fázison (
csúcskategóriás tranzisztor) analógWrite (10,0);
B fázis bezárása (vám = 0) analógWrite (11 255); // C fázison -adagolás = 100% (
alacsony kategóriájú tranzisztor) szünet;
1. eset:/portd = b001xxx00;
/A PIN PIN PORD várható kimenete
PortD & = B00011111;
/Portd | = B00100000;
/Analowrite (9, MSPEED);
PWM egy fázis (
csúcskategóriás tranzisztor) analógWrite (10 255); // B fázis (
alacsony kategóriájú tranzisztor) analógWrite (11,0); // B fázis ki (vám = 0) szünet;
5. eset:/portd = b101xxx00;
/A PIN PIN PORD várható kimenete
PortD & = B00011111;
/Portd | = B10100000; analógWrite (9,0); AnalógWrite (10 255); analógWrite (11, MSPEED); szünet;
4. eset:/portd = b100xxx00;
/A PIN PIN PORD várható kimenete
PortD & = B00011111;
Portd | = bym000;
/Analowrite (9 255); analógWrite (10,0); analógWrite (11, MSPEED); szünet;
6. eset:/portd = b110xxx00;
/A PIN PIN PORD várható kimenete
PortD & = B00011111;
Portd B11. 000 =;
/Analowrite (9 255); analógWrite (10, MSPEED); analógWrite (11,0); szünet;
2. eset:/portd = b010xxx00;
/A PIN PIN PORD várható kimenete
PortD & = B00011111;
B0201700 Portd | =;
/Analowrite (9,0); analógWrite (10, MSPEED); AnalógWrite (11 255); szünet; }}
/Regeneratív fékfázisváltozás /portd (
az L6234 -es PIN -kód kimenete)
A csapok mindig alacsonyak, tehát a regen során csak alacsony tranzisztorokat használnak. fékezés. else {
/portd = b000xxx00;
/A PIN PIN PORD várható kimenete
PortD & = B00011111;
Portd | = BYM0000; // kapcsoló (HallVal) {
3. eset: Analógia írása (9, BSPEED); // analógWrite (9,0); analógWrite (10,0); analógWrite (11,0); szünet;
1. eset: Analógia írása (9, Bspeed); analógWrite (10,0); analógWrite (11,0); szünet;
5. eset: Analógia írása (9,0); analógWrite (10,0); analógWrite (11, Bspeed); szünet;
4. eset: Analógia írása (9,0); analógWrite (10,0); analógWrite (11, Bspeed); szünet;
6. eset: Analógia írása (9,0); analógWrite (10, Bspeed); analógWrite (11,0); szünet;
2. eset: Analógiaírás (9,0); analógWrite (10, Bspeed); analógWrite (11,0); szünet; }}
/Idő = millis ();
A nyomtatási program megkezdése utáni idő. println (idő); //Sorozatszám. nyomtatás(\'\'); //Sorozatszám. flush ();
/Ha soros port használatával szeretne hibakeresni, kérjük, engedje be}
Úgy gondolom, hogy az a művelet, amelyet az Arduino végez ebben a projektben, annyira egyszerű, hogy pazarlásnak tűnik, ha ezt a feladatot mikroprocesszorral végezzük.
Valójában az L6234 alkalmazásjegyzetei egy egyszerű, programozható kapu tömböt (
GAL16V8 rácsos félvezetőből készült) javasolnak, hogy elvégezzék ezt a munkát.
Nem ismerem az eszköz programozását, de az IC költsége csak 2 dollár. 39 Newarkban.
Más hasonló integrált áramkörök szintén nagyon olcsók.
Egy másik lehetőség a diszkrét logikai kapuk összeállítása.
Felálltam néhány viszonylag egyszerű logikai szekvenciával, amelyek meg tudják vezetni az L6234 IC -t a három csarnok -érzékelő kimenetéből.
Az A szakasz diagramja az alábbiakban látható, és az igazságtáblázat mindhárom szakaszhoz (
a B és C fázisok logikai áramköréhez a \ 'nem \' ajtót át kell váltani a \ 'másik oldalára, vagy.
A probléma ennek a megközelítésnek az, hogy mindegyik szakaszban közel 20 kapcsolat van, tehát egy kicsit munka szükséges
.

A Hoprio Group A Controller and Motors professzionális gyártóját 2000 -ben hozták létre. A csoport székhelye Changzhou városában, Jiangsu tartományban.

Gyors linkek

Vegye fel velünk a kapcsolatot

WhatsApp: +86 18921090987 
Tel: +86-18921090987 
Hozzáadás: No.19 Mahang South Road, Wujin High-Tech kerület, Changzhou City, Jiangsu tartomány, Kína 213167
Hagyjon üzenetet
Vegye fel velünk a kapcsolatot
Copyright © 2024 Changzhou Hoprio E-Commerce Co., Ltd. Minden jog fenntartva. Oldaltérkép | Adatvédelmi irányelv