OVLÁDÁNÍ IO 4094 SÉRIOVÝM PORTEM  PC

Vágner Vlastimil 

         Popsané moduly využívají integrovaný obvod 4094,moduly vznikly nejen pro zábavu ale i pro jiné využití.Moduly jsou řízeny počítačem PC pomocí výstupních signálů sériového portu.Kdo rád experimentuje může použít i více integrovaných obvodů 4094 a tak zvýšit počet ovládaných zařízení,ten kdo programuje  si v případě zájmu napíše svůj vlastní program.

POPIS MODULŮ

        Moduly jsou celkem čtyři na ovládání led diod,ovládání el.motorků pro různé světelné efekty,roboty,ovládání D/A převodníku jako zdroj napětí pro různé pokusy a ovládání unipolárního krokového motorku,schéma zapojení modulů je na obrázcích č.1 až 5.V tabulkách č.1 až č.3 je popis připojení motorků,popis hodnot bitů v binární i desítkové soustavě,k napájení modulů je použito zdroje o napětí 15 až 24V DC.Na obrázku č.1 je modul pro ovládání led diod jejich počet určuje pouze napájecí napětí a výkon tranzistorů T1 až T8,tento modul jsme již dříve uveřejnili společně s P.Líznerem jako Vánoční blikátko.Na obrázku č.2A,2B je schéma zapojení pro ovládání čtyř el.motorků obvod 4094 spíná svými výstupy cívky relátek RE1A až RE8A toto zapojení umožňuje měnit i smysl otáčení motorků,na obrázcích č.3 a 4 je zapojení modulu na ovládání D/A převodníku DAC08.Na obrázku č.5 je zapojení modulu pro ovládání unipolárních krokových motorků.Vstup IO 4094 označený DATA je připojený na výstup PC označený TXD,vstup IO 4094 označený STROBE je připojený na výstup PC označený RTS,vstup IO 4094 označený CLK je připojený na výstup PC označený DTR.

 

POPIS MODULU PRO OVLÁDÁNÍ LED DIOD

         Schéma zapojení modulu je na obrázku č.1,napájení modulu je napětím 15V až 24V DC napětí je stabilizováno pomocí IO1 na napětí 5V DC toto napětí napájí integrovaný obvod IO2 4094,řídící vstupy tohoto IO připojené na výstupy PC jsou chráněny před výstupním napětím sériového portu stabilizačními diodami D1 až D3 a rezistory R1 až R3 které společně s diodami stabilizují napětí na hodnotu 4.7V.Výstupy IO2 jsou připojeny přes rezistory na báze spínacích tranzistorů T1 až T8 tyto rezistory omezují proud tekoucí do báze uvedených tranzistorů kolektory tranzistorů již přes omezovací rezistory rozsvěcí led diody.Tranzistory T1 až T8 mají každý na kolektor připojeny led diody současně je zapojený i předřadný rezistor pro omezení protékajícího proudu.Hodnoty Rezistorů označené hvězdičkami se budou lišit při jiném počtu a jiných parametrech použitých světelných led diod a napájecím napětí pro led.

        

         Seznam součástek modulu pro ovládání led diod :

 Rezistory R1,R2,R3…10K , R4,R6,R8,R10,R12,R14,R16,R18…4K7,

REZISTORY OZNAČENÉ  *  viz popis , Tranzistory T1 až T8….BC337,

Integrované obvody IO1..7805 , IO2…4094 , Diody D1,D2,D3…BZX 4V7 , Led Diody 2V/0.010A , Kondenzátory C1,C2….100nF (keramika),C3…470uF/16V,Konektor dle použitého sériového portu,propojovací kabely délka dle vlastní potřeby.                

                    OBR

    

    

POPIS MODULU PRO OVLÁDÁNÍ EL.MOTORKŮ

         Schéma zapojení modulu je na obrázcích č.2A a 2B, napájení modulu je napětím 15V až 24V DC napětí je stabilizováno pomocí IO1 na napětí 5V DC toto napětí napájí integrovaný obvod IO2 4094,řídící vstupy tohoto IO připojené na výstupy PC jsou chráněny před výstupním napětím sériového portu stabilizačními diodami D1 až D3 a rezistory R1 až R3 které společně s diodami stabilizují napětí na hodnotu 4.7V.,Výstupy IO2 jsou připojeny přes rezistory na báze spínacích tranzistorů T1 až T8 tyto rezistory omezují proud tekoucí do báze uvedených tranzistorů kolektory tranzistorů již spínají cívky relátek RE1 až RE8 cívky relátek jsou blokovány diodami D4 až D11.Výstupy IO2 : D0,D1 ovládají tranzistory T8,T7 a tyto pak cívky relátek RE1A,RE2A,výstupy IO2 : D2,D3 ovládají tranzistory T6,T5 a tyto pak cívky relátek RE3A,RE4A,výstupy IO2 : D4,D5 ovládají tranzistory T1,T2 a tyto pak cívky relátek RE5A,RE6A,výstupy IO2 : D6,D7 ovládají tranzistory T3,T4 a tyto pak cívky relátek RE7A,RE8A.Klidové kontakty relátek RE1A a RE2A jsou propojeny stejně tak i pracovní kontakty těchto relátek a na tyto vstupy označené „A“ a „B“ je připojeno napájecí napětí motorku středy těchto relátek jsou připojeny na motorek,stejně tak jsou zapojeny i zbývající relátka viz schéma zapojení na obr.č.2B.Takto zapojená relátka umožňují přepínat smysl otáčení motorků.Při zadání hodnoty 128 se začne otáčet motorkem jedním směrem a při zadání hodnoty 64 druhým směrem.V případě zadání hodnoty 128+64=192  se motorek zastaví protože relátka RE1A a RE2A sepnou a pracovní kontakty těchto relátek připojí motorek na stejný potenciál,stejně tak při zadání hodnoty „0“.Stejně se ovládají i ostatní motorky hodnoty zadáváme v rozsahu od 0 do 255 tato hodnota je maximální.

 

             

 

                                

  

       Seznam součástek modulu pro ovládání el.motorků : Rezistory R1,R2,R3…10K , R4,R6,R8,R10,R12,R14,R16,R18…4K7,

Tranzistory T1 až T8….BC337,Integrované obvody IO1..7805 , IO2…4094 , Diody D1,D2,D3…BZX 4V7 ,Diody D4 až D11…..1N4007 , Relé RE1 až RE8 typ.: M4-05H

 Kondenzátory C1,C2….100nF (keramika),C3…470uF/16V,Odrušovací kondenzátory pro motorky 100nF(keramika)…8Ks,Konektor dle použitého sériového portu,propojovací kabely délka dle vlastní potřeby.                 

 

                 Obr

 

                             Obr

      

  POPIS MODULU D/A PŘEVODNÍKU

         Schéma zapojení modulu je na obrázcích č.3 a 4, napájení modulu je napětím 15V až 24V DC napětí je stabilizováno pomocí IO1 na napětí 5V DC toto napětí napájí integrovaný obvod IO2 4094, řídící vstupy tohoto IO připojené na výstupy PC jsou chráněny před výstupním napětím sériového portu stabilizačními diodami D1 až D3 a rezistory R1 až R3 které společně s diodami stabilizují napětí na hodnotu 4.7V.Z napětí 15V až 24V DC  je vytvořen současně i symetrický zdroj +/- 12V pomocí rezistorů Ra,Rb a kondenzátorů Ca a Cb toto napětí napájí převodník IO5 D/A DAC08 napěťovou referenci IO4 MAC01 pro převodník a operační zesilovač IO6 MAA 741C.Výstupy tohoto symetrického zdroje jsou označeny : „C“,“D“,“E“.Výstupy D0 až D7 IO2 4094 jsou připojeny přímo na vstupy D0 až D7 převodníku D/A,u převodníku D/A je nejméně významný  bit (LSB)bit č.7 a nejvíce významný bit (MSB) bit.č.0,výstupy z D/A převodníku jsou zapojeny na vstupy č.2 a č.3 IO6 MAA741C.Výstup z IO6 je ukončen na nastavovacím trimru TP2 a na svorkovnici.Oživení D/A převodníku provedeme tak že po připojení přípravku a spuštěném programu zadáme hodnotu „0“ a trimrem TP1 nastavíme na výstupu IO6 č.6 nulu a při zadané hodnotě 255 pak plný rozsah 10V.

        

         Seznam součástek modulu pro D/A převodník :

Rezistory R1,R2,R3…10K ,

Integrované obvody IO1..7805 , IO2…4094 , Diody D1,D2,D3…BZX 4V7 , Kondenzátory C1,C2, ….100nF (keramika),C3…470uF/16V, Konektor dle použitého sériového portu,propojovací kabely délka dle vlastní potřeby.

D/A Převodník :

Rezistory : 4K7….2Ks , 5K6…1Ks , Kondenzátory : 100nF….3Ks (keramika), 33nF…1Ks(keramika) ,

Trim TP1….10K , TP2….22K víceotáčkový , IO4…..MAC01 , IO5….DCA08, 

IO6…MAA741C ,

 Symetrický zdroj :

Rezistory : Ra,Rb…470R/1W , Kondenzátory Ca,Cb…470uF/35V , IO3…7812 C4,C5…100nF(keramika) ,      

 

 

               Obr

 

           Obr

 

 

POPIS MODULU PRO OVLÁDÁNÍ KROKOVÉHO MOTORKU

         Schéma zapojení modulu je na obrázku č.5,napájení modulu je napětím 12V DC napětí je stabilizováno pomocí IO1 na napětí 5V DC toto napětí napájí integrovaný obvod IO2 4094, řídící vstupy tohoto IO připojené na výstupy PC jsou chráněny před výstupním napětím sériového portu stabilizačními diodami D1 až D3 a rezistory R1 až R3 které společně s diodami stabilizují napětí na hodnotu 4.7V,unipolární krokový motorek je napájen přímo napětím 12V DC toto napětí se bude lišit napětím pro ten či onen typ unipolárního krokového motorku.Výstupy D0,D1,D2,D3 z IO2 jsou zapojeny přímo na vstupy IO3 což je integrovaný obvod jehož výstupy snesou zatížení do 0.5A navíc jsou vybaveny záchytnými diodami což umožňuje ovládat i tento typ zátěže jako jsou krokové motorky.Výstupy z IO2 jsou ovládány postupně od D0 po D3 pro jeden směr otáčení a od D3 po D0 pro druhý směr otáčení krokového motorku.Použitý unipolární motorek v tomto zapojení je motorek z tiskárny o maximálním napájecím napětí 24V DC,počet kroků na jednu otáčku je 48,úhel kroku je 7.5 st.

 

         Seznam součástek modulu pro ovládání unipolárního krokového motorku

Rezistory R1,R2,R3…10K ,

Integrované obvody IO1..7805 , IO2…4094 , IO3…UL2803, Diody D1,D2,D3…BZX 4V7 , Kondenzátory C1,C2, ….100nF (keramika),C3…470uF/16V, Konektor dle použitého sériového portu,propojovací kabely délka dle vlastní potřeby.Unipolární motorek zde použitý je  Typ : PM35L-048 z tiskárny.

 

 

        

 

                  

 

 

 

 

 

 

 

 

 

 

  

                          Obr

  

 

 

 

POPIS PROGRAMŮ

         Programy jsou odladěny v Turbo Pascalu a mají názvy TEST.EXE ,IO.EXE a KROK.EXE jsou uloženy v podadresáři programy.Popis ovládání volby portu je shodný pro všechny programy po spuštění programu zadáme hodnotu portu kde je připojen modul.Tento volíme stiskem klávesy 1 až 4 stiskem klávesy 1 volíme port com č.1,stiskem klávesy 2 port com č.2 atd.Programy jdou spustit i pod OS Windows 95/98 zde máme možnost po startu(restartu) počítače klávesou 

 F8 zvolit volbu pouze DOS,nebo programy spustit pod spuštěným OS Windows z příkazové řádky.V případě OS Windows 2000XP/NT jdou programy spustit pouze z příkazové řádky pokud jsou Windows řádně nainstalovány.Pokud je na počítači pouze rozhranní USB je možné ovládat moduly i takto,tomto případě jdou programy spustit pouze  pod OS Windows s nainstalovaným ovladačem k převodníku USB.Je nutné aby převodník USB/COM podporoval všechny vstupy/výstupy jako běžný sériový port což některé převodníky USB/COM NEPODPORUJÍ.

         Popis ovládání programu TEST.EXE po volbě portu zadáme hodnotu čísla maximálně do 255 a stiskneme klávesu ENTER program zadanou hodnotu pošle do posuvného registru a ten ji převede na osmibitovou hodnotu a patřičné výstupy se uvedou do logické „1“.Pokud nyní stiskneme klávesu mezerník program automaticky nastaví výstupy do logické „0“,nyní můžeme zadat jinou hodnotu program ukončíme stiskem klávesy ESC,program TEST.EXE umožňuje ovládat všechny tři moduly.(Vyjma modulu pro krokový motorek)!!.

         Popis programu IO.EXE po volbě portu zadáváme celkem dvě hodnoty do dvou časů jako první zadáváme hodnotu za čas tj. dobu po kterou bude navolený výstup nebo výstupy posuvného registru 4094 sepnutý tzv.v logické „1“ po zadání stiskneme klávesu ENTER v druhém zadání zadáváme hodnotu po kterou budou všechny výstupy posuvného registru 4094 v logické „0“ po zadání hodnoty opět stiskneme klávesu ENTER a program sám již náhodně spíná výstupy v rozsahu 0 až 255 v navolených časech do doby než stiskneme klávesu MEZERNÍK a zadáme nové hodnoty za oba časy,program ukončíme stiskem klávesy ESC.Program IO.EXE umožňuje ovládat všechny tři moduly. .(Vyjma modulu pro krokový motorek)!!.

         Popis programu KROK.EXE po volbě portu zvolíme smysl otáčení krokového motorku tuto volbu provedeme stiskem kláves „L“ nebo „P“ stiskem klávesy „L“ volíme smysl otáčení doleva ,stiskem klávesy „P“ volíme smysl otáčení doprava toto nemusí souhlasit záleží na pořadí spínaných cívek v krokovém motorku pokud toto chceme dodržet provedeme přepojení cívek krokového motorku.Po volbě smyslu otáčení zadáváme počet kroků po zadaní počtu stiskneme ENTER dále zadáváme dobu klidu ta je v milisekundách tzv.pokud zadáme hodnotu „1“ je to jedna milisekunda,tato hodnota bude opět různá dle typu krokového motorku pokud j hodnota malá motorek se škube.Jako vhodná doba je zvolit hodnotu 5 a tu postupně snižovat až k hodnotě kdy se motorek přestává plynule točit.Po zadání této hodnoty stiskneme ENTER a motorek se bude točit dokud nedosáhne zadané hodnoty za počet kroků.pokud chceme změnit smysl otáčeni zadáme vyšší hodnotu počtu kroků a doby klidu abychom měli možnost než se motorek zastaví stisknout klávesu MEZERNÍK po stisknutí této klávesy motorek dokončí otáčení do hodnoty počtu kroků a pak se program vrátí do nabídky volby smyslu otáčení nebo můžeme program ukončit stiskem klávesy ESC.Program KROK.EXE umožňuje ovládat pouze modul pro unipolární krokový motorek.

         Program funguje tak že na IO2 posílá v pořadí čísla od hodnoty 128 po hodnotu 16 v jednom smyslu otáčení a v druhém smyslu otáčení pak čísla od hodnoty 16 po hodnotu 128. Hodnota která se bude posílat se připraví ve smyčce tato je v jednom smyslu otáčení dělena a v druhém smyslu otáčení je hodnota násobena.

        

         Zde uvedené programy pro ovládání modulů si nekladou za cíl konkurovat profesionálním programům pod Windows ani výrobkům které existují jako stavebnice  s těmito IO 4094,mají jenom umožnit s co nejmenšími náklady seznámení s binární logikou a ovládáním například posuvných registrů počítačem PC.

 

               Informace : vagnervlastimil@seznam.cz