Mikä on XiaoMi CyberGear Micromotor
Xiaomi CyberGear Micromotor on kompakti mutta tehokas mikromoottori, joka on suunniteltu edistyneisiin robotiikka- ja bionisiin sovelluksiin. Siinä on korkea vääntömomentin ja koon suhde, nopeat vasteajat ja tarkka ohjaus, mikä mahdollistaa realistiset ja sulavat liikkeet robottiraajoissa ja mekanismeissa. Sen modulaarinen rakenne ja älykkäät ohjausalgoritmit helpottavat saumatonta integrointia monimutkaisiin järjestelmiin, tehden siitä sopivan sovelluksiin bionisista proteeseista edistyneisiin robottilemmikkeihin. Xiaomi korostaa sen potentiaalia luoda elävämpiä ja vuorovaikutteisempia robottikokemuksia.
CyberGear Micromotor Käyttöohje
Varotoimet
-
Käytä sitä tämän artikkelin määriteltyjen työparametrien mukaisesti, muuten se voi aiheuttaa vakavia vaurioita tälle tuotteelle!
-
Ohjaustilaa ei voi vaihtaa, kun nivel on käynnissä. Jos haluat vaihtaa, sinun on lähetettävä pysäytyskäsky ennen vaihtoa.
-
Tarkista ennen käyttöä, ovatko kaikki osat ehjiä. Jos osia puuttuu tai ne ovat vahingoittuneet, ota ajoissa yhteys tekniseen tukeen.
-
Älä pura moottoria mielivaltaisesti välttääksesi korjaamattomia vikoja.
-
Varmista, ettei moottorissa ole oikosulkua ja että liitin on kytketty oikein vaatimusten mukaisesti.
Oikeudelliset Ilmoitukset
Ennen tämän tuotteen käyttöä käyttäjän on luettava tämä käyttöopas huolellisesti ja käytettävä tuotetta tämän oppaan ohjeiden mukaisesti. Jos käyttäjä käyttää tätä tuotetta tämän oppaan ohjeiden vastaisesti, yritys ei ota vastuuta mahdollisista omaisuusvahingoista tai henkilövahingoista. Koska tämä tuote koostuu monista osista, älä anna lasten koskea tähän tuotteeseen onnettomuuksien välttämiseksi. Tuotteen käyttöiän pidentämiseksi älä käytä tätä tuotetta korkeassa lämpötilassa ja korkeassa paineessa. Tämä käyttöopas on pyrkinyt parhaansa mukaan sisältämään erilaiset toiminto- ja käyttöohjeet painohetkellä. Kuitenkin tuotteen toimintojen jatkuvan parantamisen, suunnittelumuutosten ym. vuoksi saattaa olla eroja käyttäjän ostaman tuotteen kanssa.
Tässä käyttöoppaassa ja varsinaisessa tuotteessa saattaa olla eroja värin, ulkonäön ym. osalta. Katso varsinaista tuotetta. Tämä käyttöopas on julkaissut Xiaomi tai sen paikalliset tytäryhtiöt. Xiaomi voi tehdä tarvittavia parannuksia ja muutoksia tähän käyttöoppaaseen typografisten virheiden, uusimman tiedon epätarkkuuksien tai ohjelmien ja/tai laitteiden parannusten vuoksi milloin tahansa ilman ennakkoilmoitusta. Tällaiset muutokset päivitetään tämän käyttöoppaan uuteen versioon. Skannaa tämän käyttöoppaan QR-koodi saadaksesi sen. Kaikki kuvat ovat vain toiminnallisen kuvauksen vuoksi. Katso varsinaista tuotetta.
Jälkimyyntipolitiikka
Tämän tuotteen jälkimyyntipalvelu noudattaa tiukasti "Kiinan kansantasavallan kuluttajien oikeuksien ja etujen suojaamista koskevaa lakia" ja "Kiinan kansantasavallan tuotelaadun lakia". Palvelun sisältö on seuraava:
Takuuajan pituus ja sisältö
Käyttäjät, jotka tilaavat tämän tuotteen verkon kautta, voivat nauttia seitsemän päivän palautusoikeudesta ilman syytä vastaanottopäivästä lukien. Palautettaessa tavaroita käyttäjän on esitettävä voimassa oleva ostotodistus ja palautuskuitti. Käyttäjän on varmistettava, että palautettavat tavarat säilyttävät alkuperäisen laatunsa ja toimintakykynsä, niiden ulkonäkö on ehjä, ja tavaroiden sekä lisävarusteiden tavaramerkit ja logot ovat täydelliset. Mahdolliset lahjat on palautettava yhdessä tuotteen kanssa. Jos tuote on vahingoittunut tahallisesti, purettu manuaalisesti, pakkauslaatikko puuttuu tai varaosat puuttuvat, palautusta ei käsitellä. Palautuksesta aiheutuvat logistiikkakustannukset ovat käyttäjän vastuulla (katso "Jälkimyyntipalvelun hinnoittelustandardit" hinnoittelustandardeista). Jos käyttäjä ei maksa logistiikkamaksuja, todellinen summa vähennetään hyvityssummasta. Maksettu hinta palautetaan käyttäjälle seitsemän päivän kuluessa palautettujen tavaroiden vastaanottopäivästä. Hyvitystavat ovat samat kuin maksutavat. Tarkka saapumispäivä voi riippua pankeista ja maksulaitoksista.
Jos ei-inhimillisestä vauriosta johtuva suorituskyvyn vika ilmenee 7 päivän kuluessa käyttäjän vastaanottopäivän jälkeisestä päivästä, Xiaomi-jälkimyyntipalvelukeskus hoitaa palautusasian käyttäjän puolesta tarkastuksen ja vahvistuksen jälkeen. Palautettaessa tuotetta käyttäjän on esitettävä voimassa oleva ostotodistus ja palautuskuitti. Mahdolliset lahjat on palautettava yhdessä tuotteen kanssa.
Jos ei-inhimillinen vahinko tai suorituskyvyn vika ilmenee 7 päivän ja 15 päivän välillä siitä päivästä, kun käyttäjä on vastaanottanut tuotteen, Xiaomi-jälkimarkkinointipalvelukeskus hoitaa vaihtoasian käyttäjän puolesta ja vaihtaa koko tuotteen tarkastuksen ja vahvistuksen jälkeen. Vaihdon jälkeen tuotteen kolmen takuun jakso lasketaan uudelleen.
15 päivän ja 365 päivän välillä siitä päivästä, kun käyttäjä on vastaanottanut tuotteen, Xiaomi-jälkimarkkinointipalvelukeskuksen tarkastuksen ja vahvistuksen jälkeen, kyseessä on tuotteen oma laatuvika, ja korjauspalvelut voidaan tarjota ilmaiseksi. Vaihdettu viallinen tuote kuuluu Xiaomi-yhtiölle. Virheettömät tuotteet palautetaan alkuperäisessä kunnossa. Tämä tuote lähtee tehtaalta käytyään läpi erilaiset tiukat testit. Jos ilmenee laatuvika, joka ei liity itse tuotteeseen, meillä on oikeus kieltäytyä käyttäjän palautus- tai vaihtopyynnöstä.
Jos tämän käyttöoppaan jälkimarkkinointipolitiikka on ristiriidassa kaupan jälkimarkkinointipolitiikan kanssa, kaupan politiikka on ensisijainen.
Ei-takuuehdot: Seuraavat tilanteet eivät kuulu takuun piiriin:
Takuuajan ylitys takuun ehdoissa määritellyn rajan mukaan.
Tuotteen vahinko, joka johtuu ohjeiden noudattamatta jättämisestä.
Vahinko, joka johtuu virheellisestä käytöstä, huollosta, asennuksesta, muokkauksesta, testauksesta ja muusta virheellisestä käytöstä.
Tavallinen mekaaninen kuluminen ja häviö, joka johtuu ei-laadullisista vioista.
Vahinko, joka johtuu epänormaalista käyttöolosuhteista, mukaan lukien mutta ei rajoittuen putoamiseen, iskuihin, nesteen upotukseen, voimakkaisiin iskuihin jne.
Vahinko, joka johtuu luonnonkatastrofeista (kuten tulvat, tulipalot, salamaniskut, maanjäristykset jne.) tai ylivoimaisesta esteestä.
Vahinko, joka johtuu käytöstä, joka ylittää huippivääntömomentin.
Tuotteet, jotka eivät ole aitoja Xiaomi-tuotteita, eivät välttämättä pysty tarjoamaan laillista ostotodistusta.
Muut viat tai vahingot, joita eivät aiheuta ongelmat, kuten tuotteen suunnittelu, teknologia, valmistus, laatu jne.
Käytä tätä tuotetta kaupallisiin tarkoituksiin.
Jos yllä mainittu tilanne ilmenee, käyttäjien tulee maksaa kulut itse. Ryhmän jälkimyyntipolitiikan yksityiskohdat löytyvät osoitteesta: https://www.mi.com/service/serviceAgreement?id=17
Moottorin tekniset tiedot
1.1 Ulkonäkö ja asennusmitat
1.2 Vakio käyttötila
1.2.1 Nimellisjännite: 24 VDC
1.2.2 Käyttöjännitealue: 16V—28 VDC
1.2.3 Nimelliskuorma (myötäpäivään): 4 N.m
1.2.4 Pyörimissuunta: myötä- / vastapäivään akselin suunnasta katsottuna
1.2.5 Käyttöasento: Akselin suunta vaakasuora tai pystysuora
1.2.6 Vakio käyttölämpötila: 25±5°C
1.2.7 Käyttölämpötila-alue: -20 ~ 50°C
1.2.8 Vakio käyttökosteus: 65 %
1.2.9 Käyttökosteusalue: 5 ~ 85 %, ei kondensaatiota
1.2.10 Säilytyslämpötila-alue: -30 ~ 70°C
1.2.11 Eristystaso: Luokka B
1.3 Sähköiset ominaisuudet
1.3.1 Kuormittamaton nopeus: 296 rpm±10%
1.3.2 Kuormittamaton virta: 0,5 Arms
1.3.3 Nimelliskuorma: 4 N.m
1.3.4 Nimelliskuormanopeus: 240rpm±10% 1.3.5 Nimelliskuormavirta (huippu): 6,5A±10% 1.3.6 Huippukuorma: 12 N.m
1.3.7 Huippuvirta (huippuarvo): 23A±10%
1.3.8 Eristysvastus/statorikäämi: DC 500VAC, 100M Ohmia 1.3.9 Korkeajännitevastus/stator ja kotelo: 600 VAC, 1s, 2mA 1.3.10 Moottorin takaisinkytkentäjännite: 0,054-0,057Vrms/rpm
1.3.11 Johdon resistanssi: 0,45Ω±10%
1.3.12 Vääntömomentin vakio: 0,87N.m/Arms
1.3.13 Moottorin induktanssi: 187-339μH
1.3.14 T-N käyrä
1.3.15 Maksimikuormituskäyrä Testausolosuhteet:
Ympäristön lämpötila: 25°C
Käämityksen raja lämpötila: 120°C
Nopeus: 24rpm
Maksimikuormakäyrä
Maksimikuormituksen kesto (s) vs Vääntö (N.m)
Testitiedot
Kuorma | Käyttöaika (s) |
12 | 28 |
11 | 45 |
10 | 60 |
9 | 90 |
8 | 160 |
7 | 320 |
6 | 700 |
5 | 1800 |
4.5 | 2500 |
4 | nimellinen |
1.4 Mekaaniset ominaisuudet
1.4.1 Paino: 317g±3g
1.4.2 Napojen määrä: 28 napaa 1.4.3 Vaiheiden määrä: 3 vaihetta
1.4.4 Ajo-tila: FOC
1.4.5 Vähennysuhde: 7,75:1
Ajo-tuotetiedot
2.1 Ajurin ulkonäön esittely ja tuotespesifikaatiot
24V virtalähde ja CAN-väylä integroitu liitäntä;
Laitteistoversio ja laserkaiverruksella oleva QR-koodi;
MCU-latausportti;
CAN-väylän testipiste;
Ilmaisinvalo;
Asennusreiät; 7. “C, A, B” ovat kolmivaiheisen käämin hitsauspisteet;
Tuotetiedot
Nimellisjännite | 24VDC |
Suurin sallittu jännite | 28VDC |
Nimellisvirta | 6.5A |
Suurin sallittu virta | 23A |
Valmiustilan virrankulutus | ≤18mA |
CAN-väylän bittinopeus | 1Mbps |
Koko | Φ58mm |
Työympäristön lämpötila | -20°C 50°C |
Ohjauskortin sallima enimmäislämpötila | 80°C |
Kooderin resoluutio | 14-bittinen (yksittäinen kierros absoluuttinen arvo) |
2.2 Ajuriliitännän määritelmä
2.2.1 Ajuriliitännän kaavio
2.2.2 Suositellut brändit ja mallit ajuriliitännöille
# | Levyn malli | Brändin valmistaja | Johdonpään malli | Brändin valmistaja |
1 | XT30PB(2+2)-M.G.B | AMASS (AMS) | XT30(2+2)-F.G.B | AMASS (AMS) |
2 | 2,0 mm-2-nastainen naarasliitin | / | 2,0 mm-2-nastainen urosliitin | / |
3 | 2,54 mm-4-nastainen naarasliitin | / | 2,54 mm-4-nastainen urosliitin | / |
2.2.3 Ajurin liitännän nastamäärittely
Virtalähde ja CAN-väylän viestintäportti
CAN-väylän viestintätestialusta
Latausportti
# | Liitännän toiminto | NASTA | Kuvaus |
1 | Virta ja CAN-väylän tiedonsiirto | 1 | Virtalähteen positiivinen napa (+) |
2 | Virtalähteen negatiivinen napa (-) | ||
3 | CAN-väylän matalan tason CAN_L | ||
4 | CAN-väylän korkean tason CAN_H | ||
2 | CAN-väylän testipiste | 1 | CAN-väylän matalan tason CAN_L |
2 | CAN-väylän korkean tason CAN_H | ||
3 | Latausportti | 1 | SWDIO (data) |
2 | SWCLK (kello) | ||
3 | 3V3 (positiivinen 3,3 V) | ||
4 | GND (negatiivinen maa) |
2.3 Kuljettajan määritelmä merkkivalo
Sininen merkkivalo ja punainen virtavalo
Merkkivalon määritelmä
Virtamerkkivalo (punainen valo päällä) | Virtamerkkivalo ilmaisee MCU:n 3,3 V virtalähteen. Kun kokonaisvirtasyöttö on 24 V, valo muuttuu punaiseksi, mikä osoittaa, että koko verkko saa virtaa normaalisti. Jos virtalähde on 24 V eikä merkkivalo syty, virta on katkaistava välittömästi |
Signaalin merkkivalo (sininen valo päällä) | Kun merkkivalo vilkkuu, se osoittaa, että MCU toimii normaalisti ja ajuripiiri toimii normaalisti |
2.4 Pääkomponentit ja tekniset tiedot
# | Komponenttityyppi | Malli | Määrä |
1 | MCU-piiri | GD32F303RET6 | 1 KPL |
2 | Ajuripiiri | 6EDL7141 | 1 KPL |
3 | Magneettinen enkooderipiiri | AS5047P | 1 KPL |
4 | Termistori | NXFT15XH103FEAB021/NCP18XH103F03RB | 2 KPL |
5 | Teho-MOS | JMGG031V06A | 6 KPL |
Debuggerin käyttöohjeet (skannaa QR-koodi paperikäsikirjan lopussa saadaksesi debuggerin)
3.1 Laitteiston kokoonpano
Nivelmoottori käyttää CAN-viestintää. Siinä on kaksi viestintälinjaa, jotka on kytketty debuggeriin can-to-USB-työkalun kautta. Debuggeriin on asennettava ch340-ajuri etukäteen, ja se toimii oletuksena AT-tilassa.
On huomattava, että kehitimme debuggerin tiettyyn CAN-USB-työkaluun perustuen, joten meidän on käytettävä suosittelemaamme sarjaporttityökalua virheenkorjaukseen. Jos haluat siirtää sen muille debugger-alustoille, voit viitata käyttöoppaan lukuun 3. kehitys.
CAN-USB-työkaluksi suositellaan YourCee:n USB-CAN-moduulia. Sarjaporttiprotokollaa vastaava kehyksen otsikko on 41 54 ja kehyksen häntä on 0D 0A.
3.2 Debuggerin käyttöliittymä ja kuvaus
sisältää pääasiassa:
A. Moduulin valinta
-
Laitemoduuli
-
Konfigurointimoduuli
-
Analyysimoduuli
-
Ohjemoduuli
B. Alimoduulin valinta Laitemoduulit sisältävät
-
Yhdistä tai katkaise sähkölaite
-
Moottorin laitetiedot
-
Moottorin enkooderin kalibrointi
-
Muokkaa moottorin CAN-tunnusta
-
Aseta moottorin mekaaninen nollapiste
-
Moottoriohjelman päivitys
Konfigurointimoduulit sisältävät:
-
Parametripöytä, voit tarkastella ja muokata moottorin parametreja
-
Lähetä parametrit. Voit lähettää moottorin parametrit parametripöytään
-
Lataa parametrit. Voit ladata parametripöydän tiedot moottoriin
-
Vie parametrit. Voit ladata parametripöydän tiedot paikallisesti
-
Tehdasasetusten palautus, voit palauttaa parametripöydän tiedot tehdasasetuksiin.
-
Tyhjennä varoitus, voit poistaa moottorin virheet, kuten liiallisen lämpötilan jne.
Analyysimoduulit sisältävät:
-
Oskilloskooppi tarkastelee parametrien muutoksia ajan myötä
-
Taajuus, voit säätää tarkasteltavien tietojen taajuutta
-
Kanava, voit määrittää tarkasteltavat tiedot
-
Aloita ja lopeta piirtäminen
-
Vie aaltomuototiedot paikallisesti
Ohjeosat sisältävät:
-
Käyttöohjeet, voit avata käyttöohjekirjan
-
Tietoja, voit tarkastella ohjelmiston tietoja
C. Moottoritietojen haku
-
Laitetiedot
-
Parametritaulukon tiedot
D. Tietosarake
-
Lokitiedot
-
Viestintätiedot
E. Suorita virheenkorjausalue
-
Valitse laite
-
Kätevä käyttöalue, josta voit nopeasti ohjata moottorin etu- ja takaisinkiertoa
-
Liikkeen ohjausalue, joka voi ohjata moottoria toimimaan eri tiloissa
F. Alimoduulin näyttöalue
3.3 Moottorin asetukset
3.3.1 Moottorin liitäntäasetukset
Yhdistä CAN USB-työkaluun (asenna ch340-ajuri, toimii oletuksena AT-tilassa), valitse laitemoduuli, napsauta yhteysalipaneelia ja valitse vastaava sarjaportti yhteyttä varten.
3.3.2 Perusasetukset
Muokkaa moottorin tunnistenumeroa.
-
Moottorin magneettinen kietoutumisen kalibrointi, moottorilevyn ja moottorin uudelleenasennus tai moottorin johtojen uudelleenliittäminen eri järjestyksessä jne. vaativat magneettisen kietoutumisen uudelleenkalibroinnin.
-
Aseta nollapiste (häviää sähkökatkon yhteydessä) ja aseta nykyinen sijainti arvoksi 0.
-
Moottoriohjelman päivitys. Kun moottoriohjelma päivitetään, napsauta päivityspainiketta ja valitse päivitystiedosto päivitystä varten.
3.3.3 Paramettilista
Moottorin onnistuneen liittämisen jälkeen napsauta kokoonpanomoduulissa parametrien taulukkomoduulia, ja kaikki parametrit näytetään lokissa. Lataus onnistui, mikä tarkoittaa, että moottorin asiaankuuluvat parametrit on luettu onnistuneesti (Huomautus: parametrien taulukon on oltava moottorin valmiustilassa. Konfiguroi tässä tilassa; jos moottori on käynnissä, parametrien taulukkoa ei voi päivittää). Käyttöliittymä näyttää moottorin sähköiset asiaankuuluvat parametrit. Siniset parametrit ovat moottorin sisäisiä tallennettuja parametreja, jotka löytyvät suoraan vastaavien parametrien jälkeen. Muokkaa edellisen arvon saraketta. Napsauta Lataa parametrit ladataksesi debuggerin parametrit moottoriin. Napsauta Lataa ylös. Parametrit voivat ladata moottorin parametrit debuggeriin. Moottorin vihreät parametrit ovat havaittuja parametreja, joita voidaan tarkkailla reaaliajassa.
Huomautus: Älä muuta moottorin vääntömomentin rajaa, suojalämpötilaa ja ylikuumenemisajan asetuksia mielivaltaisesti. Tämän kirjan luvattoman käytön vuoksi, jos tuote aiheuttaa vahinkoa ihmiselle tai peruuttamatonta vahinkoa nivelille, yrityksemme ei ole vastuussa mistään oikeudellisista seurauksista.
Parametritaulukko
Toimintokoodi | Nimi | Parametrityyppi | Ominaisuudet | Maksimiarvo | Minimiarvo | Nykyinen arvo (viitteeksi) | Huomautus |
0x0000 | Nimi | Merkkijono | luku/kirjoitus | ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ | |||
0x0001 | Viivakoodi | Merkkijono | luku/kirjoitus | ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ | |||
0x1000 | BootCodeVersion | Merkkijono | vain luku | 0.1.5 | |||
0x1001 | BootBuildDate | Merkkijono | vain luku | 16. maaliskuuta 2022 | |||
0x1002 | BootBuildTime | Merkkijono | vain luku | 20:22:09 | |||
0x1003 | AppCodeVersion | Merkkijono | vain luku | 0.1.5 | Moottoriohjelman versio | ||
0x1004 | AppGitVersion | Merkkijono | vain luku | 7b844b0fM | |||
0x1005 | AppBuildDate | Merkkijono | vain luku | 14. huhtikuuta 2022 | |||
0x1006 | AppBuildTime | Merkkijono | vain luku | 20:30:22 | |||
0x1007 | AppCodeName | Merkkijono | vain luku | dog_motor | |||
0x2000 | echoPara1 | uint16 | Konfiguraatio | 74 | 5 | 5 | |
0x2001 | echoPara2 | uint16 | Konfiguraatio | 74 | 5 | 5 | |
0x2002 | echoPara3 | uint16 | Konfiguraatio | 74 | 5 | 5 | |
0x2003 | echoPara4 | uint16 | Konfiguraatio | 74 | 5 | 5 | |
0x2004 | echoFreHz | uint32 | luku/kirjoitus | 10000 | 1 | 500 | |
0x2005 | MechOffset | liukulukutyyppi | asettaa | 7 | -7 | 4.619583 | Moottorin magneettisen enkooderin kulman siirto |
0x2006 | MechPos_init | liukulukutyyppi | luku/kirjoitus | 50 | -50 | 4.52 | Viitekulma alkuperäisen monikierroksen aikana |
0x2007 | limit_torque | liukulukutyyppi | luku/kirjoitus | 12 | 0 | 12 | Vääntömomentin rajoitus |
0x2008 | I_FW_MAX | liukulukutyyppi | luku/kirjoitus | 33 | 0 | 0 | Kentän heikennyksen virta-arvo, oletus 0 |
0x2009 | motor_index | uint8 | asettaa | 20 | 0 | 1 | Moottorin indeksi, merkitsee moottorin nivelasentoa |
0X200a | CAN_TUNNUS | uint8 | asettaa | 127 | 0 | 1 | Tämän solmun tunnus |
0x200b | CAN_PÄÄLLIKKÖ | uint8 | asettaa | 127 | 0 | 0 | CAN-isäntätunnus |
0x200c | CAN_AIKAKATKAISU | uint32 | luku/kirjoitus | 100000 | 0 | 0 | CAN-aikakatkaisun kynnysarvo, oletus 0 |
0x200d | moottorinYlikuumeneminen | int16 | luku/kirjoitus | 1500 | 0 | 800 | Moottorin suojalämpötila-arvo, lämpötila (aste) *10 |
0x200e | ylikuumenemisaika | uint32 | luku/kirjoitus | 1000000 | 1000 | 20000 | Ylikuumenemisaika |
0x200f | Välityssuhde | liukulukutyyppi | luku/kirjoitus | 64 | 1 | 7.75 | Välityssuhde |
0x2010 | Tq_caliType | uint8 | luku/kirjoitus | 1 | 0 | 1 | Vääntömomentin kalibrointimenetelmän asetus |
0x2011 | cur_filt_gain | liukulukutyyppi | luku/kirjoitus | 1 | 0 | 0.9 | Virran suodattimen parametrit |
0x2012 | cur_kp | liukulukutyyppi | luku/kirjoitus | 200 | 0 | 0.025 | Virran kp |
0x2013 | cur_ki | liukulukutyyppi | luku/kirjoitus | 200 | 0 | 0.0258 | sähkövirran ki |
0x2014 | spd_kp | liukulukutyyppi | luku/kirjoitus | 200 | 0 | 2 | Nopeuden kp |
0x2015 | spd_ki | liukulukutyyppi | luku/kirjoitus | 200 | 0 | 0.021 | nopeuden ki |
0x2016 | loc_kp | liukulukutyyppi | luku/kirjoitus | 200 | 0 | 30 | Sijainnin kp |
0x2017 | spd_filt_gain | liukulukutyyppi | luku/kirjoitus | 1 | 0 | 0.1 | Nopeussuodattimen parametrit |
0x2018 | limit_spd | liukulukutyyppi | luku/kirjoitus | 200 | 0 | 2 | Paikkatilan nopeusrajoitus |
0x2019 | limit_cur | liukulukutyyppi | luku/kirjoitus | 23 | 0 | 23 | Sijainti, nopeustilan virranrajoitus |
0x3000 | aikakäyttö0 | uint16 | vain luku (laskenta) | 5 | |||
0x3001 | aikakäyttö1 | uint16 | vain luku (laskenta) | 0 | |||
0x3002 | aikakäyttö2 | uint16 | vain luku (laskenta) | 10 | |||
0x3003 | timeUse3 | uint16 | vain luku (laskenta) | 0 | |||
0x3004 | encoderRaw | uint16 | vain luku (laskenta) | 11396 | Magneettisen enkooderin näytteenottarvo | ||
0x3005 | mcuTemp | int16 | vain luku (laskenta) | 337 | mcu sisäinen lämpötila *10 | ||
0x3006 | motorTemp | int16 | vain luku (laskenta) | 333 | moottorin ntc-lämpötila *10 | ||
0x3007 | vBus(mv) | uint16 | vain luku (laskenta) | 24195 | kytkinjännite | ||
0x3008 | adc1Offset | int32 | vain luku (laskenta) | 2084 | adc Näytteenottokanava 1 nollavirran poikkeama | ||
0x3009 | adc2Offset | int32 | vain luku (laskenta) | 2084 | adc näytteenottokanava 2 nollavirran poikkeama | ||
0x300a | adc1Raw | uint16 | vain luku (laskenta) | 1232 | adc Näytteenottarvo 1 | ||
0x300b | adc2Raw | uint16 | vain luku (laskenta) | 1212 | adc-näytteenottarvo 2 | ||
0x300c | VBUS | liukulukutyyppi | vain luku (laskenta) | 24.195 | Jäähdytyspalkin jännite V | ||
0x300d | cmdId | liukulukutyyppi | vain luku (laskenta) | 0 | id-renkaan komento, A | ||
0x300e | cmdIq | liukulukutyyppi | vain luku (laskenta) | 0 | iq-renkaan komento, A | ||
0x300f | cmdlocref | liukulukutyyppi | vain luku (laskenta) | 0 | Sijaintisilmukan komento, rad | ||
0x3010 | cmdspdref | liukulukutyyppi | vain luku (laskenta) | 0 | Nopeussilmukan komento, rad/s | ||
0x3011 | cmdTorque | liukulukutyyppi | vain luku (laskenta) | 0 | Vääntömomenttikomento, nm | ||
0x3012 | cmdPos | liukulukutyyppi | vain luku (laskenta) | 0 | mit-protokollakulmakomento | ||
0x3013 | cmdVel | liukulukutyyppi | vain luku (laskenta) | 0 | mit-protokollan nopeusosoitin virtuaalinen | ||
0x3014 | kierto | int16 | vain luku (laskenta) | 1 | kierrosten määrä | ||
0x3015 | modPos | liukulukutyyppi | vain luku (laskenta) | 4.363409 | Moottorin laskematon mekaaninen kulma, rad | ||
0x3016 | mechPos | liukulukutyyppi | vain luku (laskenta) | 0.777679 | Kuormapuolen silmukan laskentakoneiston kulma, rad | ||
0x3017 | mechVel | liukulukutyyppi | vain luku (laskenta) | 0.036618 | Kuormapuolen ohjausnopeus, rad/s | ||
0x3018 | elecPos | liukulukutyyppi | vain luku (laskenta) | 4.714761 | Sähkökulma | ||
0x3019 | ia | liukulukutyyppi | vain luku (laskenta) | 0 | U linjavirta, A | ||
0x301a | ib | liukulukutyyppi | vain luku (laskenta) | 0 | V linjavirta, A | ||
0x301b | ic | liukulukutyyppi | vain luku (laskenta) | 0 | W linjavirta, A | ||
0x301c | rasti | uint32 | vain luku (laskenta) | 31600 | |||
0x301d | phaseOrder | uint8 | vain luku (laskenta) | 0 | Kalibrointisuunnan merkit | ||
0x301e | iqf | liukulukutyyppi | vain luku (laskenta) | 0 | iq Suodatinarvo, A | ||
0x301f | boardTemp | int16 | vain luku (laskenta) | 359 | Lämpötila piirilevyllä, *10 | ||
0x3020 | iq | liukulukutyyppi | vain luku (laskenta) | 0 | iq alkuperäinen arvo, A | ||
0x3021 | id | liukulukutyyppi | vain luku (laskenta) | 0 | id Alkuperäinen arvo, A | ||
0x3022 | faultSta | uint32 | vain luku (laskenta) | 0 | Vikatilanteen arvo | ||
0X3023 | warnSta | uint32 | vain luku (laskenta) | 0 | Varoitustilan arvo | ||
0x3024 | drv_fault | uint16 | vain luku (laskenta) | 0 | Ajurin sirun vikaarvo | ||
0x3025 | drv_temp | int16 | vain luku (laskenta) | 48 | Ajurin sirun lämpötilan arvo, aste | ||
0x3026 | Uq | liukulukutyyppi | vain luku (laskenta) | 0 | q-akselin jännite | ||
0x3027 | Ud | liukulukutyyppi | vain luku (laskenta) | 0 | d-akselin jännite | ||
0x3028 | dtc_u | liukulukutyyppi | vain luku (laskenta) | 0 | U-vaiheen lähtötehtäväjakso | ||
0x3029 | dtc_v | liukulukutyyppi | vain luku (laskenta) | 0 | V-vaiheen lähtötehtäväjakso | ||
0x302a | dtc_w | liukulukutyyppi | vain luku (laskenta) | 0 | W-vaiheen lähtötehtäväjakso | ||
0x302b | v_bus | liukulukutyyppi | vain luku (laskenta) | 24.195 | vbus suljetussa silmukassa | ||
0x302c | v_ref | liukulukutyyppi | vain luku (laskenta) | 0 | Suljetun silmukan vq, vd -synteesitulojännite | ||
0x302d | torque_fdb | liukulukutyyppi | vain luku (laskenta) | 0 | Vääntömomentin palautearvo, nm | ||
0x302e | rated_i | liukulukutyyppi | vain luku (laskenta) | 8 | Moottorin nimellisvirta | ||
0x302f | limit_i | liukulukutyyppi | vain luku (laskenta) | 27 | Moottorin suurin virranrajoitus |
3.3.4 Oskilloskooppi
Tämä käyttöliittymä tukee reaaliaikaisen datan tuottaman graafin katselua ja tarkkailua. Tarkkailtavat tiedot sisältävät moottorin Id/Iq-virran, lämpötilan, lähtönopeuden reaaliajassa, roottorin (enkooderin) asennon, lähtöasennon jne.
Napsauta analyysimoduulissa oskilloskooppi-moduulia, valitse kanavasta sopivat parametrit (parametrien merkityksistä katso 3.3.3), aseta lähtötaajuus ja napsauta Aloita piirtäminen tarkkaillaksesi datan spektriä, lopeta piirtäminen lopettaaksesi spektrin tarkkailun.
3.4 Ohjausesittely
jog-ajona:
Aseta suurin nopeus, napsauta Käynnistä ja sitten JOG, jolloin moottori pyörii eteen- ja taaksepäin.
Ohjaustilan vaihto:
Moottorin ohjaustila voidaan vaihtaa liiketilaliittymään.
3.4.1 Nollapistetila
Napsauta oikealla olevaa kytkintä, ja moottori palaa hitaasti mekaaniseen nollapisteeseen.
3.4.2 Käyttöohjaustila
Napsauta oikealla olevaa kytkintä, aseta sitten viisi parametrin arvoa, napsauta Käynnistä tai Jatkuva lähetys, moottori palaa palautekehykseen ja toimii tavoiteohjeen mukaan; napsauta oikealla olevaa kytkintä uudelleen, moottori pysähtyy.
3.4.2 Virtatila
Vaihda virtatila manuaalisesti napsauttamalla oikealla olevaa kytkintä, aseta sitten Iq-virta-arvokäsky, käynnistä tai lähetä jatkuvasti, moottori seuraa virtaohjetta, napsauta oikealla olevaa kytkintä uudelleen, moottori pysähtyy.
Napsauta ohjaustilan oikealla puolella olevaa kytkintä, syötä sinimuotoisen automaattitestin amplitudi ja taajuus, ja napsauta sitten sinimuotoisen automaattitestin oikealla puolella olevaa kytkintä. Moottorin iq (A) toimii asetetun amplitudin ja taajuuden mukaan.
3.4.3 Nopeustila
Vaihda manuaalisesti nopeustilaan, klikkaa oikealla olevaa kytkintä, aseta sitten nopeusohjearvo (-30~30 rad/s), käynnistä tai lähetä jatkuvasti, moottori seuraa nopeusohjetta, klikkaa oikealla olevaa kytkintä uudelleen, moottori pysähtyy.
3.4.4 Sijaintitila
Vaihda manuaalisesti asentotilaan, klikkaa oikealla olevaa kytkintä, aseta sitten asento-ohjausarvo (rad), käynnistä tai lähetä jatkuvasti, moottori seuraa kohdeasento-ohjetta, klikkaa oikealla olevaa kytkintä uudelleen, moottori pysähtyy. Voit muuttaa asennon seuraamisen maksiminopeutta asettamalla nopeuden.
Klikkaa ohjaustilan oikealla puolella olevaa kytkintä, syötä sinimuotoisen automaattitestin amplitudi ja taajuus, ja klikkaa sitten sinimuotoisen automaattitestin oikealla puolella olevaa kytkintä. Moottorin asento (rad) liikkuu asetetun amplitudin ja taajuuden mukaan.
3.5 Laiteohjelmiston päivitys
Ensimmäinen vaihe on klikata laitteen moduulin päivitystä ja valita poltettava bin-tiedosto; toinen vaihe on vahvistaa päivitys, jolloin moottori aloittaa laiteohjelmiston päivityksen. Kun eteneminen on valmis, moottorin päivitys on suoritettu ja se käynnistyy automaattisesti uudelleen.
Ohjaimen viestintäprotokolla ja käyttöohjeet
Moottorin viestintä on CAN 2.0 -viestintäliitäntä, tiedonsiirtonopeus 1 Mbps ja laajennettu kehysmuoto, kuten kuvassa
Tietokenttä | 29-bittinen tunniste | 8 tavun tietoväli | ||
Koko | Bitti 28 ~ 24 | Bitti 23 ~ 8 | Bitti 7 ~ 0 | Tavu 0 ~ 7 |
Kuvaus | Viestintätyyppi | Tietoalue 2 | Kohdeosoite | Tietoalue 1 |
Moottorin tukemat ohjaustilat sisältävät:
-
Toiminnan ohjaustila: moottorin toiminnan ohjaukseen annetaan 5 parametria;
-
Nykyinen tila: moottorin määritetyn Iq-virran mukaan;
-
Nopeustila: Kun moottorille annetaan tietty käyttönopeus;
-
Sijaintitila: Kun moottorille annetaan tietty sijainti, moottori liikkuu annettuun sijaintiin;
4.1 Viestintäprotokollan tyyppikuvaus
4.1.1 Hanki laitteen tunnus (viestintätyyppi 0); Hanki laitteen tunnus ja 64-bittinen MCU:n yksilöllinen tunniste
Pyyntökehys:
Tietokenttä | 29-bittinen tunniste | 8 tavun tietokenttä | ||
Asema | Bitti 28 ~ 24 | Bitti 23 ~ 8 | Bitti 7 ~ 0 | Tavu 0 ~ 7 |
Kuvaus | 0 | Bitti 15 ~ 8: Isäntä CAN_ID | Moottorin CAN_ID | 0 |
Vastauskehys:
Tietokenttä | 29-bittinen tunniste | 8 tavun tietokenttä | ||
Asema | Bitti 28 ~ 24 | Bitti 23 ~ 8 | Bitti 7 ~ 0 | Tavu 0 ~ 7 |
Kuvaus | 0 | Moottorin CAN_ID | 0xFE | 64-bittinen MCU:n yksilöllinen tunniste |
4.1.2 Moottorin ohjausohjeet (viestintätyyppi 1) toimintatilassa käytetään moottorin ohjausohjeiden lähettämiseen.
Pyyntökehys:
Tietokenttä | 29-bittinen tunniste | 8 tavun tietokenttä | ||
Asema | Bitti 28 ~ 24 | Bitti 23 ~ 8 | Bitti 7 ~ 0 | Tavu 0 ~ 7 |
Kuvaus | 1 | Tavu 2: Vääntö (0 ~ 65535) vastaa arvoa (-12Nm ~ 12Nm) | Moottorin CAN_ID | Tavu 0 ~ 1: Kohdekulma [0 ~ 65535] vastaa arvoa (-4π ~ 4π) Tavu 2 ~ 3: Kohde kulmanopeus [0 ~ 65535] vastaa arvoa (-30rad/s ~ 30rad/s) Tavu 4 ~ 5: Kp [0 ~ 65535] vastaa arvoa (0,0 ~ 500,0) Tavu 6 ~ 7: Kd [0 ~ 65535] vastaa arvoa (0,0 ~ 5,0) |
Vastauskehys: Vastaa moottorin palautuskehykseen (katso viestintätyyppi 2)
4.1.3 Moottorin palautetiedot (viestintätyyppi 2) käytetään moottorin toimintatilanteen palauttamiseen isäntälaitteelle
Tietokenttä | 29-bittinen tunniste | 8 tavun tietokenttä | ||
Asema | Bitti 28 ~ 24 | Bitti 23 ~ 8 | Bitti 7 ~ 0 | Tavu 0 ~ 7 |
Kuvaus | 2 | Bitti 8 ~ 15: Moottorin CAN-tunnus Bitti 21 ~ 16: Vikatiedot (0 - Ei, 1 - Kyllä) Bitti 21: Ei kalibroitu Bitti 20: HALL-koodausvirhe Bitti 19: Magneettinen koodausvirhe Bitti 18: Ylikuumeneminen Bitti 17: Ylivirta Bitti 16: Alijännitevika Bitti 22 ~ 23: tilan tila: 0: Nollaus-tila [nollaus] 1: Cali-tila [Kalibrointi] 2: Moottoritila [Aja] |
Isäntä CAN_ID | Tavu 0 ~ 1: Nykyinen kulma [0 ~ 65535] vastaa (-4π ~ 4π) Tavu 2 ~ 3: Nykyinen kulmanopeus [0 ~ 65535] vastaa (-30rad/s ~ 30rad/s) Tavu 4 ~ 5: Nykyinen vääntömomentti [0 ~ 65535] vastaa (-12Nm ~ 12Nm) Tavu 6 ~ 7: Nykyinen lämpötila: Lämpötila (celsiusasteina) )*10 |
4.1.4 Moottorin käyttöönotto (viestintätyyppi 3)
Tietokenttä | 29-bittinen tunniste | 8 tavun tietokenttä | ||
Asema | Bitti 28 ~ 24 | Bitti 23 ~ 8 | Bitti 7 ~ 0 | Tavu 0 ~ 7 |
Kuvaus | 3 | Bitti 15 ~ 8: Isäntä CAN_ID | Moottorin CAN_ID |
Vastauskehys: Vastaa moottorin palautuskehykseen (katso viestintätyyppi 2)
4.1.5 Moottori pysäytetty (viestintätyyppi 4)
Tietokenttä | 29-bittinen tunniste | 8 tavun tietokenttä | ||
Asema | Bitti 28 ~ 24 | Bitti 23 ~ 8 | Bitti 7 ~ 0 | Tavu 0 ~ 7 |
Kuvaus | 4 | Bitti 15 ~ 8: Isäntä CAN_ID | Moottorin CAN_ID | Normaalin toiminnan aikana datan alue on tyhjennettävä nollaksi; Kun Tavu[0]=1: Tyhjennä virhe; |
Vastauskehys: Vastaa moottorin palautuskehykseen (katso viestintätyyppi 2)
4.1.6 Moottorin mekaanisen nollaposition asetus (viestintätyyppi 6) asettaa nykyisen moottorin aseman mekaaniseen nollaposition (häviää virran katkaisun jälkeen)
Tietokenttä | 29-bittinen tunniste | 8 tavun tietokenttä | ||
Asema | Bitti 28 ~ 24 | Bitti 23 ~ 8 | Bitti 7 ~ 0 | Tavu 0 ~ 7 |
Kuvaus | 6 | Bitti 15 ~ 8: Isäntä CAN_ID | Moottorin CAN_ID | Tavu[0]=1 |
Vastauskehys: Vastaa moottorin palautuskehykseen (katso viestintätyyppi 2)
4.1.7 Aseta moottorin CAN_ID (viestintätyyppi 7) muuttaaksesi nykyistä moottorin CAN_ID:tä, muutos astuu voimaan välittömästi.
Tietokenttä | 29-bittinen tunniste | 8 tavun tietokenttä | ||
Asema | Bitti 28 ~ 24 | Bitti 23 ~ 8 | Bitti 7 ~ 0 | Tavu 0 ~ 7 |
Kuvaus | 7 | Bitti 15 ~ 8: Isäntä CAN_ID Bitti 16 ~ 23: Uusi moottorin CAN_ID |
Moottorin CAN_ID | Tavu[0]=1 |
Vastauskehys: Vastaus moottorin lähetyskehys (katso viestintätyyppi 0)
4.1.8 Yhden parametrin lukeminen (viestintätyyppi 17)
Tietokenttä | 29-bittinen tunniste | 8 tavun tietokenttä | ||
Asema | Bitti 28 ~ 24 | Bitti 23 ~ 8 | Bitti 7 ~ 0 | Tavu 0 ~ 7 |
Kuvaus | 17 | Bitti 15 ~ 8: Isäntä CAN_ID | Moottorin CAN_ID | Tavu 0 ~ 1: indeksi, katso 4.1.11 parametriluettelo Tavu 2 ~ 3: 00 Tavu 4 ~ 7: 00 |
Vastauskehys:
Tietokenttä | 29-bittinen tunniste | 8 tavun tietokenttä | ||
Asema | Bitti 28 ~ 24 | Bitti 23 ~ 8 | Bitti 7 ~ 0 | Tavu 0 ~ 7 |
Kuvaus | 17 | Bitti 15 ~ 8: Moottorin CAN_ID | Isäntä CAN_ID | Tavu 0 ~ 1: indeksi, parametriluettelo, katso 4.1.11 Tavu 2 ~ 3: 00 Tavu 4 ~ 7: parametridata, 1 tavun data on tavussa 4 |
4.1.9 Yhden parametrin kirjoitus (viestintätyyppi 18) (häviää virran katkaisun jälkeen)
Tietokenttä | 29-bittinen tunniste | 8 tavun tietokenttä | ||
Asema | Bitti 28 ~ 24 | Bitti 23 ~ 8 | Bitti 7 ~ 0 | Tavu 0 ~ 7 |
Kuvaus | 18 | Bitti 15 ~ 8: Isäntä CAN_ID | Moottorin CAN_ID | Tavu 0 ~ 1: indeksi, katso 4.1.11 parametriluettelon tiedot Tavu 2 ~ 3: 00 Tavu 4 ~ 7: parametridata |
Vastauskehys: Vastaa moottorin palautuskehykseen (katso viestintätyyppi 2)
4.1.10 Vikapalautuskehys (viestintätyyppi 21)
Tietokenttä | 29-bittinen tunniste | 8 tavun tietokenttä | ||
Asema | Bitti 28 ~ 24 | Bitti 23 ~ 8 | Bitti 7 ~ 0 | Tavu 0 ~ 7 |
Kuvaus | 21 | Bitti 15 ~ 8: Isäntä CAN_ID | Moottorin CAN_ID | Tavu 0 ~ 3: vikaarvo (ei 0: vika, 0: normaali) Bitti 16: A-vaiheen virran mittauksen ylivirta Bitti 15 ~ 8: ylikuormitusvika Bitti 7: enkooderia ei kalibroitu Bitti 5: C-vaiheen virran mittauksen ylivirta Bitti 4: B-vaiheen virran mittauksen ylivirtabitti3: ylijännitevika Bitti 2: alijännitevika bitti1: ohjainpiirin vika bitti0: moottorin ylikuumenemisvika, oletus 80 astetta Tavu 4 ~ 7: varoitusarvo Bitti 0: moottorin ylikuumenemisvaroitus, oletus 75 astetta |
4.1.11 Baudinopeuden muutos (viestintätyyppi 22) (versiota 1.2.1.5 voidaan muuttaa, katso dokumenttiprosessia muuttaaksesi sitä huolellisesti. Käyttövirheet voivat aiheuttaa ongelmia, kuten moottorin yhdistämisen epäonnistumisen ja päivityksen estymisen)
Tietokenttä | 29-bittinen tunniste | 8 tavun tietokenttä | ||
Asema | Bitti 28 ~ 24 | Bitti 23 ~ 8 | Bitti 7 ~ 0 | Tavu 0 ~ 7 |
Kuvaus | 22 | Bitti 15 ~ 8: Isäntä CAN_ID | Moottorin CAN_ID | Tavu0: Moottorin siirtonopeus 1: 1Mbps 2: 500kbps 3: 250kbps 4: 125kbps |
Vastauskehys: Vastaus moottorin lähetyskehys (katso viestintätyyppi 0)
4.1.12 Luettavissa ja kirjoitettavissa oleva yksittäisten parametrien lista (7019-7020 on luettavissa laiteohjelmistoversion 1.2.1.5 avulla)
Parametrin indeksi | parametrin nimi | kuvaus | tyyppi | Tavujen määrä | Mahdolliset arvot | Lupa |
0x7005 | run_mode | 0: Toiminnan ohjaustila 1: Paikkatila 2: Nopeustila 3: Virta-tila |
uint8 | 1 | W/R | |
0x7006 | iq_ref | Virta-tilan Iq-käsky | liukulukutyyppi | 4 | -23 ~ 23A | W/R |
0x700A | spd_ref | Nopeustilan nopeuskäsky | liukulukutyyppi | 4 | -30 ~ 30rad/s | W/R |
0x700B | limit_torque | Vääntömomentin rajoitus | liukulukutyyppi | 4 | 0~12Nm | W/R |
0x7010 | cur_kp | Virran Kp | liukulukutyyppi | 4 | Oletusarvo 0.125 | W/R |
0x7011 | cur_ki | Virran Ki | liukulukutyyppi | 4 | Oletusarvo 0.0158 | W/R |
0x7014 | cur_filt_gain | Virran suodattimen kerroin filt_gain | liukulukutyyppi | 4 | 0~1.0, oletusarvo W/R 0.1 | W/R |
0x7016 | loc_ref | Paikkatilan kulmakäsky | liukulukutyyppi | 4 | rad | W/R |
0x7017 | limit_spd | Paikkatilan nopeusrajoitus | liukulukutyyppi | 4 | 0 ~ 30rad/s | W/R |
0x7018 | limit_cur | Nopeuspaikkatilan virran rajoitus | liukulukutyyppi | 4 | 0 ~ 23A | W/R |
0x7019 | mechPos | Kuorman loppukierroksen laskeminen mekaanisella kulmalla | liukulukutyyppi | 4 | rad | R |
0x701A | iqf | iq-suodattimen arvo | liukulukutyyppi | 4 | -23 ~ 23A | R |
0x701B | mechVel | Kuorman loppunopeus | liukulukutyyppi | 4 | -30 ~ 30rad/s | R |
0x701C | VBUS | Väyläjännite | liukulukutyyppi | 4 | V | R |
0x701D | kierto | Kierrosten määrä | int16 | 2 | Kierrosten määrä | W/R |
0x701E | loc_kp | paikan kp | liukulukutyyppi | 4 | Oletusarvo 30 | W/R |
0x701F | spd_kp | Kp:n nopeus | liukulukutyyppi | 4 | Oletusarvo 1 | W/R |
0x7020 | spd_ki | Ki:n nopeus | liukulukutyyppi | 4 | Oletusarvo 0,002 | W/R |
4.2 Ohjaustilan käyttöohjeet
4.2.1 Ohjelmaesimerkki
Seuraavassa annetaan esimerkkejä moottoreiden ohjaamisesta eri tiloissa (käyttäen gd32f303:ta esimerkkinä). Seuraavassa on kirjastoja, funktioita ja makromääritelmiä eri esimerkeille.
#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) { liukulukuväli = x_max - x_min; liukulukusiirto = x_min; jos x > x_max, x = x_max; muuten jos x < x_min, x = x_min; return (int) ((x-offset)*((float)((1<
✔ Kopioitu!
Toimintatilan moottorinohjausohjeet (viestintätyyppi 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(); }
✔ Kopioitu!
Moottorin pysäytysajon kehys (viestintätyyppi 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(); }
✔ Kopioitu!
Moottorin tilan parametrin kirjoituskäsky (viestintätyyppi 18, käyttötavan vaihto)
uint8_t ajotila; uint16_t indeksi; 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(); }
✔ Kopioitu!
Moottorin tilan parametrin kirjoituskäsky (viestintätyyppi 18, ohjausparametrin kirjoitus)
uint16_t indeksi; 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(); }
✔ Kopioitu!
4.2.2 Toimintavalvontatila
Kun moottori on kytketty päälle, se on oletuksena toimintavalvontatilassa;
Lähetä moottorin käynnistyskehys (viestintätyyppi 3) -->
Lähetä toimintojen ohjaustilan moottorinohjauskäsky (viestintätyyppi 1) -->
Vastaanota moottorin palautuskehys (viestintätyyppi 2)
4.2.3 Virtatila
Lähetä moottorin tilan parametrin kirjoituskäsky (viestintätyyppi 18) ja aseta runmode-parametri arvoon 3 --->
Lähetä moottorin käynnistyskehys (viestintätyyppi 3) -->
Lähetä moottorin tilan parametrin kirjoituskäsky (viestintätyyppi 18) ja aseta iq_ref-parametri esiasetettuun virrankäskyyn
4.2.4 Nopeustila
Lähetä moottorin tilan parametrin kirjoituskäsky (viestintätyyppi 18) ja aseta runmode-parametri arvoon 2 --->
Lähetä moottorin käynnistyskehys (viestintätyyppi 3) -->
Lähetä moottorin tilan parametrin kirjoituskäsky (viestintätyyppi 18) ja aseta limit_cur-parametri esiasetettuun maksimivirrankäskyyn -->
Lähetä moottorin tilan parametrin kirjoituskäsky (viestintätyyppi 18) asettaaksesi spd_ref-parametrin esiasetettuun nopeuskäskyyn
4.2.5 Sijaintitila
Lähetä moottorin tilan parametrin kirjoituskäsky (viestintätyyppi 18) ja aseta runmode-parametri arvoon 1 -->
Lähetä moottorin käynnistyskehys (viestintätyyppi 3) -->
Lähetä moottorin tilan parametrin kirjoituskäsky (viestintätyyppi 18) ja aseta limit_spd-parametri esiasetettuun maksiminopeuskäskyyn -->
Lähetä moottorin tilan parametrin kirjoituskäsky (viestintätyyppi 18) asettaaksesi loc_ref-parametrin esiasetettuun sijaintikäskyyn
4.2.6 Pysäytys
Lähetä moottorin pysäytyskehys (viestintätyyppi 4)
CyberGear-kirjasto M5 stackille
https://github.com/project-sternbergia/cybergear_m5/tree/main
cybergear_m5
M5 stack -kirjasto cybergearille
"Muista, suuren vääntömomentti tulee suuri vastuu."
Tuettu kehys
-
Arduino ESP32:lle
Tuettu laite (ESP32)
-
M5Stack Basic V2.7
Laitteiston komponentit (MCP2515)
Laitteiston komponentit (ESP32 + PWRCAN)
Laitteiston komponentit (ESP32 + CAN-vastaanotin)
Kuinka käyttää virallista GUI työkalu
Tämä ohjelmisto vaatii tietyn CAN-USB-moduulin. Virallinen dokumentaatio suosittelee YourCee:n USB-CAN-moduulia, joka tukee sarjaprotokollaa, jossa on kehyksen otsikkona 41 54 ja kehyksen hännässä 0D 0A, mutta tätä ei ole helposti saatavilla, joten etsimme Aliexpressistä vaihtoehdon. ※ Huomaa, että tämä ei toimi yleisten moduulien kanssa.
Testattu (viitteeksi):
Suositellut valmiiksi puristetut kaapelit
-
XT30(2+2) Kaapeli
Kuinka suorita näyte
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
-
Avaa cybergear_m5/examples/control_mode_example.ino Arduino IDE:llä
-
Laita tämä tiedosto samaan kansioon kuin control_mode_example.ino (Arduino IDE:lle). Jos haluat käyttää ESP32_CAN-kirjastoa, kommentoi nämä rivit.
-
Käännä ja kirjoita laiteohjelmisto M5Stackiin
Esimerkkikoodi
control_mode_example.ino
Tarkista cybergearin toiminta M5 Stackilla.
-
Keskimmäinen painike - Vaihda ohjaustilaa (Sijaintitila -> Nopeustila -> Virratila)
-
Oikea painike - Lisää ohjausarvoa
-
Vasen painike - Vähennä ohjausarvoa
cybergear_bilateral.ino
Tässä esimerkissä käytetään kahta cybergearia johtajalle ja seuraajalle. Ennen kuin testaat tätä esimerkkiä, vaihda cybergearin CAN-id seuraavasti. Sen jälkeen kirjoita cybergear_m5/examples/cybergear_bilateral.ino m5 stackin kautta Arduino IDE:ssä.
-
johtajan cybergear : 0x7F
-
seuraajan cybergear : 0x7E
Suositellut artikkelit