Hvad er XiaoMi CyberGear Micromotor
Xiaomi CyberGear Micromotor er en kompakt, men kraftfuld micromotor designet til avancerede robot- og bioniske anvendelser. Den har et højt moment-i-forhold-til-størrelse, hurtige responstider og præcis kontrol, hvilket muliggør realistiske og flydende bevægelser i robotarme og mekanismer. Dens modulære design og intelligente kontrolalgoritmer letter problemfri integration i komplekse systemer, hvilket gør den egnet til anvendelser fra bioniske proteser til avancerede robotkæledyr. Xiaomi understreger dens potentiale til at skabe mere livagtige og interaktive robotoplevelser.
CyberGear Micromotor brugsanvisning
Forholdsregler
-
Brug det venligst i henhold til de arbejdsmæssige parametre, der er angivet i denne artikel, ellers vil det forårsage alvorlig skade på dette produkt!
-
Kontroltilstanden kan ikke skiftes, mens leddet kører. Hvis du skal skifte, skal du sende en stopkommando før skift.
-
Venligst kontroller, om alle dele er intakte før brug. Hvis dele mangler eller er beskadigede, kontakt venligst teknisk support i tide.
-
Må ikke skille motoren ad efter forgodtbefindende for at undgå uoprettelige fejl.
-
Sørg for, at der ikke er kortslutning, når motoren tilsluttes, og at interfacet er korrekt tilsluttet som krævet.
Juridiske meddelelser
Før brug af dette produkt skal brugeren læse denne manual omhyggeligt og betjene produktet i overensstemmelse med indholdet i denne manual. Hvis brugeren anvender dette produkt i strid med indholdet i denne manual, påtager virksomheden sig intet ansvar for eventuelle materielle skader eller personskadeulykker. Da dette produkt består af mange dele, må børn ikke komme i kontakt med dette produkt for at undgå ulykker. For at forlænge produktets levetid, må dette produkt ikke anvendes i miljøer med høj temperatur og højt tryk. Denne manual har gjort sit bedste for at inkludere forskellige funktionsintroduktioner og brugsanvisninger på trykketidspunktet. Dog kan der stadig være uoverensstemmelser med de produkter, brugerne har købt, på grund af løbende forbedringer af produktfunktioner, designændringer osv.
Der kan være forskelle mellem denne manual og det faktiske produkt med hensyn til farve, udseende osv. Venligst henvis til det faktiske produkt. Denne manual er udgivet af Xiaomi eller dets lokale datterselskaber. Xiaomi kan foretage nødvendige forbedringer og ændringer i denne manual for trykfejl, unøjagtigheder i den nyeste information eller forbedringer af programmer og/eller udstyr når som helst uden forudgående varsel. Sådanne ændringer vil blive uploadet til den nye version af denne manual. Venligst scan QR-koden på denne manual for at få den. Alle billeder er kun til funktionel beskrivelse. Venligst henvis til det faktiske produkt.
Eftersalgsservicepolitik
Eftersalgsservicen for dette produkt følger strengt "Forbrugerrettigheder og beskyttelsesloven i Folkerepublikken Kina" og "Produktkvalitetsloven i Folkerepublikken Kina". Serviceindholdet er som følger:
Garantiperiode og indhold
Brugere, der bestiller dette produkt gennem online kanaler, kan nyde godt af en returservice uden grund inden for syv dage fra modtagelsesdagen. Ved returnering af varer skal brugeren fremvise et gyldigt købsbevis og returnere fakturaen. Brugeren skal sikre, at de returnerede varer bevarer deres oprindelige kvalitet og funktionalitet, at udseendet er intakt, og at varemærker og logoer på varerne og tilbehøret er komplette. Hvis der er gaver, skal disse returneres sammen med varen. Hvis produktet er beskadiget kunstigt, demonteret manuelt, emballagen mangler, eller reservedele mangler, vil returnering ikke blive behandlet. Logistikomkostninger ved returnering af varer bæres af brugeren (se "Efter-salgsservice gebyrstandarder" for gebyrstandarder). Hvis brugeren ikke betaler logistikgebyrerne, vil det faktiske beløb blive trukket fra refusionsbeløbet. Den betalte pris vil blive returneret til brugeren inden for syv dage fra modtagelsen af de returnerede varer. Refusionsmetoder er de samme som betalingsmetoder. Den specifikke ankomstdato kan påvirkes af faktorer som banker og betalingsinstitutioner.
Hvis der opstår en funktionsfejl uden menneskelig skade inden for 7 dage fra dagen efter, at brugeren har modtaget varen, vil Xiaomis eftersalgsservicecenter håndtere returneringen for brugeren efter inspektion og bekræftelse. Ved returnering af produktet skal brugeren fremvise et gyldigt købsbevis og returnere fakturaen. Eventuelle gaver skal returneres sammen med produktet.
Hvis der opstår ikke-menneskeskabt skade eller funktionsfejl inden for 7 til 15 dage fra dagen efter brugeren modtager varen, vil Xiaomi eftersalgsservicecenter håndtere ombytningssagen for brugeren og udskifte hele produktet efter inspektion og bekræftelse. Efter ombytningen vil tre-garantiperioden for selve produktet blive genberegnet.
Fra 15 dage til 365 dage fra dagen efter brugeren modtager varen, efter inspektion og bekræftelse af Xiaomi eftersalgsservicecenter, er det en kvalitetsfejl ved selve produktet, og reparationsservice kan leveres gratis. Det udskiftede defekte produkt tilhører Xiaomi Company. Ikke-defekte produkter returneres i deres oprindelige tilstand. Dette produkt forlader fabrikken efter at have gennemgået forskellige strenge tests. Hvis der opstår en kvalitetsfejl, der ikke er relateret til selve produktet, forbeholder vi os retten til at afvise brugerens anmodning om returnering eller ombytning.
Hvis eftersalgs-politikken i denne manual er uoverensstemmende med butikkens eftersalgs-politik, gælder butikkens eftersalgs-politik.
Ikke-garantiregler: Følgende situationer er ikke dækket af garantien:
Overskrider garantiperioden begrænset af garantibetingelserne.
Produktskade forårsaget af forkert brug uden at følge instruktionerne.
Skade forårsaget af forkert betjening, vedligeholdelse, installation, ændring, testning og anden forkert brug.
Konventionelt mekanisk tab og slid forårsaget af ikke-kvalitetsfejl.
Skade forårsaget af unormale arbejdsforhold, herunder men ikke begrænset til fald, stød, væskeindtrængning, voldsom påvirkning osv.
Skade forårsaget af naturkatastrofer (såsom oversvømmelser, brande, lynnedslag, jordskælv osv.) eller force majeure.
Skade forårsaget af brug ud over maksimal drejningsmoment.
Genstande, der ikke er ægte Xiaomi-produkter, kan muligvis ikke give lovligt købsbevis.
Andre fejl eller skader, der ikke skyldes problemer som produktdesign, teknologi, fremstilling, kvalitet osv.
Brug dette produkt til kommercielle formål.
Hvis ovenstående situation opstår, skal brugerne selv betale omkostningerne. For detaljer om gruppens eftersalgs-politik, se venligst: https://www.mi.com/service/serviceAgreement?id=17
Motorspecifikationer
1.1 Udseende og installationsmål
1.2 Standard brugsstatus
1.2.1 Nominel spænding: 24 VDC
1.2.2 Driftsvoltområde: 16V—28 VDC
1.2.3 Nominel belastning (CW): 4 N.m
1.2.4 Drejningsretning: CW/CCW set fra akslens retning
1.2.5 Brugsholdning: Aksens retning er vandret eller lodret
1.2.6 Standard driftstemperatur: 25±5°C
1.2.7 Driftstemperaturområde: -20 ~ 50°C
1.2.8 Standard driftsfugtighed: 65 %
1.2.9 Driftsfugtighedsområde: 5 ~ 85 %, ingen kondens
1.2.10 Opbevaringstemperaturområde: -30 ~ 70°C
1.2.11 Isoleringsklasse: Klasse B
1.3 Elektriske egenskaber
1.3.1 Tomgangshastighed: 296 rpm±10%
1.3.2 Tomgangsstrøm: 0.5 Arms
1.3.3 Nominel belastning: 4 N.m
1.3.4 Nominel belastningshastighed: 240rpm±10% 1.3.5 Nominel belastningsstrøm (top): 6.5A±10% 1.3.6 Topbelastning: 12 N.m
1.3.7 Topstrøm (topværdi): 23A±10%
1.3.8 Isolationsmodstand/statorvikling: DC 500VAC, 100M Ohm 1.3.9 Højspændingsmodstand/stator og kabinet: 600 VAC, 1s, 2mA 1.3.10 Motorens mod-elektromotorisk kraft: 0.054-0.057Vrms/rpm
1.3.11 Linjemodstand: 0.45Ω±10%
1.3.12 Momentkonstant: 0.87N.m/Arms
1.3.13 Motorinduktans: 187-339μH
1.3.14 T-N kurve
1.3.15 Maksimal overbelastningskurve Testbetingelser:
Omgivelsestemperatur: 25°C
Oviklingsgrænsetemperatur: 120°C
Hastighed: 24 rpm
Maksimal belastningskurve
Maksimal overbelastningstid (s) vs Drejningsmoment (N.m)
Testdata
Belastning | Driftstid (s) |
12 | 28 |
11 | 45 |
10 | 60 |
9 | 90 |
8 | 160 |
7 | 320 |
6 | 700 |
5 | 1800 |
4.5 | 2500 |
4 | nominel |
1.4 Mekaniske egenskaber
1.4.1 Vægt: 317g±3g
1.4.2 Antal poler: 28 poler 1.4.3 Antal faser: 3 faser
1.4.4 Drivtilstand: FOC
1.4.5 Reduktionsforhold: 7,75:1
Drive produktinformation
2.1 Introduktion til driverens udseende og produktspecifikationer
24V strømforsyning og CAN-kommunikation integreret terminal;
Hardwareversion og lasergraveret QR-kode;
MCU-downloadport;
CAN-kommunikationstestpunkt;
Indikatorlys;
Installationshuller; 7. “C, A, B” er svejsepunkterne for trefaset vikling;
Produktoplysninger
Mærkespænding under drift | 24VDC |
Maksimalt tilladt spænding | 28VDC |
Mærkestrøm under drift | 6.5A |
Maksimalt tilladt strøm | 23A |
Strømforbrug i standby | ≤18mA |
CAN-bus bitrate | 1Mbps |
Størrelse | Φ58mm |
Arbejdsomgivelsestemperatur | -20°C 50°C |
Maksimal temperatur tilladt af kontrolkortet | 80°C |
Encoderopløsning | 14bit (enkelt omgang absolut værdi) |
2.2 Drivergrænsefladedefinition
2.2.1 Drivergrænsefladediagram
2.2.2 Anbefalede mærker og modeller af drivergrænseflader
# | Kortmodel | Mærkeproducent | Linjeendermodel | Mærkeproducent |
1 | XT30PB(2+2)-M.G.B | AMASS (AMS) | XT30(2+2)-F.G.B | AMASS (AMS) |
2 | 2,0 mm-2P hun | / | 2,0 mm-2P han | / |
3 | 2,54 mm-4P hun | / | 2,54 mm-4P han | / |
2.2.3 Drivergrænsefladedefinition
Strømforsyning og CAN kommunikationsport
CAN kommunikationstestplade
Download-port
# | Interfacefunktion | PIN | Beskrivelse |
1 | Strøm og CAN-kommunikation | 1 | Strømforsyning positiv (+) |
2 | Negativ pol på strømforsyning (-) | ||
3 | CAN-kommunikation lav side CAN_L | ||
4 | CAN-kommunikation høj side CAN_H | ||
2 | CAN-kommunikation testpunkt | 1 | CAN-kommunikation lav side CAN_L |
2 | CAN-kommunikation høj side CAN_H | ||
3 | Download-port | 1 | SWDIO (data) |
2 | SWCLK (ur) | ||
3 | 3V3 (positiv 3,3V) | ||
4 | GND (negativ jord) |
2.3 Definition af driver indikatorlys
Blåt signallys og rødt strømindikatorlys
Definition af indikatorlys
Strømindikatorlys (rødt lys, når det er tændt) | Strømindikatorlyset bruges til at angive MCU'ens 3,3V strømforsyning. Når den samlede strømforsyning er 24V, lyser lyset rødt, hvilket beviser, at hele netværket er korrekt strømforsynet. Hvis strømforsyningen er 24V, og indikatorlyset ikke lyser, skal strømmen straks afbrydes |
Signalindikatorlys (blåt lys, når det er tændt) | Når signallyset blinker, beviser det, at MCU'en kører normalt, og driverchippen fungerer korrekt |
2.4 Hovedkomponenter og specifikationer
# | Komponenttype | Model | Mængde |
1 | MCU-chip | GD32F303RET6 | 1 STK |
2 | Driver-chip | 6EDL7141 | 1 STK |
3 | Magnetisk encoder-chip | AS5047P | 1 STK |
4 | Termistor | NXFT15XH103FEAB021/NCP18XH103F03RB | 2 STK |
5 | Power MOS | JMGG031V06A | 6 STK |
Instruktioner til brug af debugger (scan QR-kode i slutningen af papirhåndbogen for at få debuggeren)
3.1 Hardwarekonfiguration
Ledmotoren bruger CAN-kommunikation. Der er to kommunikationslinjer, som er forbundet til debuggeren via et can-til-USB-værktøj. Debuggeren skal have installeret ch340-driveren på forhånd og fungerer som standard i AT-tilstand.
Det skal bemærkes, at vi udviklede debuggeren baseret på et specifikt CAN til USB-værktøj, så vi skal bruge vores anbefalede serielportværktøj til fejlfinding. Hvis du vil porte det til andre debuggerplatforme, kan du se kapitel 3 i manualen. udvikling.
CAN til USB-værktøjet anbefaler brug af YourCee's USB-CAN-modul. Rammeheaderen, der svarer til serielportprotokollen, er 41 54, og rammeenden er 0D 0A.
3.2 Debugger-grænseflade og beskrivelse
omfatter hovedsageligt:
A. Modulvalg
-
Enhedsmodule
-
Konfigurationsmodul
-
Analysemodule
-
Hjælpemodul
B. Valg af undermodul Udstyrsmoduler inkluderer
-
Tilslut eller frakobl elektrisk udstyr
-
Motorudstyrsoplysninger
-
Kalibrering af motorencoder
-
Ændr motor CAN ID
-
Indstil motorens mekaniske nulposition
-
Motorprogramopgradering
Konfigurationsmoduler inkluderer:
-
Parameter-tabel, du kan se og ændre motorparametre
-
Upload parametre. Du kan uploade parametrene i motoren til parameter-tabellen
-
Download parametre. Du kan downloade data fra parameter-tabellen til motoren
-
Eksporter parametre. Du kan downloade data fra parameter-tabellen til lokal
-
Fabriksnulstilling, du kan gendanne data i parameter-tabellen til fabriksindstillinger.
-
Ryd advarsel, du kan rydde motorfejl, såsom for høj temperatur osv.
Analysemuligheder inkluderer:
-
Oscilloskop til at se parameterændringer over tid
-
Frekvens, du kan justere frekvensen for visning af data
-
Kanal, du kan konfigurere de data, der skal vises
-
Start og stop tegning
-
Output bølgeformsdata til lokal
Hjælpemoduler inkluderer:
-
Brugsanvisning, du kan åbne brugermanualen
-
Om, du kan se softwareinformation
C. Motorinformationsforespørgsel
-
Enhedsinformation
-
Parameter tabel information
D. Datakolonne
-
Loginformation
-
Kommunikationsinformation
E. Kør fejlfinding område
-
Vælg enhed
-
Bekvemt betjeningsområde, hvor du hurtigt kan styre motorens fremad- og baglænsrotation
-
Bevægelseskontrolområde, som kan styre motoren til at køre i forskellige tilstande
F. Underafsnitsvisningsområde
3.3 Motorindstillinger
3.3.1 Motorforbindelsesindstillinger
Tilslut CAN til USB-værktøj (installer ch340-driver, arbejder som standard i AT-tilstand), vælg enhedsmodulet, klik på forbindelsesundermodulet, og vælg den tilsvarende serielle portforbindelse.
3.3.2 Grundlæggende indstillinger
Ændr motorens ID-nummer.
-
Kalibrering af motorens magnetiske fletning, genmontering af motorpladen og motoren eller genforbindelse af motorledninger i en anden rækkefølge kræver genkalibrering af den magnetiske fletning.
-
Indstil nulpositionen (tabes ved strømsvigt) og sæt den aktuelle position til 0.
-
Motorprogramopgradering. Når motorprogrammet opdateres, klik på opgraderingsknappen for at vælge opgraderingsfilen til opgradering.
3.3.3 Parameterliste
Efter vellykket tilslutning af motoren, klik på parametertabelmodulet i konfigurationsmodulet, og alle parametre vises i loggen. Indlæsningen er vellykket, hvilket indikerer, at de relevante parametre for motoren er blevet læst korrekt (Bemærk: parametertabellen skal være i motorens standby-tilstand for at kunne konfigureres; hvis motoren er i driftstilstand, kan parametertabellen ikke opdateres). Interfacet vil vise de elektriske relevante parametre for motoren. De blå parametre er motorens interne lagringsparametre, som kan findes direkte efter de tilsvarende parametre. Rediger kolonnen for tidligere værdi. Klik på Download parametre for at downloade parametrene i debuggeren til motoren. Klik på Upload parametre for at uploade parametrene i motoren til debuggeren. De grønne parametre for motoren er observerede parametre, som er de indsamlede parametre, der kan observeres i realtid.
Bemærk: Ændr venligst ikke motorens momentgrænse, beskyttelsestemperatur og overtemperaturtid efter forgodtbefindende. På grund af ulovlig betjening af denne bog, hvis produktet forårsager skade på menneskekroppen eller uoprettelig skade på led, påtager vores firma sig intet ansvar for eventuelle juridiske konsekvenser.
Parametertabel
Funktionskode | Navn | Parametertype | Attributter | Maksimumsværdi | Minimumsværdi | Nuværende værdi (til reference) | Bemærkning |
0x0000 | Navn | Streng | læs/skriv | ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ | |||
0x0001 | Stregkode | Streng | læs/skriv | ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ | |||
0x1000 | BootCodeVersion | Streng | kun læsning | 0.1.5 | |||
0x1001 | BootBuildDate | Streng | kun læsning | 16. mar 2022 | |||
0x1002 | BootBuildTime | Streng | kun læsning | 20:22:09 | |||
0x1003 | AppCodeVersion | Streng | kun læsning | 0.1.5 | Motorprogram versionsnummer | ||
0x1004 | AppGitVersion | Streng | kun læsning | 7b844b0fM | |||
0x1005 | AppBuildDate | Streng | kun læsning | 14. apr 2022 | |||
0x1006 | AppBuildTime | Streng | kun læsning | 20:30:22 | |||
0x1007 | AppCodeName | Streng | kun læsning | dog_motor | |||
0x2000 | echoPara1 | uint16 | Konfiguration | 74 | 5 | 5 | |
0x2001 | echoPara2 | uint16 | Konfiguration | 74 | 5 | 5 | |
0x2002 | echoPara3 | uint16 | Konfiguration | 74 | 5 | 5 | |
0x2003 | echoPara4 | uint16 | Konfiguration | 74 | 5 | 5 | |
0x2004 | echoFreHz | uint32 | læs/skriv | 10000 | 1 | 500 | |
0x2005 | MechOffset | float | opsæt | 7 | -7 | 4.619583 | Motorens magnetiske encoder vinkeloffset |
0x2006 | MechPos_init | float | læs/skriv | 50 | -50 | 4.52 | Referencevinkel under initial multi-omdrejning |
0x2007 | limit_torque | float | læs/skriv | 12 | 0 | 12 | Drejningsmomentgrænse |
0x2008 | I_FW_MAX | float | læs/skriv | 33 | 0 | 0 | Feltforvækkelsesstrømværdi, standard 0 |
0x2009 | motor_index | uint8 | opsæt | 20 | 0 | 1 | Motorindeks, markerer motorledposition |
0X200a | CAN_ID | uint8 | opsæt | 127 | 0 | 1 | Denne node id |
0x200b | CAN_MASTER | uint8 | opsæt | 127 | 0 | 0 | can vært id |
0x200c | CAN_TIMEOUT | uint32 | læs/skriv | 100000 | 0 | 0 | can timeout tærskel, standard 0 |
0x200d | motorOverTemp | int16 | læs/skriv | 1500 | 0 | 800 | Motorbeskyttelsestemperaturværdi, temp (grad) *10 |
0x200e | overTempTime | uint32 | læs/skriv | 1000000 | 1000 | 20000 | Overtemperatur tid |
0x200f | GearRatio | float | læs/skriv | 64 | 1 | 7.75 | Gearingsforhold |
0x2010 | Tq_caliType | uint8 | læs/skriv | 1 | 0 | 1 | Indstilling af momentkalibreringsmetode |
0x2011 | cur_filt_gain | float | læs/skriv | 1 | 0 | 0.9 | Strømfilterparametre |
0x2012 | cur_kp | float | læs/skriv | 200 | 0 | 0.025 | Strøm kp |
0x2013 | cur_ki | float | læs/skriv | 200 | 0 | 0.0258 | elektrisk strøm ki |
0x2014 | spd_kp | float | læs/skriv | 200 | 0 | 2 | Hastighed kp |
0x2015 | spd_ki | float | læs/skriv | 200 | 0 | 0.021 | hastighed ki |
0x2016 | loc_kp | float | læs/skriv | 200 | 0 | 30 | Placering kp |
0x2017 | spd_filt_gain | float | læs/skriv | 1 | 0 | 0.1 | Hastighedsfilterparametre |
0x2018 | limit_spd | float | læs/skriv | 200 | 0 | 2 | Positionsmodus hastighedsgrænse |
0x2019 | limit_cur | float | læs/skriv | 23 | 0 | 23 | Positions-, hastighedstilstandsstrømsgrænse |
0x3000 | timeUse0 | uint16 | kun læsning (beregning) | 5 | |||
0x3001 | timeUse1 | uint16 | kun læsning (beregning) | 0 | |||
0x3002 | timeUse2 | uint16 | kun læsning (beregning) | 10 | |||
0x3003 | timeUse3 | uint16 | kun læsning (beregning) | 0 | |||
0x3004 | encoderRaw | uint16 | kun læsning (beregning) | 11396 | Magnetisk Encoder Prøveværdi | ||
0x3005 | mcuTemp | int16 | kun læsning (beregning) | 337 | mcu intern temperatur *10 | ||
0x3006 | motorTemp | int16 | kun læsning (beregning) | 333 | motor ntc temperatur *10 | ||
0x3007 | vBus(mv) | uint16 | kun læsning (beregning) | 24195 | busspænding | ||
0x3008 | adc1Offset | int32 | kun læsning (beregning) | 2084 | adc Prøvekanal 1 nulstrømsforskydning | ||
0x3009 | adc2Offset | int32 | kun læsning (beregning) | 2084 | adc prøvekanal 2 nulstrømsforskydning | ||
0x300a | adc1Raw | uint16 | kun læsning (beregning) | 1232 | adc Prøveværdi 1 | ||
0x300b | adc2Raw | uint16 | kun læsning (beregning) | 1212 | adc Prøveværdi 2 | ||
0x300c | VBUS | float | kun læsning (beregning) | 24.195 | Busbar spænding V | ||
0x300d | cmdId | float | kun læsning (beregning) | 0 | id ring kommando, A | ||
0x300e | cmdIq | float | kun læsning (beregning) | 0 | iq ring kommando, A | ||
0x300f | cmdlocref | float | kun læsning (beregning) | 0 | Positionsløkke kommando, rad | ||
0x3010 | cmdspdref | float | kun læsning (beregning) | 0 | Hastighedsløkke kommando, rad/s | ||
0x3011 | cmdTorque | float | kun læsning (beregning) | 0 | Drejningsmomentkommando, nm | ||
0x3012 | cmdPos | float | kun læsning (beregning) | 0 | mit Protokolvinkelkommando | ||
0x3013 | cmdVel | float | kun læsning (beregning) | 0 | mit protokol hastighedsindikator dydig | ||
0x3014 | rotation | int16 | kun læsning (beregning) | 1 | antal omgange | ||
0x3015 | modPos | float | kun læsning (beregning) | 4.363409 | Motorens ikke-beregnede mekaniske vinkel, rad | ||
0x3016 | mechPos | float | kun læsning (beregning) | 0.777679 | Belastningssides løbetællende maskinvinkel, rad | ||
0x3017 | mechVel | float | kun læsning (beregning) | 0.036618 | Styrehastighed på belastningsside, rad/s | ||
0x3018 | elecPos | float | kun læsning (beregning) | 4.714761 | Elektrisk vinkel | ||
0x3019 | ia | float | kun læsning (beregning) | 0 | U linjestrøm, A | ||
0x301a | ib | float | kun læsning (beregning) | 0 | V linjestrøm, A | ||
0x301b | ic | float | kun læsning (beregning) | 0 | W linjestrøm, A | ||
0x301c | flue | uint32 | kun læsning (beregning) | 31600 | |||
0x301d | phaseOrder | uint8 | kun læsning (beregning) | 0 | Kalibreringsretningsmarkører | ||
0x301e | iqf | float | kun læsning (beregning) | 0 | iq Filterværdi, A | ||
0x301f | boardTemp | int16 | kun læsning (beregning) | 359 | Temperatur på printkort, *10 | ||
0x3020 | iq | float | kun læsning (beregning) | 0 | iq originalværdi, A | ||
0x3021 | id | float | kun læsning (beregning) | 0 | id Originalværdi, A | ||
0x3022 | faultSta | uint32 | kun læsning (beregning) | 0 | Fejlstatusværdi | ||
0X3023 | warnSta | uint32 | kun læsning (beregning) | 0 | Advarselsstatusværdi | ||
0x3024 | drv_fault | uint16 | kun læsning (beregning) | 0 | Driver chip fejlværdi | ||
0x3025 | drv_temp | int16 | kun læsning (beregning) | 48 | Driver chip temperaturværdi, grader | ||
0x3026 | Uq | float | kun læsning (beregning) | 0 | q-akse spænding | ||
0x3027 | Ud | float | kun læsning (beregning) | 0 | d-akse spænding | ||
0x3028 | dtc_u | float | kun læsning (beregning) | 0 | U-fase udgangsarbejdscyklus | ||
0x3029 | dtc_v | float | kun læsning (beregning) | 0 | V fase udgangsarbejdscyklus | ||
0x302a | dtc_w | float | kun læsning (beregning) | 0 | W fase udgangsarbejdscyklus | ||
0x302b | v_bus | float | kun læsning (beregning) | 24.195 | vbus i lukket kredsløb | ||
0x302c | v_ref | float | kun læsning (beregning) | 0 | Lukket kredsløb vq, vd syntese inputspænding | ||
0x302d | torque_fdb | float | kun læsning (beregning) | 0 | Drejningsmoment feedbackværdi, nm | ||
0x302e | rated_i | float | kun læsning (beregning) | 8 | Motorens mærkestrøm | ||
0x302f | limit_i | float | kun læsning (beregning) | 27 | Motorens maksimale strømgrænse |
3.3.4 Oscilloskop
Denne grænseflade understøtter visning og observation af grafen genereret af realtidsdata. De observerbare data inkluderer motorens Id/Iq-strøm, temperatur, udgangens realtidshastighed, rotor (encoder) position, udgangsposition osv.
Klik på oscilloskopmodulet i analysemodulet, vælg de passende parametre i kanalen (for parametrenes betydning, se 3.3.3), indstil udgangsfrekvensen og klik på Start tegning for at observere dataspektret, stop tegning for at stoppe observationen af spektret.
3.4 Kontroldemo
jog-kørsel:
Indstil maksimal hastighed, klik på Kør, og klik derefter på JOG for at køre motoren frem og tilbage
Skift af kontroltilstand:
Motorkontroltilstanden kan skiftes til bevægelsestilstandsgrænsefladen.
3.4.1 Nulpunktstilstand
Klik på skifteknappen til højre, og motoren vil langsomt vende tilbage til den mekaniske nulposition.
3.4.2 Driftskontroltilstand
Klik på skifteknappen til højre, indstil derefter de fem parameterværdier, klik på Start eller Kontinuerlig afsendelse, motoren vil vende tilbage til feedback-rammen og køre i henhold til målkommandoen; klik igen på skifteknappen til højre, og motoren stopper.
3.4.2 Strømmode
Skift manuelt til strømmode, klik på skifteknappen til højre, og indstil derefter Iq-strømkommandoens værdi, start eller send kontinuerligt, motoren vil følge strømkommandoen, klik igen på skifteknappen til højre, motoren stopper.
Klik på skifteknappen på højre side af kontroltilstanden, indtast amplituden og frekvensen for den sinusformede automatiske test, og klik derefter på skifteknappen på højre side af den sinusformede automatiske test, og motorens iq (A) vil køre i henhold til den indstillede amplitude og frekvens.
3.4.3 Hastighedstilstand
Skift manuelt til hastighedstilstand, klik på skifteknappen til højre, og indstil derefter hastighedskommandoens værdi (-30~30rad/s), start eller send kontinuerligt, motoren vil følge hastighedskommandoen, klik igen på skifteknappen til højre, motoren stopper.
3.4.4 Positionsmodus
Skift manuelt til positionsmodus, klik på skifteknappen til højre, indstil derefter positionskommandoens værdi (rad), start eller send kontinuerligt, motoren vil følge målpositionskommandoen, klik igen på skifteknappen til højre, motoren stopper. Du kan ændre den maksimale hastighed for positionsfølgning ved at indstille hastigheden.
Klik på skifteknappen til højre for kontroltilstanden, indtast amplitude og frekvens for den sinusbaserede automatiske test, og klik derefter på skifteknappen til højre for den sinusbaserede automatiske test. Motorens position (rad) vil køre i henhold til den indstillede amplitude og frekvens.
3.5 Firmwareopdatering
Det første trin er at klikke på opgradering af enhedsmodulet og vælge den bin-fil, der skal brændes; det andet trin er at bekræfte opgraderingen, og motoren vil begynde at opdatere firmwaren. Når processen er fuldført, er motoropdateringen færdig, og den genstarter automatisk.
Driver kommunikationsprotokol og brugsanvisning
Motorkommunikation er CAN 2.0 kommunikationsgrænseflade med en baudrate på 1 Mbps og et udvidet rammeformat, som vist
Datafelt | 29-bit ID | 8 Byte dataområde | ||
Størrelse | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Beskrivelse | Kommunikationstype | Dataområde 2 | Måladresse | Dataområde 1 |
De kontroltilstande, som motoren understøtter, inkluderer:
-
Driftskontroltilstand: givet 5 parametre til motorens driftskontrol;
-
Nuværende tilstand: givet den specificerede Iq-strøm til motoren;
-
Hastighedsmodus: Givet den specificerede drifts hastighed for motoren;
-
Positionsmodus: Givet en specificeret position for motoren, vil motoren køre til den specificerede position;
4.1 Beskrivelse af kommunikationsprotokoltype
4.1.1 Hent enheds-ID (kommunikationstype 0); Hent enhedens ID og 64-bit MCU unikke identifikator
Anmodningsramme:
Datafelt | 29-bit ID | 8 byte dataområde | ||
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Beskrivelse | 0 | Bit 15 ~ 8: Værts CAN_ID | Motor CAN_ID | 0 |
Svarramme:
Datafelt | 29-bit ID | 8 byte dataområde | ||
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Beskrivelse | 0 | Motor CAN_ID | 0xFE | 64-bit MCU unikt identifikationsnummer |
4.1.2 Motorstyringsinstruktioner (kommunikationstype 1) i driftskontroltilstand bruges til at sende kontrolinstruktioner til motoren.
Anmodningsramme:
Datafelt | 29-bit ID | 8 byte dataområde | ||
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Beskrivelse | 1 | Byte 2: Drejningsmoment (0 ~ 65535) svarende til (- 12Nm ~ 12Nm) | Motor CAN_ID | Byte 0 ~ 1: Mål vinkel [0 ~ 65535] svarende til (-4π ~ 4π) Byte 2 ~ 3: Mål vinkelhastighed [0 ~ 65535] svarer til (- 30rad/s ~ 30rad/s) Byte 4 ~ 5: Kp [0 ~ 65535] svarer til (0,0 ~ 500,0) Byte 6 ~ 7: Kd [0 ~ 65535] svarer til (0,0 ~ 5,0) |
Svarramme: Svar på motorfeedbackramme (se kommunikationstype 2)
4.1.3 Motor feedbackdata (kommunikationstype 2) bruges til at give feedback om motorens driftsstatus til værten
Datafelt | 29-bit ID | 8 byte dataområde | ||
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Beskrivelse | 2 | Bit 8 ~ 15: Motor CAN ID Bit 21 ~ 16: Fejlinformation (0 - Nej, 1 - Ja) Bit 21: ikke kalibreret Bit 20: HALL-kodningsfejl Bit 19: Magnetisk kodningsfejl Bit 18: overtemperatur Bit 17: overstrøm Bit 16: Underspændingsfejl Bit 22 ~ 23: tilstandsstatus: 0: Nulstillings-tilstand [nulstil] 1: Cali-tilstand [Kalibrering] 2: Motortilstand [Kør] |
Host CAN_ID | Byte 0 ~ 1: Aktuel vinkel [0 ~ 65535] svarer til (-4π ~ 4π) Byte 2 ~ 3: Aktuel vinkelhastighed [0 ~ 65535] svarer til (-30rad/s ~ 30rad/s) Byte 4 ~ 5: Aktuelt drejningsmoment [0 ~ 65535] svarer til (-12Nm ~ 12Nm) Byte 6 ~ 7: Aktuel temperatur: Temp (grader Celsius) )*10 |
4.1.4 Motor aktiveringsfunktion (kommunikationstype 3)
Datafelt | 29-bit ID | 8 byte dataområde | ||
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Beskrivelse | 3 | Bit 15 ~ 8: Værts CAN_ID | Motor CAN_ID |
Svarramme: Svar motor feedbackramme (se kommunikationstype 2)
4.1.5 Motor stoppet (kommunikationstype 4)
Datafelt | 29-bit ID | 8 byte dataområde | ||
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Beskrivelse | 4 | Bit 15 ~ 8: Værts CAN_ID | Motor CAN_ID | Under normal drift skal dataområdet ryddes til 0; Når Byte[0]=1: Ryd fejl; |
Svarramme: Svar motor feedbackramme (se kommunikationstype 2)
4.1.6 Indstilling af motorens mekaniske nulposition (kommunikationstype 6) vil sætte den nuværende motorposition til den mekaniske nulposition (tabes efter strømsvigt)
Datafelt | 29-bit ID | 8 byte dataområde | ||
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Beskrivelse | 6 | Bit 15 ~ 8: Værts CAN_ID | Motor CAN_ID | Byte[0]=1 |
Svarramme: Svar motor feedbackramme (se kommunikationstype 2)
4.1.7 Indstil motor CAN_ID (kommunikationstype 7) for at ændre den nuværende motor CAN_ID, som træder i kraft med det samme.
Datafelt | 29-bit ID | 8 byte dataområde | ||
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Beskrivelse | 7 | Bit 15 ~ 8: Værts CAN_ID Bit 16 ~ 23: Ny motor CAN_ID |
Motor CAN_ID | Byte[0]=1 |
Svarramme: Svar motor broadcast-ramme (se kommunikationstype 0)
4.1.8 Enkel parameter læsning (kommunikationstype 17)
Datafelt | 29-bit ID | 8 byte dataområde | ||
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Beskrivelse | 17 | Bit 15 ~ 8: Værts CAN_ID | Motor CAN_ID | Byte 0 ~ 1: indeks, se 4.1.11 for parameterlisten Byte 2 ~ 3: 00 Byte 4 ~ 7: 00 |
Svarramme:
Datafelt | 29-bit ID | 8 byte dataområde | ||
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Beskrivelse | 17 | Bit 15 ~ 8: Motor CAN_ID | Host CAN_ID | Byte 0 ~ 1: indeks, for parameterlisten, se 4.1.11 Byte 2 ~ 3: 00 Byte 4 ~ 7: parameterdata, 1 byte data er i Byte 4 |
4.1.9 Enkel parameter skrivning (kommunikationstype 18) (tabes efter strømsvigt)
Datafelt | 29-bit ID | 8 byte dataområde | ||
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Beskrivelse | 18 | Bit 15 ~ 8: Værts CAN_ID | Motor CAN_ID | Byte 0 ~ 1: indeks, se 4.1.11 for detaljer om parameterlisten Byte 2 ~ 3: 00 Byte 4 ~ 7: parameterdata |
Svarramme: Svar motor feedbackramme (se kommunikationstype 2)
4.1.10 Fejlfeedbackramme (kommunikationstype 21)
Datafelt | 29-bit ID | 8 byte dataområde | ||
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Beskrivelse | 21 | Bit 15 ~ 8: Værts CAN_ID | Motor CAN_ID | Byte 0 ~ 3: fejlværdi (ikke 0: fejl, 0: normal) Bit 16: A-fase strømprøvetagning overstrøm Bit 15 ~ 8: overbelastningsfejl Bit 7: encoder ikke kalibreret Bit 5: C-fase strømprøvetagning overstrøm Bit 4: B-fase strømprøvetagning overstrømsbit3: overspændingsfejl Bit 2: undervoltfejl bit1: driverchipfejl bit0: motor overtemperaturfejl, standard 80 grader Byte 4 ~ 7: advarselsværdi Bit 0: motor overtemperaturadvarsel, standard 75 grader |
4.1.11 Baudrateændring (kommunikationstype 22) (version 1.2.1.5 kan ændres, se venligst dokumentprocessen for at ændre det omhyggeligt. Driftsfejl kan forårsage problemer som manglende forbindelse til motoren og manglende mulighed for opgradering)
Datafelt | 29-bit ID | 8 byte dataområde | ||
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Beskrivelse | 22 | Bit 15 ~ 8: Værts CAN_ID | Motor CAN_ID | Byte0: Motorens baudrate 1: 1Mbps 2: 500kbps 3: 250kbps 4: 125kbps |
Svarramme: Svar motor broadcast-ramme (se kommunikationstype 0)
4.1.12 Læsbar og skrivbar enkelt parameterliste (7019-7020 kan læses af firmwareversion 1.2.1.5)
Parameterindeks | parameternavn | beskriv | type | Antal bytes | Mulige værdier | Tilladelse |
0x7005 | run_mode | 0: Driftskontroltilstand 1: Positions-tilstand 2: Hastighedstilstand 3: Strømtilstand |
uint8 | 1 | W/R | |
0x7006 | iq_ref | Strømtilstand Iq Kommando | float | 4 | -23 ~ 23A | W/R |
0x700A | spd_ref | Hastighedstilstand hastighedskommando | float | 4 | -30 ~ 30rad/s | W/R |
0x700B | limit_torque | Drejningsmomentgrænse | float | 4 | 0~12Nm | W/R |
0x7010 | cur_kp | Kp for strømmen | float | 4 | Standardværdi 0,125 | W/R |
0x7011 | cur_ki | Strøm Ki | float | 4 | Standardværdi 0,0158 | W/R |
0x7014 | cur_filt_gain | Strømfilterkoefficient filt_gain | float | 4 | 0~1,0, standardværdi W/R 0,1 | W/R |
0x7016 | loc_ref | Positionsmodus vinkelkommando | float | 4 | rad | W/R |
0x7017 | limit_spd | Positionsmodus hastighedsgrænse | float | 4 | 0 ~ 30rad/s | W/R |
0x7018 | limit_cur | Hastighed Position Tilstand Strømgrænse | float | 4 | 0 ~ 23A | W/R |
0x7019 | mechPos | Indlæs end lap tælling mekanisk vinkel | float | 4 | rad | R |
0x701A | iqf | iq filterværdi | float | 4 | -23 ~ 23A | R |
0x701B | mechVel | Lastendens hastighed | float | 4 | -30 ~ 30rad/s | R |
0x701C | VBUS | busspænding | float | 4 | V | R |
0x701D | rotation | Antal omdrejninger | int16 | 2 | Antal omdrejninger | W/R |
0x701E | loc_kp | kp af positionen | float | 4 | Standardværdi 30 | W/R |
0x701F | spd_kp | Hastighed i kp | float | 4 | Standardværdi 1 | W/R |
0x7020 | spd_ki | Hastighed af ki | float | 4 | Standardværdi 0,002 | W/R |
4.2 Instruktioner til brug af kontroltilstand
4.2.1 Programeksempel
Følgende giver eksempler på styring af motorer i forskellige tilstande (med gd32f303 som eksempel). Følgende er kaldet biblioteker, funktioner og makrodefinitioner for forskellige eksempler.
#define P_MIN -12.5f #define P_MAX 12.5f #define V_MIN -30.0f #define V_MAX 30.0f #define KP_MIN 0.0f #define KP_MAX 500.0f #define KD_MIN 0.0f #define KD_MAX 5.0f #define T_MIN -12.0f #define T_MAX 12.0f struct exCanIdInfo{ uint32_t id:8; uint32_t data:16; uint32_t mode:5; uint32_t res:3; }; can_receive_message_struct rxMsg; can_trasnmit_message_struct txMsg = { .tx_sfid = 0, .tx_efid = 0xff, .tx_ft = CAN_FT_DATA, .tx_ff = CAN_FF_EXTENDED, .tx_dlen = 8, }; #define txCanIdEx (((struct exCanIdInfo)&(txMsg.tx_efid))) // Parse extended frame id into custom data structure #define rxCanIdEx (((struct exCanIdInfo)&(rxMsg.rx_efid))) int float_to_uint(float x, float x_min, float x_max, int bits) { float span = x_max - x_min; float offset = x_min; if(x > x_max) x=x_max; else if(x < x_min) x= x_min; return (int) ((x-offset)*((float)((1<
✔ Kopieret!
Driftskontroltilstand motorstyringsinstruktioner (kommunikationstype 1)
void motor_controlmode(uint8_t id, float torque, float MechPosition, float speed, float kp, float kd) { txCanIdEx.mode = 1; txCanIdEx.id = id; txCanIdEx.res = 0; txCanIdEx.data = float_to_uint(torque,T_MIN,T_MAX,16); txMsg.tx_dlen = 8; txMsg.tx_data[0]=float_to_uint(MechPosition,P_MIN,P_MAX,16)>>8; txMsg.tx_data[1]=float_to_uint(MechPosition,P_MIN,P_MAX,16); txMsg.tx_data[2]=float_to_uint(speed,V_MIN,V_MAX,16)>>8; txMsg.tx_data[3]=float_to_uint(speed,V_MIN,V_MAX,16); txMsg.tx_data[4]=float_to_uint(kp,KP_MIN,KP_MAX,16)>>8; txMsg.tx_data[5]=float_to_uint(kp,KP_MIN,KP_MAX,16); txMsg.tx_data[6]=float_to_uint(kd,KD_MIN,KD_MAX,16)>>8; txMsg.tx_data[7]=float_to_uint(kd,KD_MIN,KD_MAX,16); can_txd(); }
✔ Kopieret!
Motor stop køreramme (kommunikationstype 4)
void motor_reset(uint8_t id, uint16_t master_id) { txCanIdEx.mode = 4; txCanIdEx.id = id; txCanIdEx.res = 0; txCanIdEx.data = master_id; txMsg.tx_dlen = 8; for(uint8_t i=0;i<8;i++) { txMsg.tx_data[i]=0; } can_txd(); }
✔ Kopieret!
Motor tilstandsparameter skrivekommando (kommunikationstype 18, skift af driftsmåde)
uint8_t runmode; uint16_t indeks; void motor_modechange(uint8_t id, uint16_t master_id) { txCanIdEx.mode = 0x12; txCanIdEx.id = id; txCanIdEx.res = 0; txCanIdEx.data = master_id; txMsg.tx_dlen = 8; for(uint8_t i=0;i<8;i++) { txMsg.tx_data[i]=0; } memcpy(&txMsg.tx_data[0],&index,2); memcpy(&txMsg.tx_data[4],&runmode, 1); can_txd(); }
✔ Kopieret!
Motor tilstandsparameter skrivekommando (kommunikationstype 18, kontrolparameter skrivning)
uint16_t indeks; float ref; void motor_write(uint8_t id, uint16_t master_id) { txCanIdEx.mode = 0x12; txCanIdEx.id = id; txCanIdEx.res = 0; txCanIdEx.data = master_id; txMsg.tx_dlen = 8; for(uint8_t i=0;i<8;i++) { txMsg.tx_data[i]=0; } memcpy(&txMsg.tx_data[0],&index,2); memcpy(&txMsg.tx_data[4],&ref,4); can_txd(); }
✔ Kopieret!
4.2.2 Driftskontroltilstand
Efter motoren er tændt, er den som standard i driftskontroltilstand;
Send motor aktiver kørende ramme (kommunikationstype 3) -->
Send driftskontroltilstands motorstyringskommando (kommunikationstype 1) -->
Modtag motorfeedback-ramme (kommunikationstype 2)
4.2.3 Strømfunktion
Send motorens tilstandsparameter-skrivekommando (kommunikationstype 18) og sæt runmode-parameteren til 3 --->
Send motorens aktiveringskørsel-ramme (kommunikationstype 3) -->
Send motorens tilstandsparameter-skrivekommando (kommunikationstype 18) og sæt iq_ref-parameteren til forudindstillet strømskommando
4.2.4 Hastighedsfunktion
Send motorens tilstandsparameter-skrivekommando (kommunikationstype 18) og sæt runmode-parameteren til 2 --->
Send motorens aktiveringskørsel-ramme (kommunikationstype 3) -->
Send motorens tilstandsparameter-skrivekommando (kommunikationstype 18) og sæt limit_cur-parameteren til forudindstillet maksimalstrømskommando -->
Send motorens tilstandsparameter-skrivekommando (kommunikationstype 18) for at sætte spd_ref-parameteren til forudindstillet hastighedskommando
4.2.5 Positionsfunktion
Send motorens tilstandsparameter-skrivekommando (kommunikationstype 18) og sæt runmode-parameteren til 1 -->
Send motorens aktiveringskørsel-ramme (kommunikationstype 3) -->
Send motorens tilstandsparameter-skrivekommando (kommunikationstype 18) og sæt limit_spd-parameteren til forudindstillet maksimalhastighedskommando -->
Send motorens tilstandsparameter-skrivekommando (kommunikationstype 18) for at sætte loc_ref-parameteren til forudindstillet positionskommando
4.2.6 Stop drift
Send motor stop-ramme (kommunikationstype 4)
CyberGear bibliotek til M5 stack
https://github.com/project-sternbergia/cybergear_m5/tree/main
cybergear_m5
M5 stack bibliotek til cybergear
"Husk, med stort drejningsmoment kommer stort ansvar."
Understøttet framework
-
Arduino til ESP32
Understøttet enhed (ESP32)
-
M5Stack Basic V2.7
H/W-komponenter (MCP2515)
H/W-komponenter (ESP32 + PWRCAN)
H/W-komponenter (ESP32 + CAN Transceiver-enhed)
Sådan bruger du Official GUI værktøj
Denne software kræver et specifikt CAN til USB modul. Den officielle dokumentation anbefaler YourCee's USB til CAN modul, som understøtter seriel protokol med en rammeheader på 41 54 og rammehale på 0D 0A, men dette er ikke let tilgængeligt, så vi søgte på Aliexpress efter et alternativ. ※ Bemærk, at dette ikke virker for generelle moduler.
Testet (til reference):
Anbefalede præ-krympe kabler
-
XT30(2+2) Kabel
Hvordan man kør eksempel
Arduino IDE
-
cd ~/Arduino/libraries
-
git clone https://github.com/coryjfowler/MCP_CAN_lib.git
-
git clone https://github.com/Locoduino/RingBuffer.git
-
git clone git@github.com:project-sternbergia/arduino-CAN.git
-
git clone https://github.com/project-sternbergia/cybergear_m5.git
-
Åbn cybergear_m5/examples/control_mode_example.ino med Arduino IDE
-
Sæt denne fil i samme mappe som control_mode_example.ino (til Arduino IDE). Hvis du vil bruge ESP32_CAN-biblioteket, skal du kommentere disse linjer.
-
Byg og skriv firmware til M5Stack
Eksempelkode
control_mode_example.ino
Tjek cybergear opførsel ved hjælp af M5 stack.
-
Midterste knap - Skift kontroltilstand (Positions-tilstand -> Hastigheds-tilstand -> Strøm-tilstand)
-
Højre knap - Forøg kontrolværdi
-
Venstre knap - Formindsk kontrolværdi
cybergear_bilateral.ino
Dette eksempel bruger to cybergears til leder og følger. Før du tester dette eksempel, skal du ændre cybergear CAN-id som følger. Derefter skriv cybergear_m5/examples/cybergear_bilateral.ino til m5 stack gennem Arduino IDE.
-
leader cybergear : 0x7F
-
follower cybergear : 0x7E
Anbefalede Artikler