HPGL kontrolér pro plotr


Jednoduchý HPGL kontrolér pro plotr Minigraf 0507, Amagraf 0517 nebo podobný. Komunikuje sériovým kanálem 9600Bd softwarovým handshackem pomocí omezené sady HPGL povelů. Nahrazuje softwarový ovladač, který v době moderních operačních systémů nelze použít

Popis konstrukce

připojení k PC Řadič je řízen jednočipem 89C4051 s převodníkem MAX232 pro připojení k PC přes svorky JP1 - RS232. Hardware řadiče umožnuje použít jak softwarový (Xon/Xoff) tak hardwarový (RTS/CTS) handshack. V praxi se mi lépe osvědčil softwarový a ten je také nastaven v přiloženém programu řadiče, ale s vlastním komunikačním softwarem (pracuji na něm) pracují oba. Změna typu handshacku se dá provést konstantou FLOWRTSv moduluqueue.c. Pin CTS se podle nastavení chová jako RXD nebo CTS a podle toho se zapojí na konektor sériového rozhraní. Mechanicky se dá připojení realizovat např. samicí CANNON 9 na zadní straně plotru a s PC propojovat kabelem 1:1 (samec/samice).

Napájení v rozsahu 7-24V je přivedeno na svorky JP2 - PWR. Podle ztrátového výkonu je třeba dimenzovat chladič stabilizátoru případně použít zdroj 5V z plotru a přemostit stabilizátor.

Vlastní plotr se připojuje na svorky JP3 - PLOTR. V případě Minigrafu 0507 a Amagrafu 0517 se 3 bity X-ového motoru připojí na piny 3-5, 3 bity Y-ového motoru na piny 6-8 a bit pera na pin 10 (řídící slovo je kompatibilní s PC). Deska je připravena i pro připojení jiných zapisovačů (pro Alfiho je tam 9 bitů, XY, ...). Stačí drobně modifikovat ovládací funkci hwSetv modulumnghw.ca upravit konstanty papíru vbase.h.

Deska řadiče je navržena tak, aby se celý počítač vešel na přední část levého krytu motoru. Uchytí se dvěmi šrouby pomocí distančních sloupků a ven zasahují obě LED diody a tlačítko. Desku lze však umístit i do externí krabičky.


Ovládání

Parametry komunikace: rychlost je 9600Bd, 8 bitů, bez parity, 1 stopbit, softwarový handshack (Xon/Xoff)

Pokud se během zapnutí řadiče drží stisknuto tlačítko online, tak výstupy řadiče zůstanou ve stavu HI a lze použít stávající kabely pro řízení plotru. Za běhu slouží tlačítko k pozastavení tisku a stav indikuje dioda D1. Není to úplně ok (zákmity), ale nechtělo se mi to ladit.

Řadič umí interpretovat omezenou sadu povelů. Jedná se o všechny povely z ovladače Aritmy kromě povelů pro práci s textem a nastavení typu čar, více tabulka.

syntaxenázev
IN Inicializace (INitialize)
PU[x,y][,...] Pisátko nahoru (Pen Up)
PD[x,y][,...] Pisátko dolů (Pen Down)
PA[x,y][,...] Přesun absolutně (Plot Absolute)
PR[x,y][,...] Přesun relativně (Plot Relative)
ER x,y Obdélník relativně (Edge Rectangle relative)
CI r Kružnice (CIrcle)
BP Základní pozice papíru (Basic Position)
SO[x,y] Nastavení počátku souřadnic (Set Origin)
SD s Nastavení rychlosti posuvu (Set speeD); *nestandartní HPGL instrukce

Popis instrukcí

Instrukce IN;

Tato instrukce způsobí tzv. inicializaci Minigrafu. Předpokládá se, že před vysláním této instrukce bude v Minigrafu založen papír tak, že jeho horní okraj se bude krýt s hranou otevřeného zadního vyklápěcího stolku Minigrafu. Provedou se následující činnosti:

Tuto instrukci je nutné zadat (po instalaci ovladače) po každém zapnutí Minigrafu. Doporučuje se touto instrukcí zahajovat každou kresbu. Slouží k nastavení definovaného stavu Minigrafu.

Instrukce PU [x,y][,...]; a PD [x,y][,...];

Tyto instrukce ovládají zvedání a spouštění pisátka. Instrukce PU pisátko zvedne, PD pisátko spustí. V instrukcích je možné zadat libovolný počet dvojic souřadnic, které se pak akceptují jako povely pro přesun pisátka podle právě nastaveného režimu (absolutně nebo relativně).

Instrukce PA [x,y][,...]; a PR [x,y][,...];

Tyto instrukce přesouvají pisátko (spuštěné nebo zdvižené) do nové polohy podle zadaných souřadnic. V instrukci PA se souřadnice interpretují absolutně, v instrukci PR relativně. V instrukcích je možné zadat libovolný počet dvojic souřadnic. Po vykonání instrukce zůstává nastaven její režim (tj. absolutní nebo relativní).

Instrukce ER x,y;

Tato instrukce nakreslí obdélník se stranami ve směru souřadných os, jehož jeden vrchol bude v momentální pozici pisátka a protilehlý vrchol bude relativně určen souřadnicemi x,y (šířka a výška obdélníka). Potom se pisátko vrátí do původní pozice. Po instrukci bude stav pisátka (nahoře/dole) takový, jaký byl před instrukcí.

Instrukce CI r;

Tato instrukce nakreslí kružnici o poloměru daném parametrem r a se středem v momentální pozici pisátka. Potom vrátí pisátko do původní pozice a stavu. V současné verzi ovladače je kružnice ošizena 76 úhelníkem :-).

Instrukce BP;

Tato instrukce způsobí zdvihnutí pisátka a najetí papíru do pozice, kdy se jeho horní hrana přibližně kryje s hranou otevřeného zadního vyklápěcího stolku Minigrafu (to je pozice, která se předpokládá před instrukcí IN). To usnadňuje práci při ladění kreslicího programu.

Instrukce SO [x,y];

Tato instrukce nastaví počátek souřadného systému do jiného místa (i mimo kreslící list) takto:

Instrukce SD s;

Tato instrukce nastaví rychlost motoru. Parametr s určuje v 2/10000s dobu jedné fáze motoru např. defaultní 20 = 4ms a to je 250 kroků/s = 31mm/s. Řadič automaticky, pokud čára dovolí, na začátku zrychluje na dvojnasobek rychlosti během prvních s bodů (dle příkladu během 20ti bodů). Stejně také na konci brzdí. Pokud je parametr s záporný, zrychlení se neprovádí.


Schéma řadiče, plošný spoj a osazenschéma řadiče

Seznam součástek

R1 4k7 SMD 1206
R2,R5 330 SMD 1206
R3,R4 10k SMD 1206
R6 3k3 SMD 1206
C1,C2 33pF SMD 1206
C3,C4 100n SMD 1206
C5-C8 10u/15V
C9 4.7uF
C10 100uF/25V
D1 oranžová LED 5mm
D2 zelená LED 5mm
IC1 AT89C4051 + patice
IC2 MAX232 nebo náhrada
IC3 7805 + chladič
S1 mikrospínač
Q1 18.432MHz nízký

Podklady

Zde si můžete stáhnout podklady: