XiaoMi CyberGear mikromoottoriohje

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

  • Kloonaa MCP_CAN_LIB ja cygergear_m5 Arduino-kirjastohakemistoon.
  • 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
  • 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

 

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

Rekisteröidy uutiskirjeeseemme

Saa uusimmat tiedot tuotteistamme ja erikoistarjouksistamme.