Innehållsförteckning:

Statlig maskin och multitasking på Arduino med SPI -utökare: 3 steg
Statlig maskin och multitasking på Arduino med SPI -utökare: 3 steg

Video: Statlig maskin och multitasking på Arduino med SPI -utökare: 3 steg

Video: Statlig maskin och multitasking på Arduino med SPI -utökare: 3 steg
Video: Stephen Wolfram: Ruliad, medvetande och oändlighet 2024, Juli
Anonim
Statlig maskin och multitasking på Arduino med SPI -utökare
Statlig maskin och multitasking på Arduino med SPI -utökare

Förra veckan bad jag om att skapa ett system för att styra fyrverkerier med en arduino. Det behövdes cirka 64 utgångar för att kontrollera bränderna. Ett sätt att göra det är att använda IC -expanderare. Så det finns två lösningar:

- en I2C -expander men den behöver växelriktare när du sätter på IC: n (se min tidigare instruerbara dator med slutlig tillstånd) eftersom alla utgångar går snabbt PÅ och AV: ett problem med fyrverkerier.

-en SPI också lätt att köra och utan problem när strömmen slås på.

Så jag bestämde mig för att studera den här typen av expanderare. Jag använder också en tillståndsmaskin med multitasking för att styra digitala 16 I/O och 2 analoga utgångar. Detta kort är utformat för att styra automationssystem som en PLC.

Jag har också studerat skillnaderna och översättningen mellan ritningarna av tillståndsdiagrammet och en annan graf som används mycket i automatisering: SFC (Sequential Function Chart) baserat på de tidigare petrinenät.

en.wikipedia.org/wiki/Sequential_function_…

fr.wikipedia.org/wiki/Grafcet

Steg 1: Korten och kretsarna

Korten och kretsarna
Korten och kretsarna
Korten och kretsarna
Korten och kretsarna
Korten och kretsarna
Korten och kretsarna

Jag använder en arduino uno och 2 typer av DIL -chips:

- MCP23S17, 2 x 16 I/O -expander som styrs med SPI

-MCP4921, DAC 12 bitar, 0/5V

Dessa IC är mycket billiga och pålitliga och också mycket enkla att länka och programmera. På schemat använde jag några ytterligare komponenter som avkopplingskondensatorer, neddragningsmotstånd för ingångarna.

Steg 2: Programmet för att köra en multitask -tillståndsmaskin

Programmet för att köra en multitask -tillståndsmaskin
Programmet för att köra en multitask -tillståndsmaskin
Programmet för att köra en multitask -tillståndsmaskin
Programmet för att köra en multitask -tillståndsmaskin

Den globala idén är att styra digital I/O och under tiden lansera en blekande PÅ/AV -effekt på lysdioder som är anslutna till båda analoga utgångarna.

En annan sak, jag gör avsiktligt den separata anslutningen av CS -stiften (chip select) för att ha fler möjligheter till mer IC på SPI -bussen. Så jag använde:

- ett särskilt bibliotek för statsmaskinen

-Ett speciellt bibliotek för MCP23S17

-INGET speciellt bibliotek för MCP4921, CS och SPI -anslutningsprogrammet är "praktiskt" gjort.

Du kan se på bilderna översättningen mellan den förväntade tillståndsmaskinen och SFC (även kallad GRAFCET eller gr7 på franska). Några vanliga termer: samstämmiga tillstånd, multitask och inkapsling.

Jag förser biblioteken och källkoden med många kommentarer. För att läsa och förstå det måste du samtidigt läsa tillståndsdiagrammet eller SFC.

Steg 3: Avsluta

Det fungerar!!

När du startar systemet väntar du några sekunder och använder sedan expanderaren (tid att starta SPI -bussen).

Systemet reagerar mycket snabbt och du måste skapa ett power interface -kort om du vill styra vilken maskin som helst. Se mina tidigare instruktioner, det är väldigt enkelt !!

Tack för mycket intressanta och fungerande handledning över hela världen.

Manu4371.

Rekommenderad: