bldc upravljanje motorom s arduinom, spašenim HD motorom i Hallovim senzorima
Dom » Blog » kontrola bldc motora s arduinom, spašenim HD motorom i Hallovim senzorima

bldc upravljanje motorom s arduinom, spašenim HD motorom i Hallovim senzorima

Pregleda: 0     Autor: Urednik stranice Vrijeme objave: 2020-09-02 Porijeklo: stranica

Raspitajte se

facebook gumb za dijeljenje
gumb za dijeljenje na twitteru
gumb za dijeljenje linije
wechat gumb za dijeljenje
linkedin gumb za dijeljenje
pinterest gumb za dijeljenje
gumb za dijeljenje WhatsAppa
gumb za dijeljenje kakao
snapchat gumb za dijeljenje
gumb za dijeljenje telegrama
podijeli ovaj gumb za dijeljenje

Danas su entuzijasti vrlo zainteresirani za upravljanje istosmjernim motorom bez četkica (BLDC).
U usporedbi s tradicionalnim istosmjernim motorom, poboljšane su performanse motora, poboljšana je i energetska učinkovitost, ali ga je teže koristiti. mnogi gotovi proizvodi.
U tu svrhu postoje
Na primjer, postoji mnogo malih BLDC kontrolera koji jako dobro rade za RC zrakoplove.
Za one koji žele dublje proučiti upravljanje BLDC-om, također postoji mnogo različitih mikrokontrolera i drugog elektroničkog hardvera za industrijske korisnike, koji obično imaju vrlo dobru dokumentaciju.
Do sada nisam pronašao sveobuhvatan opis kako koristiti Arduino mikrokontroler za BLDC kontrolu.
Također, ako ste zainteresirani za regenerativno kočenje ili korištenje BLDC za proizvodnju energije, nisam pronašao mnogo proizvoda prikladnih za upotrebu s malim motorima, niti sam saznao kako kontrolirati 3-fazni generator.
Ova je struktura izvorno bila u priči o
računanju u stvarnom vremenu, nastavljam to činiti nakon završetka tečaja.
Ideja projekta je prikazati proporcionalni model hibridnog automobila s pohranom energije na zamašnjaku i regenerativnim kočenjem.
Motor korišten u projektu mali je BLDC očišćen s oštećenog tvrdog diska računala.
Ovaj priručnik opisuje kako koristiti Arduino mikrokontroler i Hall-
Affects senzore položaja u režimima vožnje i regenerativnog kočenja.
Imajte na umu da je posjet oscillisoftu vrlo koristan, ako ne i neophodan, za dovršetak ovog projekta.
Ako ne možete pristupiti opsegu, dodao sam neke prijedloge kako to učiniti bez opsega (korak 5).
Jedna stvar koju ovaj projekt ne bi trebao uključivati ​​ni u jedan stvarni kontroler motora je bilo kakva sigurnosna funkcija kao što je zaštita od prekomjerne struje.
Zapravo, najgore je što ti izgori HD motor.
Međutim, implementacija zaštite od prekomjerne struje s postojećim hardverom nije teška i možda ću to učiniti u jednom trenutku.
Ako pokušavate upravljati većim motorom, dodajte zaštitu od prenapona kako biste zaštitili svoj motor i vlastitu sigurnost.
Želim pokušati koristiti ovaj kontroler s većim motorom koji može obaviti neki \'pravi\' posao, ali još nemam pravi.
Primijetio sam da je eBay prodao automobil od 86 W za oko 40 dolara.
Izgleda kao dobar kandidat.
Postoji i RC web stranica pod nazivom \'GoBrushless\' koja prodaje setove koji sastavljaju vlastiti BLDC.
Oni nisu preskupi i vrijedno je iskustva da se napravi jedan.
Imajte na umu da na ovoj web stranici nema Hallovog senzora za motor. Vau!
Pisanje ove strukture velik je posao.
Nadam se da će vam biti od koristi, dajte svoje komentare i prijedloge.
Digitalni multimetar (DMM) -
ako vaš DMM ima frekvencijski mjerač osciloskop (
bolje je imati najmanje 2 kanala)
T8 Torx drajver (
treba vam jedan od njih da otvorite bilo koji tvrdi disk).
Postoji dobra željezarija.
Strojna radionica i brzi prototip (
Oni su vrlo korisni, ali mislim da se ovaj projekt može izvesti i bez njih).
Materijal bldc motor magnetski prsten s tvrdog diska računala (
Polovica motora)
S drugog tvrdog diska Nekoliko (3-6)
Postoji drugi mali motor u srebrnom disku na tvrdom disku (DC četkani OK)
Gumena traka ili (po mogućnosti)
DC motor bez četkica s ručkom s drugim motorom elektronička ploča za kruh puna žica mjesec Arduino Duemilanove otpornik od 120 k ohma otpornik šest do 400 ohma linearni ili rotirajući Poteniometar 100 k ohmST mikro krug L6234 trofazni pokretač motora IC dva kondenzatora od 100 uF jedan kondenzator od 10 nF jedan kondenzator od 220 nF jedan kondenzator od 1 uF jedan kondenzator od 100 uF tri prijemne diode jedan 2.
Honeywell SS411A bipolarni osigurač Hall-5 Amp 1 držač osigurača 3
Napomena: Mike Anton dizajnirao je i prodao proizvod koji će zamijeniti krugove energetske elektronike i Hallovog senzora koje sam pokazao u ovom priručniku (
upravlja se pomoću indukcije povratnog potencijala).
Specifikacije i informacije o nabavi mogu se pronaći na ove dvije veze: Ako namjeravate raditi ovaj projekt, predlažem da odvojite vrijeme kako biste temeljito razumjeli kako BLDC radi i upravlja.
Postoji velik broj referenci na mreži (
vidi dolje za neke prijedloge).
Međutim, u svoj projekt uključujem neke grafikone i tablice koje bi vam trebale pomoći u razumijevanju.
Ovdje je popis koncepata za koje mislim da su najvažniji za razumijevanje ovog projekta: MOSFET tranzistori 3-fazni polumost 6-3
-stupanjska redukcija rečenice
Modulacija širine impulsa faznog motora (PWM) Hall-
Microchip AVR443: senzori-opća referenca istosmjernog motora Osnovni principi za digitalne senzore položaja
Upravljanje trofaznim istosmjernim motorom bez četkica na temelju upravljanja istosmjernim motorom bez četkica
Fazna BLDC kontrola motora Flying Star Hall senzora, dobar video čišćenja motora tvrdog diska, ali čini se da autor pokreće motor kao koračni motor i kao koračni motor. Specifičnija referentna web stranica za BLDC na IC motornom pogonu l6234, uključujući tablice s podacima, bilješke o aplikaciji i informacije o kupnji.
Besplatni uzorak za PM motorni pogon bez četkica za hibridna električna vozila.
Ovo je jedini dokument koji sam pronašao koji opisuje redoslijed promjene faze regenerativnog kočenja.
Ovaj rad, regenerativno kočenje u električnim vozilima je koristan, posudio sam nekoliko brojeva iz njega, ali mislim da netočno opisuje kako regeneracija radi.
Napravio sam ovaj projekt s motorom recikliranog pogona diska jer je bilo lako proći i volim koristiti mali niskonaponski motor da naučim kabel kojim upravlja BLDC i ne uzrokuje nikakve sigurnosne probleme.
Osim toga, konfiguracija magneta Hallovog senzora postaje vrlo jednostavna korištenjem magnetskog prstena (rotora)
iz drugog od ovih motora (vidi korak 4).
Ako se ne želite baviti gnjavažom oko instaliranja i kalibracije Hallovog senzora (koraci 5-7),
znam da postoje barem neki CD/DVD pogonski motori ugrađeni u Hallov senzor.
Kako bih osigurao malo inercije za okretanje motora i malo ih opteretio, stavio sam 5 tvrdih diskova na motor, nježno ih zalijepio s malo jakog ljepila i zalijepio za motor (
ovo je napravio zamašnjak u mom izvornom projektu).
Ako namjeravate ukloniti motor s tvrdog diska, potreban vam je T8 torx pogon za odvrtanje kućišta (
obično postoje dva vijka skrivena iza štapića u središnjoj naljepnici)
i unutarnji vijci koji drže motor na mjestu.
Također morate ukloniti čitač glave (
izvršni krug zvučnog kruga).
Na taj način možete izvaditi memorijski disk da biste došli do motora.
Osim toga, trebat će vam drugi isti motor tvrdog diska za uklanjanje rotora s tog motora (
unutra je magnet).
Kako bih rastavio motor, zgrabio sam rotor (gornji dio)
škripac motora i zadigao ga na stator (donji dio)
Dva su odvijača razmaknuta za 180 stupnjeva.
Nije lako držati motor na dovoljno čvrstom paru bez deformacije.
Možda ćete htjeti izgraditi drveni v-
blok koji se koristi za ovu svrhu.
Probušio sam rupu u magnetskom prstenu na strugu tako da udobno pristaje na vrh motora.
Ako ne možete koristiti tokarski stroj, možete pričvrstiti obrnuti rotor na motor jakim ljepilom.
Slike 2 i 3 ispod prikazuju unutrašnjost jednog od motora koje sam rastavio.
U prvoj polovici (rotor) nalazi se 8 polova (
magnet omotan u plastiku).
U drugoj polovici (stator)
nalazi se 12 utora (namota).
Svaka od tri faze motora ima 4 utora u seriji.
Neki HD motori imaju tri kontakta na dnu, jedan kontakt po fazi, a drugi je središnji ventil motora (
gdje se sastaju tri stupnja).
U ovom projektu nije potrebna središnja slavina, ali može dobro doći u kontroli bez senzora (
nadam se da ću jednog dana objaviti bilješku o kontroli bez senzora).
Ako vaš motor ima četiri kontakta, fazu možete identificirati ohmetrom.
Otpor između središnje slavine i faze je polovica otpora između bilo koje dvije faze.
Većina literature o BLDC motorima bavi se onima s valnim oblikom stražnjeg potencijala u obliku ljestvi, ali čini se da motor tvrdog diska ima stražnji potencijal koji izgleda kao sinus (vidi dolje).
Koliko ja znam, pogon sinusnog motora sa sinusnim PWM-om radi dobro, iako učinkovitost može donekle pasti.
Kao i svi BLDC motori, ovaj je sastavljen od trofaznog polu-
tranzistorskog mosta (
pogledajte drugu fotografiju u nastavku).
Koristim IC koji proizvodi ST Micro (L6234)
za most, poznat i kao pokretački program motora.
Električno spajanje L6234 prikazano je u koraku 8.
Treća fotografija u nastavku prikazuje shematski dijagram pokretača motora i tri faze motora.
Kako bi motor radio u smjeru kazaljke na satu, prekidač će se izvršiti sljedećim redoslijedom (
prvo slovo je gornji tranzistor, a drugo slovo je donji tranzistor)
: Korak 1 2 3 4 5 6 u smjeru kazaljke na satu: CB, AB, AC, BC, BA, CA suprotno od kazaljke na satu: BC, BA, CA, CB, AB, AC ovih 6-
Slijed koraka zahtijeva \'električni stupanj\' od 360, ali samo fizički stupanj od 90 za ove motore.
Stoga se brzina rotacije svakog motora pojavljuje četiri puta.
Čini se da su dvije sekvence iste, ali nisu iste jer za
sekvencu od 6 koraka, za CW, strujni smjer kroz fazu je jedan smjer, a za Lijevo smjer struje je suprotan.
To možete sami vidjeti primjenom napona baterije ili napajanja na bilo koju fazu motora.
Ako primijenite napon, motor će se malo pomaknuti u jednom smjeru i zaustaviti se.
Ako možete brzo promijeniti napon na fazi u jednoj od gornjih sekvenci, motor možete okretati ručno.
Tranzistori i mikrokontroleri dovršavaju sve te sklopke vrlo brzo, preklapajući se stotinama puta u sekundi kada motor radi velikom brzinom.
Također, imajte na umu da ako se napon primijeni na obje faze, motor se malo pomakne i zatim se zaustavi.
To je zato što je okretni moment jednak nuli.
To možete vidjeti na četvrtoj fotografiji ispod, koja prikazuje stražnji potencijal para faza motora.
Ovo je sinusni val.
Kada val prolazi kroz x-
osovinu, zakretni moment koji daje ova faza je nula. U u šest koraka koja se nikada nije dogodila.
sekvenci promjene faze BLDC
Prije nego moment u određenoj fazi postane nizak, snaga se prebacuje na drugu faznu kombinaciju.
Veći BLDC motori obično se proizvode pomoću Hallovih senzora unutar motora.
Ako imate takav motor, možete preskočiti ovaj korak.
Također, znam da postoje barem neki CD/DVD pogonski motori ugrađeni u već Hallov senzor.
Kada se motor okreće, za detekciju položaja koriste se tri Hall senzora, tako da se promjena faze vrši u pravom trenutku.
Moj HD motor radi do 9000 okretaja u minuti (150 Hz).
Budući da postoje 24 izmjene po kotaču, pri 9000 okretaja u minuti, stroj se mijenja svakih 280 mikrosekundi.
Arduino mikrokontroler radi na 16 MHz, tako da svaki ciklus takta iznosi 0,06 mikrosekundi.
Ne znam koliko taktova je potrebno za smanjenje rečenice, ali čak i ako je potrebno 100 ciklusa takta, to jest, potrebno je 5 mikrosekundi za svako smanjenje rečenice.
HD motori nemaju Hall senzore pa ih je potrebno ugraditi s vanjske strane motora.
Senzor treba biti fiksiran u odnosu na rotaciju motora i izložen nizu polova koji su u skladu s rotacijom motora.
Moje rješenje je ukloniti magnetski prsten s istog motora i instalirati ga naopako na motor koji treba kontrolirati.
Zatim sam instalirao tri Hall senzora iznad ovog magnetskog prstena, 30 stupnjeva jedan od drugog na osovini motora (
rotacija elektromotora za 120 stupnjeva).
Moj Hall senzor držač sastoji se od jednostavnog držača koji se sastoji od tri aluminijska dijela koja sam ja obradio i tri plastična dijela izrađena na brzom prototipu.
Ako nemate te alate, ne bi trebalo biti teško pronaći drugi način za označavanje položaja.
Stvaranje nosača za Hall senzore bit će veći izazov.
Ovo je mogući način rada: 1.
Pronađite plastičnu ladicu odgovarajuće veličine i možete pažljivo premazati Hall senzor epoksi smolom. 2.
Na papiru je otisnut predložak koji ima isti krug kao radijus magnetskog prstena, a tri oznake su udaljene 15 stupnjeva 3.
Zalijepite predložak na disk i zatim ga koristite kao vodič za pažljivo postavljanje epoksida Hall senzora na mjesto.
Sada kada su Hallovi senzori instalirani na motoru, spojite ih na krug prikazan ispod i testirajte ih pomoću DMM-a ili osciloskopa kako biste bili sigurni da izlaz postaje sve veći i niži kako se motor okreće.
Pokrećem ove senzore ispod 5 V koristeći Arduino izlaz od 5 V.
Hallov senzor ima visok ili nizak izlaz (1 ili 0).
Ovisi o tome osjećaju li Antarktik ili Arktik.
Budući da su međusobno udaljeni 15 stupnjeva, magneti se okreću ispod njih i mijenjaju polaritet svakih 45 stupnjeva, ova tri senzora nikada neće biti visoko ili nisko u isto vrijeme.
Kada se motor okreće, izlaz senzora je 6-
korak koraka prikazan u sljedećoj tablici.
Senzor mora biti usklađen s kretanjem motora tako da se jedan od tri senzora mijenja točno na poziciji promjene faze motora.
U ovom slučaju, uzlazni rub prvog Hallovog senzora (H1)
trebao bi biti u skladu s otvorom kombinacije C (visoko) i B (nisko).
To je ekvivalentno uključivanju tranzistora 3 i 5 u krugu mosta.
Poravnavam senzor s magnetom pomoću osciloskopa.
Kako bih to učinio, moram koristiti tri kanala opsega.
Rotiram motor spajanjem na remen drugog motora i mjerim povratni potencijal između dvije kombinacije faza (
A i B, A i C).
Ovo su dva sinusa.
Kao valovi na slici ispod
Zatim pogledajte signal Hallovog senzora 2 na kanalu 3 osciloskopa.
Držač Hallovog senzora okreće se sve dok se uzlazni rub Hallovog senzora u potpunosti ne poravna s točkom u kojoj treba izvršiti promjenu faze (vidi dolje).
Sada shvaćam da postoje samo dva kanala za istu kalibraciju.
Ako je BEMF fazne kombinacije B-
Korištenje C, uzlazni rub H2 bit će povezan s krivuljom BC.
Razlog zašto bi se ovdje trebala izvršiti promjena faze je da se okretni moment motora uvijek održi što je moguće većim.
Povratni potencijal proporcionalan je zakretnom momentu i primijetit ćete da se svaka promjena faze događa kada povratni potencijal prođe ispod krivulje sljedećeg stupnja.
Stoga se stvarni moment sastoji od najvišeg dijela svake kombinacije faza.
Ako ne možete pristupiti opsegu, evo moje ideje o poravnanju.
Ovo je zapravo zanimljiva vježba za svakoga tko želi znati kako radi BLDC motor.
Ako je faza motora A (pozitivna) i B (negativna) spojena
na napajanje i uključite napajanje, motor će se malo okretati i zaustaviti.
Zatim, ako se negativni kabel napajanja pomakne na fazu C i uključi napajanje, motor će se dalje okretati i zaustaviti.
Sljedeći dio niza bit će pomicanje pozitivnog voda u fazu B, itd.
Kada to učinite, motor se uvijek zaustavlja tamo gdje je okretni moment nula, što odgovara jednom mjestu gdje grafikon prolazi kroz x-os na dijagramu.
Imajte na umu da nulta točka kombinacije treće faze odgovara položaju promjene faze prve dvije kombinacije.
Prema tome, položaj nultog momenta B-
C kombinacija je mjesto gdje želite postaviti rastući rub h2.
Označite ovu poziciju finim oznakama ili oštrim oštricama, a zatim namjestite držač Hallovog senzora pomoću DMM-a dok izlaz H2 ne bude točno viši od ove oznake.
Čak i ako malo odstupite od školskog rasporeda, motor bi trebao raditi dobro.
Trofazni motor će dobivati ​​napajanje od L6234 pokretača trofaznog motora.
Otkrio sam da je ovo dobar proizvod koji može izdržati test vremena.
Postoji mnogo načina da slučajno spržite svoje komponente kada koristite energetsku elektroniku, ja nisam inženjer elektrotehnike i ne znam uvijek što se događa.
U mom školskom programu napravili smo vlastiti 3-
fazni polumostni izlaz od 6 MOSFET tranzistora i 6 dioda.
Koristili smo ovo na HIP4086 drugog upravljačkog programa Intersil, ali imamo puno problema s ovom postavkom.
Spalili smo hrpu tranzistora i čipova.
Pokrećem L6234 (
dakle motor) na 12V.
L6234 ima neobičan skup ulaza za kontrolu polumosta od 6 tranzistora.
Nema svaki tranzistor ulaz, već omogućeni (EN)
ulaz za svaki od tri stupnja, a zatim još jedan ulaz (IN)
Odaberite koji tranzistor je u otvorenoj fazi (gornja ili donja).
Na primjer, uključite tranzistor 1 (gornji) i 6 (donji)
I EN1 i EN3 su visoki (
EN2 niski da bi stupanj bio zatvoren)
IN1 Visoki, IN3 niski.
Ovo čini faznu kombinaciju-C.
Dok je bilješka o aplikaciji L6234 predložila primjenu PWM-a koji se koristi za kontrolu brzine motora na IN pin, odlučio sam to učiniti na EN pin jer, u to vrijeme, mislim da bi bilo \'čudno\' naizmjenično uključivati gornje i donje tranzistore faze \'.
Zapravo, čini se da nema ništa loše u uključivanju niskih tranzistora obje faze u isto vrijeme, jer imaju isti potencijal, tako da nijedan od njih ne prolazi kroz struju.
S mojom metodom, visoka faza je naizmjence omogućena i onemogućena na frekvenciji PWM, dok je niska faza uključena tijekom cijele promjene faze,
dodao sam pin vezu na Arduino ploču. Dodao sam i
osigurač od 2,5 ampera između pozitivnog voda baterije i kruga, osigurač od 100 uF između napajanja i uzemljenja. da smanjite valovitost u regenerativnoj struji.
Za veće verzije pogledajte dokumentaciju za L6234
, koja će (vjerujem)
zamijeniti ovu stazu i uštedjeti vam posao sastavljanja.
Nisam našao puno o tome
kako to radi
Nisam inženjer elektrotehnike i cijenili bismo bilo kakve ispravke mog objašnjenja.
Tijekom vožnje, sustav upravljanja šalje struju u tri faze motora na način da maksimizira okretni moment.
U regenerativnom kočenju, sustav upravljanja također povećava okretni moment, ali ovaj put to je negativan okretni moment koji uzrokuje usporavanje motora dok šalje struju natrag u bateriju
Laboratorij u Sjedinjenim Američkim Državama.
Laboratorij koji provodi mnogo istraživanja za automobilske motore.
Na slici
stupanj .
djelomično netočna i nizak
je prikazan trenutak kada je BEMF u fazi B
U ovom slučaju moguće je da struja teče od
kritičnog do regenerativnog kočenja (Tisuće PWM sklopki u sekundi; kada je uključen niski tranzistor, struja teče kao što je prikazano na prvoj slici
). faza motora ( Wikipedia ima dobar članak koji objašnjava kako radi pojačani pretvarač). Ova energija se oslobađa
kada je niski tranzistor isključen,
ali pri višem naponu, struja trenutno teče
kroz \'anti-excitation' diodu pored svakog tranzistora, a zatim se vraća u bateriju. Dioda sprječava protok struje iz baterije u motor magnetni prsten
PWM-a
za usporavanje motora. Niskonaponski tranzistor koristi PWM sklopku, a radni ciklus
kontrolira količinu kočenja motora
u određeno vrijeme kako bi se održao najveći mogući okretni moment pogledajte video u prvom koraku,
Mislim da
možete vidjeti da regenerativna kočnica ne radi dobro.
je glavni razlog to što motor tvrdog diska koji koristim ima vrlo mali okretni moment, tako
da ne proizvodi mnogo BEMF, osim pri najvišoj brzini,
ima vrlo malo regenerativnog kočenja (ako postoji). Osim toga, moj sustav radi na relativno niskom naponu (12 V). smanjuje napon za nekoliko volti.
Koristim normalne ispravljačke diode i mogu dobiti bolje
performanse ako koristim neke posebne diode s nižim padom napona. Dolje
je popis ulaza i izlaza na
mojoj ploči. 2- Digitalni ulaz 1. ulaz 3. digitalni ulaz 3. otpor. ulaz- 120 K otpor Gnd 5 1 Digitalni izlaz u seriji
s otpornikom od 400 ohma 6 2 Digitalna izlaza u seriji s otpornikom od 400 ohma 7 3 Digitalna izlaza
u seriji s otpornikom od 400 ohma
u seriji s otpornikom
9-
Digitalni izlaz EN 1
od 400 ohma 10- Digitalni izlaz EN
2
uzemljenjem
3
EN
u seriji s otpornikom od 400 ohma Otpornik 11 - Digitalni izlaz
u seriji s potenciometrom od 400 ohma, s 5 v i
spojenim u sredini. Ovaj potenciometar
je
od Davida Glazera.
se koristi za kontrolu brzine motora i volumena kočenja. Napajanje od 5 V također se koristi
brzina motora i kočenje kontrolirani
za pokretanje Hallovih senzora (pogledajte korak 5) . Ovdje je cijeli program koji sam
napisao za Ardjuino komentari:/* bldc_congroller 3. 1.
1*3
Serija X je ST L6234 3- fazni pokretački program motora * pogon diska motora u smjeru kazaljke na satu * s regenerativnim kočenjem *
jednim potenciometrom * položaj motora s tri Hallova
senzora * Arduino prima izlaz od 3 Hallova senzora (pinovi 2,3,4)
* I pretvori njihovu kombinaciju u 6 različitih koraka promjene faze na pinovima 9, 10, 11 na 32 kHz * PWM izlaz (
Odgovara EN 1,2, 3*3 DO na pinovima 5,6, 7, odnosno (IN 1,2,3)
* Spojite simulaciju u 0 na potenciometar za promjenu PWM radnog ciklusa i promjenu * između vožnje i regenerativnog kočenja *. * 0-
: kočnica
* 524-
1023: komentari za otklanjanje grešaka u serijsku vezu
499
MSPs
= 0 ;
= 0;
/Speed level bSpeed
/Brake level of gas = 0;
/Ova varijabla se koristi zajedno s postavkom zazora zaklopke za gas (){pinMode(2,INPUT);
/Hall 2 pinMode (4,INPUT); /
OUTPUT) ;
L6234 pinMode (5,
/EN pinMode (7,OUTPUT);
/EN 2 pinMode (11,OUTPUT);
/* Postavite PWM na pinovima 9 , 10
/ postavite PWM na 32 kHz za pinove
9
/
Ako ćete koristiti serijsku vezu, uklonite komentare iz ovog retka
na kraju programa.
, 10/prvo obrišite sva tri bita prescalerVal; binarni broj \'00000111\' TCCR1B & = ~ Prescaler /I vrijednost u TCCR0B s binarnim brojem \'11111000\'/sada postavite odgovarajući bit pred-kodiranja: int pred-kodiranje bit 2 = 1;
Postavite prescalerVal da bude jednak binarnom broju \'00000001\'
/Ili vrijednost u TCCR0B s binarnim brojem
TCCR1B |. = prescalerVal2;
\'00000001\'/postavite PWM na 32 kHz za pin 3,11 (
Ovaj program koristi samo Pin 11)
/Prvo obrišite sva tri bita pre-caler-a: TCCR2B & = ~ Pre-calerval;
/I vrijednost u TCCR0B binarni broj \'11111000\'/sada postavite odgovarajući bit prethodnog kodiranja: TCCR2B | = Bit prethodnog kodiranja 2;
/Ili vrijednost u TCCR0B s binarnim brojem \'00000001\'/prvo obrišite sva tri unaprijed kodirana bita :}
Glavna petlja/PRGROM void petlje (){
Vrijeme = millis ();
pokretanja programa za ispis (\'\');
vrijeme
/
/
nakon
0,511,255, 0);
Half-part regenerative braking at the bottom of pot/MSPs ed = 100; /
input
Read input value from Hall 1 2 = Read
value from Hall 2 3 = Čitanje ulazne vrijednosti iz HallState1
(8, HallState1);
/Kada je odgovarajući senzor u visokoj snazi,
izvorno se koristio za otklanjanje pogrešaka (9, HallState2);
//digitalWrite(10, HallState3)+ (2*HallState3); serijski port (HallState1); println(HallVal); //Serial. print
(\'\'
); /Monitor transistor output/delay (1000); /* T1 = digitalRead (2); //T1 = ~T1; T2 = digitalRead (4); //T2 = ~T2; T3 = digitalRead (5); //T3 = ~T3
; Serial. print(
(\'\t \'); Serial. print
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(\'\'); //odlaganje
faze/svaki binarni broj koji odgovara različitim tranzistorima koji se koriste za promjenu vrijednosti izlaza arduina/porta gornji tranzistor ili donji tranzistor/EN pin za svaku fazu kontrolira analogija Arduino naredbe, postavite radni ciklus PWM-a (
0 = OFF, 255 = ON ili vrijednost gasa kontrolirana potenciometrom).{prekidač (HallVal){
Slučaj 3:/PORTD = 1111xxx00;
/Očekivani izlaz pin-a 0-7
7 xxx se odnosi na Hallov ulaz i PORTD | 100%
PORTD & = B00100000;
/Analowrite (9,mSpeed)
(
Low-end tranzistor) Case 1:
; //Phase B on (
Low-end tranzistor)analogWrite(11,0); /
Phase B off (duty=0)break;Case 5:/ PORTD
pin
0-7 PORTD & =
= B101xxx00; /Očekivani
(
izlaz
B00011111;.= B10100000; analogWrite
10,255); analogWrite(11,mSpeed); break;
Case 4:/PORTD = B100xxx00;
/Expected output of pin 0-
7 PORTD & = B00011111;
Analowrite (9,255); analogWrite(10,0);
PORTD | = bym000; /
Očekivani izlaz pina
0-7
; /
analogWrite(11,mSpeed); break;
Case 6:/
Očekivani izlaz pina (9,255); 0-
7 PORTD; /
Analowrite
(11,255);regenerative brake change/PORTD (Izlaz na pinu L6234) je na niskom nivou. regen. braking. else{
/PORTD = B000xxx00;
/Expected output of pin 0-
7 PORTD & = B00011111
;
PORTD | = bym0000; // switch (
11,0)
HallVal){ Case 3: analogy writing (9,bSpeed); //analogWrite(9,0); analogWrite(
10,0); analogWrite(
Case
; break;
1 : analogy writing (9,bSpeed)
;
analogWrite(10,0); analogWrite(11,0); break;
Case 5: analogy writing (9,0); analogWrite(10,0); analogWrite(11,bSpeed); break;
Case 4: analogy writing (9,0); analogWrite(10,0);
analogWrite(11,bSpeed); 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(
); /If you want
to debug koristeći serijski priključak} Mislim da je operacija koju Arduino radi u ovom projektu toliko jednostavna da
Zapravo, bilješke
obavljati ovaj zadatak s mikroprocesorom.
o aplikaciji
se čini kao gubitak
vrata
L6234 preporučuju jednostavan programabilni niz
(GAL16V8 napravljen od rešetkastog poluvodiča) za obavljanje ovog posla. Nisam upoznat s programiranjem ovog uređaja, ali cijena IC-a je samo 2 USD. 39. Drugi slični integrirani sklopovi su također vrlo jeftini. Smislio sam neke relativno jednostavne logičke sekvence koje bi mogle pokrenuti L6234 IC iz izlaza tri Hall senzora
, a tablica istinitosti za sve tri faze, vrata \'not\' moraju
biti prebačena na drugu. strana \'ili. Problem s ovim pristupom je da postoji gotovo 20 veza u svakoj fazi, tako da je potrebno dosta posla da se to sastavi.
Najbolje ga je programirati kao programabilna logička vrata.

HOPRIO grupa profesionalni proizvođač kontrolera i motora, osnovana je 2000. godine. Sjedište grupe je u gradu Changzhou, provinciji Jiangsu.

Brze veze

Kontaktirajte nas

WhatsApp: +86 18921090987 
Tel: +86- 18921090987 
Dodaj: No.19 Mahang South Road, Wujin High-tech District, Changzhou City, Jiangsu Province, Kina 213167
Ostavite poruku
KONTAKTIRAJTE NAS
Autorska prava © 2024 ChangZhou Hoprio E-Commerce Co., Ltd. Sva prava pridržana. Sitemap | Politika privatnosti