Tabla de contenido:
2025 Autor: John Day | [email protected]. Última modificación: 2025-01-23 14:39
La semana pasada, estaba pidiendo crear un sistema para pilotar fuegos artificiales con un arduino. Necesitaba alrededor de 64 salidas para controlar los incendios. Una forma de hacerlo es utilizar expansores IC. Entonces hay 2 soluciones disponibles:
- un expansor I2C pero necesita un inversor cuando enciende el IC (vea mi instructable anterior sobre la máquina de estado finito) porque todas las salidas se encienden y apagan rápidamente: un problema con los fuegos artificiales.
-un SPI también fácil de ejecutar y sin problemas de encendido.
Entonces decidí estudiar este tipo de expansores. También utilizo una máquina de estado con multitarea para controlar 16 E / S digitales y 2 salidas analógicas. Esta tarjeta está diseñada para controlar sistemas de automatización como un PLC.
También estudié las diferencias y la traducción entre los dibujos del diagrama de estado y otro gráfico muy utilizado en la automatización: el SFC (Sequential Function Chart) basado en las antiguas redes de Petri.
en.wikipedia.org/wiki/Sequential_function_…
fr.wikipedia.org/wiki/Grafcet
Paso 1: las cartas y los circuitos
Yo uso un arduino uno y 2 tipos de chips DIL:
- el MCP23S17, 2 expansores de 16 E / S controlados con SPI
-el MCP4921, DAC 12 bits, 0 / 5V
Estos IC son muy baratos y fiables y también muy fáciles de vincular y programar. En los esquemas utilicé algunos componentes adicionales como condensadores de desacoplamiento, resistencias desplegables para las entradas.
Paso 2: el programa para ejecutar una máquina de estado multitarea
La idea global es controlar las E / S digitales y, mientras tanto, lanzar un efecto de atenuación ON / OFF en los LED conectados a ambas salidas analógicas.
Otra cosa, hago a propósito la conexión separada de los pines CS (selección de chip) para tener más posibilidades de más IC en el bus SPI. Entonces usé:
- una biblioteca especial para la máquina de estado
-una biblioteca especial para el MCP23S17
-Ninguna biblioteca especial para el MCP4921, el CS y el software de conexión SPI es "práctico" hecho.
Puede ver en las fotos la traducción entre la máquina de estado esperada y SFC (también llamado GRAFCET o gr7 en francés). Algunos términos comunes: estados concurrentes, multitarea y encapsulación.
Proporciono las bibliotecas y el código fuente con muchos comentarios. Para leerlo y comprenderlo, también debe leer al mismo tiempo el diagrama de estados o el SFC.
Paso 3: para concluir
¡¡Funciona!!
Cuando enciende el sistema, DEBE esperar unos segundos y luego usar el expansor (tiempo para iniciar el bus SPI).
El sistema tiene reacciones muy rápidas y necesita crear una tarjeta de interfaz de energía si desea controlar cualquier máquina. Vea mis instructivos anteriores, ¡es muy fácil!
Gracias a tutoriales muy interesantes y funcionales en todo el mundo.
Manu4371.
Recomendado:
Animación de mapa de bits en la pantalla OLED SSD1331 (SPI) con Visuino: 8 pasos
Animación de mapa de bits en la pantalla OLED SSD1331 (SPI) con Visuino: En este tutorial mostraremos y moveremos una imagen de mapa de bits en una forma simple de animación en la pantalla OLED SSD1331 (SPI) con Visuino
State Machine en Arduino: un semáforo para peatones: 6 pasos (con imágenes)
Máquina de estado en Arduino: un semáforo para peatones: ¡Hola! Voy a mostrarle cómo programar un semáforo para peatones para Arduino en C ++ con una máquina de estado finito usando YAKINDU Statechart Tools. Esto demostrará el poder de las máquinas de estado y se puede utilizar como modelo para más
Pantalla LCD I2C / IIC - Use una pantalla LCD SPI para la pantalla LCD I2C usando el módulo SPI a IIC con Arduino: 5 pasos
Pantalla LCD I2C / IIC | Use una pantalla LCD SPI para la pantalla LCD I2C usando el módulo SPI a IIC con Arduino: Hola a todos, ya que una pantalla LCD SPI 1602 normal tiene demasiados cables para conectar, por lo que es muy difícil conectarlo con arduino, pero hay un módulo disponible en el mercado que puede Convierta la pantalla SPI en la pantalla IIC, por lo que solo necesita conectar 4 cables
Arduino PLC 32 I / O + State Machine + SCADA o HMI: 8 pasos
Arduino PLC 32 I / O + State Machine + SCADA o HMI: muchas formas de programar, controlar y supervisar un sistema industrial con arduino
Preliminar * SPI en la Pi: comunicación con un acelerómetro SPI de 3 ejes usando una Raspberry Pi: 10 pasos
Preliminar * SPI en Pi: comunicación con un acelerómetro SPI de 3 ejes usando una Raspberry Pi: guía paso a paso sobre cómo configurar Raspbian y comunicarse con un dispositivo SPI usando la biblioteca SPI bcm2835 (¡NO un poco golpeado!) muy preliminar … Necesito agregar mejores imágenes de la conexión física y trabajar en algunos de los códigos incómodos