Taula de continguts:

State Machine i multitarea a Arduino amb expansors SPI: 3 passos
State Machine i multitarea a Arduino amb expansors SPI: 3 passos

Vídeo: State Machine i multitarea a Arduino amb expansors SPI: 3 passos

Vídeo: State Machine i multitarea a Arduino amb expansors SPI: 3 passos
Vídeo: №7 лаборатория 2 ДДС 2024, Desembre
Anonim
State Machine i multitarea a Arduino amb expansors SPI
State Machine i multitarea a Arduino amb expansors SPI

La setmana passada demanava crear un sistema per pilotar focs artificials amb un arduino. Necessitava unes 64 sortides per controlar els focs. Una manera de fer-ho és fer servir expansors IC. Per tant, hi ha dues solucions disponibles:

- Un expansor I2C, però que necessita inversor quan enceneu l’IC (vegeu la meva instrucció prèvia a la màquina d’estats finits) perquè totes les sortides s’activen i s’apaguen ràpidament: un problema amb els focs artificials.

-un SPI també fàcil d’executar i sense cap problema a l’encesa.

Així que vaig decidir estudiar aquest tipus d’expansors. També faig servir una màquina d’estats amb multitarea per controlar 16 E / S digitals i 2 sortides analògiques. Aquesta targeta està dissenyada per controlar sistemes d'automatització com un PLC.

També vaig estudiar les diferències i la traducció entre els dibuixos del diagrama d’estats i un altre gràfic molt utilitzat en automatització: el SFC (Sequential Function Chart) basat en les antigues xarxes Petri.

en.wikipedia.org/wiki/Sequential_function_…

fr.wikipedia.org/wiki/Grafcet

Pas 1: les cartes i els circuits

Les cartes i els circuits
Les cartes i els circuits
Les cartes i els circuits
Les cartes i els circuits
Les cartes i els circuits
Les cartes i els circuits

Faig servir un arduino uno i 2 tipus de xips DIL:

- El MCP23S17, 2 x 16 expansor d'E / S controlat amb SPI

-el MCP4921, DAC de 12 bits, 0 / 5V

Aquests IC són molt barats i fiables i també són molt fàcils d’enllaçar i programar. Als esquemes he utilitzat alguns components addicionals com condensadors de desacoblament, resistències desplegables per a les entrades.

Pas 2: el programa per executar una màquina d'estat multitarea

El programa per executar una màquina d'estat multitarea
El programa per executar una màquina d'estat multitarea
El programa per executar una màquina d'estat multitarea
El programa per executar una màquina d'estat multitarea

La idea global és controlar les E / S digitals i, mentrestant, llançar efectes de desactivació / desactivació dels LED connectats a les dues sortides analògiques.

Una altra cosa, faig a propòsit la connexió separada dels pins CS (xip select) per tenir més possibilitats de més IC al bus SPI. Així que he utilitzat:

- una biblioteca especial per a la màquina estatal

-una biblioteca especial per a l'MCP23S17

-No hi ha cap biblioteca especial per a l'MCP4921, el CS i la connexió SPI suau són "útils".

Podeu veure a les imatges la traducció entre la màquina d'estats esperada i SFC (també anomenada GRAFCET o gr7 en francès). Alguns termes comuns: estats concurrents, multitarea i encapsulació.

Proporciono moltes biblioteques i el codi font amb molts comentaris. Per llegir-lo i entendre’l, també heu de llegir alhora el diagrama d’estats o el SFC.

Pas 3: per concloure

Funciona!!

Quan engegueu el sistema, espereu uns segons i, a continuació, utilitzeu l'expansor (temps per iniciar el bus SPI).

El sistema té reaccions molt ràpides i heu de crear una targeta d’interfície d’alimentació si voleu controlar qualsevol màquina. Veure els meus instructables anteriors, és molt fàcil !!

Agraïm tutorials molt interessants i que treballen a tot el món.

Manu4371.

Recomanat: