Cuprins:

State Machine și Multitasking pe Arduino cu expansori SPI: 3 pași
State Machine și Multitasking pe Arduino cu expansori SPI: 3 pași

Video: State Machine și Multitasking pe Arduino cu expansori SPI: 3 pași

Video: State Machine și Multitasking pe Arduino cu expansori SPI: 3 pași
Video: #BB5 Moving your Arduino to a multi-tasking State Machine - Easy Intro 2024, Iulie
Anonim
State Machine și Multitasking pe Arduino cu expansori SPI
State Machine și Multitasking pe Arduino cu expansori SPI

Săptămâna trecută, am cerut să creez un sistem de pilotare a artificiilor cu un arduino. Avea nevoie de aproximativ 64 de ieșiri pentru a controla incendiile. O modalitate de a face acest lucru este să folosiți extensoare IC. Așadar, sunt disponibile 2 soluții:

- un expansor I2C, dar are nevoie de invertor atunci când porniți IC-ul (consultați instrucțiunile mele anterioare pe mașina cu stare finită) deoarece toate ieșirile pornesc și opresc rapid: o problemă cu artificiile.

-un SPI, de asemenea, ușor de rulat și fără probleme la pornire.

Așa că am decis să studiez acest tip de expansoare. Folosesc și o mașină de stat cu multitasking pentru a controla 16 I / O digitale și 2 ieșiri analogice. Acest card este conceput pentru a controla sistemele de automatizare precum un PLC.

De asemenea, am studiat diferențele și traducerea dintre desenele diagramei de stare și un alt grafic greu utilizat în automatizare: SFC (Sequential Function Chart) bazat pe fostele plase Petri.

en.wikipedia.org/wiki/Sequential_function_…

fr.wikipedia.org/wiki/Grafcet

Pasul 1: cărțile și circuitele

Cărțile și circuitele
Cărțile și circuitele
Cărțile și circuitele
Cărțile și circuitele
Cărțile și circuitele
Cărțile și circuitele

Folosesc un arduino uno și 2 tipuri de cipuri DIL:

- MCP23S17, 2 x 16 I / O expansor controlat cu SPI

-MCP4921, DAC 12 biți, 0 / 5V

Aceste IC sunt foarte ieftine și fiabile și, de asemenea, foarte ușor de conectat și de programat. Pe schemă, am folosit câteva componente suplimentare, cum ar fi condensatoare de decuplare, rezistențe pull-down pentru intrări.

Pasul 2: Programul pentru a rula o mașină de stat multitasking

Programul pentru a rula o mașină de stat multitasking
Programul pentru a rula o mașină de stat multitasking
Programul pentru a rula o mașină de stat multitasking
Programul pentru a rula o mașină de stat multitasking

Ideea globală este de a controla I / O digitală și, între timp, de a lansa un efect de decolorare ON / OFF pe LED-urile conectate la ambele ieșiri analogice.

Un alt lucru, fac intenționat conexiunea separată a pinilor CS (chip select) pentru a avea mai multe posibilități de mai mult IC pe magistrala SPI. Așa că am folosit:

- o bibliotecă specială pentru mașina de stat

-o bibliotecă specială pentru MCP23S17

-Nu există o bibliotecă specială pentru MCP4921, CS și conexiunea SPI soft sunt „la îndemână”.

Puteți vedea pe imagini traducerea dintre mașina de stare așteptată și SFC (numită și GRAFCET sau gr7 în franceză). Unii termeni comuni: stări concurente, multitasking și încapsulare.

Ofer bibliotecilor și codului sursă o mulțime de comentarii. Pentru a o citi și a o înțelege, trebuie să citiți în același timp și diagrama de stare sau SFC.

Pasul 3: Pentru a încheia

Functioneaza!!

Când porniți sistemul, așteptați câteva secunde și apoi utilizați extensia (timp pentru a iniția magistrala SPI).

Sistemul are reacții foarte rapide și trebuie să creați o placă de interfață de alimentare dacă doriți să controlați orice mașină. Vedeți instructibilele mele anterioare, este foarte ușor !!

Mulțumesc tutoriale foarte interesante și funcționale din întreaga lume.

Manu4371.

Recomandat: