Guía del Micromotor CyberGear de XiaoMi
28 Feb 2025
0 Comentarios
¿Qué es el Micromotor CyberGear de XiaoMi?
El Micromotor Xiaomi CyberGear es un micromotor compacto pero potente diseñado para aplicaciones robóticas y biónicas avanzadas. Presenta una alta relación de par motor a tamaño, tiempos de respuesta rápidos y un control preciso, lo que permite movimientos realistas y fluidos en extremidades y mecanismos robóticos. Su diseño modular y algoritmos de control inteligentes facilitan la integración sin problemas en sistemas complejos, lo que lo hace adecuado para aplicaciones que van desde prótesis biónicas hasta mascotas robóticas avanzadas. Xiaomi enfatiza su potencial para crear experiencias robóticas más realistas e interactivas.
Manual de Instrucciones del Micromotor CyberGear
Precauciones
-
¡Por favor, úselo de acuerdo con los parámetros de trabajo especificados en este artículo, de lo contrario, causará daños graves a este producto!
-
El modo de control no se puede cambiar mientras la articulación está en funcionamiento. Si necesita cambiar, debe enviar un comando de parada antes de cambiar.
-
Por favor, verifique si todas las piezas están intactas antes de usarlas. Si faltan piezas o están dañadas, comuníquese con el soporte técnico a tiempo.
-
No desmonte el motor a voluntad para evitar fallos irreparables.
-
Asegúrate de que no haya un cortocircuito al conectar el motor y que la interfaz esté conectada correctamente según lo requerido.
Avisos legales
Antes de usar este producto, el usuario debe leer este manual cuidadosamente y operar el producto de acuerdo con el contenido de este manual. Si el usuario utiliza este producto en violación del contenido de este manual, la empresa no asume ninguna responsabilidad por daños a la propiedad o accidentes de lesiones personales. Dado que este producto consta de muchas partes, no permita que los niños entren en contacto con este producto para evitar accidentes. Para extender la vida útil del producto, no utilice este producto en entornos de alta temperatura y alta presión. Este manual ha tratado de incluir diversas introducciones de funciones e instrucciones de uso en el momento de la impresión. Sin embargo, debido a la mejora continua de las funciones del producto, cambios en el diseño, etc., puede haber discrepancias con los productos comprados por los usuarios.
Puede haber diferencias entre este manual y el producto real en términos de color, apariencia, etc. Por favor, consulte el producto real. Este manual es publicado por Xiaomi o sus filiales locales. Xiaomi puede realizar mejoras y cambios necesarios en este manual por errores tipográficos, inexactitudes de la información más reciente, o mejoras en programas y/o equipos en cualquier momento sin previo aviso. Tales cambios se cargarán en la nueva versión de este manual. Por favor, escanee el código QR de este manual para obtenerlo. Todas las imágenes son solo para descripción funcional. Por favor, consulte el producto real.
Política de posventa
El servicio postventa de este producto se rige estrictamente por la "Ley de Protección de los Derechos e Intereses de los Consumidores de la República Popular China" y la "Ley de Calidad de los Productos de la República Popular China". El contenido del servicio es el siguiente:
Período y contenido de la garantía
Los usuarios que realicen un pedido para comprar este producto a través de canales en línea pueden disfrutar de un servicio de devolución sin motivo dentro de los siete días a partir del día de recepción. Al devolver los productos, los usuarios deben presentar un comprobante de compra válido y devolver la factura. Los usuarios deben asegurarse de que los productos devueltos mantengan su calidad y funcionalidad originales, su apariencia esté intacta y las marcas comerciales y logotipos de los productos y accesorios estén completos. Si hay regalos, deben ser devueltos juntos. Si el producto está dañado artificialmente, desmontado manualmente, falta la caja de embalaje o faltan piezas de repuesto, no se procesarán las devoluciones. Los costos de logística incurridos al devolver productos serán asumidos por el usuario (ver "Estándares de Carga de Servicio Postventa" para los estándares de carga). Si el usuario no paga las tarifas de logística, el monto real se deducirá del monto del reembolso. El precio pagado será devuelto al usuario dentro de los siete días a partir de la fecha de recepción de los productos devueltos. Los métodos de reembolso son los mismos que los métodos de pago. La fecha de llegada específica puede verse afectada por factores como bancos e instituciones de pago.
Si ocurre una falla de rendimiento no dañada por humanos dentro de los 7 días a partir del día siguiente a que el usuario lo firme, el centro de servicio postventa de Xiaomi se encargará del proceso de devolución para el usuario después de la inspección y confirmación. Al devolver el producto, el usuario debe presentar un comprobante de compra válido y devolver la factura. Cualquier regalo debe ser devuelto junto con el producto.
Si ocurre un daño no humano o una falla de rendimiento dentro de los 7 a 15 días a partir del día siguiente a la firma del usuario, el centro de servicio postventa de Xiaomi se encargará del proceso de intercambio para el usuario y reemplazará el conjunto completo de productos después de la inspección y confirmación. Después del intercambio, el período de tres garantías del producto se recalculará.
Desde 15 días hasta 365 días a partir del día siguiente a la firma del usuario, después de la inspección y confirmación por parte del centro de servicio postventa de Xiaomi, si se trata de una falla de calidad del propio producto, se pueden proporcionar servicios de reparación de forma gratuita. El producto defectuoso reemplazado pertenece a la empresa Xiaomi. El producto no defectuoso será devuelto en su estado original. Este producto sale de la fábrica después de someterse a diversas pruebas estrictas. Si hay alguna falla de calidad que no esté relacionada con el propio producto, nos reservamos el derecho de rechazar la solicitud de devolución o cambio del usuario.
Si la política de postventa en este manual es inconsistente con la política de postventa de la tienda, prevalecerá la política de postventa de la tienda.
Regulaciones fuera de garantía: Las siguientes situaciones no están cubiertas por la garantía:
Excede el período de garantía limitado por los términos de la garantía.
Daño del producto causado por un uso incorrecto sin seguir las instrucciones.
Daños causados por operación, mantenimiento, instalación, modificación, prueba y otro uso inadecuado.
Pérdida mecánica convencional y desgaste causado por fallos de no calidad.
Daños causados por condiciones de trabajo anormales, incluyendo pero no limitado a caídas, impactos, inmersión en líquidos, impactos violentos, etc.
Daños causados por desastres naturales (como inundaciones, incendios, rayos, terremotos, etc.) o fuerza mayor.
Daño causado por el uso más allá del par máximo.
Los artículos que no son productos genuinos de Xiaomi pueden no ser capaces de proporcionar prueba legal de compra.
Otras fallas o daños no causados por problemas como diseño del producto, tecnología, fabricación, calidad, etc.
Utilice este producto para fines comerciales.
Si ocurre la situación anterior, los usuarios deben pagar las tarifas por sí mismos. Para detalles de la política de postventa del grupo, por favor consulte: https://www.mi.com/service/serviceAgreement?id=17
Especificaciones del motor
1.1 Apariencia y dimensiones de instalación
1.2 Estado de uso estándar
1.2.1 Tensión nominal: 24 VDC
1.2.2 Rango de voltaje de operación: 16V—28 VDC
1.2.3 Carga nominal (CW): 4 N.m
1.2.4 Dirección de funcionamiento: CW/CCW visto desde la dirección del eje
1.2.5 Postura de uso: La dirección del eje es horizontal o vertical
1.2.6 Temperatura de operación estándar: 25±5°C
1.2.7 Rango de temperatura de operación: -20 ~ 50°C
1.2.8 Humedad operativa estándar: 65%
1.2.9 Rango de humedad de operación: 5 ~ 85%, sin condensación
1.2.10 Rango de temperatura de almacenamiento: -30 ~ 70°C
1.2.11 Nivel de aislamiento: Clase B
1.3 Características eléctricas
1.3.1 Velocidad sin carga: 296 rpm±10%
1.3.2 Corriente en vacío: 0.5 Arms
1.3.3 Carga nominal: 4 N.m
1.3.4 Velocidad de carga nominal: 240rpm±10% 1.3.5 Corriente de carga nominal (pico): 6.5A±10% 1.3.6 Carga máxima: 12 N.m
1.3.7 Corriente de pico (valor pico): 23A±10%
1.3.8 Resistencia de aislamiento/ devanado del estator: DC 500VAC, 100M Ohms 1.3.9 Resistencia de alta tensión/ estator y carcasa: 600 VAC, 1s, 2mA 1.3.10 Fuerza electromotriz de retroceso del motor: 0.054-0.057Vrms/rpm
1.3.11 Resistencia de línea: 0.45Ω±10%
1.3.12 Constante de par: 0.87N.m/Arms
1.3.13 Inductancia del motor: 187-339μH
1.3.14 Curva T-N
1.3.15 Curva de sobrecarga máxima Condiciones de prueba:
Temperatura ambiente: 25°C
Temperatura límite de bobinado: 120°C
Velocidad: 24 rpm
Curva de carga máxima
Tiempo máximo de sobrecarga (s) vs Torque (N.m)
Datos de prueba
Carga | Tiempo(s) de funcionamiento |
12 | 28 |
11 | 45 |
10 | 60 |
9 | 90 |
8 | 160 |
7 | 320 |
6 | 700 |
5 | 1800 |
4.5 | 2500 |
4 | calificado |
1.4 Propiedades mecánicas
1.4.1 Peso: 317g±3g
1.4.2 Número de polos: 28 polos 1.4.3 Número de fases: 3 fases
1.4.4 Modo de conducción: FOC
1.4.5 Relación de reducción: 7.75:1
Impulsar la información del producto
2.1 Introducción a la apariencia del controlador y especificaciones del producto
Terminal integrado de alimentación de 24V y comunicación CAN;
Versión de hardware y código QR grabado con láser;
Puerto de descarga MCU;
punto de prueba de comunicación CAN;
Luz indicadora;
Orificios de instalación; 7. “C, A, B” son los puntos de soldadura del devanado trifásico;
Especificaciones del producto
Tensión nominal de funcionamiento | 24VDC |
Tensión máxima permitida | 28VDC |
Corriente de funcionamiento nominal | 6.5A |
Corriente máxima permitida | 23A |
Consumo de energía en espera | ≤18 mA |
Tasa de bits del bus CAN | 1Mbps |
Tamaño | Φ58 mm |
Temperatura ambiente de trabajo | -20°C 50°C |
Temperatura máxima permitida por el panel de control | 80°C |
Resolución del codificador | 14 bits (valor absoluto de una sola vuelta) |
2.2 Definición de la interfaz del controlador
2.2.1 Diagrama de interfaz del controlador
2.2.2 Marcas y modelos recomendados de interfaces de unidad
# | Modelo de tablero | Fabricante de marca | Modelo de final de línea | Fabricante de marca |
1 | XT30PB(2+2)-M.G.B | AMAS (AMS) | XT30(2+2)-F.G.B | AMAS (AMS) |
2 | 2,0 mm-2P hembra | / | 2,0 mm-2P macho | / |
3 | 2,54 mm-4P hembra | / | 2,54 mm-4P macho | / |
2.2.3 Definición de pines de interfaz del controlador
Fuente de alimentación y puerto de comunicación CAN
pad de prueba de comunicación CAN
Puerto de descarga
# | Función de interfaz | ALFILER | Descripción |
1 | Potencia y comunicación CAN | 1 | Suministro de energía positivo (+) |
2 | Polo negativo de la fuente de alimentación (-) | ||
3 | Comunicación CAN lado bajo CAN_L | ||
4 | Comunicación CAN lado alto CAN_H | ||
2 | punto de prueba de comunicación CAN | 1 | Comunicación CAN lado bajo CAN_L |
2 | Comunicación CAN lado alto CAN_H | ||
3 | Puerto de descarga | 1 | SWDIO(datos) |
2 | SWCLK(reloj) | ||
3 | 3V3 (positivo 3,3 V) | ||
4 | GND (tierra negativa) |
2.3 Definición de conductor luz indicadora
Luz de señal azul y luz indicadora de potencia roja
Definición de luz indicadora
Indicador de encendido (luz roja cuando está encendido) | La luz indicadora de energía se utiliza para indicar la fuente de alimentación de 3.3V del MCU. Cuando la entrada total de energía es de 24V, la luz se vuelve roja, lo que demuestra que toda la red está alimentada normalmente. Si la fuente de alimentación es de 24V, la luz indicadora no se enciende y la energía debe cortarse de inmediato. |
Luz indicadora de señal (luz azul cuando está encendida) | Cuando la luz de señal parpadea, demuestra que el MCU está funcionando normalmente y que el chip controlador está funcionando normalmente. |
2.4 Componentes principales y especificaciones
# | Tipo de componente | modelo | Cantidad |
1 | Chip de microcontrolador | GD32F303RET6 | PC 1 |
2 | Chip controlador | 6EDL7141 | PC 1 |
3 | Chip de codificador magnético | AS5047P | PC 1 |
4 | Termistor | NXFT15XH103FEAB021/NCP18XH103F03RB | 2 piezas |
5 | MOS de potencia | JMGG031V06A | 6 piezas |
Instrucciones de uso del depurador (escanea el Código QR al final del manual en papel para obtener el depurador)
3.1 Configuración de hardware
El motor conjunto utiliza comunicación CAN. Hay dos líneas de comunicación, que están conectadas al depurador a través de una herramienta can-a-USB. El depurador necesita instalar el controlador ch340 de antemano y funciona en modo AT por defecto.
Cabe señalar que desarrollamos el depurador basado en una herramienta específica de can a USB, por lo que necesitamos usar nuestra herramienta de puerto serie recomendada para la depuración. Si desea portarlo a otras plataformas de depurador, puede consultar el Capítulo 3 del manual. desarrollo.
La herramienta can to USB recomienda usar el módulo USB-CAN de YourCee. El encabezado del marco correspondiente al protocolo de puerto serie es 41 54 y la cola del marco es 0D 0A.
3.2 Interfaz y descripción del depurador
Incluyen principalmente:
A. Selección de módulos
-
Módulo de dispositivo
-
Módulo de configuración
-
Módulo de análisis
-
Módulo de ayuda
B. Selección de submódulos Los módulos de equipo incluyen
-
Conectar o desconectar equipos eléctricos
-
Información sobre equipos de motor
-
Calibración del encoder del motor
-
Modificar el ID CAN del motor
-
Establecer la posición de cero mecánico del motor
-
Actualización del programa motor
Los módulos de configuración incluyen:
-
Tabla de parámetros, puedes ver y modificar los parámetros del motor.
-
Cargar parámetros. Puede cargar los parámetros en el motor a la tabla de parámetros.
-
Descargar parámetros. Puedes descargar los datos de la tabla de parámetros al motor.
-
Exportar parámetros. Puedes descargar los datos de la tabla de parámetros a lo local.
-
Restablecimiento de fábrica, puedes restaurar los datos en la tabla de parámetros a la configuración de fábrica.
-
Advertencia clara, puedes eliminar errores del motor, como temperatura excesiva, etc.
Los módulos de análisis incluyen:
-
Osciloscopio para ver los cambios de parámetros a lo largo del tiempo
-
Frecuencia, puedes ajustar la frecuencia de visualización de datos
-
Canal, puedes configurar los datos que se verán
-
Comenzar y detener el dibujo
-
Enviar datos de forma de onda a local
Los módulos de ayuda incluyen:
-
Instrucciones de uso, puede abrir el manual de instrucciones
-
Acerca de, puedes ver la información del software
C. Consulta de información del motor
-
Información del dispositivo
-
Información de la tabla de parámetros
D. Columna de datos
-
Información de registro
-
Información de comunicación
E. Ejecutar el área de depuración
-
Seleccionar dispositivo
-
Área de operación conveniente, puedes controlar rápidamente la rotación hacia adelante y hacia atrás del motor.
-
Área de control de movimiento, que puede controlar el motor para operar en varios modos.
F. Área de visualización del submódulo
3.3 Ajustes del motor
3.3.1 Configuración de conexión del motor
Conecte la lata a la herramienta USB (instale el controlador ch340, trabaje en modo AT por defecto), seleccione el módulo del dispositivo, haga clic en el submódulo de conexión y seleccione la conexión de puerto serie correspondiente.
3.3.2 Configuración básica
Modifique el número de identificación del motor.
-
La calibración de trenzado magnético del motor, la reinstalación de la placa del motor y el motor, o la reconexión de los cables del motor en un orden diferente, etc. requieren una recalibración del trenzado magnético.
-
Establecer la posición cero (perdida en caso de fallo de energía) y establecer la posición actual en 0.
-
Actualización del programa de motor. Cuando se actualice el programa de motor, haga clic en el botón de actualización para seleccionar el archivo de actualización.
3.3.3 Lista de parámetros
Después de conectar exitosamente el motor, haga clic en el módulo de tabla de parámetros en el módulo de configuración, y todos los parámetros se mostrarán en el registro. La carga es exitosa, lo que indica que los parámetros relevantes del motor se han leído correctamente (Nota: la tabla de parámetros debe estar en el estado de espera del motor. Configure en el estado, si el motor está en estado de funcionamiento, la tabla de parámetros no se puede actualizar). La interfaz mostrará los parámetros eléctricos relevantes del motor. Los parámetros azules son los parámetros de almacenamiento interno del motor. Se pueden encontrar directamente después de los parámetros correspondientes. Modifique la columna del valor anterior. Haga clic en Descargar Parámetros para descargar los parámetros en el depurador al motor. Haga clic en Cargar. Los parámetros pueden cargar los parámetros en el motor al depurador. Los parámetros verdes del motor son parámetros observados, que son los parámetros recopilados que se pueden observar en tiempo real.
Nota: Por favor, no cambie el límite de par del motor, la temperatura de protección y el tiempo de sobretemperatura a voluntad. Debido a la operación ilegal de este libro, si el producto causa daño al cuerpo humano o daño irreversible a las articulaciones, nuestra empresa no se hará responsable de ninguna consecuencia legal.
Tabla de parámetros
Código de función | Apellido | Tipo de parámetro | Atributos | Valor máximo | Valor mínimo | Valor actual (para referencia) | Observación |
0x0000 | Apellido | Cadena | leer/escribir | ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ | |||
0x0001 | Código de barras | Cadena | leer/escribir | ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ | |||
0x1000 | Versión del código de arranque | Cadena | solo lectura | 0.1.5 | |||
0x1001 | Fecha de creación del arranque | Cadena | solo lectura | 16 de marzo de 2022 | |||
0x1002 | Tiempo de creación del arranque | Cadena | solo lectura | 20:22:09 | |||
0x1003 | Versión del código de la aplicación | Cadena | solo lectura | 0.1.5 | Número de versión del programa de motor | ||
0x1004 | Versión de AppGit | Cadena | solo lectura | 7b844b0fM | |||
0x1005 | Fecha de creación de la aplicación | Cadena | solo lectura | 14 de abril de 2022 | |||
0x1006 | Tiempo de creación de la aplicación | Cadena | solo lectura | 20:30:22 | |||
0x1007 | NombreCódigoAplicación | Cadena | solo lectura | dog_motor | |||
0x2000 | ecoPara1 | uint16 | Configuración | 74 | 5 | 5 | |
0x2001 | ecoPara2 | uint16 | Configuración | 74 | 5 | 5 | |
0x2002 | ecoPara3 | uint16 | Configuración | 74 | 5 | 5 | |
0x2003 | ecoPara4 | uint16 | Configuración | 74 | 5 | 5 | |
0x2004 | ecoFreHz | uint32 | leer/escribir | 10000 | 1 | 500 | |
0x2005 | Desplazamiento mecánico | flotar | configuración | 7 | -7 | 4.619583 | Desviación de ángulo del encoder magnético del motor |
0x2006 | Inicialización de MechPos | flotar | leer/escribir | 50 | -50 | 4.52 | Ángulo de referencia durante el giro múltiple inicial |
0x2007 | limit_torque | flotar | leer/escribir | 12 | 0 | 12 | Límite de par |
0x2008 | Yo_FW_MÁXIMO | flotar | leer/escribir | 33 | 0 | 0 | Valor de corriente de debilitamiento de campo, predeterminado 0 |
0x2009 | motor_index | uint8 | configuración | 20 | 0 | 1 | Índice de motor, marca la posición de la articulación del motor |
0X200a | Identificación de CAN | uint8 | configuración | 127 | 0 | 1 | Este id de nodo |
0x200b | PUEDE_MAESTRO | uint8 | configuración | 127 | 0 | 0 | ¿Puede alojar id? |
0x200c | TIEMPO DE ESPERA CAN | uint32 | leer/escribir | 100000 | 0 | 0 | umbral de tiempo de espera, predeterminado 0 |
0x200d | Sobretemperatura del motor | entero 16 | leer/escribir | 1500 | 0 | 800 | Valor de temperatura de protección del motor, temp (grados) *10 |
0x200e | sobreTempTime | uint32 | leer/escribir | 1000000 | 1000 | 20000 | Tiempo de sobretemperatura |
0x200f | Relación de transmisión | flotar | leer/escribir | 64 | 1 | 7.75 | Relación de transmisión |
0x2010 | Tipo de cali_tq | uint8 | leer/escribir | 1 | 0 | 1 | Configuración del método de calibración de par |
0x2011 | cur_filt_gain | flotar | leer/escribir | 1 | 0 | 0.9 | Parámetros de filtro actuales |
0x2012 | cur_kp | flotar | leer/escribir | 200 | 0 | 0.025 | Kp actual |
0x2013 | cur_ki | flotar | leer/escribir | 200 | 0 | 0.0258 | corriente eléctrica ki |
0x2014 | spd_kp | flotar | leer/escribir | 200 | 0 | 2 | Velocidad kp |
0x2015 | spd_ki | flotar | leer/escribir | 200 | 0 | 0.021 | ki de velocidad |
0x2016 | loc_kp | flotar | leer/escribir | 200 | 0 | 30 | Ubicación kp |
0x2017 | spd_filt_gain | flotar | leer/escribir | 1 | 0 | 0.1 | Parámetros del filtro de velocidad |
0x2018 | limit_spd | flotar | leer/escribir | 200 | 0 | 2 | Límite de velocidad en modo de posición |
0x2019 | limit_cur | flotar | leer/escribir | 23 | 0 | 23 | Límite de corriente del modo de velocidad de posición |
0x3000 | tiempoUso0 | uint16 | solo lectura (informática) | 5 | |||
0x3001 | tiempoUso1 | uint16 | solo lectura (informática) | 0 | |||
0x3002 | tiempoUso2 | uint16 | solo lectura (informática) | 10 | |||
0x3003 | tiempoUso3 | uint16 | solo lectura (informática) | 0 | |||
0x3004 | codificadorRaw | uint16 | solo lectura (informática) | 11396 | Valor de Muestra del Encoder Magnético | ||
0x3005 | Temperatura mcu | entero 16 | solo lectura (informática) | 337 | temperatura interna del mcu *10 | ||
0x3006 | Temperatura del motor | entero 16 | solo lectura (informática) | 333 | temperatura ntc del motor *10 | ||
0x3007 | bus virtual (mv) | uint16 | solo lectura (informática) | 24195 | tensión de barra colectora | ||
0x3008 | Desplazamiento adc1 | int32 | solo lectura (informática) | 2084 | sesgo de corriente cero del canal 1 de muestreo adc | ||
0x3009 | Desplazamiento adc2 | int32 | solo lectura (informática) | 2084 | sesión de muestra del canal 2 del adc sesgo de corriente cero | ||
0x300a | adc1Sin procesar | uint16 | solo lectura (informática) | 1232 | valor de muestreo adc 1 | ||
0x300b | adc2Raw | uint16 | solo lectura (informática) | 1212 | valor de muestreo adc 2 | ||
0x300c | VBUS | flotar | solo lectura (informática) | 24.195 | Tensión de barra colectora V | ||
0x300d | Identificador de cmd | flotar | solo lectura (informática) | 0 | Comando de anillo de identificación, A | ||
0x300e | cmdIq | flotar | solo lectura (informática) | 0 | Comando de anillo iq, A | ||
0x300f | cmdlocref | flotar | solo lectura (informática) | 0 | Comando de bucle de posición, rad | ||
0x3010 | cmdspdref | flotar | solo lectura (informática) | 0 | Comando de bucle de velocidad, rad/s | ||
0x3011 | cmdTorque | flotar | solo lectura (informática) | 0 | Comando de par, nm | ||
0x3012 | cmdPos | flotar | solo lectura (informática) | 0 | con el comando de ángulo de protocolo | ||
0x3013 | cmdVel | flotar | solo lectura (informática) | 0 | indicador de velocidad de protocolo mit virtuoso | ||
0x3014 | rotación | entero 16 | solo lectura (informática) | 1 | Número de vueltas | ||
0x3015 | Posición de modificación | flotar | solo lectura (informática) | 4.363409 | Ángulo mecánico no calculado del motor, rad | ||
0x3016 | Posición mecánica | flotar | solo lectura (informática) | 0.777679 | Ángulo de maquinaria de conteo de bucle del lado de carga, rad | ||
0x3017 | Mecánico Vel | flotar | solo lectura (informática) | 0.036618 | velocidad de dirección del lado de carga, rad/s | ||
0x3018 | Posición eléctrica | flotar | solo lectura (informática) | 4.714761 | Angulo eléctrico | ||
0x3019 | a él | flotar | solo lectura (informática) | 0 | Corriente de línea U, A | ||
0x301a | uno | flotar | solo lectura (informática) | 0 | Corriente de línea V, A | ||
0x301b | ic | flotar | solo lectura (informática) | 0 | Corriente de línea W, A | ||
0x301c | garrapata | uint32 | solo lectura (informática) | 31600 | |||
0x301d | Orden de fase | uint8 | solo lectura (informática) | 0 | Marcadores de dirección de calibración | ||
0x301e | iqf | flotar | solo lectura (informática) | 0 | Valor del filtro iq, A | ||
0x301f | tableroTemp | entero 16 | solo lectura (informática) | 359 | Temperatura a bordo, *10 | ||
0x3020 | coeficiente intelectual | flotar | solo lectura (informática) | 0 | valor original de iq, A | ||
0x3021 | identificación | flotar | solo lectura (informática) | 0 | id Valor original, A | ||
0x3022 | fallaSta | uint32 | solo lectura (informática) | 0 | Valor del estado de falla | ||
0X3023 | advertirSta | uint32 | solo lectura (informática) | 0 | Valor de estado de advertencia | ||
0x3024 | drv_fault | uint16 | solo lectura (informática) | 0 | Valor de fallo del chip del controlador | ||
0x3025 | drv_temp | entero 16 | solo lectura (informática) | 48 | Valor de temperatura del chip del controlador, grado | ||
0x3026 | Uq | flotar | solo lectura (informática) | 0 | q Voltaje del eje | ||
0x3027 | Afuera | flotar | solo lectura (informática) | 0 | Voltaje del eje d | ||
0x3028 | dtc_u | flotar | solo lectura (informática) | 0 | Ciclo de trabajo de salida de fase U | ||
0x3029 | dtc_v | flotar | solo lectura (informática) | 0 | Ciclo de Trabajo de Salida de Fase V | ||
0x302a | dtc_w | flotar | solo lectura (informática) | 0 | Ciclo de Trabajo de Salida de la Fase W | ||
0x302b | v_bus | flotar | solo lectura (informática) | 24.195 | vbus en bucle cerrado | ||
0x302c | v_ref | flotar | solo lectura (informática) | 0 | Tensión de entrada de síntesis vq,vd en bucle cerrado | ||
0x302d | torque_fdb | flotar | solo lectura (informática) | 0 | Valor de retroalimentación de par, nm | ||
0x302e | rated_i | flotar | solo lectura (informática) | 8 | Corriente nominal del motor | ||
0x302f | limit_i | flotar | solo lectura (informática) | 27 | Límite máximo de corriente del motor |
3.3.4 Osciloscopio
Esta interfaz permite ver y observar el gráfico generado por datos en tiempo real. Los datos observables incluyen la corriente Id/Iq del motor, temperatura, velocidad real de salida en tiempo real, posición del rotor (encoder), posición de salida, etc.
Haga clic en el módulo de osciloscopio en el módulo de análisis, seleccione los parámetros apropiados en el canal (para los significados de los parámetros, consulte 3.3.3), configure la frecuencia de salida y haga clic en Iniciar Dibujo para observar el espectro de datos, detenga el dibujo para dejar de observar el espectro.
3.4 Demostración de control
trotar correr:
Establezca la velocidad máxima, haga clic en Ejecutar y luego haga clic en JOG para hacer funcionar el motor en direcciones hacia adelante y hacia atrás.
Cambio de modo de control:
El modo de control del motor se puede convertir a la interfaz del modo de movimiento.
3.4.1 Modo de punto cero
Haga clic en el botón de interruptor a la derecha, y el motor volverá lentamente a la posición cero mecánica.
3.4.2 Modo de control de operación
Haga clic en el botón de interruptor a la derecha, luego establezca los cinco valores de parámetro, haga clic en Iniciar o Envío Continuo, el motor regresará al marco de retroalimentación y funcionará de acuerdo con la instrucción objetivo; haga clic en el botón de interruptor a la derecha nuevamente y el motor se detendrá.
3.4.2 Modo actual
Cambia manualmente el modo actual, haz clic en el botón de cambio a la derecha, y luego establece el valor del comando de corriente Iq, inicia o envía continuamente, el motor seguirá el comando de corriente, haz clic en el botón de cambio a la derecha nuevamente, el motor se detendrá.
Haga clic en el botón de interruptor en el lado derecho del modo de control, ingrese la amplitud y la frecuencia de la prueba automática sinusoidal, y luego haga clic en el botón de interruptor en el lado derecho de la prueba automática de seno, y el iq (A) del motor funcionará de acuerdo con la amplitud y frecuencia establecidas.
3.4.3 Modo de velocidad
Cambia manualmente al modo de velocidad, haz clic en el botón de interruptor a la derecha, y luego establece el valor del comando de velocidad (-30~30rad/s), inicia o envía continuamente, el motor seguirá el comando de velocidad, haz clic en el botón de interruptor a la derecha nuevamente, el motor se detendrá.
3.4.4 Modo de ubicación
Cambia manualmente el modo de posición, haz clic en el botón de cambio a la derecha, luego establece el valor del comando de posición (rad), inicia o envía continuamente, el motor seguirá el comando de posición objetivo, haz clic en el botón de cambio a la derecha nuevamente, el motor se detendrá. Puedes modificar la velocidad máxima de seguimiento de posición configurando la velocidad.
Haga clic en el botón de interruptor en el lado derecho del modo de control, ingrese la amplitud y la frecuencia de la prueba automática basada en seno, y luego haga clic en el botón de interruptor en el lado derecho de la prueba automática basada en seno. La posición del motor (rad) funcionará de acuerdo con la amplitud y frecuencia establecidas.
3.5 Actualización de firmware
El primer paso es hacer clic en la actualización del módulo del dispositivo y seleccionar el archivo bin que se va a grabar; el segundo paso es confirmar la actualización y el motor comenzará a actualizar el firmware. Una vez que se complete el progreso, la actualización del motor se completará y se reiniciará automáticamente.
Protocolo de comunicación del conductor e instrucciones de uso
La comunicación del motor es una interfaz de comunicación CAN 2.0, con una velocidad de baudios de 1 Mbps y un formato de marco extendido, como se muestra.
Campo de datos | Identificación de 29 bits | Área de datos de 8 bytes | ||
Tamaño | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Descripción | Tipo de comunicación | Área de fecha 2 | Dirección de destino | Área de fecha 1 |
Los modos de control soportados por el motor incluyen:
-
Modo de control de operación: se dan 5 parámetros para el control de operación del motor;
-
Modo actual: dado el Iq actual especificado del motor;
-
Modo de velocidad: dado la velocidad de operación especificada del motor;
-
Modo de posición: Dada una posición especificada del motor, el motor se moverá a la posición especificada;
4.1 Descripción del tipo de protocolo de comunicación
4.1.1 Obtener ID del dispositivo (tipo de comunicación 0); Obtener el ID del dispositivo y el identificador único de 64 bits del MCU
Marco de solicitud:
Campo de datos | Identificación de 29 bits | Área de datos de 8 bytes | ||
Posición | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Descripción | 0 | Bit 15 ~ 8: Host CAN_ID | Identificador CAN del motor | 0 |
Marco de respuesta:
Campo de datos | Identificación de 29 bits | Área de datos de 8 bytes | ||
Posición | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Descripción | 0 | Identificador CAN del motor | 0xFE | identificador único de MCU de 64 bits |
4.1.2 Las instrucciones de control del motor (tipo de comunicación 1) en modo de control de operación se utilizan para enviar instrucciones de control al motor.
Marco de solicitud:
Campo de datos | Identificación de 29 bits | Área de datos de 8 bytes | ||
Posición | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Descripción | 1 | Byte 2: Par (0 ~ 65535) correspondiente a (- 12Nm ~ 12Nm) | Identificador CAN del motor | Byte 0 ~ 1: Ángulo objetivo [0 ~ 65535] correspondiente a (-4π ~ 4π) Byte 2 ~ 3: La velocidad angular objetivo [0 ~ 65535] corresponde a (- 30rad/s ~ 30rad/s) Byte 4 ~ 5: Kp [0 ~ 65535] corresponde a (0.0 ~ 500.0) Byte 6 ~ 7: Kd [0 ~ 65535] corresponde a (0.0 ~ 5.0) |
Marco de respuesta: Marco de retroalimentación del motor de respuesta (ver tipo de comunicación 2)
4.1.3 Los datos de retroalimentación del motor (tipo de comunicación 2) se utilizan para retroalimentar el estado de funcionamiento del motor al host.
Campo de datos | Identificación de 29 bits | Área de datos de 8 bytes | ||
Posición | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Descripción | 2 | Bit 8 ~ 15: ID CAN del motor Bit 21 ~ 16: Información de falla (0 - No, 1 - Sí) Bit 21: no calibrado Bit 20: fallo en la codificación HALL Bit 19: Falla en la codificación magnética Bit 18: sobre temperatura Bit 17: sobrecorriente Bit 16: Falla por bajo voltaje Bit 22 ~ 23: estado del modo: 0: Modo de reinicio [reset] 1: modos geniales [Calibration] 2: Modo motor [Run] |
ID de host CAN_ID | Byte 0 ~ 1: El ángulo actual [0 ~ 65535] corresponde a (-4π ~ 4π) Byte 2 ~ 3: La velocidad angular actual [0 ~ 65535] corresponde a (-30rad/s ~ 30rad/s) Byte 4 ~ 5: El par actual [0 ~ 65535] corresponde a (-12Nm ~ 12Nm) Byte 6 ~ 7: Temperatura actual: Temp (grados Celsius) )*10 |
4.1.4 Operación de habilitación del motor (tipo de comunicación 3)
Campo de datos | Identificación de 29 bits | Área de datos de 8 bytes | ||
Posición | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Descripción | 3 | Bit 15 ~ 8: Host CAN_ID | Identificador CAN del motor |
Marco de respuesta: Marco de retroalimentación del motor de respuesta (ver tipo de comunicación 2)
4.1.5 Motor detenido (tipo de comunicación 4)
Campo de datos | Identificación de 29 bits | Área de datos de 8 bytes | ||
Posición | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Descripción | 4 | Bit 15 ~ 8: Host CAN_ID | Identificador CAN del motor | Durante el funcionamiento normal, el área de datos debe ser borrada a 0; Cuando Byte[0]=1: Borrar fallo; |
Marco de respuesta: Marco de retroalimentación del motor de respuesta (ver tipo de comunicación 2)
4.1.6 Establecer la posición de cero mecánico del motor (tipo de comunicación 6) establecerá la posición actual del motor en la posición de cero mecánico (perdida después de un fallo de energía)
Campo de datos | Identificación de 29 bits | Área de datos de 8 bytes | ||
Posición | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Descripción | 6 | Bit 15 ~ 8: Host CAN_ID | Identificador CAN del motor | Byte[0]=1 |
Marco de respuesta: Marco de retroalimentación del motor de respuesta (ver tipo de comunicación 2)
4.1.7 Establecer el CAN_ID del motor (tipo de comunicación 7) para cambiar el CAN_ID actual del motor, lo que tendrá efecto inmediato.
Campo de datos | Identificación de 29 bits | Área de datos de 8 bytes | ||
Posición | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Descripción | 7 | Bit 15 ~ 8: Host CAN_ID Bit 16 ~ 23: Nuevo motor CAN_ID |
Identificador CAN del motor | Byte[0]=1 |
Marco de respuesta: Marco de difusión de motor de respuesta (ver tipo de comunicación 0)
4.1.8 Lectura de un solo parámetro (tipo de comunicación 17)
Campo de datos | Identificación de 29 bits | Área de datos de 8 bytes | ||
Posición | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Descripción | 17 | Bit 15 ~ 8: Host CAN_ID | Identificador CAN del motor | Byte 0 ~ 1: índice, ver 4.1.11 para la lista de parámetros Byte 2 ~ 3: 00 Byte 4 ~ 7: 00 |
Marco de respuesta:
Campo de datos | Identificación de 29 bits | Área de datos de 8 bytes | ||
Posición | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Descripción | 17 | Bit 15 ~ 8: Motor CAN_ID | ID de host CAN_ID | Byte 0 ~ 1: índice, para la lista de parámetros, ver 4.1.11 Byte 2 ~ 3: 00 Byte 4 ~ 7: datos del parámetro, 1 byte de datos está en el Byte 4 |
4.1.9 Escritura de un solo parámetro (tipo de comunicación 18) (perdido después de un fallo de energía)
Campo de datos | Identificación de 29 bits | Área de datos de 8 bytes | ||
Posición | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Descripción | 18 | Bit 15 ~ 8: Host CAN_ID | Identificador CAN del motor | Byte 0 ~ 1: índice, ver 4.1.11 para detalles de la lista de parámetros Byte 2 ~ 3: 00 Byte 4 ~ 7: datos del parámetro |
Marco de respuesta: Marco de retroalimentación del motor de respuesta (ver tipo de comunicación 2)
4.1.10 Marco de retroalimentación de fallos (tipo de comunicación 21)
Campo de datos | Identificación de 29 bits | Área de datos de 8 bytes | ||
Posición | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Descripción | 21 | Bit 15 ~ 8: Host CAN_ID | Identificador CAN del motor | Byte 0 ~ 3: valor de fallo (no 0: fallo, 0: normal) Bit 16: Una sobrecorriente de muestreo de corriente de fase Bit 15 ~ 8: falla de sobrecarga Bit 7: codificador no calibrado Bit 5: muestreo de corriente de fase C sobrecorriente Bit 4: muestreo de corriente de fase B bit3: falla por sobrevoltaje Bit 2: fallo por bajo voltaje bit1: fallo del chip del controlador bit0: fallo por sobrecalentamiento del motor, por defecto 80 grados Byte 4 ~ 7: valor de advertencia Bit 0: advertencia de sobrecalentamiento del motor, por defecto 75 grados |
4.1.11 Modificación de la tasa de baudios (tipo de comunicación 22) (la versión 1.2.1.5 se puede modificar, por favor consulte el proceso del documento para modificarlo con cuidado. Errores de operación pueden causar problemas como no poder conectarse al motor y no poder actualizar)
Campo de datos | Identificación de 29 bits | Área de datos de 8 bytes | ||
Posición | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Descripción | 22 | Bit 15 ~ 8: Host CAN_ID | Identificador CAN del motor | Byte0: Tasa de baudios del motor 1: 1 Mbps 2: 500 kbps 3: 250 kbps 4: 125 kbps |
Marco de respuesta: Marco de difusión de motor de respuesta (ver tipo de comunicación 0)
4.1.12 Lista de parámetros de un solo elemento legible y escribible (7019-7020 es legible por la versión de firmware 1.2.1.5)
Índice de parámetros | nombre del parámetro | describir | tipo | Número de bytes | Valores posibles | Permiso |
0x7005 | run_mode | 0: Modo de control de operación 1: Modo de posición 2: Modo de velocidad 3: Modo actual |
uint8 | 1 | G/R | |
0x7006 | iq_ref | Comando de Iq en Modo Actual | flotar | 4 | -23 ~ 23 A | G/R |
0x700A | spd_ref | Comando de velocidad en modo rápido | flotar | 4 | -30 ~ 30 rad/s | G/R |
0x700B | limit_torque | Límite de par | flotar | 4 | 0 ~ 12 Nm | G/R |
0x7010 | cur_kp | Kp de corriente | flotar | 4 | Valor predeterminado 0,125 | G/R |
0x7011 | cur_ki | Clave actual | flotar | 4 | Valor predeterminado 0.0158 | G/R |
0x7014 | cur_filt_gain | Coeficiente de filtro actual filt_gain | flotar | 4 | 0~1.0, valor por defecto W/R 0.1 | G/R |
0x7016 | loc_ref | Comando de ángulo en modo de posición | flotar | 4 | Radial | G/R |
0x7017 | limit_spd | Límite de velocidad en modo de posición | flotar | 4 | 0 ~ 30 rad/s | G/R |
0x7018 | limit_cur | Límite de Corriente del Modo de Posición de Velocidad | flotar | 4 | 0 ~ 23 A | G/R |
0x7019 | Posición mecánica | Contar el ángulo mecánico de superposición de carga | flotar | 4 | Radial | R |
0x701A | iqf | Valor del filtro de CI | flotar | 4 | -23 ~ 23 A | R |
0x701B | Mecánico Vel | Velocidad final de carga | flotar | 4 | -30 ~ 30 rad/s | R |
0x701C | VBUS | voltaje del bus | flotar | 4 | V | R |
0x701D | rotación | Número de vueltas | entero 16 | 2 | Número de vueltas | G/R |
0x701E | loc_kp | kp de posición | flotar | 4 | Valor predeterminado 30 | G/R |
0x701F | spd_kp | Velocidad en kp | flotar | 4 | Valor predeterminado 1 | G/R |
0x7020 | spd_ki | Velocidad del ki | flotar | 4 | Valor predeterminado 0,002 | G/R |
4.2 Instrucciones para el uso del modo de control
4.2.1 Muestra del programa
A continuación se presentan ejemplos de control de motores en varios modos (tomando como ejemplo el gd32f303). Lo siguiente se denomina bibliotecas, funciones y definiciones de macros para varios ejemplos.
#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 estructura exCanIdInfo{ uint32_t id:8; uint32_t data:16; uint32_t modo: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_EXTENDIDO, .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_a_uint(float x, float x_min, float x_max, int bits) { float span = x_max - x_min; float offset = x_min; if(x > x_max) x=x_max; else if(x < x_min) x= x_min; return (int) ((x-offset)*((float)((1<
✔ ¡Copiado!
Instrucciones de control del motor en modo de control de operación (tipo de comunicación 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_a_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(velocidad,V_MIN,V_MAX,16)>>8; txMsg.tx_data[3]=float_to_uint(velocidad,V_MIN,V_MAX,16); txMsg.tx_data[4]=float_to_uint(kp,KP_MIN,KP_MAX,16)>>8; txMsg.tx_data[5]=float_a_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_a_uint(kd,KD_MIN,KD_MAX,16); puede_txd(); }
✔ ¡Copiado!
Marco de parada del motor (tipo de comunicación 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; } puede_txd(); }
✔ ¡Copiado!
Comando de escritura de parámetro de modo de motor (tipo de comunicación 18, cambio de modo de operación)
uint8_t modo de ejecución; uint16_t índice; 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); puede_txd(); }
✔ ¡Copiado!
Comando de escritura de parámetro de modo de motor (tipo de comunicación 18, escritura de parámetro de control)
uint16_t índice; referencia flotante; 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); puede_txd(); }
✔ ¡Copiado!
4.2.2 Modo de control de operación
Después de que el motor esté encendido, está en el modo de control de operación por defecto;
Enviar marco de ejecución de habilitación del motor (tipo de comunicación 3) -->
Enviar comando de control de motor en modo de control de operación (tipo de comunicación 1) -->
Recibir marco de retroalimentación del motor (tipo de comunicación 2)
4.2.3 Modo actual
Envía el comando de escritura del parámetro del modo de motor (tipo de comunicación 18) y establece el parámetro de modo de ejecución en 3 --->
Envía el marco de habilitación del motor (tipo de comunicación 3) -->
Envía el comando de escritura del parámetro del modo de motor (tipo de comunicación 18) y establece el parámetro iq_ref como el comando de corriente preestablecido.
4.2.4 Modo de velocidad
Envía el comando de escritura del parámetro del modo de motor (tipo de comunicación 18) y establece el parámetro del modo de funcionamiento en 2 --->
Envía el marco de habilitación del motor (tipo de comunicación 3) -->
Envía el comando de escritura del parámetro de modo de motor (tipo de comunicación 18) y establece el parámetro limit_cur para el comando de corriente máxima preestablecida -->
Enviar comando de escritura de parámetro de modo de motor (tipo de comunicación 18) para establecer el parámetro spd_ref al comando de velocidad preestablecido.
4.2.5 Modo de ubicación
Envía el comando de escritura del parámetro del modo de motor (tipo de comunicación 18) y establece el parámetro del modo de funcionamiento en 1 -->
Envía el marco de habilitación del motor (tipo de comunicación 3) -->
Envía el comando de escritura del parámetro del modo de motor (tipo de comunicación 18) y establece el parámetro limit_spd en el comando de velocidad máxima preestablecida -->
Enviar comando de escritura de parámetro de modo de motor (tipo de comunicación 18) para establecer el parámetro loc_ref en el comando de posición preestablecida.
4.2.6 Detener operación
Enviar marco de parada del motor (tipo de comunicación 4)
Biblioteca CyberGear para M5 stack
https://github.com/project-sternbergia/cybergear_m5/tree/main
cybergear_m5
Biblioteca M5 stack para cybergear
"Recuerda, con gran esfuerzo de torsión viene una gran responsabilidad."
Marco compatible
-
Arduino para ESP32
Dispositivo soportado (ESP32)
-
M5Stack básico v2.7
Componentes H/W (MCP2515)
Componentes H/W (ESP32 + PWRCAN)
Componentes H/W (ESP32 + Unidad transceptora CAN)
Cómo utilizar Oficial Interfaz gráfica de usuario herramienta
Este software requiere un módulo específico de CAN a USB. La documentación oficial recomienda el módulo USB a CAN de YourCee, que soporta el protocolo serial con un encabezado de trama de 41 54 y un final de trama de 0D 0A, pero este no está fácilmente disponible, así que buscamos en Aliexpress una alternativa. ※ Tenga en cuenta que esto no funcionará para módulos generales.
Probado (para referencia):
Cables pre-crimpados recomendados
-
Cable XT30(2+2)
Cómo correr muestra
Arduino VA
-
cd ~/Arduino/libraries
-
clon de git https://github.com/coryjfowler/MCP_CAN_lib.git
-
clon de git https://github.com/Locoduino/RingBuffer.git
-
clon de git git@github.com:project-sternbergia/arduino-CAN.git
-
clon de git https://github.com/project-sternbergia/cybergear_m5.git
-
Abre cybergear_m5/examples/control_mode_example.ino con Arduino IDE
-
Coloca este archivo en la misma carpeta que control_mode_example.ino (para Arduino IDE). Si deseas usar la biblioteca ESP32_CAN, por favor comenta estas líneas.
-
Construir y escribir firmware para M5Stack
Código de muestra
control_mode_example.ino
Verifique el comportamiento del cybergear usando la pila M5.
-
Botón central: cambiar el modo de control (modo de posición -> modo de velocidad -> modo actual)
-
Botón derecho - Aumentar valor de control
-
Botón Izquierdo - Disminuir valor de control
cybergear_bilateral.ino
Este ejemplo utiliza dos ciberengranajes para líder y seguidor. Antes de probar este ejemplo, por favor cambia el ID del ciberengranaje de la siguiente manera. Después de eso, escribe cybergear_m5/ejemplos/cybergear_bilateral.ino a m5 stack a través del IDE de Arduino.
-
líder ciber equipo : 0x7F
-
seguidor cibergear : 0x7E
Artículos recomendados
Deja un comentario
Todos los comentarios del blog se revisan antes de publicarlos.