bldc ovládanie motora s arduino, zachráneným HD motorom a hallovými senzormi
Domov » Blog » ovládanie motora bldc s arduino, zachráneným HD motorom a hallovými senzormi

bldc ovládanie motora s arduino, zachráneným HD motorom a hallovými senzormi

Zobrazenia: 0     Autor: Editor stránok Čas zverejnenia: 2020-09-02 Pôvod: stránky

Informujte sa

tlačidlo zdieľania na facebooku
tlačidlo zdieľania na Twitteri
tlačidlo zdieľania linky
tlačidlo zdieľania wechat
prepojené tlačidlo zdieľania
tlačidlo zdieľania na pintereste
tlačidlo zdieľania whatsapp
tlačidlo zdieľania kakaa
tlačidlo zdieľania snapchatu
tlačidlo zdieľania telegramu
zdieľať toto tlačidlo zdieľania

V súčasnosti sa nadšenci veľmi zaujímajú o ovládanie Brushless DC (BLDC)
V porovnaní s tradičným jednosmerným motorom sa zlepšil výkon motora, zlepšila sa aj energetická účinnosť, ale jeho používanie je náročnejšie. veľa bežne dostupných produktov.
Na tento účel existuje
Napríklad existuje veľa malých ovládačov BLDC, ktoré fungujú veľmi dobre pre RC lietadlá.
Pre tých, ktorí chcú nahliadnuť do ovládania BLDC hlbšie, existuje aj veľa rôznych mikrokontrolérov a iného elektronického hardvéru pre priemyselných používateľov, ktoré majú zvyčajne veľmi dobrú dokumentáciu.
Zatiaľ som nenašiel žiadny komplexný popis toho, ako použiť Arduino mikrokontrolér pre BLDC ovládanie.
Ak máte záujem o rekuperačné brzdenie alebo použitie BLDC na výrobu energie, nenašiel som veľa produktov vhodných na použitie s malými motormi, ani som nezistil, ako ovládať 3-fázový generátor.
Táto štruktúra bola pôvodne v príbehu o
výpočte v reálnom čase, pokračujem v tom aj po skončení kurzu.
Myšlienkou projektu je ukázať proporcionálny model hybridného auta s akumuláciou energie zotrvačníka a rekuperačným brzdením.
Motor použitý v projekte je malý BLDC vyčistený z poškodeného pevného disku počítača.
Táto príručka popisuje, ako používať mikrokontrolér Arduino a Hallove
senzory polohy v režime jazdy a rekuperačného brzdenia.
Upozorňujeme, že návšteva oscillisoftu je veľmi užitočná, ak nie nevyhnutná, na dokončenie tohto projektu.
Ak nemáte prístup k rozsahu, pridal som niekoľko návrhov, ako to urobiť bez rozsahu (krok 5).
Jedna vec, ktorú by tento projekt nemal zahŕňať do žiadneho skutočného ovládača motora, je akákoľvek bezpečnostná funkcia, ako je napríklad nadprúdová ochrana.
V skutočnosti je najhoršie, že spálite HD motor.
Implementácia nadprúdovej ochrany so súčasným hardvérom však nie je náročná a možno to niekedy urobím.
Ak sa pokúšate ovládať väčší motor, pridajte nadprúdovú ochranu, aby ste ochránili svoj motor a svoju vlastnú bezpečnosť.
Chcem skúsiť použiť tento ovládač s väčším motorom, ktorý dokáže urobiť nejakú \'skutočnú\' prácu, ale ešte nemám ten správny.
Všimol som si, že eBay predal 86 W auto za približne 40 dolárov.
Vyzerá to ako dobrý kandidát.
Existuje aj webová stránka RC s názvom \'GoBrushless\', ktorá predáva súpravy, ktoré zostavujú svoje vlastné BLDC.
Nie sú príliš drahé a stojí za to si ich postaviť.
Upozorňujeme, že na tejto webovej stránke nie je žiadny Hallov senzor pre motor. Fíha!
Napísať túto štruktúru je veľká práca.
Dúfam, že to bude pre vás užitočné, uveďte svoje pripomienky a návrhy.
Digitálny multimeter (DMM) -
Ak má váš DMM osciloskop na meranie frekvencie (
je lepšie mať aspoň 2 kanály)
ovládač T8 Torx (
jeden z nich potrebujete na otvorenie akéhokoľvek pevného disku).
Je tam dobrý železiarsky obchod.
Strojová dielňa a rýchly prototyp (
sú veľmi užitočné, ale myslím si, že tento projekt sa dá zvládnuť aj bez nich).
Materiál bldc motor magnetický krúžok z pevného disku počítača (
polovica motora)
Z iného pevného diskuNiekoľko (3-6)
V striebornom disku na pevnom disku je druhý malý motor (DC kartáčovaný OK)
Gumový pásik alebo (najlepšie)
Bezuhlíkový jednosmerný motor s rukoväťou s iným motorom elektronický chlebník pevný drôt mesiac Arduino Duemilanove 120 k ohmST10 odporový lineárny odpor 6 až 40 ohm mikroobvod L6234 trojfázový budič motora IC dva 100 uF kondenzátory jeden 10 nF kondenzátor jeden 220 nF kondenzátor jeden 1 uF kondenzátor jeden 100 uF kondenzátor tri prijímacie diódy Jedna 2. Napájanie
Honeywell SS411A bipolárny Hall-5 Amp obvod, ktorý nahradí produkt Poistka 1, držiak a senzor Hall 3
nahradí produkt Mike. ukázané v tomto návode ( Riadi
sa pomocou indukcie spätného potenciálu).
Špecifikácie a informácie o obstarávaní nájdete v týchto dvoch odkazoch: Ak sa chystáte realizovať tento projekt, navrhujem, aby ste si našli čas na dôkladné pochopenie toho, ako BLDC funguje a riadi.
Na internete je veľké množstvo referencií (
Niektoré návrhy nájdete nižšie).
Do môjho projektu však zahŕňam niekoľko grafov a tabuliek, ktoré by vám mali pomôcť pochopiť.
Tu je zoznam pojmov, ktoré považujem za najdôležitejšie pre pochopenie tohto projektu: MOSFET tranzistory 3-fázový polovičný mostík 6-
3-krokové zníženie vety
Modulácia šírky impulzu fázového motora (PWM)Hall-
Microchip AVR443: snímače-všeobecná referencia DC motor Základné princípy pre digitálne polohové snímače
jednosmerného motora Riadenie trojfázového
BL bezkomutátorového motora jednosmerného prúdu Snímač Flying Star Hall, dobré video o čistení motora pevného disku, ale zdá sa, že autor spúšťa motor ako krokový motor a ako krokový motor. Špecifickejšia referenčná webová stránka pre BLDC na IC motorového pohonu l6234 vrátane údajových listov, poznámok k aplikácii a informácií o kúpe.
Bezplatná vzorka pre bezkomutátorový motorový pohon PM pre aplikácie hybridných elektrických vozidiel.
Toto je jediný dokument, ktorý som našiel a ktorý popisuje poradie zmeny fázy regeneratívneho brzdenia.
Tento papier, regeneratívne brzdenie v elektromobiloch je užitočný, požičal som si z neho pár čísel, ale myslím, že nesprávne popisuje, ako regenerácia funguje.
Urobil som tento projekt s motorom z recyklovaného disku, pretože to bolo ľahké prejsť a rád používam malý nízkonapäťový motor, aby som sa naučil šnúru riadenú BLDC a nespôsobil žiadne bezpečnostné problémy.
Okrem toho sa konfigurácia magnetu Hallovho snímača veľmi zjednoduší použitím magnetického krúžku (rotora)
z druhého z týchto motorov (pozri krok 4).
Ak sa nechcete púšťať do všetkých starostí s inštaláciou a kalibráciou Hallovho senzora (kroky 5-7),
viem, že v Hallovom senzore sú zabudované aspoň niektoré motory CD/DVD.
Aby som motoru poskytol určitú zotrvačnosť pri otáčaní a trochu ho zaťažil, dal som na motor 5 pevných diskov, ktoré som jemne zlepil trochou silného lepidla a prilepil k motoru (
V mojom pôvodnom projekte sa tak vytvoril zotrvačník).
Ak sa chystáte demontovať motor z pevného disku, potrebujete torxový pohon T8 na odskrutkovanie krytu (
zvyčajne sú za tyčkou na stredovom štítku skryté dve skrutky)
a vnútorné skrutky, ktoré držia motor na mieste.
Musíte tiež odstrániť hlavu Čítačka (
Sound circle executive)
Týmto spôsobom môžete vybrať pamäťový disk, aby ste sa dostali k motoru.
Okrem toho budete potrebovať druhý rovnaký motor pevného disku na odstránenie rotora z tohto motora (
vo vnútri je magnet).
Aby som rozobral motor, schmatol som rotor (hore)
Zverák motora a vypáčil ho na stator (dole)
Dva skrutkovače sú od seba o 180 stupňov.
Nie je ľahké držať motor na dostatočne tesnom páre bez deformácie.
Možno budete chcieť postaviť drevený v-
blok používaný na tento účel.
Do magnetického krúžku na sústruhu som vyvŕtal dieru tak, aby sa pohodlne zmestil na hornú časť motora.
Ak nemôžete používať sústruh, môžete obrátený rotor pripevniť na motor pomocou silného lepidla.
Obrázky 2 a 3 nižšie zobrazujú interiér jedného z motorov, ktoré som rozobral.
V prvej polovici (rotor) je 8 pólov (
magnet obalený v plaste).
V druhej polovici (stator)
je 12 slotov (vinutia).
Každá z troch fáz motora má 4 sloty v sérii.
Niektoré motory HD majú tri kontakty v spodnej časti, jeden kontakt na fázu a druhý je stredový kohútik motora (
kde sa stretávajú tri stupne).
V tomto projekte nie je potrebný žiadny stredový kohútik, ale môže sa hodiť pri ovládaní bez senzora (
dúfam, že jedného dňa zverejním poznámku o ovládaní bez senzora).
Ak má váš motor štyri kontakty, môžete fázu identifikovať pomocou ohmetra.
Odpor medzi stredovým kohútikom a fázou je polovicou odporu medzi akýmikoľvek dvoma fázami.
Väčšina literatúry o motoroch BLDC sa zaoberá motormi s priebehom spätného potenciálu v tvare rebríka, ale zdá sa, že motor pevného disku má spätný potenciál, ktorý vyzerá ako sínus (pozri nižšie).
Pokiaľ viem, riadenie sínusového motora so sínusovým PWM funguje dobre, hoci účinnosť môže trochu klesnúť.
Rovnako ako všetky BLDC motory, aj tento sa skladá z trojfázového polovičného
tranzistorového mostíka (
pozri 2. fotografie nižšie).
Používam integrovaný obvod vyrobený spoločnosťou ST Micro (L6234)
pre mostík, známy tiež ako ovládač motora.
Elektrické pripojenie L6234 je zobrazené v kroku 8.
Tretia fotografia nižšie zobrazuje schematický diagram ovládača motora a troch fáz motora.
Aby motor pracoval v smere hodinových ručičiek, prepnutie sa vykoná v nasledujúcom poradí (
prvé písmeno je horný tranzistor a druhé písmeno je spodný tranzistor)
: Krok 1 2 3 4 5 6 v smere hodinových ručičiek: CB, AB, AC, BC, BA, CA proti smeru hodinových ručičiek: BC, BA, CA, CB, CB, AB' Postupnosť týchto
krokov 6 \' AC v smere hodinových ručičiek 360, ale len fyzický stupeň 90 pre tieto motory.
Preto sa rýchlosť otáčania každého motora vyskytuje štyrikrát.
Tieto dve sekvencie sa zdajú byť rovnaké, ale nie sú rovnaké, pretože pre 6-
krokovú sekvenciu je pre CW smer prúdu cez fázu jeden smer a pre CCW je smer prúdu opačný.
Môžete to vidieť sami privedením napätia batérie alebo napájacieho zdroja na jednu z fáz motora.
Ak použijete napätie, motor sa trochu pohne jedným smerom a zastaví sa.
Ak môžete rýchlo zmeniť napätie na fáze v jednej z vyššie uvedených sekvencií, môžete motor otáčať ručne.
Tranzistory a mikrokontroléry dokončia všetky tieto prepínače veľmi rýchlo a prepínajú stovky krát za sekundu, keď motor beží vysokou rýchlosťou.
Upozorňujeme tiež, že ak je napätie privedené na obe fázy, motor sa trochu pohne a potom sa zastaví.
Krútiaci moment je totiž nulový.
Môžete to vidieť na štvrtej fotografii nižšie, ktorá zobrazuje spätný potenciál dvojice motorových fáz.
Toto je sínusoida.
Keď vlna prechádza cez
hriadeľ x, krútiaci moment poskytovaný touto fázou je nulový. V šesťkrokovej
sekvencii zmeny fázy BLDC, ktorá sa nikdy nestala.
Predtým, ako sa krútiaci moment na určitej fáze zníži, výkon sa prepne na inú kombináciu fáz.
Väčšie motory BLDC sú zvyčajne vyrábané Hallovými snímačmi vo vnútri motora.
Ak máte takýto motor, môžete tento krok preskočiť.
Tiež viem, že už sú zabudované aspoň nejaké CD/DVD motory s Hallovým senzorom.
Keď sa motor otáča, na detekciu polohy sa používajú tri Hallove senzory, takže zmena fázy sa vykoná v správnom okamihu.
Môj HD motor beží až do 9000 RPM (150 Hz).
Pretože na koleso je 24 zmien, pri 9000 otáčkach za minútu sa stroj mení každých 280 mikrosekúnd.
Mikrokontrolér Arduino pracuje na frekvencii 16 MHz, takže každý cyklus hodín je 0,06 mikrosekúnd.
Neviem, koľko hodinových cyklov je potrebných na vykonanie skrátenia vety, ale aj keď je potrebných 100 hodinových cyklov, to znamená, že každé zníženie vety trvá 5 mikrosekúnd.
HD motory nemajú Hallove snímače, preto je nutné ich namontovať na vonkajšiu stranu motora.
Snímač musí byť upevnený vzhľadom na otáčanie motora a vystavený sérii pólov, ktoré sú v súlade s otáčaním 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 nad tento magnetický krúžok nainštaloval tri Hallove senzory, 30 stupňov od seba na hriadeli motora (
otáčanie elektromotora o 120 stupňov).
My Hall držiak senzora pozostáva z jednoduchého držiaka, ktorý pozostáva z troch mnou spracovaných hliníkových dielov a troch plastových dielov vyrobených na rýchlom prototype.
Ak tieto nástroje nemáte, nemalo by byť ťažké nájsť iný spôsob označenia polohy.
Vytvorenie držiakov pre Hallove senzory bude náročnejšie.
Toto je možný spôsob práce: 1.
Nájdite plastovú vaničku správnej veľkosti a Hallov senzor môžete opatrne epoxidovať. 2.
Na papieri je vytlačená šablóna, ktorá má rovnaký kruh ako polomer magnetického prstenca a tri značky sú od seba vzdialené 15 stupňov 3.
Prilepte šablónu na disk a potom použite šablónu ako vodidlo na opatrné umiestnenie epoxidu Hallovho senzora na miesto.
Teraz, keď sú Hallove senzory nainštalované na motore, pripojte ich k obvodu zobrazenému nižšie a otestujte ich pomocou DMM alebo osciloskopu, aby ste sa uistili, že výstup sa zvyšuje a znižuje, keď sa motor otáča.
Spúšťam tieto senzory pod 5 V pomocou 5 V výstupu Arduina.
Hallov senzor má vysoký alebo nízky výkon (1 alebo 0)
Závisí to od toho, či cítia Antarktídu alebo Arktídu.
Keďže sú od seba vzdialené 15 stupňov, magnety sa pod nimi otáčajú a menia polaritu každých 45 stupňov, tieto tri senzory nikdy nebudú vysoké ani nízke súčasne.
Keď sa motor otáča, výstup snímača je 6-
Krokový vzor uvedený v nasledujúcej tabuľke.
Snímač musí byť zarovnaný s pohybom motora tak, aby sa jeden z troch snímačov menil presne v polohe zmeny fázy motora.
V tomto prípade by mala stúpajúca hrana prvého Hallovho snímača (H1)
zodpovedať otvoreniu kombinácie C (vysoké) a B (nízke).
To je ekvivalentné zapnutiu tranzistorov 3 a 5 v mostíkovom obvode.
Osciloskopom vyrovnávam snímač s magnetom.
Aby som to mohol urobiť, musím použiť tri kanály rozsahu.
Motor otáčam pripojením k remeňu druhého motora a meriam spätný potenciál medzi dvoma kombináciami fáz (
A a B, A a C)
Toto sú dva sínusy.
Ako vlny na obrázku nižšie
Potom sa pozrite na signál Hallovho senzora 2 na kanáli 3 osciloskopu.
Držiak Hallovho senzora sa otáča, kým stúpajúca hrana Hallovho senzora nie je úplne zarovnaná s bodom, kde by sa mala vykonať zmena fázy (pozri nižšie).
Teraz si uvedomujem, že existujú len dva kanály na vykonanie rovnakej kalibrácie.
Ak je BEMF kombinácie fáz B-
pomocou C, stúpajúca hrana H2 bude súvisieť s krivkou BC.
Dôvodom, prečo by sa tu mala vykonať zmena fázy, je vždy udržiavať krútiaci moment motora čo najvyšší.
Spätný potenciál je úmerný krútiacemu momentu a všimnete si, že každá zmena fázy nastane, keď spätný potenciál prekročí krivku ďalšieho stupňa.
Preto skutočný krútiaci moment pozostáva z najvyššej časti každej kombinácie fáz.
Ak nemáte prístup k rozsahu, tu je moja predstava o zarovnaní.
Toto je skutočne zaujímavé cvičenie pre každého, kto chce vedieť, ako funguje BLDC motor.
Ak je fáza A motora pripojená (kladná) a B (záporná)
k zdroju napájania a zapnite napájanie, motor sa trochu otočí a zastaví sa.
Potom, ak sa záporný napájací vodič presunie do fázy C a napájanie sa zapne, motor sa bude točiť ďalej a zastaví sa.
Ďalšou časťou sekvencie bude posunutie kladného zvodu do fázy B atď.
Keď to urobíte, motor sa vždy zastaví tam, kde je krútiaci moment nula, čo zodpovedá jednému miestu, kde graf prechádza cez os x na grafe.
Všimnite si, že nulový bod kombinácie tretej fázy zodpovedá polohe zmeny fázy prvých dvoch kombinácií.
Preto poloha nulového krútiaceho momentu B-
Kombinácia C je miesto, kde chcete umiestniť stúpajúcu hranu h2.
Označte túto polohu jemnými značkami alebo ostrými čepeľami a potom upravte držiak Hallovho senzora pomocou DMM, kým nebude výstup H2 presne vyšší na tejto značke.
Aj keď sa trochu odchýlite od školského rozvrhu, motor by mal fungovať dobre.
Fáza troch motorov bude napájaná z ovládača trojfázového motora L6234.
Zistil som, že je to dobrý produkt, ktorý obstojí v skúške času.
Existuje mnoho spôsobov, ako náhodne usmažiť vaše komponenty pri používaní výkonovej elektroniky, nie som elektrotechnik a nie vždy viem, čo sa deje.
V mojom školskom programe sme vytvorili vlastný 3-
fázový polovičný mostík so 6 tranzistormi MOSFET a 6 diódami.
Použili sme to na HIP4086 druhého ovládača Intersil, ale máme veľa problémov s týmto nastavením.
Spálili sme veľa tranzistorov a čipov.
Spúšťam L6234 (
takže motor) na 12V.
L6234 má nezvyčajnú sadu vstupov na ovládanie polovičného mostíka 6 tranzistorov.
Nie každý tranzistor má vstup, ale povolenie (EN)
Vstup pre každý z troch stupňov a potom ďalší vstup (IN)
Vyberte, ktorý tranzistor je v otvorenej fáze (horný alebo dolný).
Napríklad zapnite tranzistor 1 (horný) a 6 (dolný)
Obidva hodnoty EN1 a EN3 sú vysoké (
EN2 nízke, aby stupeň zostal zatvorený)
IN1 vysoký, IN3 nízky.
To robí fázovú kombináciu - C.
Zatiaľ čo aplikačná poznámka L6234 navrhovala použiť PWM, ktorý sa používa na riadenie rýchlosti motora na kolík IN, rozhodol som sa to urobiť na kolíku EN, pretože v tom čase si myslím, že by bolo \'divné\' striedavo zapínať horné a dolné tranzistory fázy \'.
V skutočnosti sa zdá, že nie je nič zlé na tom, že zapínate nízke tranzistory ani jeden z nich v rovnakom čase, pretože prúd z oboch fáz prechádza rovnakým časom.
S mojou metódou je horná fáza zapnutá a vypnutá striedavo na frekvencii PWM, zatiaľ čo fáza nízkej úrovne zostáva zapnutá počas celej zmeny fázy
Nižšie je schéma motorového pohonu, pridal som aj 2,5
ampérovú poistku medzi kladný vodič batérie a obvod, poistku 100 uF kondenzátora medzi napájacím zdrojom a
menším prúdom k dokumentácii pre L6234.
Poznámka: Mike Anton vyrobil PCB pre L6234, ktorá (verím) nahradí túto koľajnicu a
prácu s jej montážou:
Špecifikácie a informácie o kúpe nájdete na týchto odkazoch: O 3 som toho veľa nenašiel
. Popíšem
ušetrí vám
, ako to funguje spôsob, ktorý maximalizuje krútiaci moment
, riadiaci systém tiež maximalizuje krútiaci moment, ale tentoraz je to negatívny krútiaci moment, ktorý spôsobí spomalenie motora pri spätnom prenose prúdu do batérie.
Metóda regeneratívneho brzdenia, ktorú som použil, pochádza z článku z Národného laboratória Oakridge v Spojených štátoch amerických
o výkonovú
tranzistor je zapnutý, prúd tečie tak , ako je znázornené na prvom obrázku. Pokiaľ ide
čiastočne nesprávne).
elektroniku, obvod je ako zariadenie nazývané zosilňovací konvertor, kde je energia uložená vo fáze motora (Wikipedia má dobrý článok vysvetľujúci, ako funguje
' cez diódu
\' dióda zabraňuje prúdeniu prúdu z batérie do motora
zosilňovací konvertor, ale
) Interakcia s
pri vyššom napätí sa prúd okamžite vracia do 'anti-excitantu
Súčasne prúd v tomto smere ( Na rozdiel od
magnetickým krúžkom, ktorý spomaľuje motor, využíva PWM prepínač a pracovný cyklus PWM riadi množstvo brzdenia pri jazde, aby sa zachovala jedna komutácia na ďalší krútiaci moment brzda je veľmi podobná , pretože niektorý
jazdy
produkuje čo najviac záporného krútiaceho momentu Ak si pozriete video v prvom kroku, môžete vidieť, že regeneračná brzda funguje
režim spínania spôsobuje, že motor
dobre, ale podľa mňa nefunguje dobre, pretože motor pevného disku, ktorý používam, je
výnimkou pri veľmi nízkych otáčkach (ak je brzda 1 pri nízkej rýchlosti). V) Navyše, keďže každá
motor s veľmi nízkym krútiacim momentom, takže neprodukuje
veľa BEMF, s
znižuje napätie o niekoľko voltov,
cesta cez antiexcitačnú diódu
tiež to výrazne znižuje účinnosť, používam normálne usmerňovacie diódy a môžem dosiahnuť 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 arduine. Gnd 4 Hall 3 digitálny vstup- 120 K odpor Gnd 5 1 Digitálny
výstup v sérii
s odporom 400 ohmov 6 2 Digitálne výstupy v sérii s odporom 400 Ohm 7 3 Digitálne výstupy
v sérii s odporom 400 Ohm 9- Digitálny výstup EN 1 v sérii s
s odporom 400-0 Ohm 1 11-
v strede Tento potenciometer sa používa
oboch koncoch a analógovým pinom 0 pripojeným
Digitálny výstup v sérii
odporom 400-0 Ohm
Digitálny výstup
odporom, 100 k Ohm potenciometrom, s 5 v a gnd pripojeným na
EN 3 je
hlasitosti brzdenia
v sérii s 400 ohmovým
na ovládanie otáčok motora a
5 V napájanie sa používa aj na spustenie Hallových snímačov (pozrite si celý program Ar_cong*bldc 3. 1. 1*
3 od Davida Glazera
Séria X je ST L6234 3-fázový motor driver IC * bežiaci motor diskového pohonu v
smere hodinových ručičiek * s regeneratívnym brzdením *
otáčky motora a brzdenie ovládané jedným potenciometrom * poloha motora pomocou
výstup z 3 hall senzorov (piny 2,3,4, rôzne stupne
senzorov * Arduino prijíma
11
troch Hallovych
pri 32 kHz * Výstup PWM ( Zodpovedá EN 1,2
prepínania) * A 10 ich kombinácií pinov
na 6 rôznych krokov.
, 3*3 DO na kolíkoch 5,6, 7, v tomto poradí (IN 1,2,3)
* Pripojte simuláciu v 0 k potenciometru, aby ste zmenili pracovný cyklus PWM a Zmeňte * medzi jazdou a rekuperačným brzdením *. * 0- *
5039: 255- ti *
Taxík * 1023
: motoring * komentuje veľa riadkov pre ladenie do sériového spojenia
*/Int allstate1;
int HallState2;
0;
/ Táto premenná sa používa spolu s analógovým vstupom na meranie polohy potenciometra plynu (){pinMode(2
,INPUT) /Hall 1 pinMode (3,
INPUT) /L6234 Hall 3/výstup pinMode,výstup pin1PUT (
5); pinMode (7,OUTPUT); /In 3
pinMode (9,OUTPUT); /
OUTPUT) ;
EN 1 pinMode (10,
/EN 2 pinMode (11,OUTPUT);
/EN
3/serial. begin
The flush
10
(9600); If you will be using a serial connection, please uncomment this line.
command
at the end of the program. /* Set PWM frequency on pins 9,
and 11/set PWM na 32 kHz pre kolíky 9, 10/najskôr vymažte všetky tri preddeličové bity: int prescalerVal = 0x07
/Vytvorte premennú s názvom prescalerVal a nastavte ju na rovnakú hodnotu ako binárne číslo \'00000111\' TCCR1B & = ~
číslo v predelovači /a CRB bin; \'11111000\'/teraz nastavte príslušný bit predkódovania: int bit predkódovania 2 = 1;
/Nastavte hodnotu prescalerVal tak, aby sa rovnala binárnemu číslu \'00000001\' TCCR1B = prescalerVal2
0TC0' TC00B; PWM na 32 kHz pre kolík 3,11 (
Tento program používa iba kolík 11) /Najprv vymažte všetky tri bity predbežného kaleru: TCCR2B & = ~ Pre-calerval; /A hodnotu v TCCR0B s binárnym číslom \'11111000\'
/
Alebo hodnotu v
číslom \'00000001\'/najprv vymažte všetky tri predkódované bity :}
Hlavná slučka
=TCr pre-kódovanie bitu CR2 /B:
| TCCR0B s binárnym
)
/PRGROM void loop (){ /Time = millis (
; Škrtiaca klapka, 512,1023, 0,255 /
Jazda je namapovaná na hornú polovicu potenciometra bRýchlosť = mapa (
/
Half-part regeneratívne brzdenie na spodku hrnca/MSPs ed = 100
Načítaj
hodnotu 2 vstupu Hall = 100; Digital Read (3)
/Načítanie vstupnej hodnoty z Hall 2 3 = Digital Read (4)
Čítanie vstupnej hodnoty/číselného zápisu z Hall 3 (8, HallState1)
/Keď je príslušný senzor na vysokej úrovni, rozsvieti sa LED
Pôvodne slúži na ladenie digitalWrite (9,
HallState2) (10, HallState1+HallVal); (4*HallState3) ;
/Calculate the binary values of 3 hall sensors/* series.
print(\'H 1: \'); For debugging serial port. println(HallState1); Serial. print(\'H 2: \')
; Serial. println(HallState2); Serial. print(\'H 3: \')
Serial. println(HallState3)
;
;
Serial. println(\' \'); */ //Serial. println(mSpeed); //Serial. println(HallVal); //Serial. print(\'\'); /Monitor transistor output/delay (1000); /* T1 = digitalRead (2); //T1 = ~T1; T2 = digitalRead (4); //T2 = ~T2; T3 = digitalRead (5); //T3 = ~T3; Serial. print(T1); Serial. print(\'\t\'); Serial. print(T2); Serial. print(\'\t\'); Serial. print(T3); Serial. print
(\'\'); Serial. print(\'\'); Serial. print
(digitalRead(3)); Serial. print(\'\t\'); sériový (digitalRead( 9
: /PORTD
výstup pinu IN
obsahuje
; arduino
)); println(digitalRead(10))
na ovládači L6234/výstup používaný na určenie
, či je horný tranzistor alebo spodný tranzistor/
, nastavte pracovný cyklus PWM ( 0 = OFF,
vývod EN
vstup
=
C
// Phase
255
pre každú fázu ovládaný analógiou príkazu Arduino
= ON alebo hodnotu plynu ovládanú potenciometrom >V5{11throttle)switch 3:/PORTD = 1111xxx00 /Očakávaný výstup pinu 0-7 xxx sa vzťahuje na
Case
Hall a PORTD & = B00011111 | 0)analogWrite(11,255);
on -duty
100% ( Low-end transistor)break;
1
:/PORTD = B001xxx00;
/Expected output of pin 0-
7 PORTD & = B00011111; /
PORTD | = B00100000;
/Analowrite (9,mSpeed); PWM on A
10,255) //Fáza B zapnutá ( Low-end tranzistor)analogWrite
fáza ( High-end tranzistor)
analogWrite (
(11,0
); B10100000 analogWrite(10,255); analogWrite(11,mRychlost
6:/PORTD =
;
B110xxx00 /Ocakavany vystup pinu 0-7 PORTD & =
break
; Case 2:/
B00011111
7 PORTD & = B00011111
analogWrite (
PORTD = B010xxx00;
/Expected output of pin 0-
; B0201700 PORTD | =; /Analowrite (9,0); analogWrite(10,mSpeed);
11,255
); break; }} /Regenerative brake phase change/PORTD ( Output of IN pin on L6234) Piny sú vždy nízke, takže pri
regene sa používajú iba nízke tranzistory inak{ /PORTD = B000xxx00; //analogWrite(9,0
); analogWrite(10,0); analogWrite(11,0); break;
Case 1: analogy writing (9,bSpeed); analogWrite(10,0);
analogWrite(11,0); break;
Case 5: analogy writing (9,0); analogWrite(10,0); analogWrite(11,bSpeed); break; Case 4: analogy writing (9,0
)
; analogWrite(10,0); analogWrite(11,bSpeed); break; Case 6: analogy writing (9,0); analogWrite(10,bSpeed); analogWrite(11,0); break; Case 2:
Time
analogy writing (9,0); analogWrite(10,bSpeed); analogWrite(11,0); break; }} /
= millis ();
Time
after spustí sa tlačový program println
cena IC je len 39 dolárov v newarku Ďalšou možnosťou je poskladať diskrétne logické obvody, ktoré by mohli riadiť L6234
(time); //Serial print(\'\'); //
Serial. Semiconductor) nie som oboznámený s programovaním tohto zariadenia, ale
pre všetky tri stupne v tabuľke nižšie
pre logický obvod fázy B a C musia byť dvierka \'nie\' prepnuté na druhú stranu \'alebo.
Problémom tohto prístupu je, že na každom stupni je takmer 20 spojení, takže ich poskladanie dá dosť práce.
Najlepšie je naprogramovať to ako programovateľné logické hradlo.

Skupina HOPRIO, profesionálny výrobca ovládačov a motorov, bola založená v roku 2000. Sídlo skupiny v meste Changzhou, provincia Jiangsu.

Rýchle odkazy

Kontaktujte nás

WhatsApp: +86 18921090987 
Tel: +86- 18921090987 
Pridať: č. 19 Mahang South Road, Wujin High-tech District, Changzhou City, provincia Jiangsu, Čína 213167
Zanechať správu
KONTAKTUJTE NÁS
Copyright © 2024 ChangZhou Hoprio E-Commerce Co., Ltd. Všetky práva vyhradené. Sitemap | Zásady ochrany osobných údajov