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
Ř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.
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.
syntaxe | ná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 |
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.
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ě).
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í).
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í.
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 :-).
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.
Tato instrukce nastaví počátek souřadného systému do jiného místa (i mimo kreslící list) takto:
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í.
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ý |
Zde si můžete stáhnout podklady: