Obsah:

Stavový stroj a viac úloh naraz na Arduine s expandérmi SPI: 3 kroky
Stavový stroj a viac úloh naraz na Arduine s expandérmi SPI: 3 kroky

Video: Stavový stroj a viac úloh naraz na Arduine s expandérmi SPI: 3 kroky

Video: Stavový stroj a viac úloh naraz na Arduine s expandérmi SPI: 3 kroky
Video: CS50 2013 - Week 9 2024, November
Anonim
Stavový stroj a multitasking na Arduine s expandérmi SPI
Stavový stroj a multitasking na Arduine s expandérmi SPI

Minulý týždeň som požiadal o vytvorenie systému na pilotovanie ohňostrojov s arduinom. Na ovládanie požiarov bolo potrebných asi 64 výstupov. Jedným zo spôsobov, ako to urobiť, je použiť expandéry IC. K dispozícii sú teda 2 riešenia:

- expandér I2C, ktorý však pri zapnutí IC potrebuje menič (pozri môj predchádzajúci návod na zariadení s konečným stavom), pretože všetky výstupy sa rýchlo zapínajú a vypínajú: problém s ohňostrojom.

-SPI sa tiež ľahko spúšťa a bez problémov pri zapnutí.

Preto som sa rozhodol študovať tento druh expandérov. Na ovládanie digitálnych 16 I/O a 2 analógových výstupov používam aj stavový automat s viacúlohovým spracovaním. Táto karta je navrhnutá na ovládanie automatizačných systémov ako PLC.

Tiež som študoval rozdiely a preklad medzi výkresmi stavového diagramu a iného silného grafu používaného v automatizácii: SFC (Sequential Function Chart) založený na bývalých Petriho sieťach.

en.wikipedia.org/wiki/Sequential_function_…

fr.wikipedia.org/wiki/Grafcet

Krok 1: Karty a obvody

Karty a obvody
Karty a obvody
Karty a obvody
Karty a obvody
Karty a obvody
Karty a obvody

Používam arduino uno a 2 druhy DIL čipov:

- expandér MCP23S17, 2 x 16 I/O, ovládaný pomocou SPI

-MCP4921, DAC 12 bitov, 0/5V

Tieto IC sú veľmi lacné a spoľahlivé a tiež sa dajú veľmi ľahko prepojiť a naprogramovať. Na schémach som použil niekoľko ďalších komponentov, ako sú oddeľovacie kondenzátory, výsuvné odpory pre vstupy.

Krok 2: Program na spustenie viacúlohového stavového stroja

Program na spustenie viacúlohového stavového stroja
Program na spustenie viacúlohového stavového stroja
Program na spustenie viacúlohového stavového stroja
Program na spustenie viacúlohového stavového stroja

Globálnou myšlienkou je ovládať digitálne I/O a medzitým spustiť efekty stlmenia ON/OFF na LED diódach pripojených k obom analógovým výstupom.

Ďalšia vec, účelovo robím oddelené pripojenie pinov CS (čipový výber), aby som mal viac možností viac IC na zbernici SPI. Použil som teda:

- špeciálna knižnica pre štátny automat

-špeciálna knižnica pre MCP23S17

-ŽIADNA špeciálna knižnica pre MCP4921, CS a SPI pripojenie soft nie je „po ruke“.

Na obrázkoch môžete vidieť preklad medzi očakávaným stavovým automatom a SFC (tiež nazývaný GRAFCET alebo gr7 vo francúzštine). Niektoré bežné pojmy: súbežné stavy, viacúlohové úlohy a zapuzdrenie.

Knižniciam a zdrojovému kódu poskytujem veľa komentárov. Aby ste to pochopili, musíte si súčasne prečítať stavový diagram alebo SFC.

Krok 3: Na záver

Funguje to!!

Keď zapnete systém, počkajte niekoľko sekúnd a potom použite expandér (čas na spustenie zbernice SPI).

Systém má veľmi rýchle reakcie a ak chcete ovládať akýkoľvek stroj, musíte si vytvoriť kartu napájacieho rozhrania. Pozrite si moje predchádzajúce pokyny, je to veľmi jednoduché !!

Ďakujem za veľmi zaujímavé a fungujúce návody po celom svete.

Manu4371.

Odporúča: