Guida al Micromotore CyberGear di XiaoMi
28 Feb 2025
0 Commenti
Che cos'è il Micromotore CyberGear di XiaoMi
Il Micromotore Xiaomi CyberGear è un micromotore compatto ma potente, progettato per applicazioni robotiche e bioniche avanzate. Presenta un elevato rapporto coppia-dimensione, tempi di risposta rapidi e un controllo preciso, consentendo movimenti realistici e fluidi negli arti e nei meccanismi robotici. Il suo design modulare e gli algoritmi di controllo intelligenti facilitano l'integrazione senza soluzione di continuità in sistemi complessi, rendendolo adatto per applicazioni che vanno dalle protesi bioniche agli animali robotici avanzati. Xiaomi sottolinea il suo potenziale per creare esperienze robotiche più realistiche e interattive.
Manuale di Istruzioni del Micromotore CyberGear
Precauzioni
-
Si prega di utilizzarlo secondo i parametri di lavoro specificati in questo articolo, altrimenti causerà danni gravi a questo prodotto!
-
La modalità di controllo non può essere cambiata mentre il giunto è in funzione. Se è necessario cambiare, è necessario inviare un comando di arresto prima di cambiare.
-
Si prega di controllare che tutte le parti siano integre prima dell'uso. Se mancano parti o sono danneggiate, contattare tempestivamente il supporto tecnico.
-
Non smontare il motore a piacere per evitare guasti irreparabili.
-
Assicurati che non ci sia un cortocircuito quando colleghi il motore e che l'interfaccia sia collegata correttamente come richiesto.
Note legali
Prima di utilizzare questo prodotto, l'utente deve leggere attentamente questo manuale e utilizzare il prodotto in conformità con i contenuti di questo manuale. Se l'utente utilizza questo prodotto in violazione dei contenuti di questo manuale, l'azienda non si assume alcuna responsabilità per danni materiali o incidenti di infortuni personali. Poiché questo prodotto è composto da molte parti, non lasciare che i bambini entrino in contatto con questo prodotto per evitare incidenti. Per prolungare la vita utile del prodotto, si prega di non utilizzare questo prodotto in ambienti ad alta temperatura e alta pressione. Questo manuale ha cercato di includere varie introduzioni alle funzioni e istruzioni per l'uso al momento della stampa. Tuttavia, a causa del continuo miglioramento delle funzioni del prodotto, cambiamenti di design, ecc., potrebbero esserci ancora discrepanze con i prodotti acquistati dagli utenti.
"Potrebbero esserci differenze tra questo manuale e il prodotto reale in termini di colore, aspetto, ecc. Si prega di fare riferimento al prodotto reale. Questo manuale è pubblicato da Xiaomi o dalle sue filiali locali. Xiaomi può apportare miglioramenti e modifiche necessari a questo manuale per errori di battitura, imprecisioni delle informazioni più recenti o miglioramenti a programmi e/o attrezzature in qualsiasi momento senza preavviso. Tali modifiche saranno caricate nella nuova versione di questo manuale. Si prega di scansionare il codice QR di questo manuale per ottenerlo. Tutte le immagini sono solo per descrizione funzionale. Si prega di fare riferimento al prodotto reale."
Politica post-vendita
Il servizio post-vendita di questo prodotto è rigorosamente conforme alla "Legge sulla protezione dei diritti e degli interessi dei consumatori della Repubblica Popolare Cinese" e alla "Legge sulla qualità dei prodotti della Repubblica Popolare Cinese". Il contenuto del servizio è il seguente:
Periodo e contenuto della garanzia
Gli utenti che effettuano un ordine per acquistare questo prodotto tramite canali online possono usufruire di un servizio di reso senza motivo entro sette giorni dalla data di ricezione. Al momento della restituzione della merce, gli utenti devono presentare una prova d'acquisto valida e restituire la fattura. Gli utenti devono garantire che i beni restituiti mantengano la loro qualità e funzionalità originali, che il loro aspetto sia intatto e che i marchi e i loghi dei beni stessi e degli accessori siano completi. Se ci sono regali, devono essere restituiti insieme. Se il prodotto è danneggiato artificialmente, smontato manualmente, la scatola di imballaggio è mancante o i pezzi di ricambio sono mancanti, i resi non verranno elaborati. I costi logistici sostenuti per la restituzione della merce saranno a carico dell'utente (vedere "Standard di Carico del Servizio Post-vendita" per gli standard di carico). Se l'utente non riesce a saldare le spese logistiche, l'importo effettivo sarà detratto dall'importo del rimborso. Il prezzo pagato sarà restituito all'utente entro sette giorni dalla data di ricezione della merce restituita. I metodi di rimborso sono gli stessi dei metodi di pagamento. La data di arrivo specifica può essere influenzata da fattori come banche e istituzioni di pagamento.
Se si verifica un guasto di prestazione non causato da danni umani entro 7 giorni dal giorno successivo alla firma dell'utente, il centro assistenza post-vendita Xiaomi gestirà il reso per l'utente dopo ispezione e conferma. Quando si restituisce il prodotto, l'utente deve presentare un certificato di acquisto valido e restituire la fattura. Eventuali regali devono essere restituiti insieme.
Se si verifica un danno non umano o un guasto delle prestazioni entro 7 giorni fino a 15 giorni dal giorno successivo alla firma dell'utente, il centro assistenza post-vendita Xiaomi gestirà l'operazione di scambio per l'utente e sostituirà l'intero set di prodotti dopo ispezione e conferma. Dopo lo scambio, il periodo di garanzia del prodotto stesso sarà ricalcolato.
Da 15 giorni a 365 giorni dal giorno successivo alla firma da parte dell'utente, dopo ispezione e conferma da parte del centro assistenza post-vendita Xiaomi, si tratta di un difetto di qualità del prodotto stesso e i servizi di riparazione possono essere forniti gratuitamente. Il prodotto difettoso sostituito appartiene alla Xiaomi Company. Il prodotto non difettoso sarà restituito nelle sue condizioni originali. Questo prodotto lascia la fabbrica dopo aver superato vari test rigorosi. Se c'è un difetto di qualità che non è correlato al prodotto stesso, ci riserviamo il diritto di rifiutare la richiesta di reso o cambio dell'utente.
Se la politica di post-vendita in questo manuale è incoerente con la politica di post-vendita del negozio, prevarrà la politica di post-vendita del negozio.
Regolamenti non di garanzia: Le seguenti situazioni non sono coperte dalla garanzia:
Supera il periodo di garanzia limitato dai termini di garanzia.
Danno al prodotto causato da un uso scorretto senza seguire le istruzioni.
Danni causati da un'operazione, manutenzione, installazione, modifica, test e altro uso improprio.
Perdita meccanica convenzionale e usura causate da difetti di non qualità.
Danni causati da condizioni di lavoro anomale, inclusi ma non limitati a cadute, impatti, immersione in liquidi, impatti violenti, ecc.
Danni causati da disastri naturali (come inondazioni, incendi, fulmini, terremoti, ecc.) o forza maggiore.
Danno causato dall'uso oltre la coppia massima.
Gli articoli che non sono prodotti genuini Xiaomi potrebbero non essere in grado di fornire una prova legale di acquisto.
Altri guasti o danni non causati da problemi come design del prodotto, tecnologia, produzione, qualità, ecc.
Utilizza questo prodotto per scopi commerciali.
Se si verifica la situazione sopra descritta, gli utenti devono pagare le spese da soli. Per i dettagli della politica post-vendita del gruppo, si prega di consultare: https://www.mi.com/service/serviceAgreement?id=17
Specifiche del motore
1.1 Aspetto e dimensioni di installazione
1.2 Stato di utilizzo standard
1.2.1 Tensione nominale: 24 VDC
1.2.2 Intervallo di tensione di funzionamento: 16V—28 VDC
1.2.3 Carico nominale (CW): 4 N.m
1.2.4 Direzione di rotazione: CW/CCW vista dalla direzione dell'albero
1.2.5 Posizione d'uso: La direzione dell'asse è orizzontale o verticale
1.2.6 Temperatura operativa standard: 25±5°C
1.2.7 Intervallo di temperatura di funzionamento: -20 ~ 50°C
1.2.8 Umidità operativa standard: 65%
1.2.9 Intervallo di umidità operativa: 5 ~ 85%, senza condensazione
1.2.10 Intervallo di temperatura di stoccaggio: -30 ~ 70°C
1.2.11 Livello di isolamento: Classe B
1.3 Caratteristiche elettriche
1.3.1 Velocità a vuoto: 296 rpm±10%
1.3.2 Corrente a vuoto: 0,5 Arms
1.3.3 Carico nominale: 4 N.m
1.3.4 Velocità di carico nominale: 240rpm±10% 1.3.5 Corrente di carico nominale (picco): 6.5A±10% 1.3.6 Carico di picco: 12 N.m
1.3.7 Corrente di picco (valore di picco): 23A±10%
1.3.8 Resistenza di isolamento/avvolgimento statore: DC 500VAC, 100M Ohm 1.3.9 Resistenza ad alta tensione/statore e involucro: 600 VAC, 1s, 2mA 1.3.10 Forza elettromotrice inversa del motore: 0.054-0.057Vrms/rpm
1.3.11 Resistenza della linea: 0,45Ω±10%
1.3.12 Costante di coppia: 0,87N.m/Arms
1.3.13 Induttanza del motore: 187-339μH
1.3.14 Curva T-N
1.3.15 Curva di sovraccarico massimo Condizioni di prova:
Temperatura ambiente: 25°C
Temperatura limite di avvolgimento: 120°C
Velocità: 24 giri al minuto
Curva di carico massimo
Tempo massimo di sovraccarico (s) vs Coppia (N.m)
Dati di prova
Carico | Tempo di funzionamento (s) |
12 | 28 |
11 | 45 |
10 | 60 |
9 | 90 |
8 | 160 |
7 | 320 |
6 | 700 |
5 | 1800 |
4.5 | 2500 |
4 | valutato |
1.4 Proprietà meccaniche
1.4.1 Peso: 317g±3g
1.4.2 Numero di poli: 28 poli 1.4.3 Numero di fasi: 3 fasi
1.4.4 Modalità di guida: FOC
1.4.5 Rapporto di riduzione: 7.75:1
Guida alle informazioni sul prodotto
2.1 Introduzione all'aspetto del driver e specifiche del prodotto
Terminale integrato con alimentazione 24V e comunicazione CAN;
Versione hardware e codice QR inciso al laser;
Porta di download MCU;
Punto di test di comunicazione CAN;
Spia luminosa;
Fori di installazione; 7. "C, A, B" sono i punti di saldatura dell'avvolgimento trifase;
Specifiche del prodotto
Tensione nominale di esercizio | 24VDC |
Tensione massima consentita | 28VDC |
Corrente nominale di funzionamento | 6,5 A |
Corrente massima consentita | 23A |
Consumo di energia in standby | ≤18mA |
Velocità in bit del bus CAN | 1 Mbps |
Misurare | Φ58mm |
Temperatura dell'ambiente di lavoro | Temperatura -20°C 50°C |
Temperatura massima consentita dalla scheda di controllo | 80°C |
Risoluzione dell'encoder | 14bit (valore assoluto a singolo giro) |
2.2 Definizione dell'interfaccia del driver
2.2.1 Diagramma dell'interfaccia del driver
2.2.2 Marche e modelli raccomandati di interfacce di drive
# | Modello di scheda | Produttore del marchio | Modello di fine linea | Produttore del marchio |
1 | XT30PB(2+2)-M.G.B | AMMASSARE (AMS) | XT30(2+2)-F.G.B | AMMASSARE (AMS) |
2 | 2,0mm-2P femmina | / | 2,0mm-2P maschio | / |
3 | 2,54mm-4P femmina | / | 2,54mm-4P maschio | / |
2.2.3 Definizione dei pin dell'interfaccia del driver
Alimentazione e porta di comunicazione CAN
piastra di test comunicazione CAN
Porta di download
# | Funzione di interfaccia | SPILLO | Descrizione |
1 | Potenza e comunicazione CAN | 1 | Alimentazione positiva (+) |
2 | Polo negativo dell'alimentazione (-) | ||
3 | comunicazione CAN lato basso CAN_L | ||
4 | Comunicazione CAN lato alto CAN_H | ||
2 | Punto di test della comunicazione CAN | 1 | comunicazione CAN lato basso CAN_L |
2 | Comunicazione CAN lato alto CAN_H | ||
3 | Porta di download | 1 | SWDIO(dati) |
2 | SWCLK(orologio) | ||
3 | 3V3 (positivo 3,3V) | ||
4 | GND (massa negativa) |
2.3 Definizione di driver spia luminosa
Luce di segnale blu e luce indicatrice di alimentazione rossa
Definizione della luce indicatrice
Spia di alimentazione (luce rossa quando accesa) | La luce indicatrice di alimentazione viene utilizzata per indicare l'alimentazione del MCU a 3,3V. Quando l'input totale di alimentazione è di 24V, la luce diventa rossa, il che dimostra che l'intera rete è alimentata normalmente. Se l'alimentazione è di 24V, la luce indicatrice non si accende e l'alimentazione deve essere interrotta immediatamente. |
Indicatore luminoso (luce blu quando è accesa) | Quando la luce di segnale lampeggia, dimostra che l'MCU sta funzionando normalmente e che il chip driver sta funzionando normalmente. |
2.4 Componenti principali e specifiche
# | Tipo di componente | modello | Quantità |
1 | Chip MCU | GD32F303RET6 | 1 PZ |
2 | Chip del conducente | 6EDL7141 | 1 PZ |
3 | Chip encoder magnetico | AS5047P | 1 PZ |
4 | Termistore | NXFT15XH103FEAB021/NCP18XH103F03RB | 2 PZ |
5 | MOS di potenza | Codice articolo: JMGG031V06A | 6 PZ |
Istruzioni per l'uso del debugger (scansiona il QR Code alla fine del manuale cartaceo per ottenere il debugger)
3.1 Configurazione hardware
Il motore congiunto utilizza la comunicazione CAN. Ci sono due linee di comunicazione, che sono collegate al debugger tramite uno strumento can-to-USB. Il debugger deve installare in anticipo il driver ch340 e funziona in modalità AT per impostazione predefinita.
Si deve notare che abbiamo sviluppato il debugger basato su uno strumento specifico da CAN a USB, quindi dobbiamo utilizzare il nostro strumento di porta seriale raccomandato per il debug. Se desideri portarlo su altre piattaforme di debugger, puoi fare riferimento al Capitolo 3 del manuale. sviluppo.
Lo strumento can to USB consiglia di utilizzare il modulo USB-CAN di YourCee. L'intestazione del frame corrispondente al protocollo della porta seriale è 41 54 e la coda del frame è 0D 0A.
3.2 Interfaccia e descrizione del debugger
includono principalmente:
A. Selezione del modulo
-
Modulo dispositivo
-
Modulo di configurazione
-
Modulo di analisi
-
Modulo di aiuto
B. Selezione del sottogruppo I moduli di attrezzatura includono
-
Collegare o scollegare apparecchiature elettriche
-
Informazioni sulle attrezzature motorie
-
Calibrazione dell'encoder del motore
-
Modificare l'ID CAN del motore
-
Imposta la posizione di zero meccanico del motore
-
Aggiornamento del programma motorio
I moduli di configurazione includono:
-
Tabella dei parametri, puoi visualizzare e modificare i parametri del motore
-
Carica parametri. Puoi caricare i parametri nel motore nella tabella dei parametri.
-
Scarica i parametri. Puoi scaricare i dati dalla tabella dei parametri al motore.
-
Esporta parametri. Puoi scaricare i dati dalla tabella dei parametri sul locale.
-
Ripristino di fabbrica, puoi ripristinare i dati nella tabella dei parametri alle impostazioni di fabbrica.
-
Chiara avvertenza, puoi cancellare gli errori del motore, come temperatura eccessiva, ecc.
I moduli di analisi includono:
-
Oscilloscopio per visualizzare le variazioni dei parametri nel tempo
-
Frequenza, puoi regolare la frequenza di visualizzazione dei dati
-
Canale, puoi configurare i dati da visualizzare
-
Inizia e smetti di disegnare
-
Esporta i dati dell'onda di uscita in locale
I moduli di aiuto includono:
-
Istruzioni per l'uso, puoi aprire il manuale delle istruzioni
-
Informazioni, puoi visualizzare le informazioni sul software
C. Richiesta di informazioni sul motore
-
Informazioni sul dispositivo
-
Informazioni sulla tabella dei parametri
D. Colonna dati
-
Informazioni di registro
-
Informazioni sulla comunicazione
E. Esegui l'area di debug
-
Seleziona dispositivo
-
Area di operazione conveniente, puoi controllare rapidamente la rotazione in avanti e indietro del motore.
-
Area di controllo del movimento, che può controllare il motore per operare in diverse modalità.
F. Area di visualizzazione del sottogruppo
3.3 Impostazioni del motore
3.3.1 Impostazioni di connessione del motore
Collegare la can al tool USB (installare il driver ch340, lavorare in modalità AT per impostazione predefinita), selezionare il modulo del dispositivo, fare clic sul sottomodulo di connessione e selezionare la corrispondente connessione della porta seriale.
3.3.2 Impostazioni di base
Modifica il numero di identificazione del motore.
-
La calibrazione della treccia magnetica del motore, la reinstallazione della scheda del motore e del motore, o la riconnessione dei fili del motore in un ordine diverso, ecc. richiedono una nuova calibrazione della treccia magnetica.
-
Imposta la posizione zero (persa in caso di interruzione di corrente) e imposta la posizione attuale a 0.
-
Aggiornamento del programma motore. Quando il programma motore viene aggiornato, fare clic sul pulsante di aggiornamento per selezionare il file di aggiornamento da utilizzare per l'aggiornamento.
3.3.3 Elenco dei parametri
Dopo aver collegato con successo il motore, fai clic sul modulo della tabella dei parametri nel modulo di configurazione e tutti i parametri verranno visualizzati nel registro. Il caricamento è riuscito, indicando che i parametri rilevanti del motore sono stati letti con successo (Nota: la tabella dei parametri deve essere nello stato di attesa del motore. Configura nello stato, se il motore è in stato di funzionamento, la tabella dei parametri non può essere aggiornata) L'interfaccia mostrerà i parametri elettrici rilevanti del motore. I parametri blu sono i parametri di memoria interna del motore. Possono essere trovati direttamente dopo i parametri corrispondenti. Modifica la colonna del valore precedente. Fai clic su Scarica Parametri per scaricare i parametri nel debugger al motore. Fai clic su Carica. I parametri possono caricare i parametri nel motore al debugger. I parametri verdi del motore sono parametri osservati, che sono I parametri raccolti possono essere osservati in tempo reale.
Nota: Si prega di non modificare a piacere il limite di coppia del motore, la temperatura di protezione e il tempo di sovratemperatura. A causa di operazioni illegali di questo libro, se il prodotto causa danni al corpo umano o danni irreversibili alle articolazioni, la nostra azienda non sarà ritenuta responsabile per eventuali conseguenze legali.
Tabella dei parametri
Codice funzione | Cognome | Tipo di parametro | Attributi | Valore massimo | Valore minimo | Valore attuale (per riferimento) | Osservazione |
0x0000 | Cognome | Corda | leggere/scrivere | yyyyyyyyyyyyyyyyyyyyyy | |||
0x0001 | Codice a barre | Corda | leggere/scrivere | yyyyyyyyyyyyyyyyyyyyyy | |||
0x1000 | VersioneCodiceBoot | Corda | solo lettura | 0.1.5 | |||
0x1001 | Datadicostruzioneavvio | Corda | solo lettura | 16 marzo 2022 | |||
0x1002 | Tempo di avvio | Corda | solo lettura | 20:22:09 | |||
0x1003 | VersioneCodiceApp | Corda | solo lettura | 0.1.5 | Numero di versione del programma motore | ||
0x1004 | VersioneAppGit | Corda | solo lettura | 7b844b0fM | |||
0x1005 | Data di compilazione dell'app | Corda | solo lettura | 14 aprile 2022 | |||
0x1006 | Tempo di compilazione dell'app | Corda | solo lettura | 20:30:22 | |||
0x1007 | NomeCodiceApp | Corda | solo lettura | dog_motor | |||
0x2000 | ecoPara1 | Uint16 | Configurazione | 74 | 5 | 5 | |
0x2001 | ecoPara2 | Uint16 | Configurazione | 74 | 5 | 5 | |
0x2002 | ecoPara3 | Uint16 | Configurazione | 74 | 5 | 5 | |
0x2003 | ecoPara4 | Uint16 | Configurazione | 74 | 5 | 5 | |
0x2004 | ecoFreHz | uint32 | leggere/scrivere | 10000 | 1 | 500 | |
0x2005 | Offset meccanico | galleggiante | impostare | 7 | -7 | 4.619583 | Offset angolare dell'encoder magnetico del motore |
0x2006 | MechPos_init | galleggiante | leggere/scrivere | 50 | -50 | 4.52 | Angolo di riferimento durante il primo multi-giro |
0x2007 | limit_torque | galleggiante | leggere/scrivere | 12 | 0 | 12 | Limite di coppia |
0x2008 | I_FW_MAX | galleggiante | leggere/scrivere | 33 | 0 | 0 | Valore della corrente di indebolimento del campo, predefinito 0 |
0x2009 | motor_index | uint8 | impostare | 20 | 0 | 1 | Indice motore, segna la posizione dell'articolazione motore |
0X200a | ID CANE | uint8 | impostare | 127 | 0 | 1 | Questo nodo id |
0x200b | CAN_MASTER | uint8 | impostare | 127 | 0 | 0 | può ospitare id |
0x200c | CAN_TIMEOUT | uint32 | leggere/scrivere | 100000 | 0 | 0 | soglia di timeout, predefinita 0 |
0x200d | Sovratemperatura motore | int16 | leggere/scrivere | 1500 | 0 | 800 | Valore di temperatura di protezione del motore, temp (gradi) *10 |
0x200e | sovraTemperaturaTempo | uint32 | leggere/scrivere | 1000000 | 1000 | 20000 | Tempo di sovratemperatura |
0x200f | Rapporto di trasmissione | galleggiante | leggere/scrivere | 64 | 1 | 7.75 | Rapporto di trasmissione |
0x2010 | Tipo Tq_cali | uint8 | leggere/scrivere | 1 | 0 | 1 | Impostazione del metodo di calibrazione della coppia |
0x2011 | cur_filt_gain | galleggiante | leggere/scrivere | 1 | 0 | 0.9 | Parametri di filtro attuali |
0x2012 | cur_kp | galleggiante | leggere/scrivere | 200 | 0 | 0.025 | kp attuale |
0x2013 | cur_ki | galleggiante | leggere/scrivere | 200 | 0 | 0.0258 | corrente elettrica ki |
0x2014 | spd_kp | galleggiante | leggere/scrivere | 200 | 0 | 2 | Velocità kp |
0x2015 | spd_ki | galleggiante | leggere/scrivere | 200 | 0 | 0.021 | velocità ki |
0x2016 | loc_kp | galleggiante | leggere/scrivere | 200 | 0 | 30 | Posizione kp |
0x2017 | spd_filt_gain | galleggiante | leggere/scrivere | 1 | 0 | 0.1 | Parametri del filtro di velocità |
0x2018 | limit_spd | galleggiante | leggere/scrivere | 200 | 0 | 2 | Limite di velocità in modalità posizione |
0x2019 | limit_cur | galleggiante | leggere/scrivere | 23 | 0 | 23 | Posizione, limite corrente della modalità di velocità |
0x3000 | tempoUsa0 | Uint16 | sola lettura (informatica) | 5 | |||
0x3001 | tempoUso1 | Uint16 | sola lettura (informatica) | 0 | |||
0x3002 | tempoUso2 | Uint16 | sola lettura (informatica) | 10 | |||
0x3003 | tempoUso3 | Uint16 | sola lettura (informatica) | 0 | |||
0x3004 | codificatoreRaw | Uint16 | sola lettura (informatica) | 11396 | Valore di Campione dell'Encoder Magnetico | ||
0x3005 | mcuTemp | int16 | sola lettura (informatica) | 337 | temperatura interna mcu *10 | ||
0x3006 | Temperatura del motore | int16 | sola lettura (informatica) | 333 | temperatura ntc motore *10 | ||
0x3007 | vBus(mv) | Uint16 | sola lettura (informatica) | 24195 | tensione della sbarra | ||
0x3008 | adc1Spostamento | int32 | sola lettura (informatica) | 2084 | bias di corrente zero del canale 1 di campionamento ADC | ||
0x3009 | adc2Offset | int32 | sola lettura (informatica) | 2084 | bias di corrente zero del canale 2 del campione adc | ||
0x300a | adc1Grezzo | Uint16 | sola lettura (informatica) | 1232 | valore di campionamento adc 1 | ||
0x300b | adc2Raw | Uint16 | sola lettura (informatica) | 1212 | valore di campionamento adc 2 | ||
0x300c | VBUS | galleggiante | sola lettura (informatica) | 24.195 | Tensione della sbarra collettrice V | ||
0x300d | IDcmd | galleggiante | sola lettura (informatica) | 0 | comando anello id, A | ||
0x300e | cmdIq | galleggiante | sola lettura (informatica) | 0 | comando iq ring, A | ||
0x300f | cmdlocref | galleggiante | sola lettura (informatica) | 0 | Comando di anello di posizione, rad | ||
0x3010 | riferimentocmdspd | galleggiante | sola lettura (informatica) | 0 | Comando del loop di velocità, rad/s | ||
0x3011 | cmdcoppia | galleggiante | sola lettura (informatica) | 0 | Comando di coppia, nm | ||
0x3012 | Posizione cmd | galleggiante | sola lettura (informatica) | 0 | con comando angolare del protocollo | ||
0x3013 | cmdVel | galleggiante | sola lettura (informatica) | 0 | indicatore di velocità del protocollo mit virtuoso | ||
0x3014 | rotazione | int16 | sola lettura (informatica) | 1 | numero di giri | ||
0x3015 | modPos | galleggiante | sola lettura (informatica) | 4.363409 | Angolo meccanico non calcolato del motore, rad | ||
0x3016 | Meccanismo di posizione | galleggiante | sola lettura (informatica) | 0.777679 | Angolo della Macchina di Controllo del Loop a Carico, rad | ||
0x3017 | MeccanicoVel | galleggiante | sola lettura (informatica) | 0.036618 | velocità di sterzo lato carico, rad/s | ||
0x3018 | elettropompe | galleggiante | sola lettura (informatica) | 4.714761 | Angolo elettrico | ||
0x3019 | Esso | galleggiante | sola lettura (informatica) | 0 | Corrente di linea U, A | ||
0x301a | uno | galleggiante | sola lettura (informatica) | 0 | V corrente di linea, A | ||
0x301b | circuito integrato | galleggiante | sola lettura (informatica) | 0 | W corrente di linea, A | ||
0x301c | tic tac | uint32 | sola lettura (informatica) | 31600 | |||
0x301d | faseOrdine | uint8 | sola lettura (informatica) | 0 | Marcatori di direzione di calibrazione | ||
0x301e | iqf | galleggiante | sola lettura (informatica) | 0 | iq Valore del filtro, A | ||
0x301f | Temperatura del bordo | int16 | sola lettura (informatica) | 359 | Temperatura a bordo, *10 | ||
0x3020 | quoziente intellettivo | galleggiante | sola lettura (informatica) | 0 | valore originale iq, A | ||
0x3021 | id | galleggiante | sola lettura (informatica) | 0 | id Valore originale, A | ||
0x3022 | colpaSta | uint32 | sola lettura (informatica) | 0 | Valore dello stato di errore | ||
0X3023 | avvertireSta | uint32 | sola lettura (informatica) | 0 | Valore di stato di avviso | ||
0x3024 | drv_fault | Uint16 | sola lettura (informatica) | 0 | Valore di guasto del chip del driver | ||
0x3025 | drv_temp | int16 | sola lettura (informatica) | 48 | Valore della temperatura del chip del driver, grado | ||
0x3026 | Uq | galleggiante | sola lettura (informatica) | 0 | q Tensione dell'asse | ||
0x3027 | Fuori | galleggiante | sola lettura (informatica) | 0 | Tensione dell'asse d | ||
0x3028 | dtc_u | galleggiante | sola lettura (informatica) | 0 | Ciclo di lavoro dell'uscita U-fase | ||
0x3029 | dtc_v | galleggiante | sola lettura (informatica) | 0 | Ciclo di lavoro dell'uscita V Phase | ||
0x302a | dtc_w | galleggiante | sola lettura (informatica) | 0 | Ciclo di lavoro dell'uscita della fase W | ||
0x302b | v_bus | galleggiante | sola lettura (informatica) | 24.195 | vbus in circuito chiuso | ||
0x302c | v_ref | galleggiante | sola lettura (informatica) | 0 | Tensione di ingresso della sintesi vq,vd a circuito chiuso | ||
0x302d | torque_fdb | galleggiante | sola lettura (informatica) | 0 | Valore di feedback di coppia, nm | ||
0x302e | rated_i | galleggiante | sola lettura (informatica) | 8 | Corrente nominale del motore | ||
0x302f | limit_i | galleggiante | sola lettura (informatica) | 27 | Limite massimo di corrente del motore |
3.3.4 Oscilloscopio
Questa interfaccia supporta la visualizzazione e l'osservazione del grafico generato dai dati in tempo reale. I dati osservabili includono la corrente Id/Iq del motore, la temperatura, la velocità reale in tempo reale, la posizione del rotore (encoder), la posizione di uscita, ecc.
Clicca sul modulo oscilloscopio nel modulo di analisi, seleziona i parametri appropriati nel canale (per i significati dei parametri, fare riferimento a 3.3.3), imposta la frequenza di uscita e clicca su Inizia Disegno per osservare lo spettro dei dati, ferma il disegno per smettere di osservare lo spettro.
3.4 Demo di controllo
fare jogging:
Imposta la velocità massima, fai clic su Esegui e poi fai clic su JOG per far funzionare il motore in avanti e indietro.
Modalità di commutazione del controllo:
La modalità di controllo del motore può essere convertita nell'interfaccia della modalità di movimento.
3.4.1 Modalità punto zero
Clicca il pulsante di attivazione a destra e il motore tornerà lentamente alla posizione zero meccanica.
3.4.2 Modalità di controllo operativo
Clicca il pulsante di attivazione a destra, poi imposta i cinque valori dei parametri, clicca su Avvia o Invio Continuo, il motore tornerà al telaio di feedback e funzionerà secondo l'istruzione target; clicca di nuovo il pulsante di attivazione a destra e il motore si fermerà.
3.4.2 Modalità corrente
Passare manualmente alla modalità attuale, fare clic sul pulsante di commutazione a destra, quindi impostare il valore del comando di corrente Iq, avviare o inviare continuamente, il motore seguirà il comando di corrente, fare clic di nuovo sul pulsante di commutazione a destra, il motore si fermerà.
Clicca il pulsante di attivazione sul lato destro della modalità di controllo, inserisci l'ampiezza e la frequenza del test automatico sinusoidale, e poi clicca il pulsante di attivazione sul lato destro del test automatico sinusoidale, e l'iq (A) del motore funzionerà secondo l'ampiezza e la frequenza impostate.
3.4.3 Modalità velocità
Passare manualmente alla modalità velocità, fare clic sul pulsante di commutazione a destra, quindi impostare il valore del comando di velocità (-30~30rad/s), avviare o inviare continuamente, il motore seguirà il comando di velocità, fare clic di nuovo sul pulsante di commutazione a destra, il motore si fermerà.
3.4.4 Modalità di localizzazione
Passare manualmente alla modalità di posizione, fare clic sul pulsante di commutazione a destra, quindi impostare il valore del comando di posizione (rad), avviare o inviare continuamente, il motore seguirà il comando di posizione target, fare clic di nuovo sul pulsante di commutazione a destra, il motore si fermerà. È possibile modificare la velocità massima di seguimento della posizione impostando la velocità.
Clicca il pulsante di attivazione sul lato destro della modalità di controllo, inserisci l'ampiezza e la frequenza del test automatico basato su seno, e poi clicca il pulsante di attivazione sul lato destro del test automatico basato su seno. La posizione del motore (rad) funzionerà secondo l'ampiezza e la frequenza impostate.
3.5 Aggiornamento del firmware
Il primo passo è cliccare sull'aggiornamento del modulo dispositivo e selezionare il file binario da scrivere; il secondo passo è confermare l'aggiornamento e il motore inizierà ad aggiornare il firmware. Dopo che il progresso è completato, l'aggiornamento del motore sarà completato e si riavvierà automaticamente.
Protocollo di comunicazione del driver e istruzioni per l'uso
La comunicazione del motore è un'interfaccia di comunicazione CAN 2.0, con una velocità di baud di 1 Mbps e un formato di frame esteso, come mostrato.
Campo dati | ID a 29 bit | Area dati da 8 byte | ||
Misurare | Po 28 ~ 24 | Parte 23 ~ 8 | Po 7 ~ 0 | Da 0 a 7 |
Descrizione | Tipo di comunicazione | Zona data 2 | Indirizzo di destinazione | Area data 1 |
I modi di controllo supportati dal motore includono:
-
Modalità di controllo dell'operazione: dati 5 parametri per il controllo dell'operazione del motore;
-
Modalità attuale: dato il valore di corrente Iq specificato del motore;
-
Modalità velocità: dato il numero di giri specificato del motore;
-
Modalità posizione: Data una posizione specificata del motore, il motore si muoverà verso la posizione specificata;
4.1 Descrizione del tipo di protocollo di comunicazione
4.1.1 Ottieni l'ID del dispositivo (tipo di comunicazione 0); Ottieni l'ID del dispositivo e l'identificatore unico MCU a 64 bit
Richiedi frame:
Campo dati | ID a 29 bit | Area dati da 8 byte | ||
Posizione | Po 28 ~ 24 | Parte 23 ~ 8 | Po 7 ~ 0 | Da 0 a 7 |
Descrizione | 0 | Bit 15 ~ 8: Host CAN_ID | CAN_ID motore | 0 |
Frame di risposta:
Campo dati | ID a 29 bit | Area dati da 8 byte | ||
Posizione | Po 28 ~ 24 | Parte 23 ~ 8 | Po 7 ~ 0 | Da 0 a 7 |
Descrizione | 0 | CAN_ID motore | 0xFE | identificatore univoco MCU a 64 bit |
4.1.2 Le istruzioni di controllo del motore (tipo di comunicazione 1) in modalità di controllo operativo vengono utilizzate per inviare istruzioni di controllo al motore.
Richiedi frame:
Campo dati | ID a 29 bit | Area dati da 8 byte | ||
Posizione | Po 28 ~ 24 | Parte 23 ~ 8 | Po 7 ~ 0 | Da 0 a 7 |
Descrizione | 1 | Byte 2: Coppia (0 ~ 65535) corrispondente a (- 12Nm ~ 12Nm) | CAN_ID motore | Byte 0 ~ 1: Angolo target [0 ~ 65535] corrispondente a (-4π ~ 4π) Byte 2 ~ 3: La velocità angolare target [0 ~ 65535] corrisponde a (- 30rad/s ~ 30rad/s) Byte 4 ~ 5: Kp [0 ~ 65535] corrisponde a (0.0 ~ 500.0) Byte 6 ~ 7: Kd [0 ~ 65535] corrisponde a (0.0 ~ 5.0) |
Frame di risposta: Frame di feedback del motore di risposta (vedi tipo di comunicazione 2)
4.1.3 I dati di feedback del motore (tipo di comunicazione 2) vengono utilizzati per restituire lo stato operativo del motore all'host.
Campo dati | ID a 29 bit | Area dati da 8 byte | ||
Posizione | Po 28 ~ 24 | Parte 23 ~ 8 | Po 7 ~ 0 | Da 0 a 7 |
Descrizione | 2 | Bit 8 ~ 15: ID CAN del motore Bit 21 ~ 16: Informazioni di errore (0 - No, 1 - Sì) Bit 21: non calibrato Bit 20: errore di codifica HALL Bit 19: Errore di codifica magnetica Bit 18: sovratemperatura Bit 17: sovracorrente Bit 16: Guasto da sottotensione Bit 22 ~ 23: stato della modalità: 0: Modalità di ripristino [reset] 1: modalità interessanti [Calibration] 2: Modalità motore [Run] |
ID host CAN | Byte 0 ~ 1: L'angolo attuale [0 ~ 65535] corrisponde a (-4π ~ 4π) Byte 2 ~ 3: La velocità angolare attuale [0 ~ 65535] corrisponde a (-30rad/s ~ 30rad/s) Byte 4 ~ 5: La coppia attuale [0 ~ 65535] corrisponde a (-12Nm ~ 12Nm) Byte 6 ~ 7: Temperatura attuale: Temp (gradi Celsius) )*10 |
4.1.4 Operazione di abilitazione del motore (tipo di comunicazione 3)
Campo dati | ID a 29 bit | Area dati da 8 byte | ||
Posizione | Po 28 ~ 24 | Parte 23 ~ 8 | Po 7 ~ 0 | Da 0 a 7 |
Descrizione | 3 | Bit 15 ~ 8: Host CAN_ID | CAN_ID motore |
Frame di risposta: Frame di feedback del motore di risposta (vedi tipo di comunicazione 2)
4.1.5 Motore fermo (tipo di comunicazione 4)
Campo dati | ID a 29 bit | Area dati da 8 byte | ||
Posizione | Po 28 ~ 24 | Parte 23 ~ 8 | Po 7 ~ 0 | Da 0 a 7 |
Descrizione | 4 | Bit 15 ~ 8: Host CAN_ID | CAN_ID motore | Durante il funzionamento normale, l'area dati deve essere azzerata a 0; Quando Byte[0]=1: Cancella errore; |
Frame di risposta: Frame di feedback del motore di risposta (vedi tipo di comunicazione 2)
4.1.6 Impostare la posizione zero meccanica del motore (tipo di comunicazione 6) imposterà la posizione attuale del motore alla posizione zero meccanica (persa dopo un'interruzione di corrente)
Campo dati | ID a 29 bit | Area dati da 8 byte | ||
Posizione | Po 28 ~ 24 | Parte 23 ~ 8 | Po 7 ~ 0 | Da 0 a 7 |
Descrizione | 6 | Bit 15 ~ 8: Host CAN_ID | CAN_ID motore | Byte[0]=1 |
Frame di risposta: Frame di feedback del motore di risposta (vedi tipo di comunicazione 2)
4.1.7 Imposta il CAN_ID del motore (tipo di comunicazione 7) per cambiare l'attuale CAN_ID del motore, che avrà effetto immediato.
Campo dati | ID a 29 bit | Area dati da 8 byte | ||
Posizione | Po 28 ~ 24 | Parte 23 ~ 8 | Po 7 ~ 0 | Da 0 a 7 |
Descrizione | 7 | Bit 15 ~ 8: Host CAN_ID Bit 16 ~ 23: Nuovo motor CAN_ID |
CAN_ID motore | Byte[0]=1 |
Frame di risposta: Frame di broadcast del motore di risposta (vedi tipo di comunicazione 0)
4.1.8 Lettura di un singolo parametro (tipo di comunicazione 17)
Campo dati | ID a 29 bit | Area dati da 8 byte | ||
Posizione | Po 28 ~ 24 | Parte 23 ~ 8 | Po 7 ~ 0 | Da 0 a 7 |
Descrizione | 17 | Bit 15 ~ 8: Host CAN_ID | CAN_ID motore | Byte 0 ~ 1: indice, vedere 4.1.11 per l'elenco dei parametri Byte 2 ~ 3: 00 Byte 4 ~ 7: 00 |
Frame di risposta:
Campo dati | ID a 29 bit | Area dati da 8 byte | ||
Posizione | Po 28 ~ 24 | Parte 23 ~ 8 | Po 7 ~ 0 | Da 0 a 7 |
Descrizione | 17 | Bit 15 ~ 8: Motor CAN_ID | ID host CAN | Byte 0 ~ 1: indice, per l'elenco dei parametri, vedere 4.1.11 Byte 2 ~ 3: 00 Byte 4 ~ 7: dati del parametro, 1 byte di dati è in Byte 4 |
4.1.9 Scrittura di un singolo parametro (tipo di comunicazione 18) (perso dopo un'interruzione di corrente)
Campo dati | ID a 29 bit | Area dati da 8 byte | ||
Posizione | Po 28 ~ 24 | Parte 23 ~ 8 | Po 7 ~ 0 | Da 0 a 7 |
Descrizione | 18 | Bit 15 ~ 8: Host CAN_ID | CAN_ID motore | Byte 0 ~ 1: indice, vedere 4.1.11 per i dettagli della lista dei parametri Byte 2 ~ 3: 00 Byte 4 ~ 7: dati del parametro |
Frame di risposta: Frame di feedback del motore di risposta (vedi tipo di comunicazione 2)
4.1.10 Quadro di feedback di errore (tipo di comunicazione 21)
Campo dati | ID a 29 bit | Area dati da 8 byte | ||
Posizione | Po 28 ~ 24 | Parte 23 ~ 8 | Po 7 ~ 0 | Da 0 a 7 |
Descrizione | 21 | Bit 15 ~ 8: Host CAN_ID | CAN_ID motore | Byte 0 ~ 3: valore di errore (non 0: errore, 0: normale) Bit 16: Un sovraccarico di campionamento della corrente di fase Bit 15 ~ 8: errore di sovraccarico Bit 7: encoder non calibrato Bit 5: campionamento della corrente di fase C sovracorrente Bit 4: campionamento della corrente di fase B bit3: guasto da sovratensione Bit 2: errore di sottotensione bit1: errore del chip driver bit0: errore di surriscaldamento del motore, predefinito 80 gradi Byte 4 ~ 7: valore di avviso Bit 0: avviso di surriscaldamento del motore, default 75 gradi |
4.1.11 Modifica della velocità di trasmissione (tipo di comunicazione 22) (la versione 1.2.1.5 può essere modificata, si prega di fare riferimento al processo documentale per modificarla con attenzione. Errori di operazione possono causare problemi come l'impossibilità di connettersi al motore e l'impossibilità di eseguire l'aggiornamento)
Campo dati | ID a 29 bit | Area dati da 8 byte | ||
Posizione | Po 28 ~ 24 | Parte 23 ~ 8 | Po 7 ~ 0 | Da 0 a 7 |
Descrizione | 22 | Bit 15 ~ 8: Host CAN_ID | CAN_ID motore | Byte0: Velocità di baud del motore 1: 1 Mbps 2: 500 kbps 3: 250 kbps 4: 125 kbps |
Frame di risposta: Frame di broadcast del motore di risposta (vedi tipo di comunicazione 0)
4.1.12 Elenco di parametri singoli leggibile e scrivibile (7019-7020 è leggibile dalla versione del firmware 1.2.1.5)
Indice dei parametri | nome del parametro | descrivere | tipo | Numero di byte | Valori possibili | Permesso |
0x7005 | run_mode | 0: Modalità di controllo operativa 1: Modalità posizione 2: Modalità velocità 3: Modalità corrente |
uint8 | 1 | V/R | |
0x7006 | iq_ref | Comando Iq Corrente | galleggiante | 4 | -23 ~ 23A | V/R |
0x700A | spd_ref | Comando di velocità in modalità veloce | galleggiante | 4 | -30 ~ 30rad/s | V/R |
0x700B | limit_torque | Limite di coppia | galleggiante | 4 | 0~12Nm | V/R |
0x7010 | cur_kp | Kp di corrente | galleggiante | 4 | Valore predefinito 0,125 | V/R |
0x7011 | cur_ki | Chiave corrente | galleggiante | 4 | Valore predefinito 0,0158 | V/R |
0x7014 | cur_filt_gain | Coefficiente di filtro attuale filt_gain | galleggiante | 4 | 0~1.0, valore predefinito W/R 0.1 | V/R |
0x7016 | loc_ref | Comando angolare in modalità posizione | galleggiante | 4 | potente | V/R |
0x7017 | limit_spd | Limite di velocità in modalità posizione | galleggiante | 4 | 0 ~ 30rad/s | V/R |
0x7018 | limit_cur | Limite Corrente della Modalità di Posizione Veloce | galleggiante | 4 | Da 0 a 23A | V/R |
0x7019 | Meccanismo di posizione | Carico fine conteggio sovrapposizione angolo meccanico | galleggiante | 4 | potente | R |
0x701A | iqf | valore del filtro iq | galleggiante | 4 | -23 ~ 23A | R |
0x701B | MeccanicoVel | Velocità di fine carico | galleggiante | 4 | -30 ~ 30rad/s | R |
0x701C | VBUS | tensione del bus | galleggiante | 4 | V | R |
0x701D | rotazione | Numero di giri | int16 | 2 | Numero di giri | V/R |
0x701E | loc_kp | kp di posizione | galleggiante | 4 | Valore predefinito 30 | V/R |
0x701F | spd_kp | Velocità in kp | galleggiante | 4 | Valore predefinito 1 | V/R |
0x7020 | spd_ki | Velocità del ki | galleggiante | 4 | Valore predefinito 0,002 | V/R |
4.2 Istruzioni per l'uso della modalità di controllo
4.2.1 Esempio di programma
"Di seguito vengono forniti esempi di controllo dei motori in varie modalità (prendendo come esempio il gd32f303). Di seguito sono riportate librerie, funzioni e definizioni di macro per vari esempi."
#define P_MIN -12.5f #definisci P_MAX 12.5f #define V_MIN -30.0f #definisci V_MAX 30.0f #definisci KP_MIN 0.0f #define KP_MAX 500.0f #definisci KD_MIN 0.0f #definisci KD_MAX 5.0f #define T_MIN -12.0f #definisci T_MAX 12.0f struttura exCanIdInfo{ Italiano: uint32_t data:16; modalità uint32_t: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_ESTESO, .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; altrimenti se(x < x_min) x= x_min; ritorna (int) ((x-offset)*((float)((1<
✔ Copiato!
Istruzioni di controllo del motore in modalità di controllo operativo (tipo di comunicazione 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); = 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(velocità,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); puoi_txd(); }
✔ Copiato!
Motore fermo telaio (tipo di comunicazione 4)
void motor_reset(uint8_t id, uint16_t master_id) { txCanIdEx.mode = 4; txCanIdEx.id = id; txCanIdEx.res = 0; txCanIdEx.data = master_id; = 8; for(uint8_t i=0;i<8;i++) { txMsg.tx_data[i]=0; } puoi_txd(); }
✔ Copiato!
Comando di scrittura del parametro della modalità motore (tipo di comunicazione 18, commutazione della modalità operativa)
uint8_t modalità di esecuzione; uint16_t indice; void motor_modechange(uint8_t id, uint16_t master_id) { txCanIdEx.mode = 0x12; txCanIdEx.id = id; txCanIdEx.res = 0; txCanIdEx.data = master_id; = 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); puoi_txd(); }
✔ Copiato!
Comando di scrittura del parametro della modalità motore (tipo di comunicazione 18, scrittura del parametro di controllo)
uint16_t indice; riferimento float; void motor_write(uint8_t id, uint16_t master_id) { txCanIdEx.mode = 0x12; txCanIdEx.id = id; txCanIdEx.res = 0; txCanIdEx.data = master_id; = 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); puoi_txd(); }
✔ Copiato!
4.2.2 Modalità di controllo operativo
Dopo che il motore è acceso, è in modalità di controllo operativo per impostazione predefinita;
Invia abilitazione motore telaio in esecuzione (tipo di comunicazione 3) -->
Invia comando di controllo motore in modalità di controllo operazione (tipo di comunicazione 1) -->
Ricevi il frame di feedback del motore (tipo di comunicazione 2)
4.2.3 Modalità corrente
Invia il comando di scrittura del parametro della modalità motore (tipo di comunicazione 18) e imposta il parametro runmode su 3 --->
Invia il telaio di attivazione del motore (tipo di comunicazione 3) -->
Invia il comando di scrittura del parametro della modalità motore (tipo di comunicazione 18) e imposta il parametro iq_ref come comando di corrente preimpostato.
4.2.4 Modalità velocità
Invia il comando di scrittura del parametro della modalità motore (tipo di comunicazione 18) e imposta il parametro runmode su 2 --->
Invia il telaio di attivazione del motore (tipo di comunicazione 3) -->
Invia il comando di scrittura del parametro della modalità motore (tipo di comunicazione 18) e imposta il parametro limit_cur per il comando di corrente massima preimpostato -->
Invia il comando di scrittura del parametro della modalità motore (tipo di comunicazione 18) per impostare il parametro spd_ref al comando di velocità preimpostato.
4.2.5 Modalità di localizzazione
Invia il comando di scrittura del parametro della modalità motore (tipo di comunicazione 18) e imposta il parametro runmode su 1 -->
Invia il telaio di attivazione del motore (tipo di comunicazione 3) -->
Invia il comando di scrittura del parametro della modalità motore (tipo di comunicazione 18) e imposta il parametro limit_spd al comando di velocità massima preimpostata -->
Invia il comando di scrittura del parametro della modalità motore (tipo di comunicazione 18) per impostare il parametro loc_ref al comando di posizione preimpostata.
4.2.6 Interrompere l'operazione
Invia telaio di arresto motore (tipo di comunicazione 4)
Libreria CyberGear per M5 stack
https://github.com/project-sternbergia/cybergear_m5/tree/main
cybergear_m5
Libreria M5 stack per cybergear
"Ricorda, con grande coppia viene una grande responsabilità."
Framework supportato
-
Arduino per ESP32
Dispositivo supportato (ESP32)
-
M5Stack di base V2.7
Componenti H/W (MCP2515)
Componenti H/W (ESP32 + PWRCAN)
Componenti H/W (ESP32 + unità ricetrasmettitore CAN)
Come usare Official GUI attrezzo
Questo software richiede un modulo specifico da CAN a USB. La documentazione ufficiale raccomanda il modulo USB a CAN di YourCee, che supporta il protocollo seriale con un'intestazione di frame di 41 54 e una coda di frame di 0D 0A, ma questo non è facilmente disponibile, quindi abbiamo cercato un'alternativa su Aliexpress. ※ Nota che questo non funzionerà per moduli generali.
Testato (per riferimento):
Cavi pre-crimpati raccomandati
-
Cavo XT30(2+2)
Come correre campione
Arduino VA
-
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
-
clone git https://github.com/project-sternbergia/cybergear_m5.git
-
Apri cybergear_m5/examples/control_mode_example.ino con Arduino IDE
-
Metti questo file nella stessa cartella di control_mode_example.ino (per Arduino IDE) Se vuoi utilizzare la libreria ESP32_CAN, per favore commenta queste righe.
-
Costruisci e scrivi firmware per M5Stack
Codice di esempio
control_mode_example.ino
Controlla il comportamento del cybergear utilizzando lo stack M5.
-
Pulsante centrale - Modifica modalità di controllo (Modalità posizione -> Modalità velocità -> Modalità corrente)
-
Pulsante Destro - Aumenta il valore di controllo
-
Pulsante Sinistro - Riduci valore di controllo
cybergear_bilateral.ino
Questo esempio utilizza due cybergear per il leader e il follower. Prima di testare questo esempio, si prega di cambiare l'ID del can del cybergear come segue. Dopo di che scrivi cybergear_m5/esempi/cybergear_bilateral.ino a m5 stack attraverso l'IDE di Arduino.
-
leader cybergear : 0x7F
-
follower cybergear : 0x7E
Articoli consigliati
Lascia un commento
Tutti i commenti del blog vengono controllati prima della pubblicazione