Elektrotechnika

Výber elektrotechnických programov v otvorenom prostredí sa rôzni. Sú oblasti, v ktorých je programov na výber veľa, sú však i oblasti, kde ich je menej. Rôzna je i kvalita existujúcich programov. Pre uľahčenie výberu a orientácie, nájdete v tejto časti predstavenie a popis niektorých z nich.

Pre oblasť softvéru, zaoberajúcu sa elektrotechnikou, či elektronikou, je zaužívaná skratka gEDA, čo voľne preložené možno chápať ako GPL programy pre prácu s elektro(tech)nikou. Tieto programy v sebe zahŕňajú nástroje od kreslenia schém zapojení, cez návrh plošných spojov až po simuláciu elektronických obvodov. Avšak súbor programov gEDA, nie sú jediné programy v tejto oblasti dostupné pod GPL alebo podobnou licenciou.

Nie všetky programy cielené na elektrotechniku sú vhodné do školského prostredia, keďže niektoré sú cielené pre vedecké účely.

KTechLab

KTechLab je simulačný program, ktorý poskytuje simuláciu analógových i číslicových obvodov v grafickom používateľskom rozhraní v reálnom čase.

Charakteristika

KTechLab je integrované vývojové prostredie pre spracovanie analógových a digitálnych elektronických obvodov, základné programovanie mikroradičov PIC. Je to otvorená aplikácia (OSS), uvoľnená pod licenciou GNU GPL, cielená primárne pre použitie na vzdelávacie alebo amatérske účely. Program poskytuje prehľadné grafické rozhranie, v ktorom je možné tvoriť obvody pomocou operácií Drag&Drop.

Program KTechLab je primárne vytvorený pre pracovné prostredie KDE (v. 3.5), ale je plne funkčné aj v novom KDE, či v iných prostrediach.

Základné možnosti

  • simulácia analógových obvodov (rezistory, kondenzátory, cievky, diy, tranzistory, operačné zosilňovaše, ...);
  • simulácia digitálnych obvodov (hradlá, sekvenčné obvody, ...);
  • simulácia programu PIC (assembler, hexa, microbe, diagram);
  • pripojenie vizuálnych prvkov (LED, 7-segmentový displej, maticový displej, ...);
  • pripojenie meracích prístrojov (voltmeter, ampérmeter, osciloskop);
  • kompiláciu programu a programovanie PIC (pomocou externých programov).

Ukážka prostredia

 Grafické prostredie programu je vytvorené pomocou toolkitu Qt a okno programu ponúka prehľadné rozmiestnenie grafických prvkov:

 

Pracovné prostredie KTechLab

  1. Projekt: karta so súbormi projektu.
  2. Súčiastky: karta s dostupnými elektronickými súčiastkami, zoradené podľa typu.
  3. Prvky diagramu: karta s prvkami vývojového diagramu pre programovanie PIC.
  4. Okno karty: obsah sa mení podľa zvolenej karty (na obrázku karta Súčiastky).
  5. Správy: okno systémových správ.
  6. Osciloskop: okno osciloskopu.
  7. Stavový riadok: zobrazuje rôzne informácie o stave systému.
  8. Editor položky: karta pre úpravu vlastností súčiastky.
  9. Kontextový pomocník: karta s pomocníkom pre vybranú položku.
  10. Zobrazovač symbolov: karta pre zobrazenie symbolov.
  11. Pracovná plocha: priestor pre simuláciu obvodov, či tvorbu programov pre PIC.

Inštalácia

Windows

Program KTechLab nemá verziu pre Windows, a podľa mojich informácií sa takáto verzia ani nechystá.

Linux

Z úložiska distribúcie

Avšak v Linuxe je KTechLab súčasťou mnohých distribúcií, preto stačí použiť balíčkovací systém. Napríklad v Debiane to môže vyzerať takto:

1, zaktualizovať databázu úložiska:

aptitude update

2, nainštalovať program:

aptitude install ktechlab

Zo stiahnutého balíka

Pokiaľ používate stabilnú vetvu Debianu (Debian stable), môžete skúsiť pozrieť, či nie je v testingu alebo stable novšia verzia, a túto si stiahnuť. Takto stiahnutý balík potom možno nainštalovať pomocou nástroja dpkg:

dpkg -i cesta/ktechab_cislo_verzie.deb

Inštalácia pomocou nástroja dpkg zo sebou prináša riziko nesplnených závislostí, pretože balík deb môže závisieť na novších verziách už nainštalovaných balíkov, prípadne na balíkoch, ktoré ešte nainštalované nie sú. Niekedy môže pomôcť spustiť:

aptitude install

Zo zdrojového kódu

Pokročilejší používatelia si môžu nainštalovať KTechLab zo zdrojového kódu, ktorý možno stiahnuť zo stránky projektu na SourceForge.net. Postup inštalácie je popísaný v pribalenom súbore INSTALL a určite ho neodporúčam začiatačníkom. Na uvedenom odkaze je k dispozícii archív ako poslednej verzie, tak i archív snímky SVN.

Pre vytvorenie lokálnej kópie svn úložiska je možné použiť príkaz:

svn co https://ktechlab.svn.sourceforge.net/svnroot/ktechlab/trunk ktechlab

Po vytvorení lokálnej kópie (v adresári ./ktechlab) je treba vygenerovať konfiguračný skript pomocou:

make -f Makefile.cvs

a potom už len použiť klasický postup:

./configure
make
make install

Upozorňujem, že pre kompiláciu programu bude treba asi doinštalovať mnoho závislostí, preto znova opakujem, že nie je vhodná pre začiatočníkov.

Používanie

Podľa mňa je používanie KTechLab intuitívne, teda aj bez návodu by ste prišli na to ako ho používať. Napriek tomu tu uvediem niekoľko základných postupov, ktoré môžu uľahčiť začiatky, najmä, začínajúcim používateľom.

Vytvorenie projektu

Vytvorenie projektu nei je povinný krok. Projekt je akési zoskupenie súborov, ktoré logicky patria k sebe (ale nemusia). Pre projekt je vhodné (nie však nutné) vytvoriť samostatný adresár. Ak ho nemáte pripravený pred vytvorením projketu, je možné ho vytvoriť z dialógu pre výber adresára (Umiestnenia). Pre prácu s projektmi slúži menu Projekt, v ktorom je položka Nový projekt. Táto voľba otvorí dialóg:

Nový projekt

Do tohoto dialógu stačí zadať meno projektu a vybrať pre neho vhodný adresár. Vytvorenie si projektu v sebe nesie výhodu vtedy, keď pracujete s viacerými súbormi (napríklad pri simulácii PIC), keď je možné všetky potrebné súbory otvoriť naraz, otvorením projektu. Ďalšou výhodou je to, že všetky súbory projektu sú dostupné v pravej časti okna, na karte Projekt.

Po vytvorení projektu sú všetky novo vytvorené (a uložené) súbory automaticky pridané do porjektu, ale je možné (z menu Projekt) pridať práve otvorený súbor alebo iný, už existujúci, súbor. Opatrne voľte túto možnosť pri bežnej simulácii, v zmysle pridania viacerých obvodov, pretože po spustení KTechLab je automaticky spúšťaná simulácia a to môže pri viacerých obvodoch dosť zaťažiť procesor...

Vytvorenie súboru

Vytvorenie projektu povinné nie je, ale ak chcte s KTechLab niečo robiť, musíte mu vytvoriť súbor. Nový súbor možno vytvoriť z menu Súbor -> Nový, ale aj kliknutím na ikonu na paneli nástrojov. Obomi spôsobmi sa otvorí tento dialóg:

Nový súbor

Ako sami môžete vidieť, je možné si vybrať z viacerých typov súborov:

  • asm – textový súbor s kódom asembléra (pre PIC);
  • c – textový súbor s kódom C (tiež pre PIC);
  • circuit – súbor pre simuláciu elektronických obvodov;
  • flowcode – súbor pre grafický návrh programu rpe PIC;
  • microbe – textový súbor s kódom Microbe pre PIC (podobný jazyku Basic).

Pokiaľ sa nechystáte robiť simulácie s mikroradičom PIC, tak si vystačíte bez projektu s prostým súborom typu circuit, ale i tak je dobré pripraviť si pre tieto súbory samostatný adresár. Pokiaľ sa chystáte simulovať PIC, tak budete potrebovať súbor cicuit a minimálne jedn súbor pre kód a budete si tiež vybrať typ mikroradiča, ktorý je na obrázku nedostupný.

Nový súbor možno vytvoriť aj tak, že na ikonu pre nový súbor v paneli nástrojov nekliknete, ale trochu dlhšie stlačené tlačítko podržíte a tým sa Vám zobrazí menu, pomocou ktorého si môžete zo spomínaných typov súborov vybrať priamo.

Simulácia obvodov

Pre simuláciu obvodov pomocou programu KTechLab treba jednoducho začať vytvorením nového súboru pre obvod, tak ako to je podpísané v predchádzajúcom článku. Predvolene sa automaticky po otvorení súboruovtorí v ľavom bočnom paneli karta so súčiastkami. Rovnako je predvolene po otvorení súboru (aj existujúceho) automaticky spustená simulácia.

Dostupné súčiastky

Súčiastky, ktoré môžu byť použité pre simuláciu obvodov sú dostupné v ľavom bočnom paneli, na karte Súčiastky. Jednotlivé súčiastky sú v tejto karte prehľadne rozdelené do niekoľkých kategórií:

  • Zdroje – rôzne zdroje napätia i prúdu, a to jednodmerné i striedavé.
  • Pasívne – pasívne súčiastky, ako rezistor, kondenzátor, cievka a podobne.
  • Diskrétne – polovodiče, ako dióda a bipolárne i unipolárne tranzistory.
  • Prepínače – rôzne prepínače a tlačidlá.
  • Výstupy – optické výstupy (LCD a displeje), meracie prístroje a snímače pre zabudovaný osciloskop.
  • Logické – hradlá, tlačidlo logického vstupu, indikátor logického výstupu, či hodinový signál.
  • Spojenia – sériový a parlalný port a podobne.
  • Integrované obvody – rôzne analógové i číslicové integrované obvody.

Tvorba obvodu

Obvod možno jednoducho vytvoriť prostým pretiahnutím zvolenej súčiastky na plochu dokumentu. Ak je potrebné vložiť viacero súčiastok rovnakého typu, môžete samozrejme ťahať jednu súčiastku po druhej. Alebo môžete dvojklikom poklikať na súčiastku v zozname a potom je pri každom kliknutí do dokumentu vložená jedna súčiastka. Ukončenie tohoto viacnásobného vkladania možno dosiahnúť kliknutím pravým tlačidlom.

Spájanie súčiastok

Spájanie súčiastok sa robí myšou. Jednoducho presuniete kurzor nad vývod súčiastky. To že ste na správnom mieste spoznáte podľa zmeny tvaru kurzora na krížik (aspoň v mojej téme kurzorov) a zobrazí sa aktuálna hodnota napätia a prúdu, ktorá je v tomto mieste. Keď v tomto okamžiku stlačíte ľavé tlačidlo myši a začnete ťahať, vytvárate vodič, ktorý má čiernu farbu, ale len do okamžiku, kým kurzor (a teda i vodič) nepretiahnete nad iný vývod súčiastky. V tomto okamžiku sa farba vytváraného vodiča zmení na oranžovu, čím Vám KTechLab dáva najavo, že je možné vytvoriť vodič. Spojenie možno samozrejme vytvoriť nie len k vývodom súčiastky, ale i k už existujúcim vodičom.

Výber režimu spojeníPredvolene sú trasy vodičov kreslené automaticky. To znamená, že naozaj stačí vybrať začiatok a koniec a KTechLab vyberie cestu vodiča v schéme sám, ale... Nie vždy je tá cesta vhodná, či estetická, a to najmä ak zmeníte rozloženie úž pospájaných súčiastok. K dispozícii je i režim ručného kreslenia a jeho výber je možný z panela nástrojov (ako na obrázku vpravo).  V ručnom režime začína kreslenie rovnako, výberom počiatočného bodu a potom jednotlivými kliknutiami určujete body zalomenia čiary a takto pokračujete až do koncového bodu. Pre úplnosť ešte spomeniem, že pokiaľ sa prepnete z ručného späť do automatického režimu a presuniete súčiastky, sú vodiče opäť prekreslené automaticky.

Pokiaľ potrebujete zrušiť kreslenie vodiča, prosto kliknite pravým tlačidlom myši. Keď potrebujete vodič zmazať, označíte ho myšou. Ako? Klasicky ako sa robí bežný pravoúhly výber (naproti tomu súčiastky možno vybrať aj prostým kliknutím) a potom stlačíte klávesu DEL.

Úprava súčiastok

Kontextové menu súčiastkyPo vložení treba často súčiastky otočiť a nstaviť im niektoré parametre. Začnime otočením. Iste ste si všimli na paneli nástrojov dve tlačidlá v tvare zatočenej šípky vľavo i vpravo. Tie slúžia na rotáciu súčiastky proti smeru respektíve v smere hodinových ručičiek. Toto otočenie je dostupné aj v kontextovom menu súčiastky. V hornom menu Nástroje sú dostupné ešte dve ďalšie voľby, pomocou ktorých možno súčiastku preklopiť vodorovne či zvislo.

Podorbná úprava parametrovOkrem orientácie súčiastky treba často meniť aj jej parametre, a tie možno meniť na dvoch miestach. Základné vlastnosti sú po výbere súčiastky dostupné v hornom paneli (pri paneli nástrojov). Nájdete tam len základné parametre súčiastky, ako napríklad farba LED, odpor rezistora, kapacita kondenzátora a podobne.

Podrobné vlastnosti súčiastky sú dostupné v pravom bočnom paneli, na karte Editor položky. Nie pre všetky súčiastky tam nájdete viac parametrov ako v hornom menu, ale pre mnohé áno. Záleží od typu súčiastky...

Ako ste si možno všimli, v dolnej časti Editora súčiastky je k dispozícii celkom osem tlačidiel, pomocou ktorých je možné detailne nastaviť otŕientáciu a preklopenie súčiastky. Podľa mňa oveľa pohodlnejšie ako cez kontextové, či systémové menu.

Na záver už len spomeniem, že pre vymazanie súčiastky je treba ju označiť, napríklad kliknutím a potom stlačiť klávesy DEL.

Nastavenie simulácie

No a celkom na záver už len drobná ukážka nastvení simulácie. Samotné nastavenie KTechLab ponúka dosť podrobné možnosti doladenia rôznych vecí, z ktorých sa však väčšina týka kompilácie programu pre mikroradič, či nastavenia programátora.

Napriek tomuto sú na karte nastavení, ktorá je dostupná z menu Nastavenia -> Nastavenie KTechLab, dve karty, ktoré majú vzťah práve k simulácii obvodu. Tou prvou je karta Všeobecné a myslím, že jednotlivé jej voľby sú samovysvetľujúce, veď pozrite sami na obrázok. Druhá kartou, ktorá je zaujímavá, nesie meno Logické. Tu chcem upozorniť najmä na voľbu Tvar logických značiek, pomocou ktorej je možné vybrať, či budú použité staré (oblé) značky, alebo nové – hranaté (presuňte myš nad, pre zmenu karty):

Všeobecné nastavenia

Príklady

A aby som nezabudol, v menu Pomocník je podmenu Príklady, v ktorom nájdete viacero príkladov, ktoré sa inštalujú spolu s KTechLab a môžu pomôcť pri vytvorení si predstavy, čo všetko je možné v tomto programe nasimulovať.

Simulácia PIC

Integrované obvody PIC sú obľúbené mikroradiče, používané v mnohých konštrukciách. KTechLab umožňuje ich simuláciu v reálnom čase, podobne ako simuláciu bežných obvodov, pričom má rozhranie pre simuláciu mikroradičov 16F84, 16F627 a 16F628. Tí, ktorí sa tom aspoň trochu orientujú vedia, že sa jedná o veľmi podobné (až skoro rovnaké) obvody.

Simulácia  PIC je komplexná, teda vrátane jeho programu, pričom tento môže byť napísaný pomocou viacerých jazykov:

  • Jazyk C (.c);
  • Assembler (.asm);
  • Microbe (.microbe) – jazyk podobný jazyku Basic;
  • FlowCode (.flowcode) – grafické programovanie.

Príprava simulácie

Zatiaľ čo sme si pri simulácii bežných obvodov vystačilis jediným súborom. Pre simuláciu PIC sú potrebné súbory minimálne dva:

  • súbor obvoddu – circuit;
  • súbor programu. 

Keďže sa simulácia PIC skladá vždy minimálne z dvoch súborov (obvod a program), je dobré využívať výhody Projektu, ale jeho použitie nie je podmienkou. Pri vytváraní nového projektu (menu Projekt) je dôležité si uvedomiť, že zvolené meno bude pretransformované na meno adresára (ako vidno na obrázku) a podľa toho aj voliť použité znaky – vyvarovať sa používanie medzier a interpunkcie (nie preto, že by s tým KTechLab nedokázal pracovať, ale preto, že to nie je správne).

Nový projekt

Pred začiatkom simulácie je potrebné sa najprv rozhodnúť v ktorom jazyku bude program pre PIC a podľa toho vytvoriť nový súbor. Pokiaľ chcete vytvárať program graficky, pomocou FlowCode, je treba sa už vopred rozhodnúť, pre ktorý typ procesora bude program určený:

Nový súbor

Ak chcete aby bol nový súbor automaticky pridaný i do projektu, nezabudnite zaškrtnúť voľbu "Pridať do projektu". Ak neviete, ktorý typ procesora si zvoliť, použite 16F627/8. Mikroprocesor 16F84 je z nich najstarší a najdrahší...

Tvorba programu

Prvky diagramu

Samotnú simuláciu je treba vždy začať vytvorením súboru s programom. Pri súboroch iných ako FlowCode je treba program začať definíciou typu procesora, pri FlowCode to volíme pri vytvorení súboru.

Myslím, že najmä zo začiatku je naozaj výbronou voľbou programovanie pomocou FlowCode, čo je akási obdoba vývojových diagramov, pomocou ktorých možno celý program navrhnúť graficky – jednoduchým preťahovaním a spájaním prvkov diagramu.

Na obrázku vpravo môžete vidieť všetky dostupné prvky diagramu. Aj tieto sú, podobne ako súčiastky, prehľadne rozdelené do niekoľkých kategórií v stromovej štruktúre.

Jednotlivé prvky diagramu možno myšou popreťahovať do plochy súboru a potom pospájať rovnakým spôsobm, ako sa spájajú súčiastky v simulácii obvodu. Teda presunúť myš nad prípojný bod (až sa kurzor zmení na krížik), kliknúť a ťahať do druhého prípojného (koncového) bodu. Pokiaľ počas ťahania opätovne kliknete myšou, bude v tomto mieste vytvorené zalomenie spojnice. Zrušenie kreslenia spojnice možno dosiahnúť kliknutím pravým tlačítkom myši.

Aj odstraňovanie prvkov je podobné ako pri obvodoch, tzn. označiť príslušný prvok (alebo spojnicu) myšou a stlačiť kláves Delete.

Program FlowCode musí vždy začínať prvkom Štart, ale nemusí vždy končiť prvkom Koniec. Zdá sa Vám to mätúce? Pravidlo pre (ne)použitie prvku Koniec je jednoduché – pokiaľ program nemá končiť (je to nekonečná slučka), nemusí obsahovať prvok Koniec, v opačnom prípade ho obsahovať  musí!

Mnohé prvky diagramu možno nastaviť (prispôsobiť) potebám programu. Možnosti nastavenia sa líšia podľa typu použitého prvku, ale jedno majú spoločné – nastavenia sa vždy objavujú (po vybratí prvku) v paneli nástrojov (hore). K najbežbejším možnostiam nastavenia patria:

  • použitý pin portu;
  • stav pinu;
  • dĺžka pauzy;
  • meno premennej a podobne.

Nastavenie PIC

Nastavenia PICOkrem samotného programu je v okne súboru k dispozícii aj obrázok PIC, ktorý v grafickej podobe ukazuje aktuálne nastavenie PIC:

  • stav pinu (high/low) a
  • typ pinu (vstup/výstup).

Ako môžete sami vidieť, nastavenie pinu je indikované šípkou, pričom smer šípky udáva smer toku dát – šípka dnu je vstup a šípka vona zase výstup. Stav pinu zase udáva jeho farba. Ak je pin v stave high (logická 1), má červenú farbu. Pričom intenzita červen farby rozlišuje stav high na vstupnom a výstupnom pine. Na obrázku vpravo je výstupný pin RA1 v stave high. Všetky ostatné piny sú vstupné, pričom pin RA0 je tiež v stave high.

Zmenu stavu možno docieliť kliknutím myšou na obdĺžniček pinu. Podľa popisu v programe, ťahaním šípky vľavo(vpravo by sa malo dať zmeniť nastavenie pinu (vstup/výstup), ale toto mi nefunguje. Pokiaľ teda treba zmeniť nastavenie pinu, poslúži tlačidlo Pokročilé...

Po kliknutí na toto tlačidlo sa otvorí dialógové okno, kde možno klasickým psôsobom (teda pomocou 0 a 1) nastaviť nielen typ a stav pinu (registre TRISx a PORTx), ale i nastaviť počiatočné premenné premenných a vytvoriť mapu pinov. Mapa pinov slúži na pripojenie PIC so zariadeniami ako je klávesnica, či 7-segmentový zobrazovač.

Simulácia programu

PIC v KTechLabPo vytvorení súboru s programom ho možno priradiť PIC. Samotný obvod s PIC si môžete do obvodu pridať aj skôr, ale až po priradení súboru s programom sa v obvode objavia príslušné piny, ku ktorým už možno bežným spôsobom pripojiť ostatné súčiastky. Súbor s programom možno vybrať z rozbaľovacieho menu v paneli nástrojov, teda tam kde sú nastavenia aj ostatných súčiastok.

Na obrázku môžete vidieť PIC 16F628 s jedným logickým výstupom, pripojeným na port RA1. Pod samotným PIC sú štyri tlačítka, ktorých význam (zľava doprava) je:

  • Spustenie simulácie,
  • Prerušenie simulácie,
  • Zastavenie simulácie,
  • Znovunačítanie programu.

Príklad programu

Pre inšpiráciu prikladám ukážku programu FlowCode, ktorý bliká LED, pripjenou na pin RA1 s intervalmi 500 ms:

Blikač