Tvorba modelu

V predošlom návode sme si ukázali, ako môžeme ovládať Arduino z príkazového riadka MATLABu. V tomto návode si popíšeme, ako zostaviť simulačný model v Simulinku. Začneme prázdnym modelom, ktorý si nakonfigurujeme pre beh na Arduine podľa predchádzajúceho návodu. Model budeme rozširovať o bloky a spustíme ho v režime Monitor & Tune.

Čo budeme potrebovať?

  • Arduino MEGA 2560
  • USB kábel typu A-B
  • bread board (BB-301)
  • 2x rezistor 220 Ohm a 1x rezistor 10 kOhm
  • 2x LED (napr. červená a modrá)
  • tlačidlo
  • potenciometer
  • prepojovacie drôty
  • počítač/notebook s prostredím MATLAB
  • Powerbanka
  • Simulink Support Package for Arduino

Schéma

Zapojte súčiastky podľa uvedenej schémy

Príklad dráhy

Príklad dráhy

Bloky modelu

Model budeme zostavovať z nasledujúcich blokov

  • Simulink Support Packlage for Arduino Hardware - Common - Digital Output
  • Simulink - Sources - Pulse Generator
  • Simulink - Math Operation - Gain
  • Simulink - Sinks - Scope

Zostrojenie modelu

V našom príklade rozblikáme LED, ktorá je riadená signálom pomocou výstupu D7. Do modelu pridáme testovacie zosilnenie a blok Scope na zobrazenie signálu.Ako prvé sa prepnime do záložky Simulation a kliknime na knižnicu blokov Library Browser. V knižnici sa posunieme nižšie a vyberieme Simulink Support Package for Arduino Hardware a pod ním časť Common.

Využijeme blok Digital Output. Tento blok prenesiete do modelu pomocou ľavého tlačidla (drag&drop). Dvojklikom otvorte blok a nastavte výstup na Pin číslo 7.

V knižnici blokov sa vrátte do základného Simulinku. V podskupine Sources nájdite blok Pulse Generator. Pridajte ho do modelu.

Dvojklikom vyvoláte dialógové okno, ktoré je potrebné nastaviť. Amplitude=1, Period (secs)=1, Pulse Width (% of period)=50. Týmto generujeme signál, ktorý polovicu sekundy bude dávať logickú 0 a druhú polovicu sekundy logickú 1.

Do modelu pridáme zosilnenie, ktorým vieme ovládať signál. Nájdete ho z blokoch Simulink v časti Math Operations. Blok vynásobí vstup konštantou. My budeme neskôr skúšať hodnoty 1 a 0.

Posledným blokom, ktorý do modelu pridáme je blok Scope. Nájdete ho z blokoch Simulink v časti Sinks.

Blok Scope bude priebežne zobrazovať hodnoty Signálu. Aby sme nastavili rozsah signálu, môžete blok Scope otvoriť. V záložke Scope vyberte Settings a v časti Y-Axis nastavte limity v rozsahu -1 až 2, kedže náš signál bude len 0 alebo 1.

Bloky modelu prepojte podľa nasledujúceho obrázku. Signály potiahnete zo zobáčikov na krajoch bloku. Blok Scope napojte na signál vychádzajúci z bloku Gain. Model si uložte a znovu sa prepnite do záložky Hardware.

Ak ste tak ešte neurobili, čas simulácie nastavte na nekonečno - inf. Spustite model v rôznych režimoch, ktoré sú popísané v predchádzajúcom návode. Napríklad spustite model v režime Monitor & Tune. Proces nahrávania na dosku môže trvať desiatky sekúnd a možno aj pár minút. Prosím buďte trpezliví. Po úspešnom nahratí programu do Arduina, rozbliká sa červená LED. Teraz beží program na doske v interaktívnom režime. Podobne ako vo video návode na začiatku tohoto návodu zmente hodnotu v Gaine z 1 na 0 a v Puse Generator peródu z 1 sekundy na 2 sekundy. Čo vidíte na grafe Scope? V prvom prípade by mala LED zhasnúť a v druhom prípade (pokiaľ bude Gain na 1) by mala LED blikať pomalšie.

Ak program beží v interaktívnom režime, tak nie je možné odpojiť dosku od počítača. Počítač zabezpečuje nie len napájanie dosky, ale potrebuje aj dáta prenášané sériovou linkou. Výsledky je možno monitorovať v prostredí Simulink. Okrem režimu Monitor & Tune môžeme program nahrať na dosku ako standalone aplikáciu. V takomto prípade pobeží program už čisto na doske bez potreby pripojenia k počítaču. Standalone aplikáciu vytvoríme kliknutí na tlačidlo Build, Deploy & Start.