V súčasnosti sa nadšenci veľmi zaujímajú o kontrolu bez kefy DC (BLDC)
v porovnaní s tradičným jednosmerným motorom, výkonnosť motora sa zlepšila, energetická účinnosť sa tiež zlepšila, ale je ťažšie ho používať. veľa produktov mimo poličky .
Na tento účel existuje
Napríklad existuje veľa malých ovládačov BLDCS, ktoré pre lietadlá RC veľmi dobre fungujú.
Pre tých, ktorí sa chcú podrobnejšie pozrieť na kontrolu BLDC, existuje aj mnoho rôznych mikrokontrolérov a iný elektronický hardvér pre priemyselných používateľov, ktoré majú zvyčajne veľmi dobrú dokumentáciu.
Doteraz som nenašiel žiadny komplexný popis toho, ako používať Arduino Micro-Controller pre kontrolu BLDC.
Tiež, ak máte záujem robiť regeneratívne brzdenie alebo používať BLDC na výrobu energie, nenašiel som veľa produktov vhodných na použitie s malými motormi, ani som sa nedozvedel o tom, ako ovládať trojfázový generátor.
Táto štruktúra bola pôvodne v príbehu o
výpočte v reálnom čase, naďalej to robím po skončení kurzu.
Myšlienkou projektu je ukázať proporcionálny model hybridného vozidla s skladovaním energie zotrvačníka a regeneratívnym brzdením.
Motor použitý v projekte je malý BLDCS vyčistený z poškodeného pevný disk počítača.
Táto príručka popisuje, ako používať mikrokontrolér Arduino a Hall-
ovplyvňuje polohové senzory v režimoch riadenia a regeneratívnych brzdenia.
Upozorňujeme, že na dokončenie tohto projektu je na návštevu Oscilisoft veľmi užitočná, ak nie nevyhnutná.
Ak nemáte prístup k rozsahu, pridal som niekoľko návrhov, ako to urobiť bez rozsahu (krok 5).
Jednou z vecí, ktorú by tento projekt nemal zahrnúť do žiadneho skutočného ovládača motora, je akákoľvek bezpečnostná funkcia, ako je napríklad súčasná ochrana.
Najhoršie je, že vyhoríte motor HD.
Implementácia nadmernej ochrany so súčasným hardvérom však nie je zložitá a možno to v určitom okamihu urobím.
Ak sa snažíte ovládať väčší motor, pridajte prosím súčasnú ochranu, aby ste chránili svoj motor a svoju vlastnú bezpečnosť.
Chcem sa pokúsiť použiť tento ovládač s väčším motorom, ktorý dokáže urobiť nejakú \ 'real \', ale ja ešte nemám ten správny.
Všimol som si, že spoločnosť EBay predala 86 W auto za približne 40 dolárov.
Vyzerá to ako dobrý kandidát.
K dispozícii je tiež webová stránka RC s názvom \ 'Gebrushless \', ktorá predáva súpravy, ktoré zostavujú vlastné bldc.
Nie sú príliš drahé a stojí za to vybudovať jeden.
Upozorňujeme, že na tejto webovej stránke neexistuje žiadny senzor haly. Whew!
Písanie tejto štruktúry je veľká práca.
Dúfam, že vám to bude užitočné, prosím, urobte svoje pripomienky a návrhy.
Digital multimeter (DMM)-
Ak má váš DMM frekvenčný meter osciloskop (
je lepšie mať najmenej 2 kanály)
T8 Torx ovládač (
potrebujete jeden z nich, aby otvoril akýkoľvek pevný disk).
K dispozícii je dobrý železiarsky obchod.
Strojový workshop a rýchly prototyp (
sú veľmi užitočné, ale myslím si, že tento projekt je možné vykonať bez nich).
Materiál Motor BLDC Motor Motor z počítačového pevného disku (
polovica motora)
z iného tvrdého driveverálneho (3-6)
je druhý malý motor v striebornom disku na pevnom disku (DC Brushed OK)
alebo (výhodne) kefou
bez kefy s rukoväťou s iným motorickým drôtom s motorovým drôtom. Poteniometer100 K Ohmst Micro Circuit L6234 Trojfázový vodič motora IC DVA 100 UF Kondenzátory UF ONE 10 NF Kondenzátor One 220 NF kondenzátor One 1 UF kondenzátor One 100 UF kondenzátor Tri prijímajúce diódy One
2
. Obvody, ktoré som zobrazil v tejto príručke (
je ovládaný pomocou zadnej potenciálnej indukcie).
Špecifikácie a informácie o obstarávaní nájdete v týchto dvoch odkazoch: Ak sa chystáte urobiť tento projekt, navrhujem, aby ste si našli čas na dôkladné pochopenie toho, ako BLDC funguje a ovláda.
Existuje veľké množstvo referencií online (
niektoré návrhy nájdete nižšie).
Do môjho projektu však zahrnujem niektoré grafy a tabuľky, ktoré by vám mali pomôcť porozumieť.
Tu je zoznam konceptov, ktoré sú podľa môjho názoru najdôležitejšie na pochopenie tohto projektu: MOSFET Tranzistory 3-fázové polovičné most 6-
3-stupňové redukcie vety
Modulácia šírky fázového motora (PWM) HALL-
Microchip AVR443: Senzory Generálne DC Generálne riadenie DC Lieka DC Lieka BLD
Flaringovej kontroly DC Lieka BLD s digitálnym polohou Lielovej kontroly BLD Flaring BLD Flaringu BLD Flaring BLD Flaring BLD BLD FALLE SALL FHOLD FALLICKÁ HALL FALLICKÁ HALL FHATLICKÝCH LIEKOV BLD FALLICKÉHO PREVODY BLD FREATIOL BLD FALLICKÉHO
ZÁKLADY Senzor, dobré video o čistení motora pevného disku, ale zdá sa, že autor prevádzkuje motor ako krokový motor a ako odstupňovací motor. Konkrétnejšia referenčná webová stránka pre BLDC na motorickej jednotke L6234, vrátane dátových listov, poznámok k aplikáciám a informácie o nákupe.
Bezplatná vzorka pre pohon motora PM pre hybridné elektrické vozidlá.
Toto je jediný dokument, ktorý som zistil, ktorý popisuje poradie zmeny regenerujúcej fázy brzdenia.
Tento dokument, regeneratívne brzdenie v elektrických vozidlách, je užitočný, požičal som si z nej niekoľko čísel, ale myslím si, že nesprávne popisuje, ako funguje regenerácia.
Tento projekt som urobil s recyklovaným motorom diskového pohonu, pretože bolo ľahké prejsť a rád používam malý motor s nízkym napätím, aby som sa naučil kábel ovládaný BLDC a nespôsobil žiadne bezpečnostné problémy.
Okrem toho sa konfigurácia magnetu senzora haly stáva veľmi jednoduchou použitím magnetického krúžku (rotor)
z druhého z týchto motorov (pozri krok 4).
Ak nechcete ísť do všetkých problémov s inštaláciou a kalibráciou senzora Hall (Kroky 5-7)
Viem, že existujú aspoň niektoré motory s pohonom CD/DVD vstavané v hale.
Aby som poskytol určitú otočnú zotrvačnosť motoru a dal som im trochu zaťaženia, dal som na motor 5 pevných diskov, jemne prilepené spolu s trochou silného lepidla a prilepené k motoru (
vďaka tomu zotrvačník v mojom pôvodnom projekte).
Ak sa chystáte odstrániť motor z pevného disku, potrebujete pohon T8 Torx, aby ste odskrutkovali kryt (
zvyčajne sú dve skrutky skryté za paličkou v štítku Centeron)
a vnútorné skrutky, ktoré držia motor na svojom mieste. Týmto spôsobom
musíte tiež odstrániť čítačku hlavy (
výkonný výkon Sound Circle),
môžete si vybrať pamäťový disk, aby ste dosiahli motor.
Okrem toho budete potrebovať druhý rovnaký motor s pevným hnacím motorom na odstránenie rotora z tohto motora (
vo vnútri je magnet).
Aby som sa od seba oddelil, chytil som rotor (hornú)
zirtuál motora a vyhodil som ho na stator (dole),
dva skrutkovače sú od seba vzdialené 180 stupňov.
Nie je ľahké držať motor na dostatočne tesnom páre bez deformácie.
Možno budete chcieť postaviť
na tento účel blok v drehu.
Vyvŕtal som dieru v magnetickom krúžku na sústruhu, aby sa pohodlne zmestil na hornú časť motora.
Ak nedokážete použiť sústruh, môžete na motore opraviť invertovaný rotor so silným lepidlom.
Obrázky 2 a 3 nižšie ukazujú interiér jedného z motorov, ktoré som rozobral.
V prvej polovici (rotor) je 8 pólov (
magnet zabalený do plastu).
V druhej polovici (stator)
je 12 slotov (vinutia).
Každá z troch motorových fáz má v sérii 4 sloty.
Niektoré motory HD majú na spodnej časti tri kontakty, jeden kontakt v rámci fázy a druhý je stredným kohútikom motora (
kde sa stretávajú tri fázy).
V tomto projekte nie je potrebný žiadny stredový kohútik, ale môže sa hodiť bez kontroly bez senzora (
dúfam, že jedného dňa uvoľní poznámku o ovládaní bez senzora).
Ak má váš motor štyri kontakty, môžete identifikovať fázu s Ohmeterom.
Odpor medzi stredovým kohútikom a fázou je polovica odporu medzi akýmikoľvek dvoma fázami.
Väčšina literatúry o BLDC Motors sa zaoberá osobami s rebríkom v tvare chrbta vlny, ale zdá sa, že motor pevného disku má spätný potenciál, ktorý vyzerá ako sínus (pozri nižšie).
Pokiaľ viem, riadenie motora sínusovej vlny s sínusovou vlnou PWM funguje dobre, hoci účinnosť môže trochu klesnúť.
Rovnako ako všetky motory BLDC, aj tento je tvorený trojfázovým polovičným
tranzistorovým mostom (
pozri 2. fotografie nižšie).
Používam IC vyrobený ST Micro (L6234)
pre most, známy tiež ako vodič motora.
Elektrické pripojenie L6234 je znázornené v kroku 8.
Tretia fotografia nižšie zobrazuje schematický diagram vodiča motora a tri fázy motora.
Aby motor pracoval v smere hodinových ručičiek, prepínač sa uskutoční v nasledujúcom poradí (
prvé písmeno je horný tranzistor a druhým písmenom je nižší tranzistor)
: Krok 1 2 3 4 5 6 v smere hodinových ručičiek: CB, AB, AC, BC, BA, CA, CA, BC, BC, BA, CA, CB, AC Týchto 6
. Motory.
Preto sa rýchlosť rotácie každého motora vyskytuje štyrikrát.
Zdá sa, že tieto dve sekvencie sú rovnaké, ale nie sú rovnaké, pretože pre 6-
krokovú sekvenciu, pre CW je prúdový smer cez fázu jedným smerom a pre CCW je prúdový smer opačný.
Môžete to vidieť sami použitím napätia batérie alebo napájania do buď fázy motora.
Ak aplikujete napätie, motor sa posunie trochu v jednom smere a zastaví sa.
Ak dokážete rýchlo zmeniť napätie vo fáze v jednej z vyššie uvedených sekvencií, môžete motor otáčať ručne.
Tranzistory a mikrokontroléry dokončujú všetky tieto spínače veľmi rýchlo a prepínajú stovky krát za sekundu, keď motor beží pri vysokej rýchlosti.
Upozorňujeme tiež, že ak sa napätie aplikuje na obe fázy, motor sa trochu pohybuje a potom sa zastaví.
Je to preto, že krútiaci moment je nula.
Môžete to vidieť na štvrtej fotografii nižšie, ktorá zobrazuje zadný potenciál dvojice motorových fáz.
Toto je sínusová vlna.
Keď vlna prechádza x-
hriadeľom, krútiaci moment poskytnutý touto fázou je nula. V sekvencii zmeny fázy šiestich
krokov BLDC, ktorá sa nikdy nestala.
Predtým, ako sa krútiaci moment v konkrétnej fáze zníži, výkon sa prepne na inú fázovú kombináciu.
Väčšie motory BLDC sa zvyčajne vyrábajú pomocou halových senzorov vo vnútri motora.
Ak máte takýto motor, môžete tento krok preskočiť.
Tiež viem, že existujú aspoň niektoré motory CD/DVD Drive zabudované v už halenom senzore.
Keď sa motor otáča, na detekciu polohy sa používajú tri senzory haly, takže sa fázová zmena vykonáva v pravý okamih.
Môj motor HD prevádzkuje až 9 000 ot./min. (150 Hz).
Pretože existuje 24 zmien za koleso, pri 9 000 ot./min., Stroj sa mení každých 280 mikrosekúnd.
Arduino Micro-Controller pracuje pri 16 MHz, takže každý hodinový cyklus je 0,06 mikrosekúnd.
Neviem, koľko hodín je potrebných na vykonanie zníženia vety, ale aj keď je potrebných 100 hodín cyklov, to znamená, že za každé zníženie vety trvá 5 mikrosekúnd.
HD motory nemajú senzory haly, takže je potrebné ich nainštalovať na vonkajšiu stranu motora.
Senzor musí byť fixovaný vzhľadom na rotáciu motora a vystavený sérii pólov, ktoré sú v súlade s rotáciou motora.
Mojím riešením je odstrániť magnetický krúžok z toho istého motora a nainštalovať ho hore nohami na motor, ktorý sa má ovládať.
Potom som nainštaloval tri halové senzory nad tento magnetický krúžok, 30 stupňov od seba na hriadeli motora (
otáčanie elektrického motora 120 stupňov).
Môj držiak senzora Hall Sensor pozostáva z jednoduchého držiaka pozostávajúci z troch hliníkových častí spracovaných mnou a troch plastových častí vyrobených na rýchlom prototype.
Ak tieto nástroje nemáte, nemalo by byť ťažké nájsť iný spôsob, ako označiť pozíciu.
Vytváranie zátvoriek pre senzory Hall bude náročnejšie.
Toto je možný spôsob, ako fungovať: 1.
Nájdite plastový podnos správnej veľkosti a môžete opatrne epoxidovať senzor Hall. 2.
Šablóna je vytlačená na papieri, ktorý má rovnaký kruh ako polomer magnetického krúžku, a tri značky sú od seba vzdialené 15 stupňov 3.
Prilepte šablónu na disk a potom použite šablónu ako sprievodcu, aby ste opatrne umiestnili epoxid senzora haly na miesto.
Teraz, keď sú senzory haly nainštalované na motor, pripojte ich k obvodu uvedený nižšie a otestujte ich pomocou DMM alebo osciloskopu, aby ste sa uistili, že výstup sa pri otáčaní motora zvyšuje a nižšie.
Tieto senzory prevádzkujem pod 5 V pomocou výstupu Arduino 's 5 V.
Senzor haly má vysoký alebo nízky výstup (1 alebo 0)
Závisí od toho, či cítia antarktídu alebo Arktídu.
Pretože sú od seba vzdialené 15 stupňov, magnety sa otáčajú pod nimi a menia polaritu každých 45 stupňov, tieto tri senzory nikdy nebudú vysoké alebo nízke súčasne.
Keď sa motor otáča, výstup senzora je 6-
vzorový vzor zobrazený v nasledujúcej tabuľke.
Senzor musí byť zarovnaný s pohybom motora tak, aby jeden z troch senzorov sa zmenil presne v polohe zmeny motorickej fázy.
V tomto prípade by stúpajúca hrana senzora prvej haly (H1)
by mala byť v súlade s otvorením kombinácie C (vysoká) a B (nízka).
To je rovnocenné s zapnutím tranzistorov 3 a 5 v mostíkovom obvode.
Senzor zarovnávam s magnetom s osciloskopom.
Aby som to dosiahol, musím použiť tri kanály rozsahu.
Otáčam motor pripojením k pásu druhého motora a zmerajte zadný potenciál medzi dvojfázovými kombináciami (
A a B, A a C)
Toto sú dve sínus.
Rovnako ako vlny na obrázku nižšie,
potom sa pozrite na signál senzora Hall 2 na kanáli 3 osciloskopu.
Držiak senzora haly sa otočí, až kým sa vychádzajúci okraj senzora haly úplne nezarovná s bodom, v ktorom by sa mala vykonať zmena fázy (pozri nižšie).
Teraz si uvedomujem, že na rovnakú kalibráciu existujú iba dva kanály.
Ak BEMF fázovej kombinácie B-
pomocou C, bude stúpajúci okraj H2 súvisieť s krivkou BC.
Dôvodom, prečo by sa mala fázová zmena vykonávať tu, je vždy udržiavať moment motora čo najvyšší.
Zadný potenciál je úmerný krútiacim momentom a všimnete si, že každá fázová zmena nastane, keď zadný potenciál prejde pod krivku ďalšej fázy.
Preto skutočný krútiaci moment pozostáva z najvyššej časti každej fázovej kombinácie.
Ak máte prístup k rozsahu, tu je moja myšlienka zarovnania.
Toto je vlastne zaujímavé cvičenie pre každého, kto chce vedieť, ako funguje motor BLDC.
Ak je motorová fáza A pripojená (pozitívna) a B (záporná)
k napájaniu a zapnite napájací zdroj, motor sa trochu otočí a zastavuje.
Potom, ak sa negatívny výkon napájania presunie do fázy C a výkon je zapnutý, motor sa otočí ďalej a zastaví sa.
Ďalšou časťou sekvencie bude presunutie kladného vedenia k fáze B atď.
Keď to urobíte, motor sa vždy zastaví, kde je krútiaci moment nula, čo zodpovedá jednému miestu, kde graf prechádza osou X v grafe.
Všimnite si, že nulový bod kombinácie tretej fázy zodpovedá polohe fázovej zmeny prvých dvoch kombinácií.
Preto poloha nulového krútiaceho momentu B-
kombinácie C je miesto, kde chcete umiestniť stúpajúci okraj H2.
Túto polohu označte jemnými značkami alebo ostrými čepeľami a potom upravte držiak senzora haly pomocou DMM, kým výstup H2 nie je presne vyšší na tejto značke.
Aj keď sa trochu odchýlite od svojho školského rozvrhu, motor by mal fungovať dobre.
Tri motorové fázy dostanú napájanie od trojfázového vodiča motora L6234.
Zistil som, že je to dobrý produkt, ktorý môže obstáť v skúške času.
Existuje mnoho spôsobov, ako náhodou vypláchnuť vaše komponenty pri používaní elektroniky, nie som elektrotechnikom a ja vždy neviem, čo sa deje.
V mojom školskom programe sme urobili vlastný 3-
fázový polovičný výkon 6 tranzistorov MOSFET a 6 diód.
Použili sme to na hip4086 druhého vodiča Intersil, ale s týmto nastavením máme veľa problémov,
spálili sme veľa tranzistorov a hranoliek.
Bežím L6234 (
takže motor) pri 12 V.
L6234 má neobvyklú sadu vstupov na riadenie nevlastného mostu 6 tranzistorov.
Nie každý tranzistor má vstup, ale povolený (EN)
vstup pre každú z týchto troch stupňov a potom iný vstup (in)
vyberte, ktorý tranzistor v otvorenej fáze (horný alebo dolný).
Napríklad zapnite tranzistor 1 (horný) a 6 (nižší)
EN1 aj en3 sú vysoké (
en2 nízke, aby sa udržalo pódium uzavreté)
v1 vysoké, in3 nízko.
Vďaka tomu je fázová kombinácia-c.
Zatiaľ čo aplikácia L6234 navrhovala, aby sa aplikácia PWM použila na reguláciu rýchlosti motora na kolík, rozhodol som sa to urobiť na EN PIN, pretože v tom čase by som si myslel, že by bolo \ „čudné \“ zapnúť hornú a dolnú tranzistory fázy, ktoré majú alternatívne, pretože majú rovnaké množstvo, pretože majú rovnaké množstvo, pretože majú rovnaké množstvo, pretože majú rovnaké časy, pretože majú rovnaké množstvo, pretože majú rovnaké množstvo, pretože majú rovnaké množstvo, pretože majú rovnaké množstvo, pretože majú rovnaké
množstvo, pretože majú rovnaké množstvo, pretože majú rovnaké množstvo, pretože majú rovnaké množstvo, pretože majú rovnaké, pretože majú rovnaké množstvo, pretože majú rovnaké fázy, pretože majú rovnaké množstvo, pretože majú rovnaké fázy, pretože majú rovnaké fázy, pretože majú rovnaké fázy, pretože majú nič, pretože majú rovnaké fázy, pretože nie je nič zlé na tom, že nie je to isté, pretože majú rovnaké časy, pretože majú rovnaké množstvo, pretože majú rovnaké fázy, pretože majú rovnaké fázy, pretože majú ten istý čas. prúdom
Prechádza
.
Malé, takže väčšie verzie nájdete v dokumentácii pre L6234.
Poznámka: Mike Anton vyrobil PCB pre L6234, ktorý (verím)
nahradí túto skladbu a uloží vám úlohu jej zostavenia.
Pozrite si tieto odkazy na špecifikácie a informácie o nákupe: Nenašiel som veľa o 3-
opíšem svoje chápanie toho, ako to funguje.
Upozorňujeme, že nie som elektrotechnikom a ocenili by sme akékoľvek opravy môjho vysvetlenia.
Pri jazde riadiaci systém vysiela prúd do troch fáz motora spôsobom, ktorý maximalizuje krútiaci moment.
Pri regeneratívnom brzdení riadiaci systém maximalizuje krútiaci moment, ale tentoraz je to záporný krútiaci moment, ktorý spôsobuje spomalenie motora pri odosielaní prúdu späť do batérie.
Metóda regeneratívneho brzdenia, ktorú som použil, prišla z papiera z Národného laboratória Oakridge v Spojených štátoch. S. Govt.
Laboratórium, ktoré robí veľa výskumov pre automobilové motory.
Nižšie uvedená tabuľka pochádza z iného dokumentu, ktorý pomáha ilustrovať, ako to funguje (
myslím si však, že vysvetlenie uvedené v tomto druhom dokumente je čiastočne nesprávne).
Majte na pamäti, že keď sa motor otáča, napätie BEMF vo fáze motorickej fázy kolíše hore a dole.
Na obrázku ukazuje okamih, keď je BEMF vysoký v štádiu B a nízka v štádiu.
V tomto prípade je možné, aby prúd prúdil z B na.
Kritické pre regeneratívne brzdenie sa tranzistory s nízkym stupňom rýchlo zapínajú a vypínajú (
tisíce prepínačov PWM za sekundu).
Keď je vypnutý prepínač špičkových tranzistorov;
Keď je zapnutý nízky tranzistor, prúd preteká, ako je to znázornené na prvom obrázku.
Pokiaľ ide o výkonovú elektroniku, obvod je ako zariadenie nazývané prevodník zosilňovača, kde sa energia ukladá vo fáze motora (
Wikipedia má dobrý článok, v ktorom vysvetľuje, ako funguje konvertor zosilňovača).
Táto energia sa uvoľní, keď je tranzistor s nízkym koncom vypnutý, ale pri vyššom napätí prúd okamžite preteká cez diódu \ 'anti-excitáciu \' vedľa každého tranzistora a potom sa vráti do batérie.
Dióda bráni prúdu prúdu z batérie do motora.
Súčasne sa prúd v tomto smere (
na rozdiel od jazdy)
interaguje s magnetovým krúžkom a vytvorí negatívny krútiaci moment, ktorý spomaľuje motor.
Nízko-stratový tranzistor používa prepínač PWM a pracovný cyklus PWM riadi množstvo brzdenia.
Pri jazde sa komunikácia prepína z jednej kombinácie na druhú v pravý čas, aby sa udržal najvyšší možný krútiaci moment.
Kombutácia regeneratívnej brzdy je veľmi podobná, pretože určitý režim prepínania spôsobuje, že motor produkuje čo najviac negatívny krútiaci moment.
Ak pozeráte video v prvom kroku, môžete vidieť, že regeneratívna brzda funguje dobre, ale nefunguje to dobre.
Myslím si, že hlavným dôvodom je to, že motor pevného pohonu, ktorý používam, je veľmi nízky krútiaci moment, takže nevytvára veľa Bemf, s výnimkou najvyššej rýchlosti.
Pri nižšej rýchlosti je veľmi málo regeneratívneho brzdenia (ak existuje).
Môj systém tiež beží na relatívne nízkom napätí (12 V)
, pretože každá cesta cez anti-excitačnú diódu znižuje napätie o niekoľko voltov, čo tiež výrazne znižuje účinnosť.
Používam normálne usmerňovacie diódy a môžem získať lepší výkon, ak použijem nejaké špeciálne diódy s nižším poklesom napätia.
Nižšie je uvedený zoznam vstupov a výstupov na Arduino.
Zahrňte aj grafy a fotografie mojej dosky. 2-
Digitálna vstupná HALL 1
120 K Odpor GND 3
Digitálne vstupné sála 2
120 K Odpor Digitálnym vstupom GND 4
Hall 3 Digitálny vstup-
120 K Odpor GND 5
1 Digitálny výstup v sérii so 400 OHM Resistor 6
2 Digitálnymi výstupmi v sérii v sérii s 400 OHM Resisor 7
3
v sérii 400 OHM OHM s digitálnym OHM OHM s Digitálnym OHM s
400 OHM s digitálnym OHM s DIGITÁLNYM Rezistor 11-
Digitálny výstup EN 3 je v sérii s 400 ohmovým odporom, potenciometrom 100 K ohm, s 5 V a GND pripojenými na oboch koncoch a analógovým kolíkom 0 pripojeným v strede.
Tento potenciometer sa používa na reguláciu rýchlosti motora a objemu brzdenia.
5 V napájanie sa tiež používa na spustenie senzorov haly (pozri krok 5).
Tu je celý program, ktorý som napísal pre Ardjuino, ktorý obsahuje komentáre:/* bldc_congRoller 3. 1.
1* 3 od Davida Glazeru.
Séria X je ST L6234 3-
fázový vodič Motor IC * Spustený diskový motor v smere hodinových ručičiek * s regeneratívnym brzdením * Motorovým rýchlosťou a brzdením ovládaným jediným potenciometra * Motor Tri
Sensor s halovým efektom * Arduino prijíma výstup z 3 halových senzorov (PIN 2 KHZ
* PWMZ
) En 1,2, 3 * 3 Do kolíkov 5,6, 7, respektíve (v 1,2,3)
Pripojte simuláciu v 0 k potenciometru, aby ste zmenili Cyklus PWM * medzi jazdou a regeneračným
*
brzdením
*
. Allstate1
;
() {pinmode (2, vstup);
/Hall 1 Pinmode (3, vstup);
/Hall 2 Pinmode (4, vstup);
/L6234 Hall 3/výstup ovládača motora Pinmode (5, výstup);
/V 1 pinmode (6, výstup);
/V 2 pinmode (7, výstup);
/V 3 pinmode (9, výstup);
/En 1 pinmode (10, výstup);
/En 2 pinmode (11, výstup);
/En 3/sériové. začať (9600);
Ak budete používať sériové pripojenie, tento riadok uzatvárajte.
Príkaz preplachovania na konci programu.
/* Nastavte frekvenciu PWM na kolíkoch 9, 10 a 11/sada PWM na 32 kHz pre kolíky 9, 10/najprv vyčistite všetky tri bity pred divákom: Int PresCalerval = 0x07;
/Vytvorte premennú nazývanú PresCalerval a nastavte ju tak, aby sa rovná binárnemu číslu \ '00000111 \' tccr1b & = ~ prescaler
/a hodnota v Tccr0b s binárnym počtom \ '11111000 \' /teraz nastavte príslušný predbežný kódovací bit: int vopred-encoding bit 2 = 1;
/Nastaviť PrescalurVal, aby sa rovnalo binárnemu číslu \ '00000001 \' tccr1b | = Prescalulerval2;
/Alebo hodnota v TCCR0B s binárnym počtom \ '00000001 \' /set pwm na 32 kHz pre pin 3,11 (
tento program používa iba PIN 11)
/vyčistite všetky tri pred kategórie pred kategórie: TCCR2B & = ~ pre-calerval;
/A hodnota v TCCR0B s binárnym počtom \ '11111000 \'/Teraz nastavte príslušný predkoakový bit: TCCR2B | = Vopred kódovanie bit 2;
/Alebo hodnota v TCCR0B s binárnym počtom \ '00000001 \'/najprv vyčistiť všetky tri vopred kódované bity:}
Hlavná slučka/prgrom void loop () {
/time = milis ();
Čas po spustení programu tlače. println (čas); // Serial. tlač (\ '\');
Throttle = Analogread (0);
/Škrtiaci potenciometer MSP = MAP (
škrtiaca klapka, 512,1023, 0,255);
/Jazda sa mapuje do hornej polovice potenciometra bspeed = mapa (
škrtiaca klapka, 0,511 255, 0);
/Polovičné regeneratívne brzdenie v spodnej časti hrnca/MSPS ED = 100;
/Pre ladenie hallstate1 = digitalRead (2);
/Čítajte vstupnú hodnotu z haly 1 2 = digitálne čítanie (3);
/Prečítajte si vstupnú hodnotu z haly 2 3 = digitálne čítanie (4);
Prečítajte si vstupnú hodnotu/numerický zápis z Hall 3 (8, Hallstate1);
/Keď je zodpovedajúci senzor vysoký, LED sa zapne,
pôvodne sa používa na ladenie digitálneho písma (9, Hallstate2);
// digitalwrite (10, hallstate3); HallVal = (HallState1)+ (2*Hallstate2)+ (4*Hallstate3);
/Vypočítajte binárne hodnoty 3 halových senzorov/* série. tlač (\ 'H 1: \');
Za ladenie sériového portu. Println (Hallstate1); Sériové. tlač (\ 'h 2: \'); Sériové. Println (Hallstate2); Sériové. tlač (\ 'H 3: \'); Sériové. Println (Hallstate3); Sériové. println (\ '\');
*/// Serial. println (mSpeed); // Serial. Println (HallVal); // Serial. tlač (\ '\');
/Monitor Tranzistor výstup/oneskorenie (1000);
/* T1 = digitalRead (2); // t1 = ~ t1;
T2 = DigitalRead (4); // t2 = ~ t2;
T3 = DigitalRead (5); // t3 = ~ t3; Sériové. tlač (T1); Sériové. tlač (\ '\ t \'); Sériové. tlač (T2); Sériové. tlač (\ '\ t \'); Sériové. tlač (T3); Sériové. tlač (\ '\'); Sériové. tlač (\ '\'); Sériové. tlač (DigitalRead (3)); Sériové. tlač (\ '\ t \'); Sériové. tlač (DigitalRead (9)); Sériové. tlač (\ '\ t \'); Sériové. println (digitalRead (10)); Sériové. tlač (\ '\'); Sériové. tlač (\ '\'); // oneskorenie (500);
*/Zmena fázy jazdy/každé binárne číslo má prípad zodpovedajúce rôznym tranzistorom zapnutým/bit matematike používaným na zmenu hodnoty výstupného Arduino:/PortD obsahuje výstup PIN na vodiči L6234/výstup použitý na určenie horného tranzistora alebo dolného tranzistora alebo pre každú fázu je kontrolovaný príkazom Arduino
Analóg hodnota škrtiacej klapky riadená potenciometra). if (throttle> 511) {switch (hallval) {
case 3:/portd = 1111xxx00;
/Očakávaný výstup PIN 0-
7 XXX sa vzťahuje na vstup Hall a port & = B00011111 by sa nemal meniť;
Port | = B01100000;
/Analowrit (9, mspeed);
PWM na fázovom (
špičkovom tranzistorovi) analógové písanie (10,0);
Uzatvorenie fázy B (clo = 0) Analogwrite (11,255); // fáza C na -Duty = 100% (
tranzistor s nízkym koncom);
Prípad 1:/portd = b001xxx00;
/Očakávaný výstup PIN 0-7
Portd & = B00011111;
/Port | = B00100000;
/Analowrit (9, mspeed);
PWM na fázovom (
špičkovom tranzistorovom) analógovom písme (10,255); // fáza B on (
tranzistor s nízkym smerom) analógový písm (11,0); // fáza B vypnuté (clo = 0) prerušenie;
Prípad 5:/port = b101xxx00;
/Očakávaný výstup PIN 0-7
Portd & = B00011111;
/Port | = B10100000; Analogwrite (9,0); Analogwrite (10 255); Analogwrite (11, mspeed); prerušenie;
Prípad 4:/portd = b100xxx00;
/Očakávaný výstup PIN 0-7
Portd & = B00011111;
Port | = BYM000;
/Analowrite (9 255); Analogwrite (10,0); Analogwrite (11, mspeed); prerušenie;
Prípad 6:/portd = b110xxx00;
/Očakávaný výstup PIN 0-7
Portd & = B00011111;
Port B11. 000 =;
/Analowrite (9 255); Analogwrite (10, mspeed); Analogwrite (11,0); prerušenie;
Prípad 2:/portd = b010xxx00;
/Očakávaný výstup PIN 0-7
Portd & = B00011111;
B0201700 Port | =;
/Analowrite (9,0); Analogwrite (10, mspeed); Analogwrite (11,255); prerušenie; }}
/Regeneratívna zmena fázy brzdovej fázy /PortD (
výstup v PIN na L6234)
PIN sú vždy nízke, takže počas regenerácie sa používajú iba nízke tranzistory v každej fáze. brzdenie. else {
/portd = b000xxx00;
/Očakávaný výstup PIN 0-7
Portd & = B00011111;
Port | = BYM0000; // prepínač (halVal) {
prípad 3: písanie analógie (9, bspeed); // Analogwrite (9,0); Analogwrite (10,0); Analogwrite (11,0); prerušenie;
Prípad 1: písanie analógie (9, BSpeed); Analogwrite (10,0); Analogwrite (11,0); prerušenie;
Prípad 5: Analogické písanie (9,0); Analogwrite (10,0); Analogwrite (11, BSpeed); prerušenie;
Prípad 4: Analogické písanie (9,0); Analogwrite (10,0); Analogwrite (11, BSpeed); prerušenie;
Prípad 6: Analogické písanie (9,0); Analogwrite (10, bspeed); Analogwrite (11,0); prerušenie;
Prípad 2: písanie analógie (9,0); Analogwrite (10, bspeed); Analogwrite (11,0); prerušenie; }}
/Čas = milis ();
Čas po spustení programu tlače. println (čas); // Serial. tlač (\ '\'); // Serial. flush ();
/Ak chcete ladiť pomocou sériového portu, prosím, Uncomment}
Myslím, že operácia, ktorú Arduino v tomto projekte robí, je taká jednoduchá, že sa zdá byť odpadom na vykonanie tejto úlohy s mikroprocesorom.
V skutočnosti, poznámky k aplikáciám L6234 'odporúčame jednoduché programovateľné pole brány (
GAL16V8 vyrobené z mriežky Semiconductor) na vykonanie tejto práce.
Nie som oboznámený s programovaním tohto zariadenia, ale náklady na IC sú iba 2 doláre. 39 v Newarku.
Ďalšie podobné integrované obvody sú tiež veľmi lacné.
Ďalšou možnosťou je spojiť diskrétne logické brány.
Prišiel som s niektorými relatívne jednoduchými logickými sekvenciami, ktoré dokážu riadiť IC L6234 z výstupu troch senzorov Hall.
Graf pre pódium A je uvedený nižšie a tabuľka pravdy pre všetky tri fázy (
v poradí pre logický obvod fáz B a C, \ 'nie \' musí byť prepnutý na druhú stranu \ 'alebo. Problém s týmto prístupom je, že v každej fáze je takmer 20 pripojení, takže v každej fáze
dosť práce, aby sme ich dali spolu.
vyžaduje