Nykyään harrastajat ovat erittäin kiinnostuneita Brushless DC (BLDC) -ohjauksesta
Perinteiseen tasavirtamoottoriin verrattuna moottorin suorituskyky on parantunut, myös energiatehokkuus on parantunut, mutta sitä on vaikeampi käyttää. monia valmiita tuotteita.
Tätä tarkoitusta varten on olemassa
Esimerkiksi on olemassa paljon pieniä BLDC-ohjaimia, jotka toimivat erittäin hyvin RC-lentokoneissa.
Niille, jotka haluavat perehtyä BLDC:n ohjaukseen syvällisemmin, on myös monia erilaisia mikrokontrollereita ja muita teollisuuskäyttäjille tarkoitettuja elektronisia laitteita, joilla on yleensä erittäin hyvä dokumentaatio.
Toistaiseksi en ole löytänyt kattavaa kuvausta siitä, kuinka Arduino-mikro-ohjainta 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 pienille moottoreille soveltuvia tuotteita, enkä ole saanut selville 3-vaihegeneraattorin ohjaamisesta.
Tämä rakenne oli alun perin tarinassa reaaliaikaisesta
laskennasta, jatkan sitä kurssin päätyttyä.
Projektin ideana on esittää hybridiauton suhteellinen malli, jossa on vauhtipyörän energian varastointi ja regeneratiivinen jarrutus.
Projektissa käytetty moottori on vaurioituneelta tietokoneen kovalevyltä siivottu pieni BLDC.
Tässä oppaassa kuvataan, kuinka Arduino-mikroohjainta ja Hall-
Affects-asentoantureita käytetään ajo- ja regeneratiivisessa jarrutuksessa.
Huomaa, että oscillisoftissa käyminen on erittäin hyödyllistä, ellei välttämätöntä, tämän projektin suorittamisessa.
Jos et pääse käsiksi laajuuteen, olen lisännyt ehdotuksia siitä, miten se tehdään ilman laajuutta (vaihe 5).
Yksi asia, jota tämän projektin ei pitäisi sisällyttää mihinkään varsinaiseen moottorin ohjaimeen, on mikään turvatoiminto, kuten ylivirtasuoja.
Itse asiassa pahinta on, että poltat HD-moottorin loppuun.
Ylivirtasuojauksen toteuttaminen nykyisellä laitteistolla ei kuitenkaan ole vaikeaa, ja ehkä teen sen jossain vaiheessa.
Jos yrität ohjata suurempaa moottoria, lisää ylivirtasuoja suojellaksesi moottoriasi ja omaa turvallisuutesi.
Haluan yrittää käyttää tätä säädintä suuremmalla moottorilla, joka voi tehdä \'oikea\' työtä, mutta minulla ei ole vielä oikeaa.
Huomasin, että eBay myi 86 W:n auton noin 40 dollarilla.
Vaikuttaa hyvältä ehdokkaalta.
On myös RC-sivusto nimeltä \'GoBrushless\', joka myy sarjoja, jotka kokoavat oman BLDC:n.
Nämä eivät ole liian kalliita, ja sellaisen rakentaminen on kokemuksen arvoista.
Huomaa, että tällä sivustolla ei ole hall-anturia moottorille. Vau!
Tämän rakenteen kirjoittaminen on iso työ.
Toivon, että se on sinulle hyödyllinen, ole hyvä ja kirjoita kommenttisi ja ehdotuksesi.
Digitaalinen yleismittari (DMM) -
Jos DMM:ssäsi on taajuusmittarin oskilloskooppi (
On parempi, että siinä on vähintään 2 kanavaa)
T8 Torx -ohjain (
Tarvitset yhden niistä minkä tahansa kiintolevyn avaamiseen).
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 magneettirengas tietokoneen kiintolevyltä (
Puolet moottorista)
Toiselta kiintolevyltä Useita (3-6)
Kiintolevyn hopealevyssä on toinen pieni moottori (DC harjattu OK)
Kuminauha tai (mieluiten)
Harjaton DC-moottori kahvalla toisella moottorilla elektroninen leipälevy umpilanka kuukausi Arduino Duemilanove resistor kuusi tai 4 resistor 120 k to ohm resistor pyörivä poteniometri 100 k ohmST mikropiiri L6234 kolmivaihemoottoriohjain IC kaksi 100 uF kondensaattoria yksi 10 nF kondensaattori yksi 220 nF kondensaattori yksi 1 uF kondensaattori yksi 100 f kondensaattori kolme vastaanottodiodia Yksi
FSS41 Amp- 3 Huomautus
: Mike Anton suunnitteli ja myi tuotteen, joka korvaa tässä oppaassa esittämäni tehoelektroniikan ja Hall-anturipiirit (
Sitä ohjataan takapotentiaaliinduktiolla).
Tekniset tiedot ja hankintatiedot löytyvät näistä kahdesta linkistä: Jos aiot tehdä tämän projektin, suosittelen, että käytät aikaa ymmärtääksesi perusteellisesti, miten BLDC toimii ja ohjaa.
Verkossa on suuri määrä viitteitä (
katso alta joitain ehdotuksia).
Sisällytän kuitenkin projektiini joitain kaavioita ja taulukoita, joiden pitäisi auttaa sinua ymmärtämään.
Tässä on luettelo käsitteistä, jotka ovat mielestäni tärkeimpiä tämän projektin ymmärtämiseksi: MOSFET-transistorit 3-vaiheinen puolisilta 6-
3-vaiheinen lauseen pienennys
Vaihemoottorin pulssin leveysmodulaatio (PWM) Hall-
Mikrosiru AVR443: anturit-yleinen referenssi DC-moottori Perusperiaatteet digitaalisille asentomoottorille
DC-moottoriin perustuva DC-moottorin ohjaus brush-vapaa kolmivaiheinen
Phase-ohjaus. Flying Star Hall -anturin BLDC-moottoriohjaus, hyvä video kovalevyn moottorin puhdistamisesta, mutta kirjoittaja näyttää käyttävän moottoria askelmoottorina ja askelmoottorina. Tarkempi l6234-moottorin IC:n BLDC:n viitesivu, joka sisältää tietolomakkeet, sovelluksen huomautukset ja ostotiedot.
Ilmainen näyte PM-harjattomasta moottorikäytöstä hybridisähköajoneuvoihin.
Tämä on ainoa löytämäni paperi, joka kuvaa regeneratiivisen jarrutuksen vaiheen muutoksen järjestystä.
Tämä paperi, hyötyjarrutus sähköajoneuvoissa on hyödyllinen, lainasin siitä muutaman numeron, mutta mielestäni se kuvaa väärin regeneroinnin toimintaa.
Tein tämän projektin kierrätetyllä levyasemamoottorilla, koska se oli helppo kulkea läpi ja tykkään käyttää pientä pienjännitemoottoria oppiakseni BLDC:n ohjaaman johdon ilman turvallisuusongelmia.
Lisäksi hall-anturin magneettikonfiguraatiosta tulee hyvin yksinkertainen käyttämällä magneettirengasta (roottoria)
toisesta näistä moottoreista (katso vaihe 4).
Jos et halua ryhtyä kaikkeen Hall-anturin asennukseen ja kalibrointiin (vaiheet 5-7) liittyvät vaivat,
tiedän, että Hall-anturiin on ainakin joitain CD/DVD-asemamoottoreita.
Antaakseni moottorille hieman kääntöhitautta ja antaakseni niille vähän kuormitusta, laitoin moottoriin 5 kiintolevyä, liimasin hellästi yhteen pienellä vahvalla liimalla ja liimasin moottoriin (
Tämä teki vauhtipyörän alkuperäisessä projektissani).
Jos aiot irrottaa moottorin kiintolevyltä, tarvitset T8-torx-aseman kotelon irrottamiseksi (
yleensä kaksi ruuvia on piilotettu tikun taakse centeron-tarrassa)
ja sisäiset ruuvit, jotka pitävät moottorin paikallaan.
Sinun on myös poistettava pää Reader (
Sound circle executive)
Tällä tavalla voit ottaa muistilevyn ulos päästäksesi moottoriin.
Lisäksi tarvitset toisen saman kiintolevymoottorin roottorin poistamiseksi kyseisestä moottorista (
Sisällä on magneetti).
Moottorin purkamiseksi tartuin roottoriin (ylhäältä)
Moottorin ruuvipuristimeen ja kallistain sen staattoriin (alhaalta)
Kaksi ruuvitalttaa ovat 180 astetta toisistaan.
Ei ole helppoa pitää moottoria riittävän tiukassa parissa ilman muodonmuutoksia.
Haluat ehkä rakentaa
tähän tarkoitukseen käytettävän puisen v-lohkon.
Porasin sorvin magneettirenkaaseen reiän, jotta se mahtuu mukavasti moottorin päälle.
Jos et pysty käyttämään sorvia, voit kiinnittää ylösalaisin olevan roottorin moottoriin vahvalla liimalla.
Alla olevat kuvat 2 ja 3 esittävät yhden purkamistani moottorin sisusta.
Ensimmäisellä puoliskolla (roottori) on 8 napaa (
magneetti kääritty muoviin).
Toisella puoliskolla (staattori)
on 12 uraa (käämiä).
Jokaisessa kolmesta moottorin vaiheesta on 4 sarjassa olevaa paikkaa.
Joissakin HD-moottoreissa on kolme kosketinta alaosassa, yksi kosketin vaihetta kohti ja toinen on moottorin keskihana (
missä kolme vaihetta kohtaavat).
Tässä projektissa ei tarvita keskihanaa, mutta se voi olla hyödyllinen anturittomassa ohjauksessa (
toivottavasti julkaisen jonain päivänä muistiinpanon anturittomasta ohjauksesta).
Jos moottorissasi on neljä kosketinta, voit tunnistaa vaiheen ohmimittarilla.
Keskihanan ja vaiheen välinen vastus on puolet minkä tahansa kahden vaiheen välisestä resistanssista.
Suurin osa BLDC-moottoreita koskevasta kirjallisuudesta käsittelee niitä, joissa on tikkaiden muotoinen takapotentiaaliaaltomuoto, mutta kiintolevymoottorilla näyttää olevan takapotentiaali, joka näyttää siniltä (katso alla).
Tietääkseni siniaaltomoottorin ajo siniaalto-PWM:llä toimii hyvin, vaikka tehokkuus saattaa laskea jonkin verran.
Kuten kaikki BLDC-moottorit, tämäkin koostuu kolmivaiheisesta puolitransistorisillasta
(
katso 2. kuvat alla).
Käytän
sillalle ST Micron (L6234) valmistamaa IC:tä, joka tunnetaan myös moottoriohjaimena.
L6234:n sähköliitäntä on esitetty vaiheessa 8.
Alla olevassa kolmannessa kuvassa on kaavio moottoriohjaimesta ja kolmesta moottorin vaiheesta.
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, AB, AC:n
askeleen'c6-aste' 360, mutta vain fyysinen aste 90 näille moottoreille.
Siksi kunkin moottorin pyörimisnopeus esiintyy neljä kertaa.
Nämä kaksi sekvenssiä näyttävät olevan samat, mutta ne eivät ole samoja, koska 6-
vaiheisessa sarjassa CW:n virran suunta vaiheen läpi on yksi suunta ja CCW:ssä virran suunta on päinvastainen.
Voit nähdä tämän itse syöttämällä akun tai virtalähteen jännitettä jompaankumpaan moottorin vaiheeseen.
Jos käytät jännitettä, moottori liikkuu hieman yhteen suuntaan ja pysähtyy.
Jos voit nopeasti muuttaa vaiheen jännitettä jollakin yllä olevista sarjoista, voit pyörittää moottoria manuaalisesti.
Transistorit ja mikro-ohjaimet suorittavat kaikki nämä kytkimet erittäin nopeasti ja vaihtuvat satoja kertoja sekunnissa, kun moottori käy suurella nopeudella.
Huomaa myös, että jos jännite syötetään molempiin vaiheisiin, moottori liikkuu hieman ja pysähtyy sitten.
Tämä johtuu siitä, että vääntömomentti on nolla.
Näet tämän alla olevassa neljännessä valokuvassa, joka näyttää moottorin vaiheparin takapotentiaalin.
Tämä on siniaalto.
Kun aalto kulkee x-
akselin läpi, tämän vaiheen vääntömomentti on nolla. Kuusivaiheisessa
BLDC-vaiheen muutossekvenssissä, jota ei koskaan tapahtunut.
Ennen kuin vääntömomentti tietyssä vaiheessa laskee alhaiseksi, teho kytketään toiseen vaiheyhdistelmään.
Suuremmat BLDC-moottorit valmistetaan yleensä moottorin sisällä olevilla Hall-antureilla.
Jos sinulla on tällainen moottori, voit ohittaa tämän vaiheen.
Tiedän myös, että ainakin joitain CD/DVD-asemamoottoreita on sisäänrakennettu jo Hall-anturiin.
Moottorin pyöriessä asennontunnistukseen käytetään kolmea Hall-anturia, joten vaiheenvaihto tapahtuu oikealla hetkellä.
HD-moottorini pyörii jopa 9000 rpm (150 Hz).
Koska pyörää kohden on 24 vaihtoa 9000 rpm:llä, kone vaihdetaan 280 mikrosekunnin välein.
Arduino-mikro-ohjain toimii 16 MHz:n taajuudella, joten jokainen kellojakso on 0,06 mikrosekuntia.
En tiedä kuinka monta kellojaksoa tarvitaan lauseen supistamisen suorittamiseen, mutta vaikka vaadittaisiin 100 kellojaksoa, eli jokainen lauseen supistaminen kestää 5 mikrosekuntia.
HD-moottoreissa ei ole Hall-antureita, joten ne on asennettava moottorin ulkopuolelle.
Anturi on kiinnitettävä suhteessa moottorin pyörimiseen ja altistettava sarjalle napoja, jotka ovat yhdenmukaisia moottorin pyörimisen kanssa.
Ratkaisuni on poistaa magneettirengas samasta moottorista ja asentaa se ylösalaisin ohjattavaan moottoriin.
Asensin sitten kolme Hall-anturia tämän magneettirenkaan yläpuolelle, 30 astetta toisistaan moottorin akselille (
120 asteen sähkömoottorin kierto).
My Hall-anturipidike koostuu yksinkertaisesta pidikkeestä, joka koostuu kolmesta käsittelemistäni alumiiniosasta ja kolmesta nopealla prototyypillä tehdystä muoviosasta.
Jos sinulla ei ole näitä työkaluja, ei pitäisi olla vaikeaa löytää muuta tapaa ilmoittaa sijainti.
Hall-antureiden kiinnikkeiden luominen on haastavampaa.
Tämä on yksi mahdollinen tapa toimia: 1.
Etsi oikean kokoinen muovikaukalo ja voit epoksoida hall-anturin huolellisesti. 2.
Paperille tulostetaan malli, jonka ympyrä on sama kuin magneettirenkaan säde, ja kolme merkkiä ovat 15 asteen 3 etäisyydellä toisistaan.
Liimaa malli levyyn ja käytä sitten mallia oppaana asettamalla hall-anturin epoksi varovasti paikalleen.
Nyt kun Hall-anturit on asennettu moottoriin, kytke ne alla olevaan piiriin ja testaa ne DMM:llä tai oskilloskoopilla varmistaaksesi, että ulostulo nousee ja laskee moottorin pyöriessä.
Käytän näitä antureita alle 5 V:n jännitteellä Arduinon 5 V ulostulolla.
Hall-anturin teho on korkea tai matala (1 tai 0)
Riippuu siitä, tuntevatko ne Etelämantereen vai Arktisen.
Koska ne ovat 15 asteen etäisyydellä toisistaan, magneetit pyörivät niiden alla ja muuttavat napaisuutta 45 asteen välein, nämä kolme anturia eivät koskaan ole korkealla tai matalalla samaan aikaan.
Kun moottori pyörii, anturin lähtö on 6-
Seuraavassa taulukossa näkyvä askelkuvio.
Anturi on kohdistettava moottorin liikkeen kanssa siten, että yksi kolmesta anturista muuttuu tarkasti moottorin vaiheenvaihtoasennossa.
Tässä tapauksessa ensimmäisen Hall-anturin (H1) nousevan reunan
tulee olla yhdenmukainen yhdistelmän C (korkea) ja B (matala) aukon kanssa.
Tämä vastaa siltapiirin transistorien 3 ja 5 kytkemistä päälle.
Kohdistan anturin magneetin kanssa oskilloskoopilla.
Tätä varten minun on käytettävä kolmea laajuuskanavaa.
Pyöritän moottoria kytkemällä toisen moottorin hihnaan ja mittaan takapotentiaalin kahden vaiheyhdistelmän välillä (
A ja B, A ja C)
Tämä on kaksi siniä.
Kuten alla olevan kuvan aallot.
Katso sitten Hall-anturin 2 signaalia oskilloskoopin kanavalla 3.
Hall-anturin pidikettä käännetään, kunnes Hall-anturin nouseva reuna on täysin kohdakkain vaiheen vaihtokohdan kanssa (katso alla).
Ymmärrän nyt, että on vain kaksi kanavaa tehdä sama kalibrointi.
Jos vaiheyhdistelmän B BEMF -
käyttämällä C:tä, H2:n nouseva reuna liittyy BC-käyrään.
Syy siihen, miksi vaiheen vaihto tulisi tehdä tässä, on pitää moottorin vääntömomentti aina mahdollisimman korkeana.
Takapotentiaali on verrannollinen vääntömomenttiin ja huomaat, että jokainen vaihemuutos tapahtuu, kun takapotentiaali menee seuraavan vaiheen käyrän alapuolelle.
Siksi todellinen vääntömomentti koostuu kunkin vaiheyhdistelmän suurimmasta osasta.
Jos et pääse käsiksi laajuuteen, tässä on ajatukseni kohdistamisesta.
Tämä on itse asiassa mielenkiintoinen harjoitus kaikille, jotka haluavat tietää, kuinka BLDC-moottori toimii.
Jos moottorin vaihe A (positiivinen) ja B (negatiivinen) on kytketty
virtalähteeseen ja kytketään virta päälle, moottori pyörii hieman ja pysähtyy.
Sitten, jos negatiivinen virtajohto siirretään C-vaiheeseen ja virta kytketään päälle, moottori pyörii edelleen ja pysähtyy.
Jakson seuraava osa on siirtää positiivinen johto vaiheeseen B jne.
Kun teet tämän, moottori pysähtyy aina kohtaan, jossa 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 vaiheenmuutoskohtaa.
Siksi yhdistelmän B-C-yhdistelmän nollavääntömomentti
on paikka, johon haluat sijoittaa h2:n nousevan reunan.
Merkitse tämä asento hienoilla merkinnöillä tai terävillä terillä ja säädä sitten Hall-anturin pidikettä DMM:llä, kunnes H2-lähtö on täsmälleen tämän merkin yläpuolella.
Vaikka poikkeaisit hieman kouluaikataulustasi, moottorin pitäisi toimia hyvin.
Kolmen moottorin vaihe saa virran L6234 kolmivaiheisesta moottoriohjaimesta.
Huomasin, että tämä on hyvä tuote, joka kestää ajan testin.
On monia tapoja paistaa komponentteja vahingossa tehoelektroniikkaa käytettäessä, en ole sähköinsinööri enkä aina tiedä mitä tapahtuu.
Kouluohjelmassani teimme oman 3-
vaiheisen puolisiltalähtömme, jossa oli 6 MOSFET-transistoria ja 6 diodia.
Käytimme tätä toisen ajurin Intersilin HIP4086:ssa, mutta meillä on paljon ongelmia tämän asennuksen kanssa.
Poltimme joukon transistoreita ja siruja.
Käytän L6234:ää (
siis moottoria) 12 V:lla.
L6234:ssä on epätavallinen joukko tuloja 6 transistorin puolisillan ohjaamiseksi.
Jokaisella transistorilla ei ole tuloa, vaan aktivointi (EN)
-tulo jokaiselle kolmelle portaalle ja sitten toinen tulo (IN)
Valitse avoimen vaiheen transistori (ylempi vai alempi).
Kytke esimerkiksi transistori 1 (ylempi) ja 6 (alempi) päälle.
Sekä EN1 että EN3 ovat korkeat (
EN2 matala pitääksesi portaan kiinni)
IN1 High, IN3 matala.
Tämä tekee vaiheyhdistelmästä-C.
Vaikka L6234-sovellushuomautuksessa ehdotettiin moottorin nopeuden ohjaamiseen käytetyn PWM:n käyttämistä IN-nastassa, päätin tehdä sen EN-nastalla, koska tuolloin mielestäni olisi \'outoa\' kytkeä vaiheen ylä- ja alatransistorit päälle vuorotellen.
kumpikaan ei kulje virran läpi
Minun menetelmälläni, korkea vaihe on päällä ja pois päältä vuorotellen PWM-taajuudella, kun taas alhainen vaihe pysyy päällä koko vaiheen muutoksen ajan,
olen lisännyt nastaliitännän Arduino-korttiin. Lisäsin myös 2.
5 ampeerin sulakkeen positiivisen akkujohdon ja virtapiirin väliin.
Tämä luku on vähän pieni, joten katso lisätietoja L6234:n dokumentaatiosta
, joka (luulen)
korvaa tämän kappaleen ja säästää sen kokoamista varten korjauksia ajon aikana, ohjausjärjestelmä lähettää virran kolmeen moottorivaiheeseen tavalla, joka maksimoi vääntömomentin, mutta tällä
Alla oleva taulukko on peräisin toisesta artikkelista, joka
auttaa havainnollistamaan sen toimintaa ( Tässä
virheellinen. Muista, että kun moottori pyörii,
kertaa se on negatiivinen momentti, joka hidastaa moottoria, kun se lähettää virran takaisin akkuun Tutkimus autojen moottoreille
BEMF-jännite vaihtelee ylöspäin ja alaspäin jarrutus, matalan tason transistorit käynnistyvät ja sammuvat nopeasti
toisessa artikkelissa annettu selitys on kuitenkin
osittain
(Tuhansia PWM
-kytkimiä sekunnissa). vapautuu, kun
kulkee
matalan tason transistori sammutetaan, mutta korkeammalla jännitteellä virta
mahdollista
välittömästi jokaisen transistorin vieressä olevan \'antiviritys\' -diodin läpi ja palaa sitten akkuun. Diodi estää virtaa virtaamasta akusta moottoriin Transistori käyttää PWM-kytkintä, ja
PWM:n toimintajakso ohjaa jarrutuksen määrää Ajon
aikana moottorin kommutointi yhdistelmästä toiseen ylläpitääkseen suurinta
vääntömomenttia ei toimi hyvin.
Mielestäni suurin syy on se, että käyttämäni kiintolevymoottori on erittäin pieni vääntömomentti, joten se ei
tuota paljon BEMF: ää, paitsi suurimmalla nopeudella, järjestelmäni toimii
Käytä normaaleja tasasuuntaisia diodeja ja voin
400 ohmin vastuksella 6 2 digitaalilähtöä sarjassa
suhteellisen alhaisella jännitteellä (
12 V ).
saada paremman suorituskyvyn, jos käytän joitain erikoisdiodeja, joilla on pienempi jännite.
400 ohmin vastuksella 7 3 digitaalilähtöä sarjassa 400 ohmin vastuksella 9- EN 1:n digitaalinen lähtö sarjassa 400 ohmin
vastuksella 10- EN 2:n digitaalinen lähtö sarjassa 400 ohmin vastuksella, sarja EN3 a 400 ohmin vastuksella 0 100 k Ohm
potentiometri, jossa molemmissa päissä on 5 v ja gnd kytkettynä ja analoginen nasta 0 kytkettynä. Tällä potentiometrillä ohjataan moottorin nopeutta ja jarrutusvoimakkuutta (
katso kohta 5, joka
sisältää kommentit:/* .1 .3 . . . . ) ST L6234 3-vaiheinen moottoriohjain IC * pyörivä levymoottori myötäpäivään *
regeneratiivisella jarrutuksella * moottorin nopeutta ja jarrutusta
(nastat 2, 3, 4) *
ohjataan yhdellä potentiometrillä * moottorin
vastaanottaa ulostulon 3
* Arduino
Ja muuntaa
Hall-anturista
asentoa kolmella Hall-anturilla
3
M 9, 1 Vastaa standardeja
niiden
yhdistelmän 6
eri vaiheenmuutosaskeleeksi nastoilla *
3*
3 DO nastoissa 5,6, 7 (IN 1,2,3) * Yhdistä simulaatio kohdassa 0 potentiometriin muuttaaksesi PWM-
EN 1,2,
*
välillä * * 0-499: jarru * 500- *10 23:23 kommentti. rivit tulostamalla eri arvoja sarjaliitäntään
käyttöjaksoa ja vaihda * ajo- ja regeneratiivisen jarrutuksen
hall-sensorien arvot = 0:n taso;
/ Int allstate1
0; 2 pinMode (7,OUTPUT)
:n muuttujat int HallState3 /Kaikkien 3
; /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
connection, please uncomment this line. The flush command at the end of the program. /
serial
ensin
tyhjennä
* Set PWM frequency on pins 9, 10 ja 11/asettaa PWM 32 kHz:iin nastoissa 9, 10/
:
int prescalerVal =
kolme esijakajan bittiä
kaikki
0x07;
Luo muuttuja nimeltä prescalerVal ja aseta se vastaamaan binaarilukua \'00000111\' TCCR1r:n esiskaalausarvolla & =Bn. of \'11111000\'
/
/
nyt asetetaan esikoodausbitti:
int esikoodausbitti 2 = 1 ;
/Aseta prescalerVal vastaamaan binaarilukua
\'00000001\' TCCR1B
= prescalerVal2
/ tai 0:n arvo 0 Binaarissa 0B; PWM 32 kHz nastalle 3,11 (
) /
käyttää vain nastaa 11
Tämä ohjelma
Tyhjennä ensin kaikki kolme esikaler-bittiä: TCCR2B & =
~ Pre-calerval
/Ja arvo TCCR0B:ssä binäärinumerolla \'11111000\'/now set the Pre-Caler:-encoding bittiä varten. /Tai TCCR0B:n binääriluku
\'00000001\' potentiometri MSPs = kartta (
kaasu, 512,1023, 0,255) (2) / Read input value from Hall 2 3 =
)
Read input
value from Hall 3 (8, HallState1); (HallState1)+ (2*HallState3
/Laske 3 Hall-sensorin arvot (\'H 1: \') println
('serial)'
; Serial. print(\'H 3: \')
Serial. println(HallState3); Serial. println(\' \'); */ //Serial. println(mSpeed
)
;
;
//Serial. println(HallVal
//Serial. print
);
(\'\'); /Monitor
(1000); /* T1
= digitalRead (2); //T1 = ~T1; T2 = digitalRead (4 )
output/delay
transistor
;
//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\'); Serial. print(digitalRead(9)); Serial. print(\'\t\'); Serial. println(digitalRead(10)); Serial. print(\'\'); Serial. print(\'\'); //delay(500); */Ajovaiheen vaihto/
jokaisella binääriluvulla on tapaus, joka vastaa eri transistoreja kytkettyinä / bittimatematiikka, jota käytetään muuttamaan lähtöarduinon arvoa: /PORTD sisältää L6234-ohjaimen IN-nastan lähdön / lähtö, jota käytetään määrittämään, ohjataanko kunkin vaiheen ylempää transistoria vai alempaa transistoria/EN-nastaa Arduino-komentosyklillä P
50, aseta PONty2-analogia =50 tai kaasun arvoa ohjataan potentiometrillä, jos (kaasu > 511){kytkin (HallVal){
3:/PORTD = 1111xxx00
Tapaus
=
; /Odotettu
(9,mSpeed) ; B00011111 = B00100000 (9,mSpeed
nastalla
lähtö
) AnalogWrite(10,255) B101xxx00;
break
/
/Expected output of pin 0-
7 PORTD & = B00011111;
PORTD | = B10100000;
analogWrite(9,0); analogWrite(10,255); analogWrite(11,mSpeed
)
;
;
Case 4:/PORTD = B100xxx00;
/Expected output of pin 0-
7 PORTD &
= B00011111 / Analowrite (11,mSpeed) 000 =; analogWrite(11,0) =
;
regenin
, joten
B010xxx00
analogWrite(11,255 tauko }} /Regenerative brake phase change/PORTD (L6234:n nastat)
aikana
(
9
käytetään
,bSpeed
;
vain alhaisia transistoreita B00011111; PORTD | = bym0000; // switch (HallVal){ Case 3: analogy writing
)
// analogWrite(9,0);
(10,0); analogWrite(11,0); break; Case 1: analogy writing (9,bSpeed); analogWrite(
)
analogWrite
10,0
analogWrite
;
11,0); break;
(
Case 5: analogy writing (9,0); analogWrite(10,0); analogWrite(11,bSpeed); break;
Case 4: analogy writing (9,0); analogWrite(10,0); analogWrite(
11,bSpeed); break;
Case 6: analogy writing (9,0); analogWrite(10,bSpeed); analogWrite
(11,0); break;
Case 2: analogy writing (9,0); analogWrite(10,bSpeed); analogWrite(11,0); break; }} /
Time = millis ();
Time after the printing program starts. println(time); //Serial. print(\'\'); //Serial. flush();
I
/If you want to debug using a serial port, please uncomment}
the operation that Arduino does in
think
this project is so simple that it seems like Tämän tehtävän suorittaminen mikroprosessorilla itse asiassa suosittelee yksinkertaista ohjelmoitavaa
mutta IC:n hinta on vain 39 dollaria
porttia ( GAL16V8) tämän laitteen ohjelmointiin,
keksi joitakin suhteellisen yksinkertaisia loogisia sarjoja, jotka voisivat ohjata L6234 IC:tä
kolmen Hall-anturin lähdöstä Alla on kaavio
A-vaiheesta ja kaikkien kolmen vaiheen totuustaulukko ( B- ja C- vaiheiden logiikkapiirin saamiseksi \'not\'-ovi on kytkettävä \'-vaiheen toiselle puolelle, tai ongelma on melko lähellä
0-vaihetta.
On parasta ohjelmoida se ohjelmoitavaksi logiikkaportiksi.