BLDC Control Motor z Arduino, Shared HD motorja in Hall Senzors
Doma » Blog » BLDC Control Motor z Arduino, Shatvaged HD motorjem in dvoranskimi senzorji

BLDC Control Motor z Arduino, Shared HD motorja in Hall Senzors

Ogledi: 0     Avtor: Urejevalnik spletnega mesta Čas: 2020-09-02 Izvor: Mesto

Poizvedite

Gumb za skupno rabo Facebooka
Gumb za skupno rabo Twitterja
Gumb za skupno rabo vrstic
Gumb za skupno rabo WeChat
Gumb za skupno rabo LinkedIn
Gumb za skupno rabo Pinterest
Gumb za skupno rabo WhatsApp
Gumb za skupno rabo Kakao
Gumb za skupno rabo Snapchat
Gumb za skupno rabo telegrama
Gumb za skupno rabo

Dandanes so navdušenci zelo zainteresirani za nadzor brezkrtačnega DC (BLDC)
v primerjavi s tradicionalnim motorjem DC se je zmogljivost motorja izboljšala, tudi energetska učinkovitost se je izboljšala, vendar jo je težje uporabiti. številni izdelki zunaj police .
V ta namen obstajajo
Na primer, obstaja veliko majhnih krmilnikov BLDCS, ki zelo dobro delujejo za letala RC.
Za tiste, ki želijo pogledati nadzor nad BLDC, je za industrijske uporabnike, ki imajo običajno zelo dobro dokumentacijo, na več globini na voljo tudi veliko različnih mikro-krmilnikov in drugih elektronskih strojnih opremov.
Do zdaj še nisem našel celovitega opisa, kako uporabljati mikro-krmilnik Arduino za nadzor BLDC.
Tudi če vas zanima regenerativno zaviranje ali uporaba BLDC za proizvodnjo električne energije, nisem našel veliko izdelkov, primernih za uporabo z majhnimi motorji, niti nisem izvedel za nadzor 3-faznega generatorja.
Ta struktura je bila prvotno v zgodbi o
izračunu v realnem času, to še naprej počnem po koncu tečaja.
Ideja projekta je pokazati sorazmerni model hibridnega avtomobila s skladiščenjem energije z vztrajnikom in regenerativnim zaviranjem.
Motor, ki se uporablja v projektu, je majhen BLDC, očiščen s poškodovanega računalniškega trdega diska.
Ta priročnik opisuje, kako uporabljati Arduino mikro-krmilnik in Hall-
vpliva na senzorje položaja pri vožnji in regenerativnih načinih zaviranja.
Upoštevajte, da je obisk Oscillisoft zelo koristen, če ne bi bil nujen, da dokončate ta projekt.
Če ne morete dostopati do obsega, sem dodal nekaj predlogov, kako to storiti brez obsega (5. korak).
Ena stvar, ki je ta projekt ne bi smel vključevati v noben dejanski krmilnik motorja, je vsaka varnostna funkcija, kot je predvajanje trenutne zaščite.
Pravzaprav je najslabše, da izgorevate HD motor.
Vendar izvajanje zaščite nad pretekom s trenutno strojno opremo ni težko in morda bom to storil v nekem trenutku.
Če poskušate nadzorovati večji motor, dodajte predhodno zaščito, da zaščitite svoj motor in lastno varnost.
Želim poskusiti uporabiti ta krmilnik z večjim motorjem, ki lahko opravi nekaj \ 'resničnega \', vendar še nimam pravega.
Opazil sem, da je eBay prodal 86 W avtomobila za približno 40 dolarjev.
Izgleda kot dober kandidat.
Obstaja tudi spletno mesto RC, imenovano \ 'Gobrushless \', ki prodaja komplete, ki sestavljajo svoj BLDC.
Te niso predrage in je vredno izkušnje, da jo zgradite.
Upoštevajte, da na tem spletnem mestu ni senzorja dvorane za motor. Whew!
Pisanje te strukture je veliko delo.
Upam, da se vam zdi koristno, prosim, dajte svoje komentarje in predloge.
Digitalni multimeter (DMM)-
Če ima vaš DMM osciloskop frekvenčnega merilnika (
bolje je imeti vsaj 2 kanala)
T8 TORX gonilnik (
potrebujete enega od njih, da odpre trdi disk).
Obstaja dobra trgovina s strojno opremo.
Strojna delavnica in hiter prototip (
ti so zelo koristni, vendar mislim, da je ta projekt mogoče narediti brez njih).
Material BLDC Motor Magnetni obroč z računalniškega trdega diska (
polovica motorja)
iz drugega trdega diska (3-6)
je na srebrnem disku na trdem disku na trdem disku (DC brušen OK)
gumijast pas ali (prednostno)
motor brez krtače z ročajem z drugim motoričnim upornikom na 400 OHM OHM OHM LINEAR ALI LINER LINEAR ARDUINO DUEMILANOVE. Poteniometer100 K Ohmst Micro Circuit L6234 Trifazni gonilnik motorja IC Dva 100 UF kondenzatorjev En 10 NF kondenzator One 220 NF kondenzator One 1 UF En 100 UF kondenzator Tri sprejemne diode One 2.
Honeywell SS411A Bipolar Hall-Hall Amp Amp Fuse 1 OPOMBA
: miki Ta priročnik (
nadzira se z uporabo povratne potencialne indukcije).
Specifikacije in informacije o javnih naročilih najdete v teh dveh povezavah: Če boste izvedli ta projekt, predlagam, da si vzamete čas, da temeljito razumete, kako BLDC deluje in nadzoruje.
Na spletu je veliko referenc (
za nekaj predlogov glejte spodaj).
Vendar v svoj projekt vključim nekaj grafikonov in tabel, ki bi vam pomagale razumeti.
Tu je seznam konceptov, za katere menim, da so najpomembnejši za razumevanje tega projekta: MOSFET Transistors 3-fazni pol-most 6-
3-stopenjsko zmanjšanje
modulacije širine impulza iz faznega motorja (PWM) Hall-
Microchip AVR443: Sensors-General Reference DC Motor Motor Contras Tri-Fase Control Control Sensors Sensors Control Sensors Sensors Control Sensors of
Three-Fase Sensors Control of Three-Fase Butter Control of Three-Fase Sensors Control of Three-Fase Sensors Control Sensorja Sensorja za Tri-Faza za motorike za Tri-Faza za MOTORJI MOTORJI
STROJ SENSORS Flying Star Hall Sensor, dober video posnetke trdega diska, vendar se zdi, da avtor motor vodi kot odskočni motor in kot odskočni motor. Bolj specifična referenčna spletna stran za BLDC na IC Motor Drive L6234, vključno s podatkovnimi listi, zapisi o aplikacijah in informacijami o nakupu.
Brezplačen vzorec za PM brez krtačenja motornega pogona za hibridno uporabo električnih vozil.
To je edini prispevek, ki sem ga našel, ki opisuje vrstni red sprememb regenerativne faze zaviranja.
Ta članek je koristno, regenerativno zaviranje v električnih vozilih, iz nje sem si sposodil nekaj številk, vendar mislim, da napačno opisuje, kako deluje regeneracija.
Ta projekt sem opravil z recikliranim diskovnim motorjem, ker je bilo enostavno prehoditi in rad uporabljam majhen nizkonapetostni motor za učenje kabla, ki ga nadzira BLDC, in ne povzročajo nobenih varnostnih težav.
Poleg tega konfiguracija magnetnega senzorja dvorane postane zelo preprosta z uporabo magnetnega obroča (rotorja)
iz drugega od teh motorjev (glej korak 4).
Če ne želite iti na vse težave pri namestitvi in ​​kalibriranju senzorja dvorane (koraki 5-7),
vem, da obstaja vsaj nekaj motorjev CD/DVD pogonskih motorjev vgrajenih v senzorju.
Da bi motorju zagotovil nekaj obračanja vztrajnosti in jim dal malo obremenitve, sem na motor postavil 5 trdih diskov, nežno prilepljen z malo močnega lepila in prilepljen na motor (
to je vztrajnik v mojem prvotnem projektu).
Če boste motor odstranili s trdega diska, potrebujete T8 TORX pogon za odvijanje ohišja (
ponavadi sta za palico v centralni nalepki skrita dva vijaka)
in notranje vijake, ki držijo motor na mestu.
Prav tako morate odstraniti bralnik glave (
Sound Circle Executive),
da lahko vzamete pomnilniški disk, da pridete do motorja.
Poleg tega boste potrebovali drugi isti trdi motor, da odstranite rotor iz tega motorja (
v notranjosti je magnet).
Da bi motor ločil, sem pograbil rotor (zgoraj)
za višino motorja in ga narisal na statorju (spodaj),
dva izvijača sta 180 stopinj narazen.
Motor ni enostavno držati na dovolj tesnem paru brez deformacije.
Morda boste želeli zgraditi leseni V-
blok, ki se uporablja za ta namen.
Vrtal sem luknjo v magnetnem obroču na stružnici, tako da se udobno prilega na vrhu motorja.
Če stružnice ne morete uporabljati, lahko z močnim lepilom pritrdite obrnjen rotor na motorju.
Slike 2 in 3 spodaj prikazujejo notranjost enega od motorjev, ki sem jih razstavil.
V prvem polčasu (rotor) je 8 polov (
magnet, zavit v plastiko).
V drugem polčasu (stator)
je 12 rež (navitja).
Vsaka od treh motoričnih faz ima 4 reže v seriji.
Nekateri HD motorji imajo na dnu tri stike, en stik na fazo, drugi pa sredinski pipo motorja (
kjer se srečujejo tri stopnje).
V tem projektu ni potreben noben center pipa, vendar lahko pride v poštev pri nadzoru brez senzorjev (
upam, da bom nekega dne izdal opombo o nadzoru brez senzorjev).
Če ima vaš motor štiri stike, lahko fazo identificirate z Ohmeter.
Odpornost med srednjo pipo in fazo je polovica upora med dvema fazama.
Večina literature o BLDC Motors se ukvarja s tistimi, ki imajo lestveno potencialno valovno obliko v obliki lestve, vendar se zdi, da ima trdi disk potencial hrbta, ki je videti kot sinus (glej spodaj).
Kolikor vem, vožnja sinusnega motorja s sinusnim valom PWM deluje v redu, čeprav lahko učinkovitost nekoliko pade.
Kot vsi mototorji BLDC, je tudi ta sestavljen iz trifaznega polčasnega
mostu (
glejte 2. fotografije spodaj).
uporabljam IC, ki ga je izdelal St Micro (L6234) , znan tudi kot gonilnik motorja.
Za most
Električna povezava L6234 je prikazana v koraku 8.
Spodnja tretja fotografija prikazuje shematični diagram gonilnika motorja in tri faze motoric.
Da bo motor deloval v smeri urinega kazalca, bo stikalo narejeno v naslednjem vrstnem redu (
prva črka je zgornji tranzistor, druga črka pa spodnji tranzistor)
: korak 1 2 3 4 5 6 Skrb: CB, AB, AC, BC, BA, CA v nasprotni smeri urinega kazalca: BC, CA, CB, AC, AC, AC, AC, AC, AC,
ki potrebuje le, da je le fizikalna stopnja AB, AB, TE ELEKTIČNI MESTOVIK ti motorji.
Zato se hitrost vrtenja vsakega motorja pojavi štirikrat.
Zdi se, da sta obe sekvenci enaki, vendar nista enaka, ker je za 6-
stopenjsko zaporedje, za CW, trenutna smer skozi fazo ena smer, za CCW pa je trenutna smer nasprotna.
To lahko vidite sami tako, da na fazo motorja uporabite napetost baterije ali napajanja.
Če nanesete napetost, se bo motor nekoliko premaknil v eno smer in se ustavil.
Če lahko hitro spremenite napetost v fazi v enem od zgornjih zaporedij, lahko motor zasukate ročno.
Tranzistorji in mikrokontrolerji zelo hitro dokončajo vsa ta stikala in preklopijo stokrat na sekundo, ko motor deluje z veliko hitrostjo.
Upoštevajte tudi, da če se napetost uporabi za obe fazi, se motor nekoliko premakne in nato ustavi.
To je zato, ker je navor nič.
To si lahko ogledate na četrti fotografiji spodaj, ki prikazuje zadnji potencial para motoričnih faz.
To je sinusni val.
Ko val gre skozi rentgensko
gred, je navor, ki ga zagotavlja ta faza, nič. V šestih
korakih BLDC faznega zaporedja, ki se ni nikoli zgodilo.
Preden navor v določeni fazi postane nizek, se moč preklopi na drugo fazno kombinacijo.
Večje motorje BLDC običajno proizvajajo senzorji dvorane znotraj motorja.
Če imate tak motor, lahko ta korak preskočite.
Prav tako vem, da je v že tako halli senzorju vgrajenih vsaj nekaj pogonskih motorjev CD/DVD.
Ko se motor vrti, se za odkrivanje položaja uporabljajo trije senzorji dvorane, tako da se fazna sprememba izvede v pravem trenutku.
Moj HD motor deluje do 9000 vrt./min (150 Hz).
Ker je 24 sprememb na kolo, pri 9000 vrt./min., Se stroj spremeni na vsakih 280 mikrosekund.
Mikro-krmilnik Arduino deluje pri 16 MHz, tako da je vsak urni cikel 0. 06 mikrosekund.
Ne vem, koliko ciklov ure je potrebno za zmanjšanje kazni, toda tudi če je potrebnih 100 ciklov ure, to je 5 mikrosekund za vsako znižanje kazni.
HD motorji nimajo senzorjev dvorane, zato jih je treba namestiti na zunanjo stran motorja.
Senzor je treba pritrditi glede na vrtenje motorja in ga izpostaviti niz polov, ki so skladni z vrtenjem motorja.
Moja rešitev je odstraniti magnetni obroč z istega motorja in ga namestiti na glavo na motor, ki ga je treba nadzorovati.
Nato sem namestil tri senzorje dvorane nad tem magnetnim obročem, 30 stopinj, ločeno drug od drugega na gred motorja (
120 stopinj za vrtenje električnega motorja).
Moje držalo za senzorje dvorane je sestavljeno iz preprostega držala, ki ga sestavljajo trije aluminijasti deli, ki jih obdelam jaz, in treh plastičnih delov, narejenih na hitrem prototipu.
Če teh orodij nimate, ne bi bilo težko najti drugega načina, kako označiti položaj.
Ustvarjanje nosilcev za Hall Sensors bo bolj zahtevno.
To je možen način za delo: 1.
Poiščite plastični pladenj prave velikosti in lahko skrbno epoksirate senzor dvorane. 2.
Na papirju je natisnjena predloga, ki ima enak krog kot polmer magnetnega obroča, tri oznake pa 15 stopinj 3.
Predlogo prilepite na disk in nato uporabite predlogo kot vodnik, da skrbno postavite epoksid senzorja dvorane na svoje mesto.
Zdaj, ko so dvoranski senzorji nameščeni na motorju, jih povežite s spodnjim vezjem in jih preizkusite s pomočjo DMM ali osciloskopa, da se prepričate, da se izhod, ko se motor vrti, višji in nižji.
Te senzorje vodim pod 5 V z uporabo 5 V izhoda Arduino s 5 V.
Hall Senzor je visok ali nizek izhod (1 ali 0)
je odvisno od tega, ali čutijo Antarktiko ali arktiko.
Ker so narazen 15 stopinj, se magneti vrtijo pod njimi in spremenijo polarnost vsakih 45 stopinj, ti trije senzorji nikoli ne bodo visoki ali nizki hkrati.
Ko se motor vrti, je izhod senzorja 6-
Vzorec koraka, prikazan v naslednji tabeli.
Senzor mora biti poravnan z gibanjem motorja, tako da se eden od treh senzorjev spremeni natančno v položaju spremembe motorja.
V tem primeru mora biti naraščajoči rob prvega senzorja dvorane (H1)
skladen z odpiranjem kombinacije C (visoko) in B (nizko).
To je enakovredno vklopu tranzistorjev 3 in 5 v mostu.
Senzor poravnam z magnetom z osciloskopom.
Za to moram uporabiti tri kanale obsega.
Motor zasukam tako, da priključim na pas drugega motorja in izmerim zadnji potencial med dvema faznima kombinacijama (
A in B, A in C)
To je dva sinus.
Tako kot valovi na spodnji
sliki si oglejte signal Hall Sensor 2 na kanalu 3 osciloskopa.
Držalo za senzorje dvorane je obrnjeno, dokler naraščajoči rob senzorja dvorane ni popolnoma poravnan s točko, kjer je treba izvesti fazno spremembo (glej spodaj).
Zdaj se zavedam, da obstajata samo dva kanala za enako kalibracijo.
Če je BEMF fazne kombinacije B-
z uporabo C, bo naraščajoči rob H2 povezan s krivuljo BC.
Razlog, zakaj je treba tukaj opraviti fazno spremembo, je, da motorični navor vedno ohranite čim višje.
Zadnji potencial je sorazmeren z navorom in opazili boste, da se vsaka sprememba faze zgodi, ko zadnji potencial prehaja pod naslednjo stopnjo krivulje.
Zato je dejanski navor sestavljen iz najvišjega dela vsake fazne kombinacije.
Če ne morete dostopati do obsega, tukaj je moja ideja o poravnavi.
To je pravzaprav zanimiva vaja za vse, ki želijo vedeti, kako deluje motor BLDC.
Če je motorna faza A povezana (pozitivna) in B (negativna)
na napajanje in vklopi napajanje, se bo motor nekoliko zasukal in ustavil.
Potem, če se negativni svinci za moč premakne v fazo C in se moč vklopi, se bo motor obrnil dlje in se ustavil.
Naslednji del zaporedja bo premikanje pozitivnega vodstva v fazo B itd.
Ko to storite, se motor vedno ustavi tam, kjer je navor nič, kar ustreza enemu mestu, kjer grafikon prehaja skozi osi x na grafikonu.
Upoštevajte, da ničelna točka kombinacije tretje faze ustreza položaju fazne spremembe prvih dveh kombinacij.
Zato je položaj ničelnega navora B-
C kombinacije, kjer želite postaviti naraščajoči rob H2.
Ta položaj označite s finimi oznakami ali ostrimi rezili in nato prilagodite držalo za senzorje dvorane z uporabo DMM, dokler izhod H2 ni ravno višji na tej oznaki.
Tudi če malo odstopate od svojega šolskega urnika, bi moral motor dobro delovati.
Tri motorična faza bo prejela moč iz trifaznega gonilnika motorja L6234.
Ugotovil sem, da je to dober izdelek, ki lahko zdrži preizkus časa.
Obstaja veliko načinov, kako slučajno ocvrti komponente, ko uporabljate elektroniko, nisem inženir elektrotehnike in ne vem vedno, kaj se dogaja.
V mojem šolskem programu smo naredili svoj 3-
fazni pol-most iz 6 MOSFET tranzistorjev in 6 diod.
To smo uporabili na hip4086 drugega gonilnika Intersil, vendar imamo veliko težav s to nastavitvijo,
zažgali smo kup tranzistorjev in čipov.
Zaženem L6234 (
torej motor) pri 12V.
L6234 ima nenavaden nabor vhodov za nadzor polovičnega mosta 6 tranzistorjev.
Ni vsak tranzistor vhod, ampak omogočen (en)
vhod za vsako od treh stopenj, nato pa še en vhod (in)
izberite, kateri tranzistor v odprti fazi (zgornji ali spodnji).
Na primer, vklopite tranzistor 1 (zgornji) in 6 (spodnji)
oba EN1 in EN3 sta visoka (
EN2 nizka, da je stopnja zaprta)
in1 visoka, in3 nizka.
Zaradi tega je fazna kombinacija-C.
Medtem ko je opomba v aplikaciji L6234 predlagala uporabo PWM, ki se uporablja za nadzor hitrosti motorja na PIN, sem se odločil, da to storim na EN
Pin .
Skozi
tok

​Majhne, ​​zato za večje različice glejte dokumentacijo za L6234.
Opomba: Mike Anton je naredil PCB za L6234, ki bo (verjamem)
nadomestil to skladbo in vam rešil nalogo, da ga sestavite.
Oglejte si te povezave za specifikacije in informacije o nakupu: nisem našel veliko približno 3-
opisal bom svoje razumevanje, kako deluje.
Upoštevajte, da nisem inženir elektrotehnike in bi cenili kakršne koli popravke moje razlage.
Med vožnjo krmilni sistem pošlje tok v tri motorične faze na način, ki maksimira navor.
Pri regenerativnem zaviranju krmilni sistem maksimira tudi navor, tokrat pa je negativen navor, zaradi katerega se motor upočasni, medtem ko tok pošlje nazaj na baterijo.
Regenerativna zavorna metoda, ki sem jo uporabila, je prišla iz prispevka iz Nacionalnega laboratorija Oakridge v ZDA. S. Govt.
Laboratorij, ki veliko raziskuje avtomobilske motorje.
Spodnji grafikon izvira iz drugega prispevka, ki pomaga ponazoriti, kako deluje (
vendar mislim, da je razlaga v tem drugem prispevku delno napačna).
Upoštevajte, da ko se motor vrti, napetost BEMF v motorični fazi niha navzgor in navzdol.
Na sliki prikazuje trenutek, ko je BEMF v fazi B in nizek v fazi.
V tem primeru je mogoče, da tok teče iz B v.
Ključni do regenerativnega zaviranja se tranzistorji nizkega cenovnega razreda hitro vklopijo in izklopijo (
na tisoče stikal PWM na sekundo).
Ko je stikalo za tranzistor višjega cenovnega razreda izklopljeno;
Ko je nizki tranzistor vklopljen, tok teče, kot je prikazano na prvi sliki.
Kar zadeva elektroniko, je vezje kot naprava, imenovana pretvornik Boost, kjer je energija shranjena v fazi motorja (
Wikipedia ima dober članek, ki pojasnjuje, kako deluje pretvornik Boost).
Ta energija se sprosti, ko je tranzistor nizkega cenovnega razreda izklopljen, vendar pri višji napetosti tok takoj teče skozi \ 'proti vzbujanju \' diode poleg vsakega tranzistorja in se nato vrne v baterijo.
Dioda preprečuje, da bi tok tekel iz baterije v motor.
Hkrati tok v tej smeri (
v nasprotju z vožnjo)
medsebojno deluje z magnetnim obročem, da ustvari negativen navor, ki upočasni motor.
Tranzistor z nizko stranjo uporablja stikalo PWM, delovni cikel PWM pa nadzoruje količino zaviranja.
Med vožnjo se komutacija motorja preklopi iz ene kombinacije na drugo, da se ohrani najvišji možni navor.
Komutacija regenerativne zavore je zelo podobna, ker nekateri preklopni način povzroči, da motor proizvede čim več negativnega navora.
Če gledate videoposnetek v prvem koraku, lahko vidite, da regenerativna zavora deluje v redu, vendar ne deluje dobro.
Mislim, da je glavni razlog v tem, da je trdi disk, ki ga uporabljam, zelo nizek motor navora, zato ne proizvaja veliko BEMF, razen z najvišjo hitrostjo.
Z nižjo hitrostjo je zelo malo regenerativnega zaviranja (če obstaja).
Prav tako moj sistem deluje pri razmeroma nizki napetosti (12 V)
, saj vsaka pot skozi diodo proti vzbujanju zmanjša napetost za več voltov, to tudi močno zmanjša učinkovitost.
Uporabljam običajne diode usmernikov in lahko dobim boljše zmogljivosti, če uporabim nekaj posebnih diod z nižjo padcem napetosti.
Spodaj je seznam vhodov in izhodov na Arduinu.
Vključite tudi grafikone in fotografije moje deske. 2-
digitalna vstopna dvorana 1
120 K odpornost GND 3
digitalne vhodne dvorane 2
120 K odpornost GND 4
Hall 3 digitalni vhod-
120 K upornost GND 5
1 digitalni izhod v seriji s 400 ohm uporom 6
2 digitalni izhodi serije s 400 OHM uporniki 7 digitalni izhodi z 400 OHM 9-digitalnim izhodom EN 1 v
seriji 400 OHM 9-digitalni izhod v seriji 400 OHM 9-
digitalni izhod z 400 OHM 9-digitalnim izhodom EN 2 IN EN 1 IN EN 2 IN EN 2 IN EN 2 IN EN
2 IN EN 2 IN 1 OHM REPORT 9-RAZPOROČNI Serija s 400 ohm uporom 11-
EN 3 digitalni izhod je v seriji s 400 ohm uporom, 100 K ohm potenciometrom, s 5 V in GND, ki je povezan na obeh koncih, in analognim pin 0, priključen na sredini.
Ta potenciometer se uporablja za krmiljenje hitrosti motorja in zavorne prostornine.
5 V napajalnika se uporablja tudi za vodenje senzorjev dvorane (glej korak 5).
Tu je celoten program, ki sem ga napisal za Ardjuino, ki vključuje komentarje:/* bldc_congroller 3. 1.
1* 3 David Glazer.
Serija X je ST L6234 3-
fazni gonilnik motorja IC * Tekaški disk Drivni motor v smeri urinega kazalca * z regenerativnim zaviranjem * hitrost motorja in zaviranje, ki ga nadzira en potenciometer * Motor položaj s tremi
senzorji za dvorano * Arduino sprejema izhod iz 3 Hall Sensors (zatiči 2,3,4)
* in pretvori svoje kombinacije v 6 KHZ v 6-fazno spreminjajoči se v 6-fazno spreminjajo
. EN 1,2, 3 * 3 Na zatičkih 5,6, 7 (v 1,2,3)
Priključite simulacijo v 0 na potenciometer, da spremenite delovni cikel PWM in spremenite * in
*
regenerativno
zaviranje
* Allstate1
;




​() {pinmode (2, vhod);
/Hall 1 pinmode (3, vhod);
/Dvorana 2 pinmode (4, vhod);
/L6234 Hall 3/izhod gonilnika motorja PinMode (5, izhod);
/V 1 pinmode (6, izhod);
/V 2 pinmode (7, izhod);
/V 3 pinmode (9, izhod);
/En 1 pinmode (10, izhod);
/En 2 pinmode (11, izhod);
/En 3/serijsko. začetek (9600);
Če boste uporabljali serijsko povezavo, prosimo, razkrijte to vrstico.
Ukaz Flush na koncu programa.
/* Nastavite frekvenco PWM na zatičih 9, 10 in 11/nastavite PWM na 32 kHz za zatiče 9, 10/najprej očistite vse tri bite pred delitvi: int prescalerval = 0x07;
/Ustvari spremenljivko, imenovano prescalerval, in jo nastavite tako, da je enaka binarni številki \ '00000111 \' tccr1b & = ~ prescaler
/in vrednost v tccr0b z binarnim številom \ '11111000 \' /zdaj nastavite ustrezen bit: int predinkodiranja: int pred-enkodiranje bit: int pred-enkodiranje:
/Nastavite prescalerval, da se enakomerno poda na binarno številko \ '00000001 \' tccr1b | = Prescalerval2;
/Ali vrednost v tccr0b z binarnim številom \ '00000001 \' /nastavi pwm na 32 kHz za pin 3,11 (
ta program uporablja samo pin 11)
/Počistite vse tri pred-telesne bite najprej: TCCR2B & = ~ pred telesno;
/In vrednost v tccr0b z binarnim številom \ '11111000 \'/zdaj nastavite ustrezen bit pred koncediranjem: tccr2b | = Predkodiranje bit 2;
/Ali vrednost v tccr0b z binarnim številom \ '00000001 \'/najprej počistite vse tri predhodno kodirane bite:}
glavna zanka/prgrom void Loop () {
/Time = Millis ();
Čas po začetku tiskarskega programa. println (čas); // serijsko. natisni (\ '\');
Trček = analogread (0);
/Throttle Potentiometer MSPS = MAP (
Thrttle, 512,1023, 0,255);
/Vožnja je preslikana na zgornjo polovico potenciometra BSpeed ​​= zemljevid (
plin, 0,511,255, 0);
/Half-Del Regenerative zaviranje na dnu lonca/msps ed = 100;
/Za odpravljanje napak Hallstate1 = DigitalRead (2);
/Preberite vhodno vrednost iz dvorane 1 2 = digitalno branje (3);
/Preberite vhodno vrednost iz dvorane 2 3 = digitalno branje (4);
Preberite vhodno vrednost/numerično pisanje iz dvorane 3 (8, Hallstate1);
/Kadar je ustrezen senzor v veliki moči, se bo LED vklopila
prvotno uporabljena za odpravljanje napak DigitalWrite (9, Hallstate2);
// DigitalWrite (10, Hallstate3); Hallval = (Hallstate1)+ (2*Hallstate2)+ (4*Hallstate3);
/Izračunajte binarne vrednosti 3 dvoranskih senzorjev/* serije. natisni (\ 'H 1: \');
Za odpravljanje napak serijska vrata. Println (Hallstate1); Serijsko. natisni (\ 'H 2: \'); Serijsko. Println (Hallstate2); Serijsko. natisni (\ 'h 3: \'); Serijsko. Println (Hallstate3); Serijsko. println (\ '\');
*/// serijsko. println (mspeed); // serijsko. Println (Hallval); // serijsko. natisni (\ '\');
/Spremljajte izhod/zamuda tranzistorja (1000);
/* T1 = digitalRead (2); // t1 = ~ t1;
T2 = digitalRead (4); // t2 = ~ t2;
T3 = digitalRead (5); // t3 = ~ t3; Serijsko. tisk (t1); Serijsko. natisni (\ '\ t \'); Serijsko. tisk (t2); Serijsko. natisni (\ '\ t \'); Serijsko. tisk (t3); Serijsko. natisni (\ '\'); Serijsko. natisni (\ '\'); Serijsko. tisk (digitalRead (3)); Serijsko. natisni (\ '\ t \'); Serijsko. tisk (digitalRead (9)); Serijsko. natisni (\ '\ t \'); Serijsko. println (digitalRead (10)); Serijsko. natisni (\ '\'); Serijsko. natisni (\ '\'); // zamuda (500);
*/Sprememba faze vožnje/vsaka binarna številka ima primer, ki ustreza različnim vklopljenim/bitnim matematikom, ki se uporablja za spreminjanje vrednosti izhodnega arduino:/Portd vsebuje izhod v pin na gonilnici L6234/izhod, ki se uporablja za določitev, ali zgornji tranzistor ali spodnji tranzistor/en PIN za vsako fazo nadzoruje 555 -ov, ki je na voljo, ali nastavite, ali je PWM ali izklopljen, ali nastavite PWM ali nastavite PWM ali
nastavite, ali nastavite, ali je PWM ali izklopljen, ali je PWM naklonjen ali naklopljen ali naklonjen ANTIPT ALI PRIPRAVLJEN nadzorovana s potenciometrom). if (dušica> 511) {Switch (Hallval) {
primer 3:/Portd = 1111xxx00;
/Pričakovani izhod PIN 0-
7 XXX se nanaša na vhod v dvorano in portd & = B00011111 ne smete spremeniti;
Portd | = B01100000;
/ANALOWRITE (9, MSPEED);
PWM na fazni (
vrhunski tranzistor) analogni (10,0);
Zapiranje faze B (dolžnost = 0) analogna (11,255); // faza c on -duty = 100% (
tranzistor z nizkim cenim) preloma;
Primer 1:/portd = b001xxx00;
/Pričakovani izhod pin 0-
7 Portd & = B00011111;
/Portd | = B00100000;
/ANALOWRITE (9, MSPEED);
PWM na fazni (
vrhunski tranzistor) analogno (10,255); // faza B ON (
tranzistor z nizkim cenovnim) analognim pisanjem (11,0); // faza B izklopljena (dolžnost = 0) prekinitev;
Primer 5:/Portd = B101XXX00;
/Pričakovani izhod pin 0-
7 Portd & = B00011111;
/Portd | = B10100000; AnalogWrite (9,0); AnalogWrite (10,255); AnalogWrite (11, mspeed); odmor;
Primer 4:/portd = b100xxx00;
/Pričakovani izhod pin 0-
7 Portd & = B00011111;
Portd | = bym000;
/ANALOWRITE (9,255); AnalogWrite (10,0); AnalogWrite (11, mspeed); odmor;
Primer 6:/portd = b110xxx00;
/Pričakovani izhod pin 0-
7 Portd & = B00011111;
Portd B11. 000 =;
/ANALOWRITE (9,255); AnalogWrite (10, mspeed); AnalogWrite (11,0); odmor;
Primer 2:/portd = b010xxx00;
/Pričakovani izhod pin 0-
7 Portd & = B00011111;
B0201700 Portd | =;
/ANALOWRITE (9,0); AnalogWrite (10, mspeed); AnalogWrite (11.255); odmor; }}
/Regenerativna sprememba zavorne faze /Portd (
izhod v PIN na L6234)
so ​​zatiči vedno nizki, zato se med regenom uporabljajo le nizki tranzistorji v vsaki fazi. zaviranje. else {
/portd = b000xxx00;
/Pričakovani izhod pin 0-
7 Portd & = B00011111;
Portd | = bym0000; // Switch (Hallval) {
primer 3: Analogy Writing (9, BSPEED); // AnalogWrite (9,0); AnalogWrite (10,0); AnalogWrite (11,0); odmor;
Primer 1: pisanje analogije (9, BSPEED); AnalogWrite (10,0); AnalogWrite (11,0); odmor;
Primer 5: Analogijo pisanje (9,0); AnalogWrite (10,0); AnalogWrite (11, BSPEED); odmor;
Primer 4: Analogijo pisanje (9,0); AnalogWrite (10,0); AnalogWrite (11, BSPEED); odmor;
Primer 6: Analogijo pisanje (9,0); AnalogWrite (10, BSPEED); AnalogWrite (11,0); odmor;
Primer 2: Analogijo pisanje (9,0); AnalogWrite (10, BSPEED); AnalogWrite (11,0); odmor; }}
/Čas = Millis ();
Čas po začetku tiskarskega programa. println (čas); // serijsko. natisni (\ '\'); // serijsko. flush ();
/Če želite odpraviti odpravljanje napak s serijskim vhodom, prosim za odpravo}
Mislim, da je operacija, ki jo Arduino izvaja v tem projektu, tako preprosta, da se zdi, da je to nalogo opraviti z mikroprocesorjem.
Dejansko zapiske o aplikacijah L6234 priporočajo preprost programirljivi matriki vrat (
GAL16V8, narejen iz rešetkaste polprevodnika), da opravi to delo.
Nisem seznanjen s programiranjem te naprave, vendar so stroški IC le 2 USD. 39 v Newarku.
Tudi druga podobna integrirana vezja so zelo poceni.
Druga možnost je, da sestavite diskretna logična vrata.
Prišel sem z nekaj razmeroma preprostimi logičnimi sekvencami, ki bi lahko poganjale L6234 IC iz izhoda treh senzorjev dvorane.
Grafikon za stopnjo A je prikazan spodaj, in tabela resnice za vse tri stopnje (
da se za logično vezje faz B in C ni treba preklopiti na drugo stran \ 'ali.
s tem pristopom je, da je na vsaki stopnji skoraj 20 povezav.
Težava

Hoprio Group, profesionalni proizvajalec krmilnikov in Motors, je bil ustanovljen leta 2000. Skupinski sedež v mestu Changzhou v provinci Jiangsu.

Hitre povezave

Kontaktirajte nas

Whatsapp: +86 18921090987 
Tel: +86-18921090987 
E -poštni: sales02@hoprio.com
Dodaj: No.19 Mahang South Road, High-Tech District Wujin, mesto Changzhou, provinca Jiangsu, Kitajska 213167
Pustite sporočilo
Kontaktirajte nas
Copyright © 2024 Changzhou Hoprio E-Commerce Co., Ltd. Vse pravice pridržane. Zemljevid spletnega mesta | Politika zasebnosti