XiaoMi CyberGear Mikromotor Guide

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

  • Klon MCP_CAN_LIB og cygergear_m5 til Arduino Library-mappen.
  • 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
  • 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

 

Efterlad en kommentar

Din e-mail-adresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

Tilmeld dig vores nyhedsbrev

Få de seneste oplysninger om vores produkter og særlige tilbud.