Příklad řízení krokových motorů 1

V těchto příkladech je ukázáno možné řešení, jak připojit krokový motor k automatu. Motor je připojen přes inteligentní budič na jeden (jen pulsy) nebo dva (pulsy a směr) výstupy automatu. Spuštění a zastavení motoru se provádí dvěma tlačítky, připojenými na vstupy X0 a X1.

 

Příklady jsou v základu nastaveny na nízké výstupní frekvence. Jejich činnost lze pozorovat i okem na kontrolkách výstupů automatu bez připojeného motoru. Při použití skutečného motoru je vhodné tyto hodnoty nastavit na maximum použitého motoru případně budiče. Pozor na omezení dané použitým typem automatu.

 Příklad je psán pro automat FBs 10MAT. Funguje na jakémkoli automatu Fatek řady FBs. Podle typu automatu (rychlosti použitého výstupu) je omezena maximální použitelná frekvence výstupních pulsů.

Příklad je postaven na funkci PLSO, která umožňuje generovat pulsy až do frekvence 2 kHz a řídit směr otáčení. Motor je připojen na dva výstupy automatu, z nichž jeden (Y0) má význam pulsů a druhý (Y1) směru otáčení. Motor se spustí při vzestupné hraně vstupu X0 a zastaví při vzestupné hraně X1. Směr otáčení udává vstup X2, který lze změnit jen v klidu. Výstupní frekvenci lze ovládat pomocí registru R0 v rozmezí 8 – 2000 Hz. V tomto příkladu není řešena rozběhová ani doběhová rampa.

           

Program začíná inicializací registru R0, který má význam rychlosti motoru přesněji frekvence výstupních pulsů v [Hz]. Po startu (bit M1924) je do R0 zapsána hodnota 10 (Hz).

V sítích N5 a N6 je ovládán bit M100, který dále povoluje generování pulsů pro motor. V síti N5 se při vzestupné hraně X0 nebo po startu bit M100 nuluje (motor se zastaví), v síti N6 se M100 zapne při vzestupné hraně vstupu X1 (motor se rozběhne).

Základem programu je funkce PLSO v síti N9, která po povolení bitem M100 generuje na výstupu UY = Y0 pulsy o frekvenci dané registrem Fr = R0. Na výstupu DY = Y1 je směr daný vstupem X2, který lze měnit jen v klidu (při M100 v log. 0). Výstupy UY a DY mohou mít buď význam pulsů nahoru a pulsů dolů (MD = 0) nebo jako v našem případě pulsy a směr (MD = 1).  Pulsů je generován nekonečný počet (PC = 0). Díky nastavení PC = 0 jsou pulsy generovány po celou dobu povolení instrukce bitem M100. Při požadavku vygenerování určitého počtu pulsů (požadavek na ujetí určité dráhy) lze tento počet zadat do parametru PC a to buď jako konstantu nebo obsah nějakého registru.

 

 

Instrukce PLSO má dále tři výstupy. OUT značí, že se generují výstupní pulsy, DN se nastaví po vygenerování zadaného počtu pulsů v PC (našem případě je požadavek na nekonečné množství pulsů – PC = 0, tj. příznak DN se nikdy nenastaví). Výstup ERR se nastaví do log. 1 při chybném vstupním zadání např. je-li požadovaná frekvence mimo povolený rozsah 8 – 2000 Hz.

           

Více o instrukci PLSO lze najít v manuálu díl I na straně 7-63.

Po startu programu se nastaví výstupní frekvence na 10 Hz. Motor lze spustit vstupem X0 a zastavit vstupem X1. Program reaguje jen na vzestupné hrany na těchto vstupech. Frekveci lze měnit zápisem hodnoty v rozsahu 8 – 2000 Hz do registru R0 například pomocí připravené Status Page. Změna frekvence se projeví i za běhu. Zápisem do bitu M100 lze zastavit resp. spustit motor bez ohledu na stav vstupů X0 a X1.

 

 

Příloha:   Priklad_1