bldc motorstyring med arduino, reddet hd-motor og hall-sensorer
Hjem » Blog » bldc motorstyring med arduino, reddet hd-motor og hall-sensorer

bldc motorstyring med arduino, reddet hd-motor og hall-sensorer

Visninger: 0     Forfatter: Webstedsredaktør Udgivelsestid: 2020-09-02 Oprindelse: websted

Spørge

facebook delingsknap
twitter-delingsknap
knap til linjedeling
wechat-delingsknap
linkedin-delingsknap
pinterest delingsknap
whatsapp delingsknap
kakao-delingsknap
snapchat-delingsknap
telegram-delingsknap
del denne delingsknap

I dag er entusiaster meget interesserede i at styre Brushless DC (BLDC)
Sammenlignet med den traditionelle DC-motor er motorens ydeevne forbedret, energieffektiviteten er også forbedret, men den er sværere at bruge. Der findes mange hyldevarer
til dette formål.
For eksempel er der en masse små BLDC-controllere, der fungerer meget godt til RC-fly.
For dem, der ønsker at se nærmere på styringen af ​​BLDC, findes der også mange forskellige mikrocontrollere og anden elektronisk hardware til industrielle brugere, som normalt har en rigtig god dokumentation.
Indtil videre har jeg ikke fundet nogen udtømmende beskrivelse af, hvordan man bruger Arduino mikro-controller til BLDC kontrol.
Desuden, hvis du er interesseret i at lave regenerativ bremsning eller bruge en BLDC til strømproduktion, har jeg ikke fundet mange produkter, der er egnede til brug med små motorer, og jeg har heller ikke fundet ud af, hvordan man styrer 3-faset generator.
Denne struktur var oprindeligt i en historie om realtidsberegning
, det fortsætter jeg med efter kurset er slut.
Ideen med projektet er at vise en proportional model af en hybridbil med svinghjulsenergilagring og regenerativ bremsning.
Motoren brugt i projektet er en lille BLDC'er, der er renset op fra den beskadigede computerharddisk.
Denne manual beskriver, hvordan du bruger Arduino-mikrocontrolleren og Hall-
Affects-positionssensorer i køre- og regenerativ bremsetilstand.
Bemærk venligst, at besøg af oscillisoft er meget nyttigt, hvis ikke nødvendigt, for at fuldføre dette projekt.
Hvis du ikke kan få adgang til omfanget, har jeg tilføjet nogle forslag til, hvordan du gør det uden omfanget (trin 5).
En ting, som dette projekt ikke bør inkludere i nogen egentlig motorstyring, er enhver sikkerhedsfunktion såsom overstrømsbeskyttelse.
Faktisk er det værste, at du brænder HD-motoren ud.
Det er dog ikke svært at implementere overstrømsbeskyttelse med nuværende hardware, og måske vil jeg gøre det på et tidspunkt.
Hvis du forsøger at styre en større motor, skal du tilføje overstrømsbeskyttelse for at beskytte din motor og din egen sikkerhed.
Jeg vil prøve at bruge denne controller med en større motor, der kan udføre noget \'rigtigt\' arbejde, men jeg har ikke den rigtige endnu.
Jeg bemærkede, at eBay solgte en 86 W bil for omkring $40.
Det ligner en god kandidat.
Der er også et RC-websted kaldet \'GoBrushless\', der sælger sæt, der samler deres egne BLDC.
Disse er ikke for dyre, og det er oplevelsen værd at bygge en.
Bemærk venligst, at der ikke er nogen hallsensor til motoren på denne hjemmeside. Puha!
At skrive denne struktur er et stort arbejde.
Jeg håber du finder det nyttigt, kom med dine kommentarer og forslag.
Digital Multimeter (DMM) -
Hvis din DMM har et frekvensmåler oscilloskop (
det er bedre at have mindst 2 kanaler)
T8 Torx-driver (
Du skal bruge en af ​​dem for at åbne enhver harddisk).
Der er en god byggemarked.
Maskinværksted og hurtig prototype (
disse er meget nyttige, men jeg tror, ​​at dette projekt kan klares uden dem).
Materiale bldc motor magnetisk ring fra computerharddisk (
Halvdelen af motoren)
Fra en anden harddisk Flere (3-6)
Der er en anden lille motor i sølvskiven på harddisken (DC børstet OK)
Gummibånd eller (helst)
Den børsteløse DC motor med et håndtag med en anden motor elektronisk brødplade massivtråd måned Arduino Duemilanove 120 k resist eller 6 ohm modstand eller modstand Poteniometer100 k ohmST mikrokredsløb L6234 trefaset motordriver IC to 100 uF kondensatorer en 10 nF kondensator en 220 nF kondensator en 1 uF kondensator en 100 uF kondensator tre modtagedioder En 2.
Honeywell bipolaruse F 5A holder F SS41 SS41
: Bemærk Mike Anton designede og solgte et produkt, der vil erstatte kraftelektronikken og Hall-sensorkredsløbene, som jeg har vist i denne manual (
det styres ved hjælp af tilbagepotentialinduktion).
Specifikationer og indkøbsoplysninger kan findes i disse to links: Hvis du skal lave dette projekt, foreslår jeg, at du tager dig tid til grundigt at forstå, hvordan BLDC fungerer og kontrollerer.
Der er et stort antal referencer online (
se nedenfor for nogle forslag).
Jeg inkluderer dog nogle diagrammer og tabeller i mit projekt, som skulle hjælpe dig med at forstå.
Her er en liste over de begreber, som jeg synes er vigtigst for at forstå dette projekt: MOSFET-transistorer 3-faset halvbro 6-
3-trins reduktion af sætning
Pulse Width Modulation af fasemotor (PWM) Hall-
Mikrochip AVR443: sensorer-generel reference DC-motor Grundprincipper for Digitale positionssensorer
Styring af trefaset motor baseret på DC børsteløs DC-brusemotor BL-styring
af DC-børsteløs DC-motor BL Flying Star Hall sensor, en god video af oprydning af harddiskmotoren, men forfatteren ser ud til at køre motoren som en stepmotor og som en stepmotor. En mere specifik referencewebside for BLDC på l6234-motordrevets IC, inklusive datablade, applikationsnotater og købsoplysninger.
Gratis prøve til PM børsteløs motordrev til hybride elbiler.
Dette er det eneste papir, jeg fandt, der beskriver rækkefølgen af ​​den regenerative bremsefaseændring.
Dette papir, regenerativ bremsning i elektriske køretøjer er nyttigt, jeg lånte et par numre fra det, men jeg tror, ​​at det forkert beskriver, hvordan regenerering fungerer.
Jeg lavede dette projekt med genbrugt diskdrevmotor, fordi det var nemt at passere igennem, og jeg kan godt lide at bruge en lille lavspændingsmotor til at lære ledningen styret af BLDC og ikke forårsage sikkerhedsproblemer.
Derudover bliver magnetkonfigurationen af ​​hallsensoren meget enkel ved at bruge den magnetiske ring (rotor)
fra den anden af ​​disse motorer (se trin 4).
Hvis du ikke ønsker at gå til alt besværet med at installere og kalibrere hall-sensoren (trin 5-7),
ved jeg, at der i det mindste er nogle cd/dvd-drevmotorer indbygget i hall-sensoren.
For at give motoren noget drejeinerti og give dem en lille belastning, satte jeg 5 harddiske på motoren, limede forsigtigt sammen med lidt kraftig lim og limede til motoren (
Dette lavede svinghjulet i mit originale projekt).
Hvis du skal fjerne motoren fra harddisken, skal du bruge et T8 torx-drev til at skrue huset af (
normalt er der to skruer gemt bag pinden i mærkaten i midten)
og indvendige skruer, der holder motoren på plads.
Du skal også fjerne hovedet Reader (
Sound circle executive)
På denne måde kan du tage hukommelsesdisken ud for at nå motoren.
Derudover skal du bruge en anden samme harddiskmotor for at fjerne rotoren fra den motor (
Der er en magnet indeni).
For at skille motoren ad tog jeg fat i rotoren (øverst)
En skruestik på motoren og lirkede den på statoren (nederst)
De to skruetrækkere er 180 grader fra hinanden.
Det er ikke let at holde motoren på et stramt nok par uden deformation.
Du ønsker måske at bygge en træ-v-
blok, der bruges til dette formål.
Jeg borede et hul i den magnetiske ring på drejebænken, så den passer behageligt på toppen af ​​motoren.
Hvis du ikke kan bruge drejebænken, kan du fastgøre den omvendte rotor på motoren med en stærk lim.
Billederne 2 og 3 nedenfor viser det indre af en af ​​de motorer, jeg har skilt ad.
I den første halvdel (rotoren) er der 8 poler (
magnet pakket ind i plastik).
I anden halvdel (statoren)
Der er 12 slots (viklinger).
Hver af de tre motorfaser har 4 slots i serie.
Nogle HD-motorer har tre kontakter i bunden, en kontakt pr. fase, og den anden er motorens midterhane (
hvor tre trin mødes).
I dette projekt kræves der ingen centerhane, men det kan være nyttigt i sensorfri kontrol (
jeg håber at frigive en note om sensorfri kontrol en dag).
Hvis din motor har fire kontakter, kan du identificere fasen med ohmmeter.
Modstanden mellem midterhanen og fasen er halvdelen af ​​modstanden mellem to faser.
Det meste af litteraturen om BLDC-motorer omhandler dem med en stigeformet bagpotentialbølgeform, men harddiskmotoren ser ud til at have et bagpotentiale, der ligner en sinus (se nedenfor).
Så vidt jeg ved, fungerer det fint at køre en sinusmotor med sinusbølge PWM, selvom effektiviteten kan falde noget.
Som alle BLDC-motorer består denne af trefaset halvtransistorbro
(
se 2. fotos nedenfor).
Jeg bruger IC lavet af ST Micro (L6234)
til broen, også kendt som motordriveren.
Den elektriske tilslutning af L6234 er vist i trin 8.
Det tredje billede nedenfor viser et skematisk diagram af motordriveren og de tre motorfaser.
For at motoren kan fungere med uret, vil omskifteren blive foretaget i følgende rækkefølge (
Det første bogstav er den øvre transistor og det andet bogstav er den nederste transistor)
: Trin 1 2 3 4 5 6 med uret: CB, AB, AC, BC, BA, CA mod uret: BC, BA, CA, CB, AB, AC disse
kræver en sekvens på 6- The' 360, men kun en fysisk grad på 90 for disse motorer.
Derfor sker rotationshastigheden for hver motor fire gange.
De to sekvenser ser ud til at være de samme, men de er ikke de samme, fordi for 6-
trins sekvens, for CW, er strømretningen gennem fasen én retning, og for CCW er strømretningen modsat.
Du kan selv se dette ved at tilføre spændingen fra batteriet eller strømforsyningen til begge motorfaser.
Hvis du tilfører spændingen, vil motoren bevæge sig lidt i én retning og stoppe.
Hvis du hurtigt kan ændre spændingen på fasen i en af ​​ovenstående sekvenser, kan du dreje motoren manuelt.
Transistorer og mikrocontrollere fuldfører alle disse kontakter meget hurtigt og skifter hundredvis af gange i sekundet, når motoren kører med høj hastighed.
Bemærk også, at hvis spændingen påføres begge faser, bevæger motoren sig en lille smule og stopper derefter.
Dette skyldes, at drejningsmomentet er nul.
Du kan se dette på det fjerde billede nedenfor, som viser bagpotentialet for et par motorfaser.
Dette er en sinusbølge.
Når bølgen går gennem x-
aksel, er drejningsmomentet fra denne fase nul. I seks-
trins BLDC-faseændringssekvensen skete der aldrig.
Før drejningsmomentet på en bestemt fase bliver lavt, skiftes effekten til en anden fasekombination.
Større BLDC-motorer fremstilles normalt af Hall-sensorer inde i motoren.
Hvis du har sådan en motor, kan du springe dette trin over.
Jeg ved også, at der i det mindste er nogle cd/dvd-drevmotorer indbygget i Hall-sensoren.
Når motoren roterer, bruges tre hall-sensorer til positionsdetektering, så faseskiftet udføres på det rigtige tidspunkt.
Min HD-motor kører op til 9000 RPM (150 Hz).
Da der er 24 ændringer pr. hjul, ved 9000 RPM, skiftes maskinen hvert 280 mikrosekund.
Arduino-mikrocontrolleren arbejder ved 16 MHz, så hver clock-cyklus er 0,06 mikrosekunder.
Jeg ved ikke, hvor mange clock-cyklusser der kræves for at udføre en reduktion af sætningen, men selvom der kræves 100 clock-cyklusser, det vil sige, det tager 5 mikrosekunder for hver reduktion af sætning.
HD-motorer har ikke Hall-sensorer, så det er nødvendigt at installere dem på ydersiden af ​​motoren.
Sensoren skal fastgøres i forhold til motorrotationen og udsættes for en række poler, der er i overensstemmelse med motorrotationen.
Min løsning er at fjerne den magnetiske ring fra den samme motor og installere den på hovedet på den motor, der skal styres.
Jeg installerede derefter tre hall-sensorer over denne magnetiske ring, 30 grader fra hinanden på motorakslen (
120 graders elektrisk motorrotation).
Min Hall sensorholder består af en simpel holder bestående af tre aluminiumsdele bearbejdet af mig og tre plastikdele lavet på en hurtig prototype.
Hvis du ikke har disse værktøjer, burde det ikke være svært at finde en anden måde at angive positionen på.
Det vil være mere udfordrende at skabe beslag til Hall-sensorer.
Dette er en mulig måde at arbejde på: 1.
Find en plastbakke i den rigtige størrelse, og du kan forsigtigt epoxy halsensoren. 2.
Der printes en skabelon på papiret, som har samme cirkel som den magnetiske ringradius, og de tre mærker er 15 grader 3 fra hinanden.
Lim skabelonen til disken og brug derefter skabelonen som en guide til forsigtigt at placere hallsensor-epoxyen på plads.
Nu hvor Hall-sensorer er installeret på motoren, skal du tilslutte dem til kredsløbet vist nedenfor og teste dem ved hjælp af et DMM eller oscilloskop for at sikre, at outputtet bliver højere og lavere, efterhånden som motoren roterer.
Jeg kører disse sensorer under 5 v ved hjælp af Arduinos 5 v output.
Hall-sensoren er høj eller lav i output (1 eller 0)
Det afhænger af, om de føler Antarktis eller Arktis.
Da de er 15 grader fra hinanden, roterer magneterne under dem og ændrer polariteten hver 45. grader, disse tre sensorer vil aldrig være høje eller lave på samme tid.
Når motoren roterer, er sensoroutputtet 6.
Trinmønsteret vist i følgende tabel.
Føleren skal justeres efter motorens bevægelse, så en af ​​de tre følere ændrer sig præcist ved motorens faseskifteposition.
I dette tilfælde skal den stigende kant af den første hall-sensor (H1)
stemme overens med åbningen af ​​C-kombinationen (høj) og B (lav).
Dette svarer til at tænde for transistor 3 og 5 i brokredsløbet.
Jeg justerer sensoren med magneten med et oscilloskop.
For at gøre dette skal jeg bruge tre scope-kanaler.
Jeg roterer motoren ved at forbinde til remmen på den anden motor og måler tilbagepotentialet mellem de to fasekombinationer (
A og B, A og C)
Dette er to sinus.
Ligesom bølgerne på billedet nedenfor
Se derefter signalet fra Hall sensor 2 på kanal 3 i oscilloskopet.
Hall-sensorholderen drejes, indtil den stigende kant af hall-sensoren er helt på linje med det punkt, hvor faseændringen skal udføres (se nedenfor).
Jeg indser nu, at der kun er to kanaler til at udføre den samme kalibrering.
Hvis BEMF for fasekombination B-
Bruger C, vil den stigende kant af H2 være relateret til BC-kurven.
Grunden til, at faseændringen skal udføres her, er for altid at holde motorens drejningsmoment så højt som muligt.
Rygpotentialet er proportionalt med drejningsmomentet, og du vil bemærke, at hver faseændring sker, når bagpotentialet passerer under næste trins kurve.
Derfor består det faktiske moment af den højeste del af hver fasekombination.
Hvis du ikke kan få adgang til omfanget, her er min idé om justering.
Dette er faktisk en interessant øvelse for alle, der ønsker at vide, hvordan BLDC-motoren fungerer.
Hvis motoren fase A er forbundet (positiv) og B (negativ)
til strømforsyningen og tænd for strømforsyningen, vil motoren rotere lidt og stoppe.
Hvis den negative strømledning derefter flyttes til C-fasen, og strømmen tændes, vil motoren dreje yderligere og stoppe.
Næste del af sekvensen bliver at flytte den positive ledning til Fase B osv.
Når du gør dette, stopper motoren altid, hvor momentet er nul, hvilket svarer til et sted, hvor kortet passerer gennem x-aksen på kortet.
Bemærk, at nulpunktet for tredjefasekombinationen svarer til faseændringspositionen for de to første kombinationer.
Derfor er nuldrejningsmomentpositionen for B-
C-kombinationen er der, hvor du ønsker at placere den stigende kant af h2.
Marker denne position med fine mærker eller skarpe knive, og juster derefter hallsensorholderen ved hjælp af DMM, indtil outputtet af H2 er nøjagtigt højere på dette mærke.
Selvom du afviger lidt fra dit skoleskema, burde motoren fungere godt.
De tre motorfaser vil modtage strøm fra L6234 trefasemotordriveren.
Jeg fandt ud af, at dette er et godt produkt, der kan stå tidens prøve.
Der er mange måder at stege dine komponenter på ved et uheld, når du bruger strømelektronik, jeg er ikke en elektrisk ingeniør, og jeg ved ikke altid, hvad der foregår.
I mit skoleprogram lavede vi vores egen 3-
fasede halvbro-output af 6 MOSFET-transistorer og 6 dioder.
Vi brugte dette på HIP4086 af den anden driver Intersil, men vi har mange problemer med denne opsætning.
Vi brændte en masse transistorer og chips.
Jeg kører L6234 (
altså motoren) på 12V.
L6234 har et usædvanligt sæt indgange til at styre en halvbro på 6 transistorer.
Ikke alle transistorer har en indgang, men en aktiveringsindgang (EN)
for hvert af de tre trin, og derefter en anden indgang (IN)
Vælg hvilken transistor i den åbne fase (øvre eller nedre).
Tænd for eksempel for transistor 1 (øvre) og 6 (nedre)
Både EN1 og EN3 er høje (
EN2 lav for at holde scenen lukket)
IN1 Høj, IN3 lav.
Dette gør fasekombinationen-C.
Mens L6234-ansøgningsnotatet foreslog at anvende den PWM, der blev brugt til at styre motorens hastighed på IN-stiften, besluttede jeg at gøre det på EN-stiften, fordi jeg på det tidspunkt synes, det ville være \'mærkeligt\' at tænde for de øvre og nedre transistorer af fasen skiftevis \'.
Faktisk ser det ud til, at der ikke er noget galt med at tænde for begge fasens lave potentiale, så de har samme tid på samme tid, fordi transistorerne har det samme. ingen af dem passerer gennem strømmen
Med min metode er den høje fase
et
aktiveret og deaktiveret på skift ved PWM frekvens, mens den lave fase forbliver tændt under hele faseskiftet. Nedenfor er
skema af
motordrevet, jeg har tilføjet en 2. 5 ampere sikring mellem den positive strømforsyning
og g10 kredsløbet. krusningen i den regenerative strøm
Dette tal er lidt lille, så for større versioner, se venligst dokumentationen til L6234, som vil (tror jeg) erstatte
dette spor og spare dig for arbejdet med at samle det
elektrisk ingeniør og vi vil sætte pris på eventuelle rettelser til min forklaring
Ved kørsel sender styresystemet strømmen ind i tre motorfaser
på en måde, der maksimerer drejningsmomentet
Laboratorium i USA.
Et laboratorium, der laver en masse forskning for bilmotorer.
nedenfor er med til at illustrere, hvordan det fungerer (
Jeg tror dog, at forklaringen i dette andet dokument er delvist forkert.
Diagrammet
god artikel, der forklarer, hvordan boost-konverteren virker). Denne energi frigives,
Det er muligt for strømmen at flyde fra B til.
øjeblikkeligt gennem \'
anti-excitations\'-dioden ved siden af hver transistor og vender derefter tilbage
når low-end-transistoren er slukket
, men ved en højere spænding flyder strømmen
til batteriet negativt drejningsmoment, der bremser motoren. Transistoren på
PWM
lav side bruger en PWM-kontakt, og driftscyklussen af
styrer mængden af bremsning, når du kører, skifter kommuteringen af motoren fra den ene kombination til den næste
første trin, du kan se, at den regenerative bremse fungerer fint, men
den virker ikke
for at opretholde det højest mulige drejningsmoment
godt. Jeg tror, at hovedårsagen er, at
den motor, jeg bruger på harddisken, er en motor med meget lavt drejningsmoment, så den producerer ikke meget BEMF, undtagen
er der meget lidt regenerativ bremsning (hvis nogen ). reducerer spændingen med flere volt, dette reducerer også
ved den højeste hastighed,
høj grad effektiviteten Jeg bruger normale ensretterdioder, og jeg kan få bedre ydeevne,
i
med lavere spændingsfald. Nedenfor er der en liste over indgange og udgange på arduino. 3 digital indgang- 120 K modstand af Gnd 5 1 Digital udgang i serie med 400 ohm modstand
hvis jeg bruger nogle specielle dioder
ohm modstand 7 3 Digitale
udgange i serie med
6 2 Digitale udgange i serie med 400
i
400 ohm modstand 9- Digital udgang på EN 1
402
modstand på 400 ohm Digital udgang på
Den digitale udgang
, 100 k Ohm potentiometer
serie med 400 ohm i serie
11-
i serie med en 400 ohm modstand
EN 3 er
af David Glazer X-serien er ST L6234
, med 5 v og gnd tilsluttet i begge ender og analog ben 0 tilsluttet i midten.
Dette potentiometer bruges til at styre motorhastighed og bremsevolumen. bldc_congroller 3. 1.
3-
sensorer,
1*3
faset
motordriver IC * kører diskdrevmotor med uret * med regenerativ bremsning * motorhastighed og bremsning styret af et enkelt potentiometer * motorposition af tre Hall- Effect Sensor * Arduino modtager output fra 3, 4-fasede
*
og konverterer 3, 4-fasesensorer. trin på ben 9, 10, 11 ved 32 kHz * PWM-udgang (
Svarende til EN 1,2, 3*3 DO på henholdsvis ben 5,6, 7 (IN 1,2,3) * Tilslut simuleringen i 0 til potentiometeret for at ændre
og Skift * mellem 0-4 bremsning og *9 regenerativ bremsning. 500-
523:
Taxi * 524-
1023: motoring * kommenterer mange linjer til fejlretning ved at udskrive forskellige værdier til en seriel forbindelse
/Int allstate1.
PWM-driftscyklussen
/
*
Speed level int bSpeed = 0 for motor;
/Bremseniveau for gasspjæld = 0
/Denne variabel bruges sammen med den analoge ind for at måle spalteindstillingen for gasspjældpotentiometeret ()
/Hall 1 pinMode (3 ,INPUT /
/
Hall 2PIN); motor driver (5,OUTPUT);
In 1 pinMode (6,OUTPUT);
/
In 2 pinMode (7,OUTPUT);
/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 serial connection, please uncomment this line.
The flush command i slutningen af programmet /
frekvens på ben 9, 10 og 11/sæt PWM til 32
* Indstil PWM
kHz for ben 9, 10/først ryd
scalerVal = 0x07 Prescaler /
kHz for pin 3,11 ( Dette program bruger
til 32
alle tre pre-divider bits : int pre-
Og værdien i TCCR0B med et binært tal på \'11111000\'/indstil nu den passende pre-encoding bit: int pre-encoding bit 2 = 1; \'00000001\'/indstil
kun pin 11) /Slet først alle tre pre-caler bits: TCCR2B & = ~ Pre-calerval /Og værdien i TCCR0B med et binært tal på \'000
PWM
,
der indstiller den
passende bit:'/0;
TCCR2B |. = Pre-encoding bit
;
/Eller værdien i TCCR0B med et binært tal på \'
(
00000001'/først rydde alle tre præ-kodede bits :} Hovedsløjfen i/Tid = millis
2
/Tid.'); analogRead (0);
Hall 1 2 = Digital Read (
Throttle, 512,1023, 0,255 ) HallState1
/Throttle potentiometer MSP'er (
= digitalRead (2 ); /Læs inputværdi fra
3) HallVal = (HallState1)+ (4*HallState3);
print(\'H 3: \');
Serial. println(HallState3); Serial. println(\' \'); */ //Serial. println(mSpeed); //Serial. 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(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); */Driving
værdien af output arduino
der svarer til de forskellige
output
phase change/each binary number har en sag,
tændt/ bit matematik, der bruges til at ændre
transistorer

den øvre transistor eller den nedre transistor/EN pin
: /PORTD indeholder
fra IN pin
L6234 driveren/output, der bruges
){Switch
til at bestemme, om
for hver fase
styres af
Arduino kommandoanalogien, indstil duty cycle af PWM, 20 5 = 5 = 5 styringsværdien potentiometer). if (gasspjæld > 511
Tilfælde 3: /PORTD =
(HallVal){
1111xxx00
; (High-end transistor)analogWrite(10,0 Fase B lukning (duty = 0)analogWrite
11.255 )
(
on A phase ( High-end transistor)
| = B00100000; /Analowrite (9,mSpeed); PWM
analogWrite
10,255
(
) ; //
Phase B on (
Low-end transistor)analogWrite(11,0); //
Phase B off (duty = 0)break; Case 5: /
output of pin 0-
PORTD =
B101xxx00;
/Expected
analogWrite(11,0) analogWrite (
11,255
//
PORTD & = B00011111; /PORTD PORTD |. /Analowrite(11,mSpeed = B110xxx00) (9.255)
7
) ; bym0000;
switch (HallVal){
Case 3: analogy writing (9,bSpeed); //analogWrite(9,0); analogWrite(10,0); analogWrite(
11,0); break;
Case 1: analogy writing (9,bSpeed); analogWrite(10,0); analogWrite(11,0); break;
Case 5: analogy writing (9,0); analogWrite(11,bSpeed skrift
(9,0 analogWrite(11,bSpeed skrift, 10,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 using a serial port, please uncomment
} I think the operation that Arduino does in this project is so simple that it seems like
Faktisk anbefaler
a waste to do Denne opgave med
en mikroprocessor.
IC er kun 39 dollars, som er en anden, der er en meget
gate array (GAL16V8 lavet af Lattice Semiconductor) Jeg kender ikke til programmeringen af denne enhed, men prisen på
L6234's ansøgning en simpel programmerbar
tre hall-sensorer.
lignende integreret kredsløb relativt simple logiske sekvenser, der kunne drive L6234 IC'en fra udgangen af de
Skemaet for trin A er vist nedenfor, og sandhedstabellen for alle tre trin (For at det logiske kredsløb for B- og C-faserne skal kunne skiftes til den anden side af \'eller. Problemet med denne fremgangsmåde er, at der er næsten 0-forbindelser til hver trin. sammen
Det er bedst at programmere det som en programmerbar logisk gate.

HOPRIO gruppe en professionel producent af controller og motorer, blev etableret i 2000. Gruppens hovedkvarter i Changzhou City, Jiangsu-provinsen.

Hurtige links

Kontakt os

WhatsApp: +86 18921090987 
Tlf.: +86- 18921090987 
Tilføj: No.19 Mahang South Road, Wujin højteknologiske distrikt, Changzhou City, Jiangsu-provinsen, Kina 213167
Efterlad en besked
KONTAKT OS
Copyright © 2024 ChangZhou Hoprio E-Commerce Co., Ltd. Alle rettigheder forbeholdes. Sitemap | Privatlivspolitik