Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02
I forrige uke ba jeg om å lage et system for pilotering av fyrverkeri med en arduino. Den trengte om lag 64 utganger for å kontrollere brannene. En måte å gjøre det på er å bruke IC -utvidere. Så to løsninger er tilgjengelige:
- en I2C -ekspander, men den trenger inverter når du slår på IC (se min forrige instruksjonsmaskin om endelig maskin) fordi alle utgangene går raskt PÅ og AV: et problem med fyrverkeri.
-en SPI også enkel å kjøre og uten problemer med å slå på.
Så jeg bestemte meg for å studere denne typen utvidere. Jeg bruker også en statlig maskin med multitasking for å kontrollere digitale 16 I/O og 2 analoge utganger. Dette kortet er designet for å kontrollere automatiseringssystemer som en PLS.
Jeg studerte også forskjellene og oversettelsen mellom tegningene av tilstandsdiagrammet og en annen graf som ble tungt brukt i automatisering: SFC (Sequential Function Chart) basert på de tidligere Petri -nettene.
en.wikipedia.org/wiki/Sequential_function_…
fr.wikipedia.org/wiki/Grafcet
Trinn 1: Kortene og kretsene
Jeg bruker en arduino uno og 2 typer DIL -brikker:
- MCP23S17, 2 x 16 I/O -ekspander kontrollert med SPI
-MCP4921, DAC 12 bits, 0/5V
Disse IC er veldig billige og pålitelige og også veldig enkle å koble til og programmere. På skjemaene brukte jeg noen ekstra komponenter som avkoblingskondensatorer, nedtrekksmotstander for inngangene.
Trinn 2: Programmet for å kjøre en multitask -tilstandsmaskin
Den globale ideen er å kontrollere digital I/O og i mellomtiden lansere en fade ON/OFF -effekt på lysdioder som er koblet til begge analoge utgangene.
En annen ting, jeg gjør med vilje den separate tilkoblingen til CS -pinnene (chip select) for å ha flere muligheter til mer IC på SPI -bussen. Så jeg brukte:
- et spesielt bibliotek for statsmaskinen
-et spesielt bibliotek for MCP23S17
-IKKE noe spesielt bibliotek for MCP4921, CS og SPI -tilkoblingen myk er "praktisk" gjort.
Du kan se på bildene oversettelsen mellom den forventede tilstandsmaskinen og SFC (også kalt GRAFCET eller gr7 på fransk). Noen vanlige begreper: samstemte tilstander, multitask og innkapsling.
Jeg gir bibliotekene og kildekoden mange kommentarer. For å lese og forstå det må du samtidig lese tilstandsdiagrammet eller SFC.
Trinn 3: For å konkludere
Det fungerer!!
Når du slår på systemet, venter du i noen sekunder og bruker deretter ekspanderen (tid til å starte SPI -bussen).
Systemet reagerer veldig raskt, og du må lage et strømgrensesnittkort hvis du vil kontrollere hvilken maskin som helst. Se mine tidligere instrukser, det er veldig enkelt!
Takk for veldig interessante og fungerende opplæringsprogrammer over hele verden.
Manu4371.
Anbefalt:
Finite State Machine på en MSP430: 6 trinn
Finite State Machine på en MSP430: Jeg skal vise deg hvordan du programmerer en MSP430G2 Launchpad med Finite State Machines (FSM) ved hjelp av YAKINDU Statechart Tools direkte i Texas Instruments Code Composer Studio. Denne opplæringen inneholder seks trinn: Installere YAKINDU Statechart Tools som
Arduino Otto Robot Med State Machine: 4 trinn
Arduino Otto Robot With State Machine: Project Oversikt I dette prosjektet vil jeg vise deg en måte å programmere Otto Robot, som er en Arduino -basert DIY -robot. Ved å bruke YAKINDU Statechart Tools (gratis for ikke-kommersielle) kan vi enkelt bruke statlige maskiner til å grafisk modellere oppførselen
State Machine on Arduino - et fotgjengerlys: 6 trinn (med bilder)
State Machine på Arduino - et fotgjengerlys: Hei! Jeg skal vise deg hvordan du programmerer et trafikklys for Arduino i C ++ med en endelig tilstandsmaskin ved å bruke YAKINDU Statechart Tools. Dette vil demonstrere kraften til statlige maskiner og kan brukes som en plan for videre
I2C / IIC LCD -skjerm - Bruk en SPI LCD til I2C LCD -skjermen Bruke SPI til IIC -modulen med Arduino: 5 trinn
I2C / IIC LCD -skjerm | Bruk en SPI LCD til I2C LCD -skjermen Bruke SPI til IIC -modulen med Arduino: Hei folkens siden en vanlig SPI LCD 1602 har for mange ledninger å koble til, så det er veldig vanskelig å koble den til arduino, men det er en modul tilgjengelig på markedet som kan konverter SPI -skjerm til IIC -skjerm, så da trenger du bare å koble til 4 ledninger
Arduino PLC 32 I/O+State Machine+SCADA eller HMI: 8 trinn
Arduino PLC 32 I/O+State Machine+SCADA eller HMI: Mange måter å programmere, kontrollere og overvåke et industrisystem med arduino