Ovládání krokového motoru

Laboratorní úloha z předmětu 36POB

Martin Tůma, Pavel Dědourek, Pavel Jelínek

Zadání

Úkolem je realizovat ovládání krokového motoru pomocí integrovaného obvodu GAL. Krokový motor je ovládán čtyřmi signály IN.Q1, IN.Q2, IN.Q3, IN.Q4 podle následující tabulky:

krok IN.Q1 IN.Q2 IN.Q3 IN.Q4
1 0 1 0 1
2 0 1 1 1
3 0 1 1 0
4 1 1 1 0
5 1 0 1 0
6 1 0 1 1
7 1 0 0 1
8 1 1 0 1
1 0 1 0 1

tab. 1 - Řídící signály krokového motoru

Signál OUT.Q1 znamená, že bylo stisknuto tlačítko krok vpřed. Signál OUT.Q2 znamená, že bylo stisknuto tlačítko krok vzad. Je k dispozici signál o frekvenci odpovídající krokům motoru. Navrhněte obvod, který bude provádět tyto dvě funkce.

Řešení

Návrh

Řízení jsme realizovali pomocí standartního konečného automatu typu Moore, jehož graf uvádí obr. 1. Automat má 2 vstupy: VPRED, VZAD (odpovídají signálům OUT.Q1 a OUT.Q2) a 4 výstupy: Y1-4 (odpovídají signálům IN.Q1-4). Dále je implementován signál RESET, který uvádí automat do počátečního stavu 0 pomocí "globálního asynchroního resetu" (signál AR) GAL obvodu. Vnitřní stavy automatu (1-8) odpovídají binárně jednotlivým krokům motoru, stavu 0 odpovídá hodnota 0000.

Graf automatu

obr. 1 - Graf automatu

Funkce kombinační logiky byly sestaveny na základě tabulky přechodů (soubor km.pla) výše uvedeného automatu. K minimalizaci byl použit program boom, který pro minimalizaci používá heuristiky, kombinační logika tedy nemusí být optimální, nicméně by se optimu měla blížit. Výsledné funkce mají následující tvar:

Y1.D := Y2 & !Y4 & VPRED # Y1 & Y2 & !VZAD & !VPRED # !Y3 & Y4 & VZAD # Y1 & !Y2;
Y2.D := !Y4 & VZAD # Y1 & Y2 & !VZAD & !VPRED # !Y3 & VPRED # !Y1;
Y3.D := !Y1 & Y2 & VPRED # Y1 & !Y2 & VZAD # Y3 & Y4 & !VZAD & !VPRED # Y3 & !Y4;
Y4.D := !Y2 & VPRED # Y3 & Y4 & !VZAD & !VPRED # !Y1 & VZAD # !Y3;

Simulace

Navržený obvod byl před naprogramováním úspěšně odsimulován pomocí simulátoru obsaženého v programu WinPlace. Časové průběhy vstupních/výstupních signálů jsou uvedeny na obr. 2.

Simulace obvodu

obr. 2 - Simulace obvodu

Realizace

Pro realizaci byl zvolen obvod PEEL18CV8, který byl naprogramován pomocí JEDEC souboru vygenorovaného v programu WinPlace z "programu" automatu (soubor km.psf). Význam jednotlivých pinů obvodu je uveden na obr. 3.

Zapojení IO

obr. 3 - Zapojení integrovaného obvodu

Závěr

Navržené řízení krokového obvodu jsme úspěšně otestovali na daném přípravku. Obvod fungoval přesně tak, jak bylo zamýšleno. Pro použití v praxi by nicméně ještě bylo vhodné v návrhu ošetřit (chybový) stav, kdy jsou současně aktivní signály pro chod motoru vpřed i vzad (vstup 11).

Přiložené soubory