Tänapäeval on entusiastid väga huvitatud Brushless DC (BLDC) juhtimisest
Võrreldes traditsioonilise alalisvoolumootoriga on mootori jõudlus paranenud, paranenud on ka energiatõhusus, kuid seda on raskem kasutada. palju valmistooteid .
Sel eesmärgil on
Näiteks on palju väikeseid BLDC-kontrollereid, mis töötavad RC-lennukite jaoks väga hästi.
Neile, kes soovivad BLDC juhtimist põhjalikumalt uurida, on ka palju erinevaid tööstuskasutajatele mõeldud mikrokontrollereid ja muud elektroonilist riistvara, millel on tavaliselt väga hea dokumentatsioon.
Siiani pole ma leidnud ühtegi põhjalikku kirjeldust selle kohta, kuidas Arduino mikrokontrollerit BLDC juhtimiseks kasutada.
Samuti, kui olete huvitatud regeneratiivpidurdamisest või BLDC kasutamisest energia tootmiseks, ei ole ma leidnud palju tooteid, mis sobivad väikeste mootoritega kasutamiseks, ega ka 3-faasilise generaatori juhtimise kohta.
See struktuur oli algselt reaalajas arvutamise loos
, jätkan seda ka pärast kursuse lõppu.
Projekti idee on näidata hooratta energiasalvesti ja regeneratiivpidurdusega hübriidauto proportsionaalset mudelit.
Projektis kasutatud mootoriks on kahjustatud arvuti kõvakettalt puhastatud väike BLDC-d.
Selles juhendis kirjeldatakse, kuidas kasutada Arduino mikrokontrollerit ja Hall-
Affectsi asendiandureid sõidu- ja regeneratiivpidurduse režiimides.
Pange tähele, et oscillisofti külastamine on selle projekti lõpuleviimiseks väga kasulik, kui mitte hädavajalik.
Kui te ei pääse ulatusele juurde, olen lisanud mõned soovitused, kuidas seda ilma ulatuseta teha (5. samm).
Üks asi, mida see projekt ei peaks sisaldama ühtegi tegelikku mootorikontrolleri, on mis tahes ohutusfunktsioon, näiteks ülevoolukaitse.
Tegelikult on kõige hullem see, et põletate HD-mootori läbi.
Ülevoolukaitse rakendamine praeguse riistvaraga ei ole aga keeruline ja võib-olla kunagi teen seda.
Kui proovite juhtida suuremat mootorit, lisage oma mootori ja enda ohutuse tagamiseks ülevoolukaitse.
Ma tahan proovida seda kontrollerit kasutada suurema mootoriga, mis saaks \'päris\' tööd teha, kuid mul pole veel seda õiget.
Märkasin, et eBay müüs 86 W auto umbes 40 dollari eest.
Tundub hea kandidaat olevat.
Samuti on olemas RC veebisait nimega \'GoBrushless\', mis müüb komplekte, mis panevad kokku oma BLDC-d.
Need ei ole liiga kallid ja selle ehitamiseks on kogemusi väärt.
Pange tähele, et sellel veebisaidil pole mootori jaoks hallandurit. Vau!
Selle struktuuri kirjutamine on suur töö.
Loodan, et see on teile kasulik, palun andke oma kommentaarid ja ettepanekud.
Digitaalne multimeeter (DMM) –
kui teie DMM-il on sagedusmõõdiku ostsilloskoop (
parem on vähemalt 2 kanalit)
T8 Torxi draiver (
kõvaketta avamiseks on vaja ühte neist).
Seal on korralik ehituspood.
Masinatöökoda ja kiire prototüüp (
need on väga kasulikud, kuid ma arvan, et seda projekti saab teha ka ilma nendeta).
Materjal bldc mootori magnetrõngas arvuti kõvakettalt (
Pool mootorist)
Teiselt kõvakettalt Mitu (3-6)
Kõvakettal hõbedasel kettal on teine väike mootor (DC harjatud OK)
Kummipael või (soovitavalt)
Harjadeta alalisvoolumootor koos käepidemega teise mootoriga elektrooniline leivaplaat täistraat kuu Arduino Duemilanove resistor kuus või 4 resistor 120 k to 4 resistorm pöörlev Poteniomeeter100 k ohmST mikroahel L6234 kolmefaasiline mootoridraiver IC kaks 100 uF kondensaatorit üks 10 nF kondensaator üks 220 nF kondensaator üks 1 uF kondensaator üks 100 uF kondensaator kolm vastuvõtudioodi Üks
FSS41 A1Ampusehoidja Hall-2. 3
Märkus: Mike Anton kavandas ja müüs toote, mis asendab selles juhendis näidatud jõuelektroonikat ja Halli anduri ahelaid (
Seda juhitakse tagasipotentsiaali induktsiooni abil).
Tehnilised andmed ja hanketeave leiate nendelt kahelt lingilt: Kui kavatsete seda projekti teha, soovitan teil võtta aega, et põhjalikult mõista, kuidas BLDC töötab ja kontrollib.
Internetis on palju viiteid (
mõned soovitused leiate altpoolt).
Siiski lisan oma projekti mõned diagrammid ja tabelid, mis peaksid aitama teil mõista.
Siin on nimekiri kontseptsioonidest, mis on minu arvates selle projekti mõistmiseks kõige olulisemad: MOSFET-transistorid 3-faasiline poolsild 6-
3-astmeline lause vähendamine
Faasimootori impulsi laiuse modulatsioon (PWM) Hall-
mikrokiip AVR443: andurid-üldreferentsi alalisvoolumootor Digitaalsete asendiandurite põhiprintsiibid,
põhinevad alalisvoolumootori kolmefaasilisel faasivaba juhtimisel.
Flying Star Halli anduri BLDC mootori juhtimine, hea video kõvaketta mootori puhastamisest, kuid autor tundub, et mootor töötab sammumootorina ja sammumootorina. Konkreetsem viiteveebileht BLDC kohta l6234 mootorajami IC-s, sealhulgas andmelehed, rakenduse märkused ja ostuteave.
Tasuta näidis PM-harjadeta mootoriajami jaoks hübriidelektrisõidukite jaoks.
See on ainus paber, mille leidsin, mis kirjeldab regeneratiivpidurduse faasi muutmise järjekorda.
See paber, regeneratiivpidurdus elektrisõidukites on kasulik, laenasin sealt paar numbrit, aga arvan, et see kirjeldab valesti regeneratsiooni toimimist.
Tegin selle projekti taaskasutatud kettaajami mootoriga, kuna seda oli lihtne läbida ja mulle meeldib kasutada väikest madalpingemootorit, et õppida BLDC juhitavat juhet ja mitte tekitada ohutusprobleeme.
Lisaks muutub saalianduri magneti konfiguratsioon väga lihtsaks, kasutades
nendest teisest mootorist pärinevat magnetrõngast (rootorit) (vt 4. sammu).
Kui te ei soovi tegeleda saalianduri paigaldamise ja kalibreerimisega (sammud 5–7),
tean, et vähemalt mõned CD-/DVD-draivi mootorid on sisseehitatud Halli andurisse.
Mootorile mõningase pöördeinertsuse andmiseks ja neile väikese koormuse andmiseks panin mootorile 5 kõvaketast, liimisin õrnalt vähese tugeva liimiga kokku ja liimisin mootori külge (
Sellest sai hooratas minu esialgses projektis).
Kui kavatsete mootori kõvakettalt eemaldada, vajate korpuse lahti keeramiseks T8 torx-draivi (
tavaliselt on tsentroni sildil pulga taha peidetud kaks kruvi)
ja sisemised kruvid, mis hoiavad mootorit paigal.
Samuti peate eemaldama pea lugeja (
Sound circle executive )
Nii saate mootorini jõudmiseks mäluketta välja võtta.
Lisaks on teil vaja teist sama kõvaketta mootorit, et eemaldada sellelt mootorilt rootor (
Sees on magnet).
Mootori lahtivõtmiseks haarasin rootorist (ülemine)
Mootori kruustang ja kangutasin selle staatori külge (alumine)
Kaks kruvikeerajat on üksteisest 180 kraadi kaugusel.
Mootorit ei ole lihtne hoida piisavalt tihedal paaril ilma deformatsioonita. Võib-olla soovite ehitada
puidust v- ploki.
selleks otstarbeks kasutatava
Treipingi magnetrõngasse puurisin augu, et see sobiks mugavalt mootori peale.
Kui te ei saa treipinki kasutada, võite ümberpööratud rootori kinnitada tugeva liimiga mootorile.
Allolevatel piltidel 2 ja 3 on ühe mootori sisemus, mille olen lahti võtnud.
Esimeses pooles (rootor) on 8 poolust (
plasti mähitud magnet).
Teises pooles (staator)
on 12 pilu (mähised).
Kõigil kolmel mootorifaasil on 4 järjestikust pesa.
Mõnel HD-mootoril on kolm kontakti allosas, üks kontakt faasi kohta ja teine on mootori keskmine kraan (
kus kohtuvad kolm etappi).
Selles projektis pole keskmist kraani vaja, kuid see võib andurivaba juhtimisel kasuks tulla (
loodan ühel päeval avaldada märkuse andurivaba juhtimise kohta).
Kui teie mootoril on neli kontakti, saate faasi tuvastada ohmmeetri abil.
Keskmise kraani ja faasi vaheline takistus on pool mis tahes kahe faasi vahelisest takistusest.
Enamik BLDC-mootoreid käsitlevast kirjandusest käsitleb redelikujulise tagumise potentsiaali lainekujuga mootoreid, kuid kõvaketta mootoril näib olevat siinuse moodi tagakülg (vt allpool).
Minu teada töötab siinuslaine PWM-iga mootoriga sõitmine hästi, kuigi kasutegur võib mõnevõrra langeda.
Nagu kõik BLDC mootorid, koosneb ka see kolmefaasilisest pooltransistorsillast
(
vt 2. fotot allpool).
kasutan ST Micro (L6234) valmistatud IC-d , mida tuntakse ka mootori draiverina.
Silla jaoks
L6234 elektriühendus on näidatud sammus 8.
Alloleval kolmandal fotol on skemaatiline diagramm mootori draiverist ja mootori kolmest faasist.
Selleks, et mootor töötaks päripäeva, tehakse lüliti järgmises järjekorras (
esimene täht on ülemine transistor ja teine täht on alumine transistor)
: Samm 1 2 3 4 5 6 päripäeva: CB, AB, AC, BC, BA, CA vastupäeva: BC, BA, CA, CB, AB, AB, AC 360
, kuid nende mootorite puhul ainult füüsiline kraad 90.
Seetõttu toimub iga mootori pöörlemiskiirus neli korda.
Need kaks jada tunduvad olevat samad, kuid need ei ole samad, sest 6-
astmelise jada puhul on CW puhul voolu suund läbi faasi üks suund ja CCW puhul on voolu suund vastupidine.
Saate seda ise näha, rakendades mõlemale mootorifaasile aku või toiteallika pinget.
Kui rakendate pinget, liigub mootor veidi ühes suunas ja peatub.
Kui saate faasi pinget kiiresti mõnes ülaltoodud järjestuses muuta, saate mootorit käsitsi pöörata.
Transistorid ja mikrokontrollerid lõpetavad kõik need lülitid väga kiiresti, lülituvad sadu kordi sekundis, kui mootor töötab suurel kiirusel.
Samuti pidage meeles, et kui mõlemale faasile rakendatakse pinget, liigub mootor veidi ja seejärel peatub.
Seda seetõttu, et pöördemoment on null.
Seda näete alloleval neljandal fotol, mis näitab mootori faaside paari tagumist potentsiaali.
See on siinuslaine.
Kui laine läbib x-
võlli, on selle faasi pöördemoment null. Kuueastmelises
BLDC faasimuutuste järjestuses, mida kunagi ei juhtunud.
Enne kui pöördemoment konkreetsel faasil muutub madalaks, lülitatakse võimsus teisele faasikombinatsioonile.
Suuremaid BLDC mootoreid toodavad tavaliselt mootori sees olevad Halli andurid.
Kui teil on selline mootor, võite selle sammu vahele jätta.
Samuti tean, et vähemalt mõned CD/DVD-draivi mootorid on juba Halli andurisse sisse ehitatud.
Mootori pöörlemisel kasutatakse asendi tuvastamiseks kolme Halli andurit, seega toimub faasivahetus õigel hetkel.
Minu HD-mootor töötab kuni 9000 p/min (150 Hz).
Kuna ratta kohta on 24 vahetust, siis 9000 p/min juures vahetatakse masinat iga 280 mikrosekundi järel.
Arduino mikrokontroller töötab sagedusel 16 MHz, seega on iga taktisagedus 0,06 mikrosekundit.
Ma ei tea, mitu takttsüklit on vaja lause vähendamiseks, kuid isegi kui on vaja 100 taktitsüklit, see tähendab, et iga lause vähendamiseks kulub 5 mikrosekundit.
HD mootoritel pole Halli andureid, mistõttu on vaja need paigaldada mootori välisküljele.
Andur tuleb fikseerida mootori pöörlemiskiiruse suhtes ja eksponeerida mitmetele poolustele, mis on kooskõlas mootori pöörlemisega.
Minu lahendus on eemaldada samalt mootorilt magnetrõngas ja paigaldada see tagurpidi juhitavale mootorile.
Seejärel paigaldasin kolm saaliandurit selle magnetrõnga kohale, üksteisest 30 kraadi kaugusel mootori võllile (
elektrimootori pöörlemine 120 kraadi).
Minu Halli andurihoidja koosneb lihtsast hoidikust, mis koosneb kolmest minu poolt töödeldud alumiiniumosast ja kolmest kiirprototüübil valmistatud plastosast.
Kui teil neid tööriistu pole, ei tohiks olla raske leida teist võimalust positsiooni märkimiseks.
Halli andurite jaoks sulgude loomine on keerulisem.
See on võimalik tööviis: 1.
Otsige üles sobiva suurusega plastalus ja saate saalianduri hoolikalt epoksiidiga üle kanda. 2.
Paberile trükitakse mall, millel on magnetrõnga raadiusega sama ring ja kolm märki on üksteisest 15 kraadi 3 kaugusel.
Liimige mall kettale ja kasutage seejärel malli juhisena, et asetada saalianduri epoksiid ettevaatlikult oma kohale.
Nüüd, kui Halli andurid on mootorile paigaldatud, ühendage need allpool näidatud vooluringiga ja testige neid DMM-i või ostsilloskoobiga, et veenduda, et väljund muutub mootori pöörlemisel kõrgemaks ja madalamaks.
Ma käitan neid andureid alla 5 V, kasutades Arduino 5 V väljundit.
Halli anduri väljundvõimsus on kõrge või madal (1 või 0)
See sõltub sellest, kas nad tunnevad Antarktikat või Arktikat.
Kuna need on üksteisest 15 kraadi kaugusel, magnetid pöörlevad nende all ja muudavad polaarsust iga 45 kraadi järel, siis ei ole need kolm andurit kunagi korraga kõrgel ega madalal.
Kui mootor pöörleb, on anduri väljund 6-
Järgmises tabelis näidatud astmeline muster.
Andur peab olema joondatud mootori liikumisega nii, et üks kolmest andurist muutuks täpselt mootori faasimuutusasendis.
Sel juhul peaks esimese saalianduri (H1) tõusev serv
olema kooskõlas kombinatsiooni C (kõrge) ja B (madal) avaga.
See on samaväärne transistoride 3 ja 5 sisselülitamisega sillaahelas.
Anduri joondan ostsilloskoobiga magnetiga.
Selleks pean kasutama kolme ulatuskanalit.
Pööran mootorit, ühendades teise mootori rihmaga ja mõõdan kahe faasikombinatsiooni vahelist tagapotentsiaali (
A ja B, A ja C)
See on kaks siinust.
Nagu alloleval pildil olevad lained
Seejärel vaadake Halli anduri 2 signaali ostsilloskoobi kanalil 3.
Halli anduri hoidikut pööratakse seni, kuni saalianduri tõusev serv on täielikult joondatud punktiga, kus faasimuutus tuleks läbi viia (vt allpool).
Nüüd mõistan, et sama kalibreerimiseks on ainult kaks kanalit.
Kui faasikombinatsiooni B BEMF -
kasutades C, on H2 tõusev serv seotud BC kõveraga.
Põhjus, miks siin tuleks faasivahetus läbi viia, on see, et mootori pöördemoment on alati võimalikult kõrge.
Tagumine potentsiaal on võrdeline pöördemomendiga ja te märkate, et iga faasimuutus toimub siis, kui tagumine potentsiaal läheb alla järgmise etapi kõvera.
Seetõttu koosneb tegelik pöördemoment iga faasikombinatsiooni suurimast osast.
Kui te ei pääse ulatusele juurde, siis siin on minu idee joondamisest.
See on tegelikult huvitav harjutus kõigile, kes tahavad teada, kuidas BLDC mootor töötab.
Kui mootori faas A (positiivne) ja B (negatiivne) on ühendatud
toiteallikaga ja lülitate toite sisse, pöörleb mootor veidi ja peatub.
Seejärel, kui negatiivne toitejuhe viiakse C-faasi ja toide on sisse lülitatud, pöörleb mootor edasi ja peatub.
Jada järgmiseks osaks on positiivse juhtme liigutamine faasi B jne.
Kui teete seda, peatub mootor alati kohas, kus pöördemoment on null, mis vastab ühele kohale, kus diagramm läbib diagrammi x-telge.
Pange tähele, et kolmanda faasi kombinatsiooni nullpunkt vastab kahe esimese kombinatsiooni faasimuutuse positsioonile.
Seetõttu on kombinatsiooni B-C kombinatsiooni nullmomendi asend koht,
kuhu soovite asetada h2 tõusva serva.
Märgistage see asend peente märkide või teravate teradega ja seejärel reguleerige saalianduri hoidikut DMM-i abil, kuni H2 väljund on sellel märgil täpselt kõrgem.
Isegi kui kooligraafikust veidi kõrvale kaldud, peaks mootor hästi töötama.
Kolm mootorifaasi saavad toite L6234 kolmefaasilise mootori draiverilt.
Leidsin, et see on hea toode, mis peab ajaproovile vastu.
Jõuelektroonika kasutamisel on komponente kogemata praadida mitmel viisil, ma ei ole elektriinsener ja ma ei tea alati, mis toimub.
Minu kooliprogrammis tegime oma 3-
faasilise poolsilla väljundi 6 MOSFET-transistorist ja 6 dioodist.
Kasutasime seda teise draiveri Intersili HIP4086 puhul, kuid meil on selle seadistusega palju probleeme.
Põletasime hunniku transistore ja kiipe.
Käitan L6234 (
mootorit) 12V juures.
L6234-l on ebatavaline sisendite komplekt 6 transistorist koosneva poolsilla juhtimiseks.
Igal transistoril ei ole sisendit, vaid lubamissisend (EN)
iga kolme astme jaoks ja seejärel teine sisend (IN)
Valige, milline transistor on avatud faasis (ülemine või alumine).
Näiteks lülitage sisse transistor 1 (ülemine) ja 6 (alumine)
Nii EN1 kui ka EN3 on kõrged (
EN2 madal, et aste oleks suletud)
IN1 kõrge, IN3 madal.
See muudab faasikombinatsiooni-C.
Kui rakenduse märkus L6234 soovitas kasutada mootori kiiruse juhtimiseks kasutatavat PWM-i IN-viikule, siis otsustasin seda teha EN-viiguga, sest tol ajal oli minu arvates \'imelik\' vaheldumisi faasi ülemist ja alumist transistorit sisse lülitada.
kumbki ei läbi voolu
Minu meetodi puhul on kõrge faas sisse lülitatud ja välja lülitatud vaheldumisi PWM sagedusel, samas kui madal faas jääb põlema kogu faasivahetuse ajal.
Allpool on toodud skeem, mis on ühendatud Arduino plaadiga, lisan ka 2.
5 amprise kaitsme positiivse aku toitejuhtme ja vooluahela vahele .
Taastusvoolus on see arv veidi väike, nii et suuremate versioonide jaoks vaadake L6234 dokumentatsiooni
, mis (ma usun)
asendab selle raja ja säästab teid selle kokkupanemise kohta
parandused minu selgitusele
aitab illustreerida, kuidas see toimib (
Kuid ma arvan, et selles teises artiklis esitatud seletus on osaliselt vale).
Sõidu ajal saadab juhtimissüsteem voolu kolmele faasile, mis maksimeerib pöördemomenti, kuid seekord on see negatiivne pöördemoment, mis põhjustab voolu tagasi saatmise Ameerika Ühendriikide laborist
lülituvad madalad transistorid sisse ja välja
Automootorite uurimine Allolev diagramm pärineb teisest paberist, mis
pidurdades
(Tuhanded PWM-lülitid
esimesel pildil).
sekundis, kui madala transistor on sisse lülitatud, voolab vool nagu
vabastatakse, kui madala astme transistor on välja lülitatud, kuid kõrgemal pingel
voolab vool koheselt läbi iga transistori kõrval oleva \'anti-ergutus\' dioodi ja seejärel naaseb akusse. Samal ajal ei lase vool akust
reguleerib pidurdamise
PWM-lülitit ja PWM-i töötsükkel
mootorisse Transistor kasutab
sagedust ei tööta hästi.
Arvan, et minu kasutatav kõvaketta mootor on väga väikese pöördemomendiga, nii et see ei tekita palju BEMF-i, välja arvatud suurimal kiirusel Kasutage tavalisi alaldioode ja ma võin saada
. 2- Digitaalne sisend-saal 120 K takistus Gnd
kui kasutan madalama pingelangusega spetsiaalseid dioode. Allpool on toodud arduino sisendite ja väljundite loend
paremaid tulemusi,
digitaalväljund
sisend 4-sisend . 400 oomi takistiga
2 120 K takistus Gnd-
3 digitaalne sisend
6 2 digitaalset väljundit järjestikku 400 oomi takistiga 7 3 digitaalset väljundit seerias 400 oomi takistiga 9- EN 1 digitaalne väljund seerias 400 oomi takistiga 10- EN 2
takistiga, seeria EN3 a 4 takistiga 11 100 k Ohm potentsiomeeter, mille mõlemas otsas
jadamisi 400 oomi
ning keskel on ühendatud 0 voolutugevuse toiteallikat ST L6234 3-faasiline mootoridraiver
regeneratiivpidurdusega * mootori kiirust ja pidurdamist juhib
on ühendatud 5 v ja gnd
üks potentsiomeetri * mootori asend kolme Halli efekti anduriga *
IC * töötab kettaajami mootor päripäeva *
Arduino saab väljundi 3
standardile
Halli andurilt (kontaktid 2, 3, 4) * Ja teisendab nende kombinatsiooni 6
W, 2 kH Vastab
, 3*3 DO tihvtidel
EN 1,2
simulatsioon
PWM
erinevaks faasimuutusastmeks kontaktidel * 10
5,6, 7 (IN 1,2,3) * Ühendage
0-s potentsiomeetriga, et muuta
-i töötsüklit ja vahetada *
int HallState3 /Kõigi
vahel * * 0-499: pidur * 500- *10-23-4 kommentaari. ridade trükkimine jadaühendusele
sõidu- ja regeneratiivpidurduse
3 halli anduri binaarväärtus int MSP-le = 0-le; 0; /Seda muutujat kasutatakse koos gaasipedaali potentsiomeetri vahe seadistusega (){pinMode(2,INPUT)
*/Int allstate1 muutujad
INPUT
/Hall
2 pinMode (4,
/L6234 /5Mode,PUT)
; 2 pinMode (7,OUTPUT); / In 3 pinMode (9
); /EN 1 pinMode (10,OUTPUT)
,OUTPUT
;
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
serial. begin(
/EN
2 pinMode (11,OUTPUT) ; /EN 3/
ja 11 /
10/esmalt tühjendage kõik kolm eeljagaja bitti : int
sagedusele 32 kHz kontaktide 9 jaoks
prescalerVal = 0x07;
seadistage PWM
,
/
\'00000111\' TCCR1 väärtusega ~ TCCR1B & =Binary number of
Looge muutuja nimega prescalerVal ja määrake see võrdseks kahendarvuga
\
: int eelkodeeringu
bitt 2 = 1; /Seadista prescalerVal kahendarvuga \'
'11111000\'
/nüüd
määrake sobiv eelkodeeringu bitt
See programm kasutab ainult viiku
0B 0B; PWM kuni 32 kHz viigu 3,11 jaoks (
00000001\' TCCR1B = prescalerVal2 / või väärtus 0 binaararvuga
11) /Kõigepealt tühjendage kõik kolm eelkaleri bitti: TCCR2B & = ~ Pre-calerval /Ja väärtus TCCR0B-s kahendarvuga \'11111000\'/now set pre-encoding bit
:- TC2B; /Või TCCR0B-s olev binaarne arv \'00000001\'/
MSPs
/
tühjendage kõik kolm eelkodeeritud bitti potentsiomeeter
= kaart ( Gaasihoob, 512,1023, 0,255) (2) /Read input value from Hall 2 = Digital Read (3 = Read input value/numeric write from Hall 3) (8, HallState1)
vastav
:
Kui
andur on suure võimsusega, lülitub sisse algselt digitaalWrite (9, Hall1/digital); (HallState1)+ (4*HallState3) print
\'
(
)
\'H 1
println
)
('serial)'; Serial. print
(\'H 3: \'); Serial
. println(HallState3); Serial. println(\' \'
;
println (HallVal);
*
/ //Serial. println(mSpeed); //Serial.
//Serial. print(\'\'); /
Monitor transistor output/delay (1000); /* T1 = digitalRead (2); //T1 = ~T1; T2 = digitalRead (4); //T2 = ~T2; T3 = digitalRead (5); //T3 = ~T3
; Serial. print(
Serial . print(\'\t\'
T1);
); Serial. print(T2);
Serial. print(\'\t\'); Serial. print(T3); Serial. print(\'\'); Serial. print(\'\'); Serial. print(digitalRead(3)); Serial. print(\'\t\'); Serial. print(digitalRead(9)); Serial. print(\'\t\'); Serial. println(digitalRead(10)); Serial. print(\'\'); Serial. print(\'\');
//delay(500); */Faasimuutuse juhtimine/igal kahendarvul on juhtum, mis vastab erinevatele sisselülitatud transistoridele / väljundi arduino väärtuse muutmiseks
kasutatud bittide matemaatika
: /PORTD
viigu väljundit / väljundit, mida kasutatakse määramaks
draiveri sisendi
L6234
sisaldab
, kas iga faasi
ülemist transistor või
käsutsükliga P = 50 = ONty2 analoogia P50, või potentsiomeetriga juhitav drossellüliti (HallVal)
alumist transistor / EN kontakti juhitakse Arduino
,
9
{ Juhtum 3:/PORTD = 1111xxx00;
mSpeed
); B00011111 = B00100000 (9,mSpeed)
(
analogWrite
(10,255 ) B101xxx00;
/
/Expected output of pin 0-
7 PORTD & = B00011111;
PORTD | = B10100000; analogWrite(9,0); analogWrite(10,255); analogWrite(11,mSpeed); break;
Case 4:/PORTD
=
;
B100xxx00
(11,mSpeed)
B00011111 / Analowrite
/Expected output of pin 0-
7 PORTD & =
000 =;
analoogWrite(11,0) analoogWrite(11,255 faasimuutus/PORTD) ( L6234
bym0000; //
kontakti väljund )
B00011111;
PORTD | =
analogy writing (9,bSpeed); //analogWrite(9,0); analogWrite(10,0); analogWrite(
11,0); break; Case
switch (HallVal)
{ Case 3:
analogy writing (9,bSpeed); analogWrite(
:
1
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: analogy writing
debug
(9,0); analogWrite(10,bSpeed); analogWrite(11,0); break; }} /
to
using
Time = millis (); Time after the printing program starts. println(time); //Serial. print(\'\'); //Serial. flush(); /If you want
a serial
port, please uncomment} I think
is so simple that it seems like Selle ülesande
the operation that Arduino does in this project
täitmiseks mikroprotsessoriga soovitatakse L6234-s kasutada lihtsat programmeerimismassiivi
(GAL16V8) selle seadme programmeerimisega, kuid IC-i hind on ka 39 dollarit leidsid mõned suhteliselt lihtsad loogilised jadad, mis
võiksid juhtida L6234 IC-d kolme saalianduri väljundist.
Allpool on näidatud A-astme diagramm ja kõigi kolme faasi tõetabel (B- ja C-faasi loogikaahela jaoks tuleb \'mitte\' uks lülitada \' teisele poole, või siis on probleem selles faasis üsna lähedal. selle kokku panemiseks
on kõige parem programmeerida see programmeeritava loogikaväravana.