Оглавление:
- Шаг 1: карты и схемы
- Шаг 2: Программа для запуска многозадачного конечного автомата
- Шаг 3: заключение
Видео: Конечный автомат и многозадачность на Arduino с расширителями SPI: 3 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
На прошлой неделе я просил создать систему для пилотирования фейерверков с помощью Arduino. Для борьбы с пожарами требовалось около 64 выходов. Один из способов сделать это - использовать расширители IC. Итак, доступны 2 решения:
- расширитель I2C, но ему нужен инвертор, когда вы включаете IC (см. мои предыдущие инструкции по конечному автомату), потому что все выходы быстро включаются и выключаются: проблема с фейерверком.
-an SPI также легко запускается и без проблем при включении.
Поэтому я решил изучить этот вид экспандеров. Я также использую конечный автомат с многозадачностью для управления 16 цифровыми входами / выходами и 2 аналоговыми выходами. Эта карта предназначена для управления системами автоматизации, такими как ПЛК.
Я также изучил различия и трансляцию между рисунками диаграммы состояний и другого графа, широко используемого в автоматизации: SFC (Sequential Function Chart), основанного на прежних сетях Петри.
en.wikipedia.org/wiki/Sequential_function_…
fr.wikipedia.org/wiki/Grafcet
Шаг 1: карты и схемы
Я использую arduino uno и 2 типа микросхем DIL:
- MCP23S17, расширитель ввода / вывода 2 x 16, управляемый SPI
-MCP4921, ЦАП 12 бит, 0 / 5В
Эти микросхемы очень дешевы и надежны, а также их очень легко связать и запрограммировать. На схемах я использовал некоторые дополнительные компоненты, такие как развязывающие конденсаторы, понижающие резисторы для входов.
Шаг 2: Программа для запуска многозадачного конечного автомата
Глобальная идея состоит в том, чтобы управлять цифровым вводом / выводом и одновременно запускать эффекты плавного включения / выключения светодиодов, подключенных к обоим аналоговым выходам.
Другое дело, я специально делаю отдельное соединение выводов CS (выбор микросхемы), чтобы иметь больше возможностей для большего количества микросхем на шине SPI. Итак, я использовал:
- специальная библиотека для конечного автомата
-специальная библиотека для MCP23S17
-НЕТ специальной библиотеки для MCP4921, CS и софта подключения SPI "удобно" сделано.
Вы можете увидеть на рисунках перевод между ожидаемым конечным автоматом и SFC (также называемый GRAFCET или gr7 на французском). Некоторые общие термины: конкурентные состояния, многозадачность и инкапсуляция.
Я предоставляю библиотеки и исходный код с большим количеством комментариев. Чтобы прочитать и понять это, вы также должны одновременно прочитать диаграмму состояний или SFC.
Шаг 3: заключение
Оно работает!!
Когда вы включаете систему, вы ДЕЙСТВИТЕЛЬНО ждете несколько секунд, а затем используете расширитель (время для инициации шины SPI).
Система очень быстро реагирует, и вам нужно создать карту интерфейса питания, если вы хотите управлять какой-либо машиной. См. Мои предыдущие инструкции, это очень просто !!
Спасибо очень интересным и рабочим руководствам по всему миру.
Manu4371.
Рекомендуемые:
Светодиодный звуковой реактивный бесконечный кубический конечный стол: 6 шагов (с изображениями)
Светодиодный звуковой реактивный бесконечный кубический торцевой стол: Вау! Ого! Какой классный эффект! - Вот некоторые вещи, которые вы услышите после завершения работы с руководством. Совершенно умопомрачительный, красивый, гипнотический, реагирующий на звук бесконечный куб. Это скромно продвинутый проект по пайке, на который у меня ушло около 12 человек
Конечный автомат на MSP430: 6 шагов
Конечный автомат на MSP430: я собираюсь показать вам, как программировать стартовую панель MSP430G2 с конечными автоматами (FSM), используя инструменты диаграммы состояний YAKINDU непосредственно в Texas Instruments Code Composer Studio. Это руководство состоит из шести шагов: Установка инструментов диаграммы состояний YAKINDU как
Конечный автомат на Arduino - пешеходный светофор: 6 шагов (с изображениями)
Конечный автомат на Arduino - пешеходный светофор: Привет! Я собираюсь показать вам, как запрограммировать пешеходный светофор для Arduino на C ++ с конечным автоматом с помощью YAKINDU Statechart Tools. Это продемонстрирует мощь конечных автоматов и может быть использовано в качестве образца для дальнейшего
Многозадачность Raspberry 1 B (Personal Cloud + Weather Station): 4 шага
Многозадачность Raspberry 1 B (Personal Cloud + Weather Station): некоторое время назад я вспомнил, что после покупки новой версии был запасной RPiB. Думая о конфиденциальности при хранении файлов резервных копий, я решил иметь свой собственный облачный сервер. Доволен хорошим результатом, но не удовлетворен растратой потенциала R
ПЛК Arduino 32 ввода-вывода + конечный автомат + SCADA или HMI: 8 шагов
ПЛК Arduino 32 ввода / вывода + конечный автомат + SCADA или HMI: множество способов программирования, управления и наблюдения за промышленной системой с помощью arduino