Innehållsförteckning:
- Steg 1: Korten och kretsarna
- Steg 2: Programmet för att köra en multitask -tillståndsmaskin
- Steg 3: Avsluta
Video: Statlig maskin och multitasking på Arduino med SPI -utökare: 3 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
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
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
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:
Superkondensator värdelös maskin eller dialog med Smart Guy: 7 steg (med bilder)
Superkondensator värdelös maskin eller dialog med Smart Guy: Smart Guy. Vad?! Värdelös maskin! På nytt! Hundratals, tusentals av dem som täpper till YouTube -kanaler räcker inte? Jumbleview. De flesta av dem är gjorda med vippströmbrytare, den här har vippan.SG. Än sen då? Alla vet att de fungerar likadant. Och du redan
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: 5 steg (med bilder)
8 Reläkontroll med NodeMCU och IR -mottagare med WiFi och IR -fjärrkontroll och Android -app: Styrning av 8 reläväxlar med nodemcu och IR -mottagare via wifi och IR -fjärrkontroll och Android -app. Fjärrkontrollen fungerar oberoende av wifi -anslutning. HÄR ÄR EN UPPDATERAD VERSIONKLICK HÄR
Preliminär* SPI på Pi: Kommunicera med en SPI 3-axlig accelerometer med hjälp av en hallon Pi: 10 steg
Preliminär* SPI på Pi: Kommunicera med en SPI 3-axlig accelerometer Använda en Raspberry Pi: Steg-för-steg-guide om hur du konfigurerar Raspbian och kommunicerar med en SPI-enhet med bcm2835 SPI-bibliotek (INTE lite bankat!) Detta är fortfarande mycket preliminärt … Jag måste lägga till bättre bilder av fysisk anslutning och arbeta igenom några av de besvärliga koden
Temperatur och fuktighet Display och datainsamling med Arduino och bearbetning: 13 steg (med bilder)
Temperatur- och luftfuktighetsvisning och datainsamling med Arduino och bearbetning: Intro: Detta är ett projekt som använder ett Arduino -kort, en sensor (DHT11), en Windows -dator och ett bearbetningsprogram (ett gratis nedladdningsbart) för att visa temperatur, luftfuktighetsdata i digital och stapeldiagramform, visa tid och datum och kör en räkningstid
PCB etsning maskin. Spara pengar och tid .: 8 steg
PCB etsning maskin. Spara pengar och tid ….: Som du kan se på bilden. Detta är min DIY etsningsmaskin. Jag konstruerade denna etsningsmaskin för nästan 10 år sedan (1998) … Följande steg är konstruktionsdetaljer ….. Njut