Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Guía de conexión de Pi Servo Hat

Introducción

El SparkFun Pi Servo Hat permite que su Raspberry Pi controle hasta 16 servomotores a través de la conexión I2C. Esto guarda GPIO y le permite usar el GPIO integrado para otros propósitos. Además, el Pi Servo Shield agrega una conexión de terminal en serie que le permitirá abrir una Raspberry Pi sin tener que conectarla a un monitor y teclado.

Materiales necesarios

Esto es lo que debe seguir junto con este tutorial. Sugerimos comprar una tarjeta microSD en blanco en lugar de una tarjeta preparada para NOOBS, ya que es posible que las tarjetas preparadas para NOOBS no tengan un sistema operativo lo suficientemente nuevo para admitir Pi Zero W.



Además, querrá algún tipo de servomotor para probar la configuración. Intente probar los ejemplos proporcionados más adelante en el tutorial con el servo submicro genérico primero.


Herramientas necesarias

No se requieren herramientas especiales para seguir el montaje de este producto. Necesitará un soldador, soldador y accesorios de soldadura en general.


Descripción general del hardware

Hay solo unos pocos elementos de interés en el tablero, ya que es un sombrero diseñado para ser mínimamente difícil de usar.

Conector USB Micro B - Este conector se puede utilizar para alimentar solo los servomotores, o para alimentar los servomotores, así como el Pi que está conectado al sombrero. También se puede usar para conectarse al Pi a través de una conexión de puerto serie para evitar tener que usar un monitor y un teclado para configurar el Pi.

Puente de aislamiento de la fuente de alimentación - Este puente se puede borrar (está cerrado de forma predeterminada) para aislar el riel de alimentación del servo del riel de alimentación Pi 5V. ¿Por qué querrías hacer eso? Si hay varios servos, o servos grandes con una carga pesada sobre ellos, el ruido creado en el riel de la fuente de alimentación por los servomotores puede causar un funcionamiento no deseado en el Pi, hasta un reinicio o apagado completo. Tenga en cuenta que, siempre que el Pi esté encendido, la interfaz en serie seguirá funcionando independientemente del estado de este puente.

Cabezales de clavija del servomotor - Estos encabezados están espaciados para facilitar la conexión de servomotores. Están fijados en el orden correcto para la mayoría de los conectores de servomotor tipo hobby.

Ensamblaje de hardware

Sugerimos soldar los conectores macho al Pi Zero W.

Mi truco favorito para este tipo de situación es soldar un pin, luego derretir la soldadura en ese pin con el hierro en mi mano derecha y usar mi mano izquierda para ajustar el cabezal hasta que quede plano como se muestra a continuación. Asegúrese de soldar con el lado más corto del cabezal y que los pines más largos estén en el lado del componente. Después de clavar un pin, termine de soldar todos los pines al Pi Zero W.

Repite los pasos con el cabezal hembra y el Pi Servo Hat.

Asegúrese de insertar los pines cortos desde la parte inferior de la placa y agregue soldadura al lado del componente para que el Pi Servo Hat se apile encima de los pines del cabezal macho del Pi Zero W. También deberá asegurarse de que el encabezado esté nivelado antes de soldar todos los pines.

Una vez que se han soldado los encabezados, apile el Pi Servo Hat en el Pi Zero W. Luego, conecte un servo de pasatiempo a un canal "0" según el servo que esté utilizando. Intente mirar la hoja de datos del servo hobby o consultar algunos de los pines del conector del servo estándar que se enumeran en este tutorial. Con un adaptador de pared de 5 V suficiente, podemos alimentar el Pi Zero W. Enchufe el adaptador de pared a una toma de corriente y conecte el conector micro-B etiquetado como el puerto "PWR IN" en el Pi Zero W.

Software:Python

Repasaremos en detalle aquí cómo acceder y usar el sombrero pi servo en Python.

El código de ejemplo completo está disponible en el repositorio de GitHub del producto.

Configurar el acceso a los recursos de SMBus

Primer punto:en la mayoría de las interacciones a nivel de SO, el I 2 El bus C se conoce como SMBus. Así obtenemos nuestras primeras líneas de código. Esto importa el módulo smbus, crea un objeto de tipo SMBus y lo adjunta al bus "1" de los distintos SMBuses de Pi.
import smbus
bus =smbus.SMBus (1)

Tenemos que decirle al programa la dirección de la pieza. De forma predeterminada, es 0x40, así que establezca una variable para su uso posterior.

 addr =0x40 

A continuación, queremos habilitar el chip PWM y decirle que incremente automáticamente las direcciones después de una escritura (que nos permite realizar escrituras multibyte de una sola operación).

 bus.write_byte_data (addr, 0, 0x20) bus.write_byte_data (addr, 0xfe, 0x1e) 

Escribir valores en los registros PWM

Esa es toda la configuración que debe hacerse. De aquí en adelante, podemos escribir datos en el chip PWM y esperar que responda. Aquí tienes un ejemplo.

 bus.write_word_data (addr, 0x06, 0) bus.write_word_data (addr, 0x08, 1250) 

La primera escritura es en el registro de "hora de inicio" para el canal 0. Por defecto, la frecuencia PWM del chip es 200Hz, o un pulso cada 5ms. El registro de tiempo de inicio determina cuándo aumenta el pulso en el ciclo de 5 ms. Todos los canales están sincronizados con ese ciclo. Generalmente, esto debe escribirse en 0. La segunda escritura es en el registro de “tiempo de parada” y controla cuándo el pulso debe bajar. El rango para este valor es de 0 a 4095, y cada recuento representa una porción de ese período de 5 ms (5 ms / 4095), o aproximadamente 1,2 us. Por lo tanto, el valor de 1250 escrito anteriormente representa aproximadamente 1,5 ms de tiempo alto por período de 5 ms.

Los servomotores obtienen su señal de control de ese ancho de pulso. En términos generales, un ancho de pulso de 1,5 ms produce una posición "neutral", a medio camino entre los extremos del rango del motor. 1,0 ms produce aproximadamente 90 grados fuera del centro y 2,0 ms produce -90 grados fuera del centro. En la práctica, esos valores pueden ser un poco más o menos de 90 grados, y el motor puede ser capaz de un poco más o menos de 90 grados de movimiento en cualquier dirección.

Para direccionar otros canales, simplemente aumente la dirección de los dos registros anteriores en 4. Por lo tanto, el tiempo de inicio para el canal 1 es 0x0A, para el canal 2 es 0x0E, el canal 3 es 0x12, etc. y la dirección de tiempo de parada para el canal 1 es 0x0C, para el canal 2 es 0x10, el canal 3 es 0x14, etc. Consulte la tabla a continuación.

Channel # Dirección de inicio Dirección de parada
Ch 0 0x06 0x08
Ch 1 0x0A 0x0C
Ch 2 0x0E 0x10
Capítulo 3 0x12 0x14
Capítulo 4 0x16 0x18
Capítulo 5 0x1A 0x1C
Capítulo 6 0x1E 0x20
Capítulo 7 0x22 0x24
Capítulo 8 0x26 0x28
Capítulo 9 0x2A 0x2C
Capítulo 10 0x2E 0x30
Capítulo 11 0x32 0x34
Capítulo 12 0x36 0x38
Capítulo 13 0x3A 0x3C
Capítulo 14 0x3E 0x40
Capítulo 15 0x42 0x44

Si escribe un 0 en la dirección de inicio, cada grado de desviación de 90 grados requiere 4.6 cuentas escritas en la dirección de finalización. En otras palabras, multiplique el número de grados de compensación del neutral que desea lograr por 4.6, luego sume o reste el resultado de 1250, dependiendo de la dirección de movimiento que desee. Por ejemplo, un desplazamiento de 45 grados desde el centro sería 207 (45 × 4,6) recuentos, ya sea más o menos que 1250, dependiendo de la dirección en la que desee que esté el movimiento.

Leer más información…

Guía de conexión de Pi Servo Hat


Proceso de manufactura

  1. Guía para la creación de prototipos CNC
  2. Guía de conexión de FLIR Lepton
  3. Guía de conexión del kit de inicio de Raspberry Pi 3
  4. Guía de conexión de Qwiic HAT para Raspberry Pi
  5. Guía de conexión de cuña Pi de 40 pines preensamblada
  6. Robot Pi simple
  7. Guía de martillos de potencia
  8. Guía de fraguas de herrería
  9. Guía de fundición de precisión
  10. Guía rápida de paralelismo GD&T
  11. Una introducción a la servoprensa