Съдържание:

Държавна машина и многозадачност на Arduino с SPI разширители: 3 стъпки
Държавна машина и многозадачност на Arduino с SPI разширители: 3 стъпки

Видео: Държавна машина и многозадачност на Arduino с SPI разширители: 3 стъпки

Видео: Държавна машина и многозадачност на Arduino с SPI разширители: 3 стъпки
Видео: #ArduBlock 2.0 - Wiki Учебник - Фоновый блок - Многозадачность на Arduino 2024, Ноември
Anonim
Държавна машина и многозадачност на Arduino с SPI разширители
Държавна машина и многозадачност на Arduino с SPI разширители

Миналата седмица исках да създам система за пилотни фойерверки с arduino. Имаше нужда от около 64 изхода за контрол на пожарите. Един от начините да направите това е да използвате IC разширители. Така че са налични 2 решения:

- I2C разширител, но той се нуждае от инвертор, когато включите интегралната схема (вижте предишните ми инструкции за машина с крайно състояние), защото всички изходи се включват бързо и изключени: проблем с фойерверки.

-и SPI също лесен за стартиране и без проблем при включване.

Затова реших да изуча този вид разширители. Използвам и държавна машина с многозадачност за управление на цифрови 16 I/O и 2 аналогови изхода. Тази карта е предназначена за управление на системи за автоматизация като PLC.

Също така проучих разликите и превода между чертежите на диаграмата на състоянието и друга графика, използвана в автоматизацията: SFC (Sequential Function Chart), базирана на бившите мрежи на Петри.

en.wikipedia.org/wiki/Sequential_function_…

fr.wikipedia.org/wiki/Grafcet

Стъпка 1: Картите и схемите

Картите и схемите
Картите и схемите
Картите и схемите
Картите и схемите
Картите и схемите
Картите и схемите

Използвам arduino uno и 2 вида DIL чипове:

- MCP23S17, 2 x 16 I/O разширител, контролиран със SPI

-MCP4921, DAC 12 бита, 0/5V

Те са много евтини и надеждни, а също така много лесни за свързване и програмиране. На схемите използвах някои допълнителни компоненти като отделяне на кондензатори, редуктори за входове.

Стъпка 2: Програмата за стартиране на многозадачна държавна машина

Програмата за стартиране на многозадачна държавна машина
Програмата за стартиране на многозадачна държавна машина
Програмата за стартиране на многозадачна държавна машина
Програмата за стартиране на многозадачна държавна машина

Глобалната идея е да се контролират цифровите входове/изходи и междувременно да се стартират ефекти на затихване ON/OFF на светодиоди, свързани към двата аналогови изхода.

Друго нещо, аз нарочно правя отделното свързване на CS пиновете (избор на чип), за да има повече възможности за повече IC на SPI шината. Затова използвах:

- специална библиотека за държавната машина

-специална библиотека за MCP23S17

-БЕЗ специална библиотека за MCP4921, CS и меката SPI връзка е "удобна".

На снимките можете да видите превода между очакваната машина на състоянието и SFC (наричан още GRAFCET или gr7 на френски). Някои общи термини: съпътстващи състояния, многозадачност и капсулиране.

Предоставям библиотеките и изходния код с много коментари. За да го прочетете и разберете, трябва едновременно да прочетете и диаграмата на състоянието или SFC.

Стъпка 3: За да завършите

Работи!!

Когато включите системата, изчаквате няколко секунди и след това използвате разширителя (време за стартиране на SPI шината).

Системата има много бързи реакции и трябва да създадете интерфейсна карта за захранване, ако искате да управлявате каквато и да е машина. Вижте предишните ми инструкции, много е лесно !!

Благодарение на много интересни и работещи уроци по целия свят.

Manu4371.

Препоръчано: