Probador de servo multicanal de bricolaje

Hola

Como se anunció en el artículo anterior sobre la línea , completé el trabajo en el proyecto de un servo tester multicanal y estoy listo para compartir todos los materiales con la comunidad. Se puede hacer en casa, pero pedí un lote de tablas y ahora mi probador se ve así:


Para que sirve


En electrónica de hobby, los sistemas con control de señal PWM son ampliamente utilizados. Este es un tren de pulsos con una frecuencia de 50 Hz. La información que contienen está codificada en forma de duraciones de pulso, que pueden variar de 0,8 a 2,3 ms. Los valores extremos de este rango pueden variar ligeramente de un fabricante a otro.



Los servoaccionamientos para la construcción de modelos de aeronaves, hexapodos, manipuladores, etc., utilizan tal señal. Como regla, tienen tres cables: alimentación, común y señal. Además, en el modelado de aeronaves, el modelado de automóviles y la construcción de aeronaves, los reguladores de la carrera del colector y los motores sin escobillas utilizan la misma señal de control que determina la velocidad y la dirección de rotación de los motores.

La fuente de tal señal puede ser un panel de control, un controlador programado o algo así. Pero muy a menudo en la etapa de construcción es conveniente usar un servo tester, que genera la misma señal en modo manual. Esto le permite comprobar previamente el rendimiento de la mecánica, medir posiciones extremas, etc.

Características y características de nuestro dispositivo.


La mayoría de los probadores que puedes comprar ahora son muy simples o caros. Quería hacerlo lo más barato posible, pero al mismo tiempo darle la funcionalidad más amplia posible. Esto es lo que obtuve:
  1. Seis canales de control independientes. Es independiente! Por lo general, en la lista, puede conectar varios motores al mismo tiempo, pero la señal para ellos es la misma. En mi dispositivo, incluso puede ejecutar uno en modo automático y administrar el resto a su vez manualmente, etc.
  2. Acondicionamiento de señal e indicación en microsegundos. En la mayoría de los evaluadores, la indicación que se muestra no es clara o está completamente ausente
  3. El paso mínimo para cambiar la duración es de 1 μs. Es decir, el rango de 0.8-2.3ms se divide en 1500 pasos
  4. Posibilidad de conectarse a una PC. Puede usarlo, por ejemplo, emparejado con una Raspberry Pi. La señal en sí se formará en este caso con mucha más precisión que por medio de la computadora de una sola placa.
  5. Apertura Al final del artículo puede encontrar todos los archivos necesarios para la fabricación independiente del probador

Y aquí están sus características:
  1. Tensión de alimentación - 5V
  2. ( ), — 100
  3. — 0,8-2,3
  4. — 1
  5. — 50
  6. — 9600, 8 bits, 1 stop bit


Mientras trabajaba en el esquema, traté de hacerlo lo más barato posible y hacerlo fácil de repetir. El controlador popular Atmega8A-AU se utilizó como controlador de control.

Una pantalla de tres dígitos y siete segmentos está conectada a través de un registro de desplazamiento y transistores lógicos. Se utilizan seis LED para mostrar el modo actual y se conectan mediante el método de charleplexing para guardar conclusiones MK.
Para el control, se utilizan un codificador incremental convencional y dos botones. El codificador controla el ángulo establecido y los botones cambian el modo de control y el canal actual. En todas partes hay condensadores de rebote de contacto, por lo que todo esto funciona con mucha claridad.

Los enchufes del probador están diseñados para conectar los servos, programar, conectar a una PC y alimentar. Decidí no instalar un regulador de potencia en el tablero. Es decir, para su uso no funcionará usar el voltaje de la batería directamente. Es necesario encontrar una fuente o estabilizador de 5V con una corriente correspondiente a la corriente consumida por los motores conectados.
Al verificar la conexión de un motor sin escobillas con un controlador de velocidad (ESC), el motor mismo funciona con una batería. Si el ESC tiene un controlador de velocidad incorporado, puede alimentar el probador directamente desde él.



La placa de circuito está preparada en el formato de Sprint Layout. Este es un tablero de doble cara, pero lo dibujé para poder hacerlo en casa con LUT o una fotoprotección, y los puentes de un lado del tablero al otro se pueden soldar fácilmente en vías.

La parte frontal del tablero:



... y el reverso:



hice este tablero manualmente y todo me funcionó :



también realicé una pequeña campaña entre los suscriptores de Commodities de China para el fanático de la radio y nuestro hackspace local MakeItLab y encontré personas que apoyaron el lanzamiento de un pequeño lote de dispositivos. Aprovecho esta oportunidad para expresarles mi gratitud. Aquí está el dispositivo hecho en fábrica:




Lista de componentes


Aquí está la lista completa con enlaces:
  1. Atmega8A-AU TQFP44
  2. BC56-12GWA. , , aliexpress
  3. SN74HC595DR SOIC16
  4. BCR108E6327 SOT23 — 3
  5. KP-2012SGC, 0805 — 6
  6. EC12E24204A9
  7. T491C226K016AT (22-16, C)
  8. 0,1 0805 — 7
  9. 1 0805
  10. 1 0603×4
  11. 300 0603×4 — 3
  12. DTSM20-4.3N — 2
  13. 5,08
  14. Peine de contacto PLS-40 (se requieren 26 pines)
  15. Saltador

Vivienda


También dibujé e imprimí en una impresora 3D un mandril pequeño y un mango codificador. Archivos para descargar un poco más tarde.




Firmware


Los archivos de firmware estarán al final del artículo. Puede flashear el controlador utilizando cualquier programador ISP a través de un conector estándar de 6 pines. En la placa, seis de los ocho pines a la izquierda del codificador están diseñados principalmente para esto.
Los bits del fusible deben establecerse como se muestra en la figura:



Trabajo probador


Es más fácil, por supuesto, ver una vez:



Para iniciar el probador en modo de control manual, es necesario que el puente "PC / Manual" esté instalado cuando se enciende la alimentación.

Cuando se inicia en modo manual, el mensaje "HI" se mostrará en la pantalla y el probador entrará en modo de espera cuando el usuario seleccione la duración de la señal inicial. En términos generales, desde el borde o desde el medio del rango. Cuando presiona el botón izquierdo, el control ocurrirá desde cero, cuando presiona el botón derecho, desde el centro. Después de hacer clic en uno de los botones, se iniciará la generación de señal, el primer canal se activará y cambiará al modo "1".

En modo de operación, el botón MODE cambia los modos de control, cambiando el incremento. El modo actual se muestra con seis LED. Hay cuatro modos manuales (paso 0.1; 1; 10 y de 0 a 150, es decir, entre los bordes de los rangos) y dos automáticos (inicio / parada). Una pulsación larga en el botón MODE pone el canal en modo de control automático y el motor comienza a girar suavemente de lado a lado. Una pulsación breve del botón MODE detiene o reanuda automáticamente el movimiento. Una pulsación larga en el botón MODE devuelve el canal al modo de control del codificador.

El botón CHANNEL cambia entre canales activos. El canal activo actual se muestra en la pantalla en código binario utilizando puntos de bit. Una pulsación larga en este botón pone al probador en el modo de generar los mismos pulsos en todos los canales.

Tenga en cuenta que en el indicador se muestran los números del 0 al 150. Esto corresponde aproximadamente al ángulo del servoaccionamiento y se puede convertir a la duración del pulso. Para volver a calcular, es suficiente multiplicar las lecturas por diez y agregar 800. Por ejemplo, si hay diez en el indicador, la duración del pulso es de 900 μs.

Conexión de computadora


Si está utilizando una Raspberry Pi, simplemente puede conectar Rx, Tx y GND en la parte inferior izquierda de la placa. Si no tiene un puerto COM compatible con TTL en su computadora, puede usar un adaptador USB-COM, que es muy barato. También puede tomar el voltaje del puerto USB de 5 V, pero recuerde que su corriente máxima es de 500 mA. La velocidad de conexión es 9600.
Para que el probador arranque en modo de control desde una PC, es necesario encenderlo sin un puente. En este caso, las letras "PC" se mostrarán en el indicador y el probador entrará en modo de espera para recibir comandos de la PC. Hasta que llegue el primer paquete completo, no habrá señal en todos los canales.

Las duraciones de pulso deben enviarse en microsegundos de 0 a 1500. Es decir, se consumen dos bytes por canal.

El paquete de datos debe constar de 16 bytes: primero dos bytes 0xFF para indicar el comienzo del paquete, luego 12 bytes de duración de pulso para cada canal y al final dos bytes de la suma de verificación. La suma de verificación es necesaria para verificar la exactitud del paquete y debe ser igual a la suma de todas las duraciones.

1er byte - 255 (0xFF)
2do byte - 255 (0xFF)
3er byte - byte alto del primer canal
4to byte - byte bajo del primer canal
5to byte - byte alto del segundo canal
6 byte - byte bajo del segundo canal
7to byte - byte alto del tercer canal
8vo byte - byte bajo del tercer canal
9º byte - byte alto del cuarto canal
10º byte - byte bajo del cuarto canal
11º byte - byte alto del quinto canal
12º byte - byte bajo del quinto canal
13º byte - byte alto del sexto canal
14º byte - byte bajo del sexto canal
15º byte - byte alto de la suma de verificación
16º byte - byte bajo de la suma de verificación

Ejemplos de paquetes válidos (en decimal):
255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (todos los motores a la posición inicial)
255 255 2 238 0 0 0 0 0 0 0 0 0 0 0 240 (primer motor a la posición intermedia)
255 255 2 238 2 238 2 238 2 238 2 238 2 238 17 148 (todos los motores en la posición media)

Archivos para descargar


Placa de circuito impreso Modelo de
firmware
para imprimir la carcasa
Y, disculpe, un enlace al artículo principal de mi sitio .

Source: https://habr.com/ru/post/es395963/


All Articles