Industri nyheder
En Arduino kan ikke drive en BLDC-motors tre faser direkte — den har ikke den aktuelle kapacitet eller kommuteringslogikken indbygget. Det job tilfalder ESC (Electronic Speed Controller), som sidder mellem Arduinoen og motoren, og konverterer et simpelt PWM-signal til det tidsindstillede trefaseskift, der faktisk drejer rotoren.
Fra Arduinos perspektiv ligner en ESC nøjagtigt en standard RC-servo. Den forventer en puls mellem omkring 1000 og 2000 mikrosekunder, gentaget hvert 20. millisekund, hvor pulsbredden afspejler gasspjældets position. Det er derfor det samme Servo bibliotek brugt til hobbyservoer fungerer til ESC-kontrol — Arduino'en taler slet ikke til motoren, den taler med ESC'ens indbyggede mikrocontroller, som håndterer selve kommuteringen.
De tre kraftige motorledninger forbindes fra BLDC-motoren direkte til ESC's trefaseudgange - stikrækkefølgen betyder ikke noget for retningen på dette trin, da udskiftning af to ledninger blot vender rotationen om. Motor power (typically a LiPo battery matched to the motor's voltage rating) connects to the ESC's input leads, not to the Arduino.
Signalsiden er enklere: en enkelt PWM-ledning fra en Arduino digital pin til ESC'ens signalindgang, plus en delt jord mellem Arduino og ESC. De fleste ESC'er inkluderer et BEC (Battery Eliminator Circuit) på det signalstik, som leverer en reguleret 5V tilbage til Arduino - hvilket betyder, at en separat strømforsyning til kortet normalt ikke er nødvendig, så længe ESC's BEC-udgang er klassificeret til Arduino'ens strømudtag.
Med ledninger på plads er selve koden kort. Servo-biblioteket behandler ESC som en servomotor, og hastigheden kortlægges på det samme 0-180-område, som biblioteket bruger til vinkel:
This pattern works because the underlying signal format is identical to a hobby servo's, as documented in the Arduino Servo biblioteksreference , som forklarer pulstiming og pin-begrænsninger, som biblioteket er afhængigt af.
De fleste ESC'er vil ikke dreje motoren umiddelbart efter opstart - de forventer først en tilkoblingssekvens, som normalt udløses ved at holde gashåndtagets signal på minimum i et sekund eller to efter opstart. At springe dette trin over er den mest almindelige årsag til, at en motor ser ud til at starte kortvarigt ved opstart og derefter stoppe: ESC'en venter på et gyldigt lavgassignal, før den accepterer kommandoer.
Kalibrering sætter ESC's forståelse af minimum og maksimum pulsbredde til at matche det, Arduino faktisk sender. Sæt strøm til ESC'en med gashåndtagets signal allerede på maksimum, vent på bekræftelsesbippene, sænk derefter til minimum og vent igen - dette lærer ESC'en de nøjagtige endepunkter, din kode producerer, i stedet for at stole på fabriksindstillinger, der muligvis ikke matcher dit potentiometers kortlagte rækkevidde.
Alt ovenstående forudsætter en sensorløs BLDC-motor parret med en off-the-shelf ESC - den mest almindelige hobbyopsætning, og grunden til, at de fleste tutorials er standard til det. ESC registrerer rotorposition fra tilbage-EMF genereret i den ikke-strømforsynede fase, hvilket fungerer godt, når motoren roterer, men betyder, at motoren har brug for en kort opstartsrampe med åben sløjfe, før ESC kan låse fast på BEMF-timing.
En sensoreret BLDC-motor tilføjer tre Hall-effekt-sensorer, der rapporterer rotorposition direkte, selv ved nul omdrejninger. Det eliminerer opstartsrampen og giver en jævnere lavhastighedskontrol, men det betyder også, at ESC eller controller skal have Hall-sensorindgange - en almindelig sensorløs ESC har slet ingen ledninger til dem. Hvis et projekt har brug for præcist drejningsmoment ved lav hastighed eller hyppige start og stop, undgår man at omarbejde kontrolopsætningen senere ved at købe en sensormotor og Hall-kompatibel controller fra starten.
En PWM-drevet ESC er det rigtige værktøj til at bevise et koncept - det er billigt, veldokumenteret og behøver ingen konfigurationssoftware. Men det har også reelle grænser: ingen aktuel feedback til Arduino, minimal beskyttelseslogik og en kontrolopløsning knyttet til et 1000-2000 mikrosekunders pulsvindue, der ikke skalerer godt, når først momentstyring, hastighedsregulering med lukket sløjfe eller fejlrapportering bliver krav.
Når et projekt bevæger sig forbi prototyping mod et feltprodukt, er det sædvanlige næste trin en controller, der kommunikerer over en digital bus i stedet for en enkelt PWM-linje. a UART-TTL debugging interface used to configure production motor controllers spiller en rolle her i lighed med den serielle Arduino-skærm - den lader dig læse parametre og justere adfærd direkte i stedet for at gætte ud fra pulsbredder alene.
For hold, der vokser ud af hobby-ESC'er, et indgangspunkt til APT's CAN bus-programmerbare BLDC motorstyringer tilbyder den slags konfigurerbar strømbegrænsning og diagnostik, som en grundlæggende ESC simpelthen ikke afslører. Applikationer, der kræver strammere respons - robotarme, aktiverede mekanismer, alt med en hurtigt skiftende belastning - er bedre tjent med en hurtig-respons BLDC-controller bygget til real-time closed-loop applikationer snarere end en open-loop hobby ESC.
Da controller- og motorspecifikationer skal tilpasses til spænding, strøm og Hall-sensorkompatibilitet, er det værd at gennemgå controller og motorparringsvejledning til at matche drevelektronikken til motorspecifikationerne før du forpligter dig til hardware til en produktionskørsel. Det er også værd at forstå hvordan softwarelag omformer moderne motorstyring , da tuning på firmwareniveau i stigende grad er det, der adskiller en god produktionscontroller fra en blot passende.
Som Producenter af brugerdefinerede synkronmotorcontrollere med permanent magnet og Leverandører af permanente magnetmotorcontrollere i Kina, Fokus på drevstyring af permanent magnet synkronmotorer, giver vi en sikker og tilstrækkelig strømkilde til elektrificering af rejsekøretøjer.
Copyright © Shanghai APT Power Technology Co., Ltd.All rights reserved
