Nykyään harrastajat ovat erittäin kiinnostuneita harjatonta DC: n (BLDC) hallitsemisesta
verrattuna perinteiseen tasavirtamoottoriin, moottorin suorituskyky on parantunut, energiatehokkuus on myös parantunut, mutta sitä on vaikeampi käyttää. monia hyllytuotteita .
Tätä tarkoitusta varten on olemassa
Esimerkiksi on paljon pieniä BLDCS -ohjaimia, jotka toimivat erittäin hyvin RC -lentokoneissa.
Niille, jotka haluavat tutkia BLDC: n hallintaa perusteellisemmin, teollisuuskäyttäjille on myös monia erilaisia mikro-ohjaimia ja muita elektronisia laitteita, joilla on yleensä erittäin hyvä dokumentaatio.
Toistaiseksi en ole löytänyt kattavaa kuvausta siitä, kuinka Arduino-mikrokontrolleria käytetään BLDC-ohjaukseen.
Lisäksi, jos olet kiinnostunut tekemään regeneratiivista jarrutusta tai käyttämään BLDC: tä sähköntuotantoon, en ole löytänyt monia tuotteita, jotka sopivat käytettäväksi pienten moottorien kanssa, enkä ole saanut selville, kuinka 3-vaiheista generaattoria voidaan hallita.
Tämä rakenne oli alun perin tarinassa reaaliaikaisesta
laskelmasta, jatkavan sitä kurssin päätyttyä.
Projektin ajatuksena on näyttää suhteellinen malli hybridi -autosta, jossa on vauhtipyörän energian varastointi ja regeneratiivinen jarrutus.
Projektissa käytetty moottori on pieni BLDCS, joka on puhdistettu vaurioituneesta tietokoneen kiintolevyltä.
Tämä käsikirja kuvaa kuinka käyttää Arduino-mikro-ohjausta ja Hall-
vaikuttaa asentoantureihin ajo- ja regeneratiivisissa jarrutusmuodoissa.
Huomaa, että Oscillisoftin vierailu on erittäin hyödyllistä, ellei välttämätöntä tämän projektin loppuun saattamiseksi.
Jos et pääse laajuuteen, olen lisännyt joitain ehdotuksia siitä, kuinka se tehdään ilman laajuutta (vaihe 5).
Yksi asia, jota tämän projektin ei tulisi sisällyttää mihinkään todelliseen moottorin ohjaimeen, on mikä tahansa turvatoiminto, kuten yli nykyinen suojaus.
Itse asiassa pahinta on, että poltat HD -moottorin.
Ylivirtasuojan toteuttaminen nykyisellä laitteistolla ei kuitenkaan ole vaikeaa, ja ehkä teen sen jossain vaiheessa.
Jos yrität hallita suurempaa moottoria, lisää nykyinen suoja suojataksesi moottoriasi ja omaa turvallisuuttasi.
Haluan yrittää käyttää tätä ohjainta suuremmalla moottorilla, joka voi tehdä 'todellista \' työtä, mutta en ole vielä oikea.
Huomasin, että eBay myi 86 W -auton noin 40 dollarilla.
Näyttää hyvältä ehdokkaalta.
Siellä on myös RC -verkkosivusto, nimeltään \ 'gobrushless \', joka myy sarjoja, jotka kokoaavat oman BLDC: n.
Nämä eivät ole liian kalliita, ja se on kokemuksen arvoinen rakentaa yksi.
Huomaa, että tämän verkkosivuston moottorille ei ole Hall -anturia. Pues!
Tämän rakenteen kirjoittaminen on iso työ.
Toivon, että pidät siitä hyödyllisenä, tee kommenttisi ja ehdotuksesi.
Digitaalinen yleismittari (DMM)-
Jos DMM: ssä on taajuusmittarin oskilloskooppi (
on parempi olla vähintään 2 kanavaa)
T8 TORX -ohjain (
tarvitset yhden niistä minkä tahansa kiintolevyn avaamiseksi).
Siellä on hyvä rautakauppa.
Konepaja ja nopea prototyyppi (
nämä ovat erittäin hyödyllisiä, mutta mielestäni tämä projekti voidaan tehdä ilman niitä).
Materiaali BLDC-moottorin magneettinen rengas tietokoneen kiintolevystä (
puolet moottorista)
toisesta kiintolevyn hopealevystä (3-6)
on toinen pieni moottori kiintolevyn hopealevyllä (DC-harjattu OK)
kuminauha tai (mieluiten)
harjaton DC-moottori, jolla on toinen moottori elektroninen leipälevy kiinteä lanka kuukausi Arduino Duemilanove 120 K ohm Respetor 400 OHMIOMEMETRITON VASTUUSPOKOREMATON VASTUUSPÄ k ohmst-mikropiiri L6234 kolmivaiheinen moottorin ohjain IC Kaksi 100 UF-kondensaattoria Yksi 10 NF-kondensaattori One 220 NF -kondensaattori yksi 1 UF-kondensaattori One 100 UF-
Kolme vastaanottavaa diodia yksi 2
kondensaattori Käsikirja (
sitä ohjataan takaisin potentiaalisen induktion avulla).
Näistä kahdesta linkistä löytyy teknisiä tietoja ja hankintatietoja: Jos aiot tehdä tämän projektin, ehdotan, että otat aikaa ymmärtää perusteellisesti BLDC: n toiminnan ja hallintalaitteet.
Verkossa on suuri määrä viitteitä (
katso joitain ehdotuksia alla).
Sisällytän kuitenkin projektiin joitain kaavioita ja pöytiä, joiden pitäisi auttaa sinua ymmärtämään.
Tässä on luettelo käsitteistä, jotka mielestäni ovat tärkeimpiä tämän projektin ymmärtämisessä: MOSFET-transistorit 3-vaiheinen puolisiltaan 6-3-3
-vaiheinen lauseen
pulssin leveyden modulaatio (PWM) Hall-
mikrosiru AVR443: Anturit-kenraali Reference DC -moottori Perusperiaatteet digitaalisten sijaintitunnisteiden kontrollien
kontrollin kontrollin kontrollin kontrollin kontrollien kontrollien
kontrollien kontrollin avulla Star Hall -anturi, hyvä video kiintolevyn moottorin puhdistamisesta, mutta kirjoittaja näyttää kulkevan moottoria askelmoottorina ja askelmoottorina. TARKASTUS L6234 Motor Drive IC: n BLDC: n viite -verkkosivulle, mukaan lukien tietolomakkeet, sovellushuomautukset ja ostotiedot.
Ilmainen näyte PM -harjaton moottoriveto hybridi -sähköajoneuvojen sovelluksiin.
Tämä on ainoa artikkeli, jonka havaitsin, joka kuvaa regeneratiivisen jarrutusvaiheen muutoksen järjestystä.
Tämä paperi, regeneratiivinen jarrutus sähköajoneuvoissa, on hyödyllinen, lainasin siitä muutamia numeroita, mutta mielestäni se kuvaa virheellisesti, kuinka uudistaminen toimii.
Tein tämän projektin kierrätetyllä levy -moottorilla, koska se oli helppo läpäistä ja haluan käyttää pientä matalan jännitemoottoria BLDC: n ohjaaman johdon oppimiseen eikä aiheuta turvallisuusongelmia.
Lisäksi Hall -anturin magneettikonfiguraatiosta tulee hyvin yksinkertainen käyttämällä magneettista rengasta (roottori)
näistä moottoreista (katso vaihe 4).
Jos et halua mennä kaikkiin vaivaa Hall-anturin asentamiseen ja kalibrointiin (vaiheet 5-7),
tiedän, että ainakin joitain CD/DVD-käyttömoottoreita, jotka on rakennettu HALL-anturilla.
Jotta voisimme tarjota moottorin kääntyvän hitauden ja antaa heille vähän kuormaa, panin moottorille 5 kiintolevyä, liimattu varovasti yhteen vähän voimakkaan liiman kanssa ja liimattu moottoriin (
tämä teki vauhtipyörän alkuperäisessä projektissani).
Jos aiot poistaa moottorin kiintolevyltä, tarvitset T8 -TORX -aseman kotelon avaamiseksi (
yleensä Centeron -etiketin sauvan takana on piilotettu kaksi ruuvia)
ja sisäiset ruuvit, jotka pitävät moottorin paikoillaan.
Sinun on myös poistettava päänlukija (
Sound Circle Executive)
tällä tavalla. Voit ottaa muistin päästäksesi moottoriin.
Lisäksi tarvitset toisen saman kiintolevyn moottorin roottorin poistamiseksi kyseisestä moottorista (
sisällä on magneetti).
Moottorin erottamiseksi tarttuin roottoriin (ylhäältä)
moottorin näkymää ja piiskain sen staattoriin (alaosa).
Kaksi ruuvitaltta on 180 astetta toisistaan.
Moottoria ei ole helppoa pitää riittävän tiukassa parissa ilman muodonmuutoksia.
Haluat ehkä rakentaa puun V-
lohkon, jota käytetään tähän tarkoitukseen.
Porasin reikän sorvin magneettiseen renkaaseen niin, että se sopii mukavasti moottorin päälle.
Jos et pysty käyttämään sorvaa, voit korjata moottorin käänteisen roottorin voimakkaalla liimalla.
Alla olevat kuvat 2 ja 3 esittävät yhden moottorin sisustuksen, jonka olen purkautunut.
Ensimmäisellä puoliskolla (roottori) on 8 napaa (
magneetti kääritty muoviin).
Toisella puoliskolla (staattori)
on 12 paikkaa (käämiä).
Jokaisessa kolmesta moottorivaiheesta on 4 paikkaa sarjassa.
Joissakin HD -moottoreissa on kolme kosketusta alareunassa, yksi kosketus vaihetta kohti, ja toinen on moottorin keskikanava (
missä kolme vaihetta kohtaa).
Tässä projektissa keskikohtaa ei vaadita, mutta se voi olla hyödyllinen anturivapaassa hallinnassa (
toivon vapauttavan muistiinpanon yhtenä päivänä anturivapaasta hallinnasta).
Jos moottorillasi on neljä kontaktia, voit tunnistaa vaiheen ohmimittarilla.
Keskimmäisen hanan ja vaiheen välinen vastus on puolet minkä tahansa kahden vaiheen välisestä vastuksesta.
Suurin osa BLDC-moottoreista käsittelevästä kirjallisuudesta käsittelee niitä, joilla on tikkaiden muotoinen takapotentiaalimuoto, mutta kiintolevymoottorilla näyttää olevan takapotentiaali, joka näyttää siniltä (katso alla).
Sikäli kuin tiedän, siniaaltomoottorin ajaminen siniaaltolla PWM toimii hyvin, vaikka tehokkuus voi pudota jonkin verran.
Kuten kaikki BLDC-moottorit, tämä koostuu kolmivaiheisesta puoliresistorista
(
katso 2. valokuvat alla).
Käytän
sillan ST MICRO: n (L6234) tekemää IC: tä, joka tunnetaan myös nimellä moottorikuljettaja.
L6234: n sähköyhteys on esitetty vaiheessa 8.
Kolmas alla olevassa valokuvassa on kaavamainen kaavio moottorin ohjaimesta ja kolmesta moottorivaiheesta.
Jotta moottori toimisi myötäpäivään, kytkin tehdään seuraavassa järjestyksessä (
ensimmäinen kirjain on ylempi transistori ja toinen kirjain on alempi transistori)
: Vaihe 1 2 3 4 5 6 Myötäpäivään: CB, AB, AC, BC, BA, CA vastapäivään: BC, BA, CA, CB, AB, AC, nämä 6-
askeleet vaativat \ 'sähköinen aste \' '. moottorit.
Siksi kunkin moottorin pyörimisnopeus tapahtuu neljä kertaa.
Nämä kaksi sekvenssiä näyttävät olevan samat, mutta ne eivät ole samat, koska 6-
askeljaksossa CW: lle virran suunta vaiheen läpi on yksi suunta, ja CCW: lle nykyinen suunta on vastakkainen.
Voit nähdä tämän itse levittämällä akun tai virtalähteen jännite kumpaankin moottorivaiheeseen.
Jos käytät jännitettä, moottori liikkuu hiukan yhteen suuntaan ja pysähtyy.
Jos pystyt nopeasti vaihtavan jännitteen vaiheessa yhdessä yllä olevista sekvensseistä, voit kiertää moottoria manuaalisesti.
Transistorit ja mikrokontrollerit täydentävät kaikki nämä kytkimet erittäin nopeasti, vaihtamalla satoja kertoja sekunnissa, kun moottori toimii suurella nopeudella.
Huomaa myös, että jos jännitettä levitetään molemmiin vaiheisiin, moottori liikkuu hiukan ja pysähtyy sitten.
Tämä johtuu siitä, että vääntömomentti on nolla.
Näet tämän alla olevassa neljäs kuvassa, joka näyttää moottorivaiheiden takapotentiaalin.
Tämä on siniaalto.
Kun aalto kulkee X-
akselin läpi, tämän vaiheen antama vääntömomentti on nolla. Kuuden
askeleen BLDC-vaiheenmuutosjärjestyksessä, jota ei koskaan tapahtunut.
Ennen kuin tietyn vaiheen vääntömomentti muuttuu alhaiseksi, teho kytketään toiseen vaiheyhdistelmään.
Suuremmat BLDC -moottorit valmistavat yleensä Hall -anturit moottorin sisällä.
Jos sinulla on sellainen moottori, voit ohittaa tämän vaiheen.
Tiedän myös, että on ainakin joitain CD/DVD-käyttömoottoreita, jotka on rakennettu jo Hall-anturiin.
Kun moottori pyörii, paikan havaitsemiseen käytetään kolme Hall -anturia, joten vaihemuutos suoritetaan oikeaan aikaan.
HD -moottorini on jopa 9000 rpm (150 Hz).
Koska pyörää kohti on 24 muutosta, 9000 rpm, kone vaihdetaan joka 280 mikrosekuntia.
Arduino-mikro-ohjain toimii 16 MHz: n nopeudella, joten jokainen kellosykli on 0. 06 mikrosekuntia.
En tiedä, kuinka monta kellosykliä vaaditaan lauseen vähentämisen suorittamiseen, mutta vaikka vaaditaan 100 kellosykliä, ts. Se vie 5 mikrosekuntia jokaisesta lauseen vähentämisestä.
HD -moottoreilla ei ole Hall -antureita, joten on tarpeen asentaa ne moottorin ulkopuolelle.
Anturi on kiinnitettävä moottorin kiertoon nähden ja altistettava sarjaan napoja, jotka ovat yhdenmukaisia moottorin pyörimisen kanssa.
Ratkaisuni on poistaa magneettinen rengas samasta moottorista ja asentaa se ylösalaisin ohjattavaan moottoriin.
Asensin sitten kolme salin anturia tämän magneettisen renkaan yläpuolelle, 30 astetta toisistaan moottorin akseliin (
120 asteen sähkömoottorin kierto).
Hall -anturipidikkeeni koostuu yksinkertaisesta pidikkeestä, joka koostuu kolmesta minun käsittelemästä alumiiniosasta ja kolmesta nopeasta prototyypistä valmistetusta muoviosasta.
Jos sinulla ei ole näitä työkaluja, ei pitäisi olla vaikea löytää toista tapaa osoittaa sijainti.
Hall -anturien kiinnikkeiden luominen on haastavampaa.
Tämä on mahdollinen tapa työskennellä: 1.
Löydä oikean kokoinen muovianturi ja voit epoksia huolellisesti Hall -anturin. 2.
Paperille tulostetaan malli, jolla on sama ympyrä kuin magneettirenkaan säde, ja kolme merkkiä ovat 15 astetta 3 toisistaan.
Liimaa malli levylle ja käytä sitten mallia ohjeena sijoittaaksesi Hall -anturin epoksin huolellisesti paikoilleen.
Nyt kun Hall -anturit on asennettu moottoriin, kytke ne alla olevaan piiriin ja testaa ne DMM: llä tai oskilloskoopilla varmistaaksesi, että lähtö kasvaa ja pienempi moottorin pyöriessä.
Suoritan nämä anturit alle 5 V: n käyttämällä Arduinon 5 V -lähtöä.
Hall -anturi on korkea tai matala lähtö (1 tai 0)
riippuu siitä, tuntavavatko ne Etelämantereen vai arktisen alueen.
Koska ne ovat 15 astetta toisistaan, magneetit pyörivät niiden alla ja muuttavat napaisuutta 45 asteen välein, nämä kolme anturia eivät koskaan ole korkeat tai matala samanaikaisesti.
Kun moottori pyörii, anturin lähtö on 6-
seuraavassa taulukossa näkyvä vaihekuvio.
Anturi on kohdistettava moottorin liikkeen kanssa siten, että yksi kolmesta anturista muuttuu tarkasti moottorin vaiheen muutoksen asennossa.
Tässä tapauksessa ensimmäisen salin anturin (H1) nousevan reunan
tulisi olla yhdenmukainen C -yhdistelmän (korkea) ja B (matala) avaamisen kanssa.
Tämä vastaa transistorien 3 ja 5 kytkemistä päälle siltapiirissä.
Kohdistan anturin magneettiin oskilloskoopin kanssa.
Tätä varten minun on käytettävä kolmea laajuuskanavaa.
Kierrän moottoria kytkemällä toisen moottorin hihnaan ja mittaamalla takapotentiaalin kahden vaihekombinaation (
a ja b, a ja c) välillä
tämä on kaksi sinistä.
Kuten alla olevan kuvan aallot,
katso sitten oskilloskoopin kanavan 3 Hall -anturin 2 signaali.
Hall -anturin pidike on käännetty, kunnes Hall -anturin nouseva reuna on täysin linjassa pisteen kanssa, jossa vaihemuutos tulisi suorittaa (katso alla).
Ymmärrän nyt, että saman kalibroinnin tekemiseen on vain kaksi kanavaa.
Jos vaiheyhdistelmän B BEMF
käyttämällä C: tä, H2: n nouseva reuna liittyy BC-käyrään.
Syy, miksi vaihemuutos tulisi suorittaa täällä, on pitää moottorin vääntömomentti aina mahdollisimman korkealla.
Takaosan potentiaali on verrannollinen vääntömomenttiin ja huomaat, että jokainen vaihemuutos tapahtuu, kun takapotentiaali kulkee seuraavan vaiheen käyrän alapuolella.
Siksi todellinen vääntömomentti koostuu kunkin vaiheyhdistelmän korkeimmasta osasta.
Jos pääset käyttämään laajuutta, tässä ajatukseni kohdistamisesta.
Tämä on todella mielenkiintoinen harjoitus kaikille, jotka haluavat tietää kuinka BLDC -moottori toimii.
Jos moottorin vaihe A on kytketty (positiivinen) ja B (negatiivinen)
virtalähteeseen ja kytke virtalähde päälle, moottori pyörii hiukan ja pysähtyy.
Sitten, jos negatiivinen voimajohto siirretään C -vaiheeseen ja virta kytketään päälle, moottori kääntyy edelleen ja pysähtyy.
Seuraava sekvenssin osa on siirtää positiivinen johto vaiheeseen B jne.
Kun teet tämän, moottori pysähtyy aina, missä vääntömomentti on nolla, mikä vastaa yhtä paikkaa, jossa kaavio kulkee kaavion X-akselin läpi.
Huomaa, että kolmannen vaiheen yhdistelmän nollapiste vastaa kahden ensimmäisen yhdistelmän vaihemuutoksen sijaintia.
Siksi B-C-
C-yhdistelmän nolla-vääntömomentin sijainti on missä haluat sijoittaa H2: n nousevan reunan.
Merkitse tämä sijainti hienoilla merkinnöillä tai terävillä terillä ja säädä sitten Hall -anturin pidike DMM: llä, kunnes H2: n lähtö on täsmälleen korkeampi tällä merkinnällä.
Vaikka poikkeatkin vähän kouluaikataulustasi, moottorin tulisi toimia hyvin.
Kolme moottorivaihetta saa tehoa L6234: n kolmivaiheisesta moottorin ohjaimesta.
Huomasin, että tämä on hyvä tuote, joka voi kestää ajan testin.
Komponenttejasi vahingossa on vahingossa paistamaan voimaelektroniikkaa käytettäessä, en ole sähköinsinööri ja en tiedä aina mitä tapahtuu.
Kouluohjelmassamme teimme oman 3-
vaiheen puoli-sillan tuotoksen 6 MOSFET-transistoria ja 6 diodia.
Käytimme tätä toisen kuljettajan hip4086: lla, mutta meillä on paljon ongelmia tässä asennuksessa
poltimme joukon transistoreita ja siruja.
Suoritan L6234 (
niin moottori) 12 V: n kohdalla.
L6234: llä on epätavallinen tulojoukko 6 transistorin puoliltaan ohjaamiseksi.
Jokaisella transistorilla ei ole tuloa, mutta
jokaiselle kolmelle vaiheelle ja sitten toinen tulo (in) -syöttö (in)
valitse mikä transistori avoimessa vaiheessa (ylempi tai alempi).
Esimerkiksi, kytke transistori 1 (ylempi) ja 6 (alempi)
päälle sekä EN1 että EN3 ovat korkeat (
EN2 Low pitämään vaiheen suljettu)
in1 korkea, in3 matala.
Tämä tekee vaiheyhdistelmästä-C: n.
Vaikka L6234 -sovellushuomautus ehdotti PWM: n soveltamista, jota käytetään moottorin nopeuden hallintaan nastaan, päätin tehdä sen en -nastalla, koska tuolloin mielestäni olisi \ 'outo \' kääntää vaiheen ylä- ja alempi transistorit vuorotellen \ '. Itse
asiassa näyttää siltä, että heillä ei ole mitään väärää kääntää molempien poistot, jotka eivät ole samanlaisia, että samassa vaiheessa, niin kuin ne ovat samanlaisia. Virta
.
Suuremmat versiot, katso L6234: n dokumentaatio.
Huomaa: Mike Anton teki piirilevyn L6234: lle, joka (uskon)
korvaa tämän kappaleen ja säästää sen kokoamisen tehtävän.
Katso nämä linkit teknisiin tietoihin ja ostotietoihin: En ole löytänyt paljon noin 3-
Kuvailen ymmärrystäni siitä, miten se toimii.
Huomaa, että en ole sähköinsinööri ja kiitämme mitään korjauksia selitykseeni.
Ajon aikana ohjausjärjestelmä lähettää virran kolmeen moottorivaiheeseen tavalla, joka maksimoi vääntömomentin.
Regeneratiivisessa jarrutuksessa ohjausjärjestelmä myös maksimoi vääntömomentin, mutta tällä kertaa negatiivinen vääntömomentti aiheuttaa moottorin hidastumisen lähettäessään virran takaisin akkuun.
Käyttämäni regeneratiivinen jarrutusmenetelmä tuli paperista Oakridge National Laboratory Yhdysvalloissa. S. Govt.
Laboratorio, joka tekee paljon tutkimusta automoottoreille.
Alla oleva kaavio tulee toisesta paperista, joka auttaa havainnollistamaan sen toimintaa (
mielestäni kuitenkin tässä toisessa artikkelissa annettu selitys on osittain väärä).
Muista, että moottorin pyörittäessä BEMF -jännite moottorivaiheessa vaihtelee ylös ja alas.
Kuvassa se näyttää hetken, jolloin BEMF on korkea vaihe B ja matala vaiheessa.
Tässä tapauksessa virran on mahdollista virtaa B: stä.
Regeneratiivisen jarrutuksen kannalta kriittinen, huippuluokan transistorit kytketään päälle ja pois päältä nopeasti (
tuhannet PWM-kytkimet sekunnissa).
Kun huippuluokan transistorikytkin sammutetaan;
Kun matala transistori on kytketty päälle, nykyiset virtaat ensimmäisessä kuvassa.
Power Electronicsin suhteen piiri on kuin laite, nimeltään Boost Converter, jossa energiaa tallennetaan moottorin vaiheeseen (
Wikipedialla on hyvä artikkeli, joka selittää kuinka Boost Converter toimii).
Tämä energia vapautuu, kun huippuluokan transistori on sammutettu, mutta suuremmalla jännitteellä virta virtaa heti \ 'Excoition \' -diodin läpi kunkin transistorin vieressä ja palaa sitten akkuun.
Diodi estää virtaa virtaavan akusta moottoriin.
Samanaikaisesti virra tähän suuntaan (
toisin kuin ajaminen)
on vuorovaikutuksessa magneettirenkaan kanssa tuottaakseen negatiivisen vääntömomentin, joka hidastaa moottoria alas.
Matalapuolinen transistori käyttää PWM-kytkintä, ja PWM: n työsykli hallitsee jarrutuksen määrää.
Ajon aikana moottorin kommutointi siirtyy yhdistelmästä toiseen ajoissa korkeimman mahdollisen vääntömomentin ylläpitämiseksi.
Regeneratiivisen jarrun kommutointi on hyvin samanlainen, koska jotkut kytkentätila saa moottorin tuottaa mahdollisimman paljon negatiivista vääntömomenttia.
Jos katsot videota ensimmäisessä vaiheessa, voit nähdä, että regeneratiivinen jarru toimii hyvin, mutta se ei toimi hyvin.
Mielestäni tärkein syy on, että käyttämäni kiintolevymoottori on erittäin alhainen vääntömomentin moottori, joten se ei tuota paljon BEMF: ää paitsi korkeimmalla nopeudella.
Alhaisemmalla nopeudella on hyvin vähän regeneratiivista jarrutusta (jos sellaista on).
Lisäksi järjestelmäni kulkee
myös suhteellisen alhaisella jännitteellä (12 V), koska jokainen polku anti-diodin läpi vähentää jännitettä useilla volteilla, tämä myös vähentää tehokkuutta.
Käytän normaaleja tasasuuntaajasiodeja ja voin saada paremman suorituskyvyn, jos käytän joitain erityisiä diodeja, joiden jännitteen pudotus on alhaisempi.
Alla on luettelo Arduinon tuloista ja lähtöistä.
Sisällytä myös taulukon kaaviot ja valokuvat. 2-
Digitaalinen sisäänkäynnin HALL 1
120 K GND 3
Digitaalisen sisääntulon hallin 2
120 K Resistanssi GND 4
Hall 3 Digitaalinen syöttö-
120 K GND 5
1 Digitaalisen tulosteen vastus sarjassa 400 ohmin vastus 6
2
Digitaaliset lähdöt sarjassa 400 ohmin vastus 7 3
digitaalista lähtöä sarjassa
400 OHM: n digitaalista ulostuloa. Vastus 11-
EN 3-digitaalinen lähtö on sarjassa, jossa on 400 ohmin vastus, 100 K ohmin potentiometri, 5 V: n ja GND: n kytkettynä molemmissa päissä ja analoginen nasta 0, kytketty keskelle.
Tätä potentiometriä käytetään moottorin nopeuden ja jarrutusmäärän ohjaamiseen.
5 V: n virtalähdettä käytetään myös Hall -anturien ajamiseen (katso vaihe 5).
Tässä on koko ohjelma, jonka kirjoitin Ardjuinolle, joka sisältää kommentit:/* bldc_congroller 3. 1.
1* 3, kirjoittanut David Glazer.
X-sarja on ST L6234 3-
vaiheen moottorin kuljettaja ic * juokseva levyn käyttömoottori myötäpäivään * regeneratiivisella jarrutuksella * moottorin nopeus ja jarrutus yhdellä potentiometrillä * moottorin sijainti kolmella sal-
efektianturilla * Arduino vastaanottaa lähtö 3: sta Hall-anturille (nastat 2,3,4)
ja muuntaa yhdistelmänsä 6 erilaiseen vaihemuotoiseen vaiheeseen (nastat 9, 10, 11
* EN 1,2, 3 * 3 Tee nastat 5,6, 7, vastaavasti (1,2,3)
n potentiometriin muuttamaan pwm
*
Kytke
:
simulaatio 0 AllState1
;
() {pinMode (2, tulo);
/Hall 1 Pinmode (3, tulo);
/Hall 2 Pinmode (4, tulo);
/L6234 Hall 3/PinMode -moottorin ohjaimen lähtö (5, lähtö);
/1 pinmode (6, lähtö);
/2 pinmode (7, lähtö);
/3 pinmode (9, lähtö);
/En 1 pinmode (10, lähtö);
/En 2 pinmode (11, lähtö);
/En 3/sarja. alkaa (9600);
Jos käytät sarjayhteyttä, ota huomioon tämä rivi.
Flush -komento ohjelman lopussa.
/* Aseta PWM-taajuus nastailla 9, 10 ja 11/aseta PWM-32 kHz nastaille 9, 10/Selvitä ensin kaikki kolme ennen jakamista bittiä: int prescalervaL = 0x07;
/Luo prescalervalvaali-niminen muuttuja ja aseta se yhtä suuri kuin binaarinumero \ '00000111 \' tccr1b & = ~ prescaler
/ja arvo TCCR0B: ssä binaarisella lukumäärällä \ '11111000 \' /aseta nyt asianmukainen ennen koodausbittiä: int-koodausbitti 2 = 1;
/Aseta prescalervalvaali yhtä suuri kuin binaariluku \ '00000001 \' tccr1b | = prescalerval2;
/Tai arvo TCCR0B: ssä binaarisella lukumäärällä \ '00000001 \' /aseta PWM-32 kHz nastalle 3,11 (
tämä ohjelma käyttää vain nasta 11)
/tyhjennä kaikki kolme edeltävää bittiä ensin: tccr2b & = ~ pre-kalerpilla;
/Ja arvo TCCR0B: ssä binaarisella lukumäärällä \ '11111000 \'/aseta nyt asianmukainen koodausbitti: tccr2b | = Ennen koodausbitti 2;
/Tai arvo TCCR0B: ssä binaarisella lukumäärällä \ '00000001 \'/tyhjennä ensin kaikki kolme esikoodattua bittiä:}
/prgrom void loop () {
/time = millis ();
Aika tulostusohjelman alkamisen jälkeen. println (aika); // Sarja. painaa(\'\');
Kaasu = analogread (0);
/Kaasupotentiometri MSPS = Kartta (
kaasu, 512 1023, 0,255); /Ajo kartoitetaan potentiometrin BSPEED = kartta (
yläosaan ;
kaasu, 0,511,255, 0)
/Puoliksi regeneratiivinen jarrutus POT/MSPS ED = 100;
/HallState1 = DigitalRead (2);
/Lue syöttöarvo salista 1 2 = digitaalinen luku (3);
/Lue syöttöarvo Hall 2 3 = digitaalinen luku (4);
Lue syöttöarvo/numeerinen kirjoitus sal 3 (8, HallState1);
/Kun vastaava anturi on suuressa tehossa, LED käynnistyy
alun perin DigitalWriten (9, HallState2) virheenkorjaukseen;
// DigitalWrite (10, HallState3); Hallval = (HallState1)+ (2*HallState2)+ (4*HallState3);
/Laske 3 Hall -anturin binaariarvot/* -sarjan. tulosta (\ 'h 1: \');
Sarjaportin virheenkorjausta varten. println (HallState1); Sarja. tulosta (\ 'h 2: \'); Sarja. println (HallState2); Sarja. tulosta (\ 'h 3: \'); Sarja. println (HallState3); Sarja. println (\ '\');
*/// Sarja. println (mspeed); // Sarja. println (Hallval); // Sarja. painaa(\'\');
/Seuraa transistorin lähtö/viive (1000);
/* T1 = digitaaliread (2); // t1 = ~ t1;
T2 = digitaalirea (4); // t2 = ~ t2;
T3 = digitaalirea (5); // t3 = ~ t3; Sarja. tulosta (T1); Sarja. tulosta (\ '\ t \'); Sarja. tulosta (T2); Sarja. tulosta (\ '\ t \'); Sarja. tulosta (T3); Sarja. painaa(\'\'); Sarja. painaa(\'\'); Sarja. tulosta (digitaalirea (3)); Sarja. tulosta (\ '\ t \'); Sarja. tulosta (DigitalRead (9)); Sarja. tulosta (\ '\ t \'); Sarja. println (DigitalRead (10)); Sarja. painaa(\'\'); Sarja. painaa(\'\'); // viivästyminen (500);
*/Ajovaihevaihdossa/Jokaisella binaarilukulla on tapaus, joka vastaa erilaisia transistoreita, jotka on kytketty/bittimatematiikkaan, jota käytetään ARDUINO:/PORTD -arvon arvon muuttamiseen:/Portd sisältää L6234 -ohjaimen nastaisen tulosteen/lähtöä, jota käytetään määrittämään, hallitsiko ARDUINO -komentojen analoginen alempi transistori/EN -nasta PWM: n (PWM
: n. kaasuarvo, jota ohjataan potentiometrillä). if (kaasu> 511) {kytkin (Hallval) {
tapaus 3:/portd = 1111xxx00;
/PIN-nastan 0-
7 XXX odotettu tulos viittaa Hall Input and Portd & = B00011111: ään;
Portd | = B01100000;
/Analowriitti (9, Mspeed);
PWM vaiheessa (
huippuluokan transistori) analogwrite (10,0);
Vaiheen B sulkeminen (velvollisuus = 0) analogikirjoitus (11 255); // Vaihe C on -duty = 100% (
matalan päätransistori) tauko;
Tapaus 1:/portd = b001xxx00;
/Odotettu nastan 0-
7 portd & = b00011111;
/Portd | = B00100000;
/Analowriitti (9, Mspeed);
PWM vaiheessa (
huippuluokan transistori) analogwrite (10 255); // Vaihe B (
matalan päätransistori) analogikrite (11,0); // Vaihe B pois (velvollisuus = 0) tauko;
Tapaus 5:/portd = b101xxx00;
/Odotettu nastan 0-
7 portd & = b00011111;
/Portd | = B10100000; Analogwrite (9,0); Analogwrite (10 255); Analogwrite (11, mspeed); tauko;
Tapaus 4:/portd = b100xxx00;
/Odotettu nastan 0-
7 portd & = b00011111;
Portd | = BYM000;
/Analowriitti (9 255); Analogwrite (10,0); Analogwrite (11, mspeed); tauko;
Tapaus 6:/portd = b110xxx00;
/Odotettu nastan 0-
7 portd & = b00011111;
Portd B11. 000 =;
/Analowriitti (9 255); Analogwrite (10, mspeed); Analogwrite (11,0); tauko;
Tapaus 2:/portd = b010xxx00;
/Odotettu nastan 0-
7 portd & = b00011111;
B0201700 Portd | =;
/Analowriitti (9,0); Analogwrite (10, mspeed); Analogwrite (11 255); tauko; }}
/Regeneratiivinen jarruvaiheen muutos /PORTD (
PIN: n lähtö L6234: llä)
nastat ovat aina alhaisia, joten kunkin vaiheen aikana käytetään vain alhaisia transistoreita jokaisessa vaiheessa. Jarrutus. else {
/portd = b000xxx00;
/Odotettu nastan 0-
7 portd & = b00011111;
Portd | = bym0000; // kytkin (Hallval) {
tapaus 3: analogian kirjoittaminen (9, bspeed); // AnalogWrite (9,0); Analogwrite (10,0); Analogwrite (11,0); tauko;
Tapaus 1: analogian kirjoittaminen (9, BSPEED); Analogwrite (10,0); Analogwrite (11,0); tauko;
Tapaus 5: analogian kirjoittaminen (9,0); Analogwrite (10,0); Analogwrite (11, Bspeed); tauko;
Tapaus 4: analogian kirjoittaminen (9,0); Analogwrite (10,0); Analogwrite (11, Bspeed); tauko;
Tapaus 6: analogian kirjoittaminen (9,0); Analogwrite (10, bspeed); Analogwrite (11,0); tauko;
Tapaus 2: analogian kirjoittaminen (9,0); Analogwrite (10, bspeed); Analogwrite (11,0); tauko; }}
/Aika = Millis ();
Aika tulostusohjelman alkamisen jälkeen. println (aika); // Sarja. painaa(\'\'); // Sarja. huuhtele ();
/Jos haluat virheenkorjauksen sarjaportin avulla, ota huomioon}
Mielestäni Arduinon tekemä toimenpide tässä projektissa on niin yksinkertainen, että näyttää siltä, että tämä tehtävä tekee tämän tehtävän mikroprosessorin kanssa.
Itse asiassa L6234: n sovellushuomautukset suosittelevat yksinkertaista ohjelmoitavaa porttiryhmää (
Gal16v8, joka on valmistettu hila -puolijohteesta) tämän työn tekemiseksi.
En tunne tämän laitteen ohjelmointia, mutta IC: n kustannukset ovat vain 2 dollaria. 39 Newarkissa.
Muut samanlaiset integroituneet piirit ovat myös erittäin halpoja.
Toinen vaihtoehto on koota hienovaraiset logiikkaportit.
Keksin joitain suhteellisen yksinkertaisia logiikkajaksoja, jotka voisivat ajaa L6234 IC: tä kolmen Hall -anturin ulostulosta.
Vaiheen A taulukko on esitetty alla, ja kaikkien kolmen vaiheen totuustaulukko (
B- ja C -vaiheiden logiikkapiirin osalta \ 'ei \' -ovi on vaihdettava \ 'tai.
lähestymistavan ongelmana on, että jokaisessa vaiheessa on lähes 20 yhteyksiä, joten se vie melko vähän työtä.
Tämän