CLAUDIA Lite řídí Kuličkostroj

využití Claudie Lite na řízení technologických procesů:-)



Při realizaci designu finální Claudie Lite vzal EC1045 vážně mé úvahy o možnosti využití vstupního a výstupního portu k řízení externích obvodů a tyto porty osadil konektory MLW10 na něž lze připojovat externí zařízení. A tak mě napadlo využít je k řízení mého merkurovského přenašeče kuliček, neboli Kuličkostroje:-) Pochopitelně se to neobejde bez přídavného hardwaru, protože 4 bity SEM a 4 bity TAM na to samy o sobě prostě nestačí. Takže je nutné přidat dekodér (demultiplexer) BIN4 na 1ze16 (74154) a multiplexer pro 16 vstupů (74150). K dekodéru 74154 je ještě nutno přidat pár hradel na správné přiřazení výstupů jednotlivým operacím stroje. Zapojení dekodéru a multiplexeru jsem okopíroval ze svého původního obvodového řadiče pro řízení tohoto stroje. Vše jsem osadil na kousek univerzálky a tak vznikla "expansion board for control aplications":-)

Claudia Lite control expansion board
Přídavná deska - schéma
Claudia Lite control expansion board
Příd. deska pro řízení procesů

A co tedy dělá Claudia Lite? V podstatě se chová jako klasický binární čítač 0000-1111 s hradlovaným oscilátorem, kdy přechod mezi jednotlivými stavy je dán splněním podmínky adresované multiplexerem. Je-li v daném stavu čítače příslušný podmínkový bit na úrovni HIGH, stav čítače zůstává nezměněn. Pokud se vstupní podmínkový bit nastaví na LOW, přejde čítač na další stav. Přechod podmínky z HIGH na LOW je v případě kuličkostroje dán koncovým spínačem. Jelikož je výstup použitého multiplexeru 74150 invertovaný, je nutné koncáky zapojit opačně. V klidu koncák spíná vstup multiplexeru k nule (podmínka není splněna). Najetím na koncák dojde k jeho rozepnutí a pullup odpor dodá na vstup log. 1 (HIGH), tím je splněna podmínka pro přechod do dalšího stavu. U operací, kde nepotřebujeme čekat na splnění podmínky (např. ovládání elektromagnetu RS klopákem), žádný koncák nepřipojujeme a ponecháme jen pullup odpor. Claudie Lite tak rovnou přejde na další stav. Vše je snad jasné ze schématu a následujícího programu (pro základní verzi Claudie Lite):

ADDR: DATA
0000: 0010 (LDA 0) ;vynuluj reg. A (neni nutne, nuluje Reset)
0001: 0000
label_1
0010: 0111 (OUT A) ;prepis obsah reg. A do vystupniho portu OUT
0011: 0001 (MOV BA) ;zkopiruj obsah reg. A do reg. B (zaloha A)
label_3
0100: 0110 (IN A) ;precti stav vstupniho portu a uloz do A
0101: 1100 (JZ label_2) ;je-li nulovy, skoc na label_2
0110: 1001 ;(pokracujeme)
0111: 1000 (JMP label_3) ;neni nulovy, skoc na label_3
1000: 0100 ;(opakujeme cteni vstupu)
label_2
1001: 0010 (LDA 1) ;vloz jednicku do reg. A
1010: 0001
1011: 1110 (CLF) ;vynuluj priznaky
1100: 0100 (ADDC AB) ;secti (inkrementuje puvodni obsah A)
1101: 1000 (JP label_1) ;skoc na zacatek smycky
1110: 0010

Program je ale po úpravě použitelný i pro verzi 2 s ALU 74181. Osobně jsem zkoušel obě varianty:

ADDR: DATA
0000: 0010 (LDA 0) ;vynuluj reg. A (neni nutne, nuluje Reset)
0001: 0000
label_1
0010: 0111 (OUT A) ;prepis obsah reg. A do vystupniho portu OUT
0011: 0001 (MOV BA) ;zkopiruj obsah reg. A do reg. B (zaloha A)
label_3
0100: 0110 (IN A) ;precti stav vstupniho portu a uloz do A
0101: 1100 (JZ label_2) ;je-li nulovy, skoc na label_2
0110: 1001 ;(pokracujeme)
0111: 1000 (JMP label_3) ;neni nulovy, skoc na label_3
1000: 0100 ;(opakujeme cteni vstupu)
label_2
1001: 0010 (LDA 1) ;vloz jednicku do reg. A
1010: 0001
1011: 1110 (CLF) ;vynuluj priznaky
1100: 0100 (ALOP 0Ch) ;secti (inkrementuje puvodni obsah A)
1101: 1100
1110: 1000 (JP label_1) ;skoc na zacatek smycky
1111: 0010

Není snad nutné připomínat, že vstupní port je sdílen jak vstupním konektorem tak i zadávacímni spínači. Proto během programování musí být vstupní "kšanda" z konektoru odpojena! A také, že během chodu programu musí být vstupní spínač D0 na úrovni HIGH, tedy rozpojen. Spínače D1 a D2 musíme přepnout na LOW a spínačem D3 pak můžeme spouštět/zastavovat činnost stroje (HIGH=stojí, LOW=jede).

Vlastní spínání akčních členů (motorů, elektromagnetu, majáku) má na starosti reléová deska s 8 relé s přepínacími kontakty. Relé jsou spínány tranzistorovým polem ULN2803. Takto vypadá propojená sestava:

Claudia Lite control expansion board
Claudia Lite + Kuličkostroj
Claudia Lite control expansion board
Claudia Lite + Kuličkostroj

Poznámka: více fotografií naleznete ve fotogalerii Claudie Lite - control!

A ještě drobnost. Claudia Lite je poměrně pomalá. Je to výukový stroj a bylo nutné jej zpomalit natolik, aby bylo možné sledovat jeho činnost. To se ale nehodí pro řízení kuličkostroje. Po najetí na koncák totiž dost dlouho trvá, než se vypne motor pojezdu. Proto je nutné procesor zrychlit výměnou kondenzátoru v oscilátoru. Nakonec jsem to udělal takto: kondenzátor pro SLOW (C1) režim jsem dal 47uF a kondenzátor pro FAST (C2) režim je nyní 2u2. Klasické demonstrační programy spouštím ve SLOW režimu. Řídící aplikace pak ve FAST režimu. Původní SLOW režim s kondem 470uF měl smysl jen při oživování a pro běžné provozování je příliš pomalý. A takhle to vypadá v reálu:



Tímto způsobem je možné řídit jakýkoliv proces, který má maximálně 16 různých akcí. Pochopitelně je nutné správně přiřadit výstupy dekodéru 74154 jednotlivým akcím a vstupy multiplexeru 74150 jednotlivým podmínkám přechodu mezi stavy.

Vypadá to docela působivě, ale je nutné přiznat, že Claudia Lite tak se svými téměř 30 integráči nahrazuje původní tři(sic!) IO na desce čistě obvodového řadiče (7400, 7493 a 7474). A to se vyplatí:-) Proč to dělat jednoduše... Hlavně, že to řídíme opravdovým počítačem a můžeme to programovat:-) Jen pro pořádek přikládám schéma, jak se dá celá Claudie Lite v této řídící aplikaci nahradit trojicí běžných integráčů. Dále přikládám fotografii celého čistě obvodového řadiče, který k řízení kuličkostroje také používám:-)

control sequencer
Obvodový sequencer řadiče
Ryze obvodový řadič
Ryze obvodový řadič

Tedy pardon. Ty obvody jsou zakresleny 4. Původně jsem si nevšiml toho invertoru. Ale dá se to opravdu postavit jen se třemi. Třeba tak, že namísto 7400 použijeme 7424 a pak nám na oscilátor stačí jen dvě hradla a to třetí pak můžeme použít jako invertor. Ale vlastně se dá sestavit oscilátor ze dvou hradel i s běžným 7400 (viz. např příručka k Logitroniku). A nebo se použije obvod 7404 obsahující 6 invertorů a NAND se vytvoří jako diodový AND + invertor. A nebo.... nebo třeba úplně jinak:-)



Claudia Lite v.2


RET



Odladěno na MS IE 8.0 a Firefoxu při rozlišení min. 1024 x 768 pixelů
www.NOSTALCOMP.cz    2010  -  2019