V dnešní době mají nadšenci velký zájem o ovládání Brushless DC (BLDC)
Ve srovnání s tradičním DC motorem se zlepšil výkon motoru, zlepšila se také energetická účinnost, ale jeho použití je obtížnější. mnoho běžně dostupných produktů.
Pro tento účel existuje
Například existuje spousta malých ovladačů BLDC, které fungují velmi dobře pro RC letadla.
Pro ty, kteří se chtějí do ovládání BLDC podívat hlouběji, existuje také mnoho různých mikrokontrolérů a dalšího elektronického hardwaru pro průmyslové uživatele, které mají obvykle velmi dobrou dokumentaci.
Zatím jsem nenašel žádný ucelený popis toho, jak použít mikrokontrolér Arduino pro ovládání BLDC.
Také, pokud máte zájem o rekuperační brzdění nebo použití BLDC pro výrobu energie, nenašel jsem mnoho produktů vhodných pro použití s malými motory, ani jsem nezjistil, jak ovládat 3-fázový generátor.
Tato struktura byla původně v příběhu o
výpočtu v reálném čase, pokračuji v tom i po skončení kurzu.
Myšlenkou projektu je ukázat proporcionální model hybridního vozu s akumulací energie setrvačníku a rekuperačním brzděním.
Motor použitý v projektu je malý BLDC vyčištěný z poškozeného pevného disku počítače.
Tato příručka popisuje, jak používat mikrokontrolér Arduino a Hallovy
poziční senzory v režimech jízdy a regenerativního brzdění.
Vezměte prosím na vědomí, že návštěva oscillisoftu je velmi užitečná, ne-li nezbytná, pro dokončení tohoto projektu.
Pokud nemáte přístup k rozsahu, přidal jsem několik návrhů, jak to udělat bez rozsahu (krok 5).
Jedna věc, kterou by tento projekt neměl zahrnout do žádného skutečného ovladače motoru, je jakákoli bezpečnostní funkce, jako je nadproudová ochrana.
Ve skutečnosti je nejhorší, že spálíte HD motor.
Implementace nadproudové ochrany se současným hardwarem však není složitá a možná to někdy udělám.
Pokud se pokoušíte ovládat větší motor, přidejte nadproudovou ochranu, abyste ochránili svůj motor a svou vlastní bezpečnost.
Chci zkusit použít tento ovladač s větším motorem, který dokáže udělat nějakou \'skutečnou\' práci, ale zatím nemám ten správný.
Všiml jsem si, že eBay prodával 86W auto za zhruba 40 dolarů.
Vypadá to jako dobrý kandidát.
Existuje také RC web s názvem \'GoBrushless\', který prodává sady, které sestavují vlastní BLDC.
Nejsou příliš drahé a stojí za to si je postavit.
Vezměte prosím na vědomí, že na této webové stránce není Hallův senzor pro motor. Páni!
Napsat tuto strukturu je velká práce.
Doufám, že to pro vás bude užitečné, prosím, napište své připomínky a návrhy.
Digitální multimetr (DMM)-
Pokud má váš DMM osciloskop pro měření frekvence (
je lepší mít alespoň 2 kanály)
ovladač T8 Torx (
jeden z nich potřebujete k otevření jakéhokoli pevného disku).
Je tam dobrý železářství.
Strojní dílna a rychlý prototyp (
Tyto jsou velmi užitečné, ale myslím, že tento projekt lze provést i bez nich).
Materiál bldc motor magnetický kroužek z pevného disku počítače (
polovina motoru)
Z jiného pevného diskuNěkolik (3-6)
Ve stříbrném disku na pevném disku je druhý malý motor (DC kartáčovaný OK)
Gumový pásek nebo (nejlépe)
Bezkomutátorový DC motor s rukojetí s dalším motorem elektronická chlebová deska pevný drát měsíc Arduino Duemilanove 120 k ohmST0 odpor otočný lineární odpor 60 k ohm 40 ohm mikroobvod L6234 třífázový budič motoru 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 tři přijímací diody Jedna 2.
Honeywell SS411A bipolární Hall-5 Amp obvod,
který nahradí pojistku I pojistku, pojistku, držák elektroniky a Hall 3 v tomto návodu (Řídí se
pomocí indukce zpětného potenciálu).
Specifikace a informace o zadávání zakázek lze nalézt na těchto dvou odkazech: Pokud se chystáte realizovat tento projekt, doporučuji vám věnovat čas důkladnému pochopení toho, jak BLDC funguje a řídí.
Na internetu je velké množství referencí (
Některé návrhy naleznete níže).
Do svého projektu však zahrnuji některé grafy a tabulky, které by vám měly pomoci pochopit.
Zde je seznam pojmů, které si myslím, že jsou nejdůležitější pro pochopení tohoto projektu: MOSFET tranzistory 3-fázový polomůstek 6-
3-krokové snížení věty
Pulsní šířková modulace fázového motoru (PWM)Hall-
Microchip AVR443: senzory-všeobecná reference DC motor Základní principy pro digitální stejnosměrné snímače polohy
Řízení třífázového
BL bezkomutátorového stejnosměrného motoru bezkomutátorového stejnosměrného motoru Phase Snímač Flying Star Hall, dobré video z čištění motoru pevného disku, ale zdá se, že autor motor provozuje jako krokový motor a jako krokový motor. Konkrétnější referenční webová stránka pro BLDC na IC motorového pohonu l6234, včetně datových listů, poznámek k aplikaci a informací o nákupu.
Bezplatný vzorek pro PM bezkomutátorový motorový pohon pro aplikace hybridních elektrických vozidel.
Toto je jediný článek, který jsem našel a který popisuje pořadí změny fáze regenerativního brzdění.
Tento článek, rekuperační brzdění u elektromobilů je užitečný, pár čísel jsem si z něj vypůjčil, ale myslím, že špatně popisuje, jak regenerace funguje.
Udělal jsem tento projekt s motorem z recyklovaného disku, protože to bylo snadné procházet a rád používám malý nízkonapěťový motor, abych se naučil šňůru řízenou BLDC a nezpůsobil žádné bezpečnostní problémy.
Kromě toho je konfigurace magnetu Hallova senzoru velmi jednoduchá pomocí magnetického kroužku (rotoru)
z druhého z těchto motorů (viz krok 4).
Pokud se nechcete pouštět do všech potíží s instalací a kalibrací Hallova senzoru (kroky 5-7),
vím, že v Hallově senzoru jsou vestavěny alespoň některé motory CD/DVD.
Aby motor získal určitou setrvačnost při otáčení a trochu je zatížil, dal jsem na motor 5 pevných disků, které jsem jemně slepil dohromady trochou silného lepidla a přilepil k motoru (
V mém původním projektu se tak stal setrvačník).
Pokud se chystáte vyjmout motor z pevného disku, potřebujete torxový disk T8 k odšroubování krytu (
obvykle jsou dva šrouby skryté za tyčí na štítku na středovém štítku)
a vnitřní šrouby, které drží motor na místě.
Musíte také odstranit hlavu Reader (
Sound circle executive)
Tímto způsobem můžete vyjmout paměťový disk, abyste dosáhli na motor.
Kromě toho budete potřebovat druhý stejný motor pevného disku k odstranění rotoru z tohoto motoru (
uvnitř je magnet).
Abych motor rozebral, popadl jsem rotor (nahoře)
Svěrák motoru a vypáčil ho na stator (dole)
Dva šroubováky jsou od sebe o 180 stupňů.
Udržet motor na dostatečně těsném páru bez deformace není snadné.
Možná budete chtít postavit dřevěný v-
Block používaný pro tento účel.
Do magnetického kroužku na soustruhu jsem vyvrtal otvor, aby se pohodlně vešel na horní část motoru.
Pokud nemůžete soustruh používat, můžete obrácený rotor připevnit na motor silným lepidlem.
Obrázky 2 a 3 níže ukazují interiér jednoho z motorů, které jsem rozebral.
V první polovině (rotor) je 8 pólů (
magnet obalený v plastu).
V druhé polovině (stator)
je 12 slotů (vinutí).
Každá ze tří fází motoru má 4 sloty v sérii.
Některé motory HD mají tři kontakty dole, jeden kontakt na fázi a druhý je středový kohout motoru (
kde se setkávají tři stupně).
V tomto projektu není vyžadován žádný středový kohoutek, ale může se hodit při ovládání bez senzoru (
doufám, že jednoho dne uvolním poznámku o ovládání bez senzoru).
Pokud má váš motor čtyři kontakty, můžete fázi identifikovat pomocí ohmetru.
Odpor mezi středovým kohoutem a fází je poloviční než odpor mezi libovolnými dvěma fázemi.
Většina literatury o motorech BLDC se zabývá motory s vlnovou křivkou zpětného potenciálu ve tvaru žebříku, ale motor pevného disku se zdá mít zpětný potenciál, který vypadá jako sinus (viz níže).
Pokud vím, řízení sinusového motoru se sinusovým PWM funguje dobře, i když účinnost může poněkud klesnout.
Stejně jako všechny BLDC motory je i tento tvořen třífázovým polovičním
tranzistorovým můstkem (
viz 2. fotografie níže).
Používám integrovaný obvod vyrobený společností ST Micro (L6234)
pro můstek, známý také jako ovladač motoru.
Elektrické připojení L6234 je znázorněno v kroku 8.
Třetí fotografie níže ukazuje schematický diagram ovladače motoru a tří fází motoru.
Aby motor fungoval ve směru hodinových ručiček, bude přepínač proveden v následujícím pořadí (
První písmeno je horní tranzistor a druhé písmeno je spodní tranzistor)
: Krok 1 2 3 4 5 6 ve směru hodinových ručiček: CB, AB, AC, BC, BA, CA proti směru hodinových ručiček: BC, BA, CA, CB, CB, AB'
Posloupnost těchto kroků a6 elektrický stupeň-AB' AC těchto 6 360, ale pouze fyzický stupeň 90 pro tyto motory.
Proto se rychlost otáčení každého motoru vyskytuje čtyřikrát.
Tyto dvě sekvence se zdají být stejné, ale nejsou stejné, protože pro 6-
krokovou sekvenci je pro CW směr proudu ve fázi jeden směr a pro CCW je směr proudu opačný.
Můžete to vidět sami přivedením napětí baterie nebo napájecího zdroje na kteroukoli fázi motoru.
Pokud přivedete napětí, motor se trochu pohne jedním směrem a zastaví se.
Pokud můžete rychle změnit napětí na fázi v jedné z výše uvedených sekvencí, můžete motor otočit ručně.
Tranzistory a mikrokontroléry dokončí všechny tyto přepínače velmi rychle a přepínají stovkykrát za sekundu, když motor běží vysokou rychlostí.
Pamatujte také, že pokud je napětí přivedeno na obě fáze, motor se trochu pohne a poté se zastaví.
To proto, že točivý moment je nulový.
Můžete to vidět na čtvrté fotografii níže, která ukazuje zadní potenciál dvojice motorových fází.
Toto je sinusovka.
Když vlna prochází
hřídelí x, točivý moment poskytovaný touto fází je nulový. V šestikrokové
sekvenci změny fáze BLDC, která se nikdy nestala.
Než se moment na určité fázi sníží, výkon se přepne na jinou kombinaci fází.
Větší BLDC motory jsou obvykle vyráběny Hallovými senzory uvnitř motoru.
Pokud máte takový motor, můžete tento krok přeskočit.
Také vím, že jsou alespoň některé CD/DVD motory vestavěné do Hallova senzoru.
Když se motor otáčí, jsou pro detekci polohy použity tři Hallovy senzory, takže změna fáze je provedena ve správný okamžik.
Můj HD motor běží až do 9000 RPM (150 Hz).
Protože existuje 24 změn na kolo, při 9000 otáčkách za minutu, stroj se mění každých 280 mikrosekund.
Mikrokontrolér Arduino pracuje na frekvenci 16 MHz, takže každý hodinový cyklus je 0,06 mikrosekundy.
Nevím, kolik hodinových cyklů je potřeba k provedení redukce věty, ale i když je vyžadováno 100 hodinových cyklů, to znamená, že každé snížení věty trvá 5 mikrosekund.
HD motory nemají Hallovy senzory, proto je nutné je instalovat na vnější stranu motoru.
Snímač musí být upevněn s ohledem na otáčení motoru a vystaven sérii pólů, které jsou konzistentní s otáčením motoru.
Mým řešením je odstranit magnetický kroužek ze stejného motoru a nainstalovat jej obráceně na motor, který má být ovládán.
Nad tímto magnetickým prstencem jsem pak nainstaloval tři Hallovy senzory, 30 stupňů od sebe na hřídel motoru (
otočení elektromotoru o 120 stupňů).
My Hallův držák senzoru se skládá z jednoduchého držáku sestávajícího ze tří mnou zpracovaných hliníkových dílů a tří plastových dílů vyrobených na rychlém prototypu.
Pokud tyto nástroje nemáte, nemělo by být obtížné najít jiný způsob označení polohy.
Vytvoření držáků pro Hallovy senzory bude náročnější.
Toto je možný způsob práce: 1.
Najděte si plastovou vaničku správné velikosti a můžete Hallův senzor opatrně epoxidovat. 2.
Na papír je vytištěna šablona, která má stejný kruh jako poloměr magnetického kroužku a tři značky jsou od sebe 15 stupňů 3.
Přilepte šablonu na disk a poté použijte šablonu jako vodítko k pečlivému umístění epoxidu Hallova senzoru na místo.
Nyní, když jsou Hallovy senzory nainstalovány na motoru, připojte je k obvodu zobrazenému níže a otestujte je pomocí DMM nebo osciloskopu, abyste se ujistili, že výstup stoupá a klesá, jak se motor otáčí.
Spouštím tyto senzory pod 5 V pomocí 5 V výstupu Arduina.
Hallův senzor má vysoký nebo nízký výkon (1 nebo 0).
Záleží na tom, zda cítí Antarktidu nebo Arktidu.
Vzhledem k tomu, že jsou od sebe 15 stupňů, magnety se pod nimi otáčejí a mění polaritu každých 45 stupňů, nebudou tyto tři senzory nikdy současně vysoké nebo nízké.
Když se motor otáčí, výstup snímače je 6-
Vzorec kroků uvedený v následující tabulce.
Snímač musí být vyrovnán s pohybem motoru tak, aby se jeden ze tří snímačů měnil přesně v poloze změny fáze motoru.
V tomto případě by měla být náběžná hrana prvního Hallova čidla (H1)
konzistentní s otevřením kombinace C (vysoká) a B (nízká).
To je ekvivalentní zapnutí tranzistorů 3 a 5 v můstkovém obvodu.
Osciloskopem vyrovnám snímač s magnetem.
Abych to mohl udělat, musím použít tři kanály rozsahu.
Otáčím motorem připojením k řemenu druhého motoru a měřím zpětný potenciál mezi dvěma kombinacemi fází (
A a B, A a C)
To jsou dva sinusové.
Jako vlny na obrázku níže
Pak se podívejte na signál Hallova senzoru 2 na kanálu 3 osciloskopu.
Držák Hallova senzoru se otáčí, dokud není náběžná hrana Hallova senzoru zcela zarovnána s bodem, kde by měla být provedena změna fáze (viz níže).
Nyní si uvědomuji, že existují pouze dva kanály pro provedení stejné kalibrace.
Pokud je BEMF kombinace fází B-
Použití C, bude stoupající hrana H2 souviset s křivkou BC.
Důvodem, proč by zde měla být provedena změna fáze, je vždy udržet točivý moment motoru co nejvyšší.
Zpětný potenciál je úměrný točivému momentu a všimnete si, že ke každé změně fáze dochází, když zpětný potenciál překročí křivku dalšího stupně.
Skutečný točivý moment se tedy skládá z nejvyšší části každé kombinace fází.
Pokud nemáte přístup k rozsahu, zde je můj nápad na zarovnání.
Toto je vlastně zajímavé cvičení pro každého, kdo chce vědět, jak funguje BLDC motor.
Pokud je fáze A motoru připojena (kladná) a B (záporná)
ke zdroji napájení a zapněte zdroj napájení, motor se trochu otočí a zastaví se.
Poté, pokud se záporný napájecí kabel přesune do fáze C a napájení se zapne, motor se bude točit dále a zastaví se.
Další částí sekvence bude přesun kladného svodu do fáze B atd.
Když to uděláte, motor se vždy zastaví tam, kde je točivý moment nulový, což odpovídá jednomu místu, kde graf prochází osou x na grafu.
Všimněte si, že nulový bod kombinace třetí fáze odpovídá poloze změny fáze prvních dvou kombinací.
Proto poloha nulového momentu B-
Kombinace C je místo, kde chcete umístit náběžnou hranu h2.
Označte tuto polohu jemnými značkami nebo ostrými břity a poté upravte držák Hallova senzoru pomocí DMM, dokud nebude výstup H2 přesně vyšší na této značce.
I když se trochu odchýlíte od školního rozvrhu, motor by měl fungovat dobře.
Fáze tří motorů bude napájena z budiče třífázového motoru L6234.
Zjistil jsem, že je to dobrý produkt, který obstojí ve zkoušce času.
Existuje mnoho způsobů, jak omylem usmažit komponenty při použití výkonové elektroniky, nejsem elektrotechnik a ne vždy vím, co se děje.
V mém školním programu jsme vytvořili vlastní 3-
fázový polomůstkový výstup 6 tranzistorů MOSFET a 6 diod.
Použili jsme to na HIP4086 druhého ovladače Intersil, ale s tímto nastavením máme spoustu problémů.
Spálili jsme spoustu tranzistorů a čipů.
Provozuji L6234 (
takže motor) na 12V.
L6234 má neobvyklou sadu vstupů pro ovládání polovičního můstku 6 tranzistorů.
Ne každý tranzistor má vstup, ale povolení (EN)
Vstup pro každý ze tří stupňů a pak další vstup (IN)
Vyberte, který tranzistor je v otevřené fázi (horní nebo dolní).
Například zapněte tranzistor 1 (horní) a 6 (spodní)
Jak EN1, tak EN3 jsou vysoké (
EN2 nízké, aby stupeň zůstal uzavřený)
IN1 vysoký, IN3 nízký.
Tím je kombinace fází-C.
Zatímco aplikační poznámka L6234 navrhovala použití PWM používaného k ovládání rychlosti motoru na pin IN, rozhodl jsem se to udělat na pinu EN, protože v té době si myslím, že by bylo \'divné\' zapínat střídavě horní a spodní tranzistory fáze \'.
Ve skutečnosti se zdá, že není nic špatného na zapnutí nízkých tranzistorů obou fází, protože proud procházejí stejným časem.
S mou metodou je horní fáze povolena a zakázána střídavě na frekvenci PWM, zatímco fáze nízkého napětí zůstává zapnutá během celé změny fáze
Níže je schéma pohonu motoru, přidal jsem také pojistku 2,
5 ampérů mezi kladný vodič baterie a obvod, pojistka 100 uF kondenzátoru mezi napájecím zdrojem a proudem
je malá k dokumentaci pro L6234
Poznámka: Mike Anton vyrobil PCB pro L6234, která (věřím)
nahradí tuto dráhu a ušetří vám práci s její montáží:
Specifikace a informace o nákupu jsem nenašel: Popíšu,
jak to funguje
částečně nesprávné ).
způsob, který maximalizuje točivý moment, řídicí systém
také maximalizuje točivý moment, ale tentokrát je to záporný točivý moment, který způsobí zpomalení motoru při odesílání proudu zpět do baterie.
Metoda regenerativního brzdění, kterou jsem použil, pochází z článku z Oakridge National Laboratory ve Spojených státech (S. govt
výkonovou
elektroniku
Mějte na paměti, že když se motor otáčí, napětí BEMF ve fázi motoru kolísá nahoru a dolů Na obrázku je znázorněn okamžik, kdy je BEMF vysoký ve stupni B a nízký v tomto případě je možné, že proud teče z B do tranzistor je zapnutý, proud teče, jak je znázorněno na prvním obrázku. Pokud jde o
, obvod je jako zařízení zvané boost
měnič, kde je
energie uložena
ve
anti-excitační' diody ' baterie. dioda brání proudění z baterie do motoru Současně proud v tomto směru (
, když je low-end tranzistor vypnutý ,
ale při vyšším napětí se proud okamžitě vrací do '
fázi motoru (Wikipedia má dobrý článek vysvětlující, jak boost měnič funguje, tato energie se uvolňuje
Na rozdíl od řízení) Interakce s
magnetickým kroužkem vytváří záporný moment, který zpomaluje motor, a pracovní cyklus
PWM řídí množství brzdění při jízdě, aby byla zachována komutace na další točivý moment
je velmi podobná, protože nějaký
brzda
způsobí, že motor produkuje co nejvíce negativního točivého momentu
režim přepínání
Pokud se v prvním kroku podíváte na video, můžete vidět, že
regenerační brzda funguje dobře, ale myslím, že hlavním důvodem je to, že motor s pevným diskem, který používám, je motor s velmi nízkým točivým momentem, takže nevytváří příliš velké napětí BEMF
(pokud je brzda při velmi nízké rychlosti 1).
používám normální usměrňovací diody a mohu dosáhnout lepšího výkonu,
V) Navíc, protože každá cesta skrz antiexcitační diodu snižuje napětí o několik voltů, také to výrazně snižuje účinnost,
nižším poklesem napětí . Níže je uveden seznam vstupů a
vstup- 120 K odpor Gnd 5 1
pokud použiji některé speciální diody s
výstupů na arduinu. Gnd 4 Hall 3 digitální
9-
Digitální výstup v sérii s odporem 400 ohmů 6 2 Digitální výstupy v sérii s rezistorem 400 ohmů 7 3 Digitální výstupy
s odporem 400 ohmů
Digitální výstup EN 1 v sérii s
odporem 400-0 ohmů v sérii
Digitální výstup s odporem 400-0
11-
v sérii
ohmů EN0
sérii s odporem 400 ohmů, potenciometrem 100 k Ohm
EN 3 je v
Digitální výstup
, s 5 v a gnd zapojenými na obou koncích a uprostřed připojeným analogovým pinem 0
Tento potenciometr se používá pro ovládání otáček motoru a hlasitosti brzdění
5 V napájení se používá také pro chod Hallových snímačů
, který obsahuje celý program Ar_cong*bldc 3. 1.
1*3 od Davida Glazera
Řada X je ST L6234 3-
fázový motor driver IC * běžící diskový motor ve směru hodinových ručiček * s rekuperačním brzděním * otáčky motoru a brzdění řízené jedním potenciometrem * poloha motoru třemi Hallovými
senzory * Arduino přijímá výstup ze 3 Hallových senzorů (piny 2,3,4,
jejich kombinace na 9 různých fází měnících se kroků) * A 10 jejich kombinace na 6 fázích. 11 při 32 kHz * PWM výstup (
odpovídá EN 1,2, 3*3 DO na pinech 5,6, 7, v tomto pořadí (IN 1,2,3)
Připojte simulaci v 0 k potenciometru pro změnu pracovního cyklu PWM a Změňte * mezi jízdou a rekuperačním brzděním *. * 0- *
4590: 255-i *
Taxi * 1023 :
řádků pro ladění do sériového připojení
*/Int allstate1;
*
int HallState3 ; 0
mnoha
motoring * komentáře
;
/Tato proměnná se používá společně s analogovým in pro měření polohy potenciometru plynu (){pinMode(2,INPUT)
/Hall 2 pinMode
(4,INPUT)
/L6234 Hall 3/výstup pinu PUT /2PUT OUT;
pinMode (7,OUTPUT); /
In 3 pinMode (9,OUTPUT);
/
EN 1 pinMode (10,OUTPUT); /EN
2 pinMode (11,OUTPUT); /
EN 3/serial. begin(9600);
If you will be using a serial connection, please uncomment this line.
The flush command at the end of the program.
/* Set PWM frequency on pins 9, 10 and 11/set PWM na 32 kHz pro piny 9, 10/nejprve vymažte všechny tři bity předdělovače: int
Vytvořte proměnnou nazvanou prescalerVal a nastavte ji tak, aby se rovnala
prescalerVal = 0x07 /
binárnímu číslu \'00000111\' TCCR1B & =
~ hodnotě v prescaleru /A hodnotu
/
~ v prescaleru /ACRB; \'11111000\'/nyní nastavte příslušný bit předběžného kódování: int bit předběžného kódování 2 = 1;
Nastavte hodnotu prescalerVal tak, aby se rovnala binárnímu číslu \'00000001\' TCCR1B = prescalerVal2'
/Nebo hodnota v TC000B s hodnotou \ ' a
0B | PWM na 32 kHz pro pin 3,11 (
TC00
Tento program používá pouze Pin 11) /Nejprve vymažte všechny tři bity předběžného kaleru: TCCR2B & = ~ Pre- calerval
;
/A hodnotu
11111000\ '/nyní
v TCCR0B s binárním číslem \'
00000001\' /nejprve vymažte všechny tři předem zakódované bity
v bitu /B TCCR0B s
binárním číslem \'
nastavte příslušnou hodnotu pre-kódování bitů TC2
:} Hlavní smyčka smyčky /PRGROM (){ /Time = millis (); Throttle, 512,1023, 0,255
;
/Jízda je mapována na horní polovinu potenciometru
bSpeed = map ( /Throttle, 0,511,255, 0);
Digital Read (3); /Načtení vstupní hodnoty z Hall 2 3 = Digitální čtení (4)
Čtení vstupní hodnoty/numerického zápisu z Hall 3 (8,
HallState1) /Když je odpovídající senzor na vysokém výkonu, rozsvítí se LED původně použito k ladění digitalWrite (9, HallState2) //digitalWrite(10, HallState2)+Hall+HallVal; (4*HallState3); /Calculate the binary values of 3 hall sensors/* series. print(\'
\'); For debugging serial port. println(HallState1); Serial. print(\'H 2: \'
)
H 1:
;
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\')
;
tisk sériového čísla(digitalRead(9));
tiskln(digitalRead(10));
arduino: /PORTD obsahuje výstup pinu IN na ovladači L6234
výstup používaný k určení
, zda je
/
horní
vývod EN pro každou fázi řízen analogií příkazu Arduino, nastavte pracovní cyklus PWM ( 0 = OFF, 255 = ON nebo hodnotu plynu řízenou potenciometrem (V5){1
tranzistor nebo spodní
tranzistor/
:/PORTD
xxx se týká vstupu Hall a PORTD
&
= 1111xxx00
)witchall 3
/Předpokládaný výstup pinu 0-7
= B00011111 | 0) analogWrite(
11,255
); // Phase C on -duty = 100% ( Low-end transistor)break;
Case 1:/PORTD = B001xxx00;
/Expected output of pin 0-
7 PORTD & = B00011111;
=
/PORTD |
B00100000;
/ Analowrite (9,mSpeed)
; PWM
on A
fáze ( High-end tranzistor)analogWrite (10,255) //Fáze B zapnuta ( Low-end tranzistor)analogWrite(11,0); B10100000 analogWrite(10,255); analogWrite(11,mSpeed) případ
/Očekávaný
výstup pinu
6:
/PORTD = B110xxx00
Expected output of pin 0- 7
0-7 PORTD b11; break; Case
2:/PORTD = B010xxx00; /
PORTD & = B00011111; B0201700 PORTD | =; /
Analowrite (9,0); analogWrite(10,mSpeed); analogWrite(11,255)
; break
; }} /Regenerative brake phase change/PORTD ( Output of IN pin on L6234) Vývody jsou vždy nízké, takže při regenu se používají pouze nízké tranzistory // 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
analogy
); break; Case 6:
after
se
spustí
writing (9,0); analogWrite(10,bSpeed); analogWrite(11,0); break; Case 2: analogy writing (9,0); analogWrite(10,bSpeed); analogWrite(11,0); break; }} /Time = millis (); Time
tiskový
program println(time)
s programováním tohoto zařízení nejsem obeznámen, ale náklady na IC
; //Serial print(\'\'); //Serial. Semiconductor)
jsou v newarku pouze 2 $ Další možností je poskládat diskrétní logická hradla, které by mohly řídit L6234 pro všechny tři stupně IC z níže uvedené tabulky pro logický obvod fáze B a C se musí dveře \'ne\' přepnout na druhou stranu \'nebo. Problém tohoto přístupu je, že na každém stupni je téměř 20 spojení, takže dá docela práci to sestavit.
Nejlepší je naprogramovat to jako programovatelné logické hradlo.