Railnet

Závory (ale aj iné) ovládané pomocou SERVO motora a PIC

Modelovanie | Daniel Martanovič, 12. 08. 2011 (27045 zhliadnutí)

Podtext toho článku by napríklad kľudne mohol aj byť: "Návrat k programovaniu v jazyku Basic po 25 rokoch". Lebo nepojde o klasické PIC programovanie ako poznáme z článkov od Zdena - nie si tu jediný programátor Aj ja som.... Pôjde o čipy PICAXE. Čipy s bootloaderom programovateľné v BASIC.

 

Bootloader? Áno, čipy nie je nutné pripojiť k žiadnemu programátoru. Priamo z PC pomocou prevodníkového USB kábla, alebo normálneho RS232 konektora pripojiť jeden pin cez 2 odpory. Po zapnutí napájania čip počúva, či mu niekto niečo neposiela, ak áno stiahne to ako program. Ak nie je pripojené nič, to je jeden z tých 2 odporov - uzemňuje linku na zem, jednoducho bootloader spustí program. Samozrejme, že tento konfort aj niečo stojí, pamäť PICu je o bootloader zmenšená. Asi tak by som to laicky vysvetlil.

Čipy PICAXE sa dodávajú v šiestich veľkostiach:

    • 8 pin verzia - 5 i/o pins (1 analógový vstup).
    • 14 pin verzia - 6 výstupov and 5 vstupov (3 z nich môžu mať analógovú vlastnosť).
    • 18 pin verzia - 8 výstupov and 5 vstupov (3 z nich môžu mať analógovú vlastnosť).
    • 20 pin verzia - 8 výstupov and 8 vstupov (4 z nich môžu mať analógovú vlastnosť).
    • 28-pin verzia - 9-17 výstupov , 0-12 vstupov and 0-4 nezávislých analógových vstupov.
    • 40-pin verzia - 9-17 výstupov , 8-20 vstupov and 3-7 nezávislých analógových vstupov.

Všetko je na stránke http://www.rev-ed.co.uk/picaxe/ a vecičky som kúpil v ich šope http://www.techsupplies.co.uk/PICAXE, ktoré mi prišli skoro obratom (asi 4 dni) v bublinkovej obálke.


Toto mi prišlo v balíčku so súčiastok. Okrem súčiastok je v BASIC baličku ešte napájací kábel a držiak na 3 AA baterky. Okrem BASIC balíčku je nutné zakúpiť ČIPY 08M. Súčasťou balíčku za 19 £ + poštovné bol aj USB prepojovací kábel, nakoľko môj notebook už nemá RS232.


Takto to vyzerá zletované. Nič zložité. A ide sa programovať. Všetko podstatné je na CD. Ide o programátorský "NOTEPAD", priamo s tlačítkom na UPLOAD do PICu. Schéma je napríklad tu: http://www.rev-ed.co.uk/docs/axe024.pdf

Toto som zosmolil:

   symbol zavory_dole = 100
   symbol zavory_hore = 200
main:
   if input3 is on then
      servo 1,zavory_hore
   else
      servo 1,zavory_dole
   end if
   goto main

Keďže to nechodilo ako malo, musel som podľa návodu pridať aj väčší vyhladzovací kondík.


Tuto je už vidieť aj ďalší pokus s LEDkou, ktorú som si nechal blikať: Či všetko funguje.


Tu už je prototyp s dvoma servami.

Výsledný softík má cca 100 bytes. Toto by som v PIC nenaprogramoval. Taký dobrý ako Zdeno nie som. Riešil som aj to aby sa závory nespúšťali naraz a nedvíhali naraz. Ale v závese ako v skutočnosti. Ďalej program musel riešiť výpadok energie a teda počiatočný test prepínača, aby pri nábehu napájania závory necvakli. Je jasné, že závory pri spúšťaní a dvíhaní musia "cinkať". Preto som využil ešte jeden výstup z PICAXE na ovládanie cinkátka od MTBBUSa. Veľmi podarený modul, ďakujem Báňo .

    symbol servo_delay = 100
    symbol zavory_dol0 = 84
    symbol zavory_dol1 = 94   
    symbol zavory_hor0 = 119
    symbol zavory_hor1 = 129
   
main:
    high 0
    low 4
    if input3 is on then
        servo 1, zavory_hor0
        servo 2, zavory_hor0
        goto test_vypnute
    end if;
    servo 1,zavory_dol0
    servo 2,zavory_dol0   
test_zapnute:
    do
        if input3 is on then exit
        pause 200
        high 4
        pause 50
        low 4
    loop
   
zapnute:
    high 4
    low 0
    for b1 = zavory_dol0 to zavory_hor1
        if b1 => zavory_dol1 then
            let b11 = b1-zavory_hor1+zavory_hor0
        else
            let b11 = zavory_dol0
        end if
        if b1 <= zavory_hor0 then
            let b12 = b1
        else
            let b12 = zavory_hor0
        end if
        servopos 1,b11
        servopos 2,b12
        pause servo_delay
    next b1
    high 0
    low 4
test_vypnute:
    do
        if input3 is off then exit
        pause 50
        high 4
        pause 200
        low 4
    loop
   
vypnute:   
    high 4
    low 0
    for b1 = zavory_hor1 to zavory_dol0 step -1
        if b1 > zavory_dol1 then
            let b12=b1-zavory_hor1+zavory_hor0
        else
            let b12 = zavory_dol0
        end if
        if b1 > zavory_hor0 then
            let b11= zavory_hor0
        else
            let b11 = b1
        end if
        servopos 1,b11
        servopos 2,b12
        pause servo_delay
    next b1
    high 0
    low 4
    goto test_zapnute

 A ide sa montovať do modulu:


Pôvodná elektrika s vymeriavaním kde by som mohol umiestniť krabičku s elektronikou a kde budú servá.


Nový rozvod elektriky s ešte nenamontovanými servami.


Vnútro krabičky obsahuje cinkátko a PICAXE na ovládanie servomotorov. Aj dva stabilizátory napájania , keďže cinkátko potrebuje 12V a PICAXE 5V.


Detail na ozvučnicu reproduktora cinkátka. Ide o obal na spriahadlá pre TT Sergeja od Tilliga. Takto sa zruší akustický skrat a cinkátko bľačí ako divé a tie basy. Mňam. .


Komplet zapojenie. Samo, že som si tam nechal aj LED, ktorá mi bliká keď sa nič nedeje.


A moje závory na zástavke Drevovo alias Nákladka dreva Štátne lesy SSR.

Pekné cinkanie. Kto bol v Kokave už tak mohol učiniť . Ešte mi chýbajú tiahla k závorám, ale nedá sa všetko na jeden šup. Čo budem robiť zajtra ?

Váš

DanoM

[Akt. známka: 0,40 / Počet hlasov: 5] -      + 

Pridať nový komentár

Martin Ostruszka 16.08.2011 12:50:51

Servotron

Nabídka takových desek s procesorem a nahraným bootloadrem je povícero. Já například jsem vsadil na desku s konkurenčním processorem Atmel. Jde o desku Seeeduino vycházející s volného projektu Arduino. Desku, kterou mám a kterou lze koupit i u nás, jsem použil na vývoj aplikace, která umožňuje jak ovládání a nastavování až 10 serv, dále připojení tlačítek a LED diod (ovládací panel) a tzv.funkci stavového automatu, pomocí níž lze aplikovat zabezpečovací zařízení s danými zvolenými závislostmi a konfigurací a má i obdobu závěrové tabulky. Konfiguraci si lze vytvořit v připravené aplikaci v Excelu (jež je rovněž simulátorem...) a poté nahrát do desky. Pak už jen stačí zabudovat do kolejiště/modulu. Tudíž výměny, mechanické návěstidla a předvěsti, závory, vrata depa a jiné věci si ovládají serva, tlačítky/přepínači ovládáte ZZ a LEDky signalizují stavy. Ideální pro modulové stanice. Připravuji podrobnější popis pro případné zájemce. Cena základní desky Seeeduino - pouze 500 Kč.

Reagovať

zdeno 21.08.2011 13:26:10

gratuluji a vitam te ve spolku.
---
Skoda, ze PIC nemam moc v laske a doufam, ze se neco naucis ode mne a ja se neco naucim od tebe ;)
---
Mam doma spoustu PIC svabiku a zatim mne nic nedonutilo s nima pracovat.

Reagovať

Ondro 22.08.2011 16:34:32

AVR vs. PIC

Ahojte,

ani ja nemam PIC v laske, AVR ATmega, pripadne ATtiny su vybavene daleko lepsie. Mnohe, co musi PIC riesit pomocou SW, ATmega/tiny ma HW implementovane. Bootloader by tiez nebol problem, da sa najst kopec verzii na internete.

Horsie je to so SW pre PC, kedze dnes si uz neviem ovladat porty ako kedysi a USB je pre mna black box.

PIC s booatloaderom a Basicom je vsak na mensie aplikacie celkom prijemna a hlavne lacna hracka. AVR procesory su predsa len drahsia zabavka. Dosiek s nimi je hromada, vyznacuju sa hlavne tym, ze obsahuju aj dalsie obvody.(RS232, USB a pod.)

Samozrejme, ze programovanie vo vyssich jazykoch je mozne, vo vacsine ide o kompilatory. AVR Studio (assembler) sa da stiahnut priamo zo stranok Atmelu, ma to aj podporu C, takze vyvojove prostredie je v podstate zadarmo. Existuje aj BASIC pre AVR (BASCOM AVR), ten je vsak plateny, aj ked cena je znesitelna - okolo 80E. Program z BASCOM AVR je simulovatelny velmi dobre v AVR Studio, pekne vidiet, ako je

Reagovať

Ondro 22.08.2011 16:38:01

Limit na dlzku komentara?

Nejako mi to odmazalo znacny kus komentara....
Su tu nejake limity?

Reagovať

zdeno 22.08.2011 18:33:38

nesmis psat vic, nez se vejde do okenka ;)
---
ja mam Bascom a mam ho education , takze tak nejak FREE. Nesmim ho pouzivat na komerci, proto vsechno delam pod licenci GML a zasadne bez jakehokoli poplatku. Jinak na 2313 staci FREE verze do 2k kodu. Jinak ho doporucuji, je lepsi nez C-cko, ale to jak kdy. Jako vsechno, musi se s tim clovek naucit delat.

Reagovať

Ondro 23.08.2011 09:36:10

AVR

Mne nevyhovovala limitacia 2k kodu,
takze som si kupil licenciu na domace pouzitie.

NA BASCOM mi vyhovuje, ze je tam podpora vsetkeho mozneho, co by som si v C-ku musel naprogramovat sam.
(I2C, 1Wire, Servo, LCD displeje, ba dokonca TCP/IP, USB, ma to aj maly AVR DOS pre procesory s min 4k RAM, takze k tomu pripojim aj USB kluc ci SD-kartu...)

Kedze aj ja uz dlhu dobu vyrabam ovladanie zavor, ak dospejem k nejakemu vysledku, ozvem sa. Kriticke je vsak vyrobit tie zavory, nie tu elektroniku. A vopchat 3 ledky do vystraznika... Predsa len je to v N-ku male... :-)



Reagovať

harmi 23.08.2011 15:39:29

Re: AVR

Nuz tak potom svetlovody a vysokosvietive ledky pod povrch. Lahsie sa to aj vymiena po odpaleni....

Reagovať

Milan (Prizrak) 25.08.2011 07:48:56

LED v N-kovych zavorach

Ondro: skus sa popozerat po SMD LEDkach o velkosti 1.5x1.6x1.1mm. Mal som niekde link na dodavatela ale neviem ho najst, viem ze tam boli v ponuke dokonca RGB LED v tejto velkosti. V jednofarebnom prevedeni boli tusim este aj mensie.

Reagovať

Ondro 25.08.2011 10:46:06

PIC VS ATMEL

LED-ky si skusim pozriet. Dik za tip.

Jedine, co mi trosku na Atmeloch vadi, ze vsetky vyssie verzie su v prevedeni SMD a tym padom tazko pouzitelne v amaterskych podmienkach. Tie minipidi piny uz nedokazem pajkovat, aj keby sa mi na to podarilo vymysliet plosak.

Obcas sa mi podari najst dajaku dosku, ktora ma piny vyvedene v rastri 2,54mm, ale nie je ich vela. Tu, co sa mi pacila najviac (Atmega128), som objednaval z Holandska za necelych 20Euro, ale medzicasom ju uz na tych strankach nevidno. Dosku s ATmega2560 som zas objednaval z Rakuska, ale stala znacny sumu. Ma uz aj 4 rozhrania RS232, event. 3*RS232 + USB a suflicek na mini SD-kartu...
Uz len dat dokopy cas a bastlicsku naladu.

Reagovať

Ondro 25.08.2011 10:53:32

Zavory

Dano,

ako spustas zavory - rucne zo stanice?

Ak som dobre cital, tak PZZ z Brna vie aj automatiku v spolupraci s kolajovymi obvodmi.

Ja mam tip od Michala Petrilaka, jemu sa podarilo dostat do jedneho ATmega jednak logiku, jednak zvuky a zaroven ovladanie LED (pomocou PWM). Pri hladani riesenia sme obaja nahodou vybrali ten isty procesor, takze program budem moct po malej uprave obvodov (iny krystal a ine porty) pouzit aj so svojim HW. Akurat ovladanie serva tam nema (uz na to nema ani volne piny), to si budem musiet dobastlit.

Ak sa to podari, pokusim sa spisat, co som to stvoril.

Reagovať

Ondro 25.08.2011 10:57:24

Este link na PZZ od Michala Petrilaka


http://galileo.fme.vutbr.cz/elektronika/files/na vod_PZZ_AZD71.pdf

Reagovať

Ondro 25.08.2011 10:59:46

Oprava linku

Sorry, dostala sa tam nechcena medzera.

http://galileo.fme.vutbr.cz/elektronik a/files/navod_PZZ_AZD71.pdf

Reagovať

OMEGA 26.08.2011 14:36:24

Spustanie zavor...

...zabezpecuje obsluha stanice, ta predsa najlepsie vie, kam az sa bude posunovat a ci nieco vpustaju do stanice alebo nieco odchadza.
Myslim, ze automatika vsetko iba skomplikuje.

Reagovať

zdeno 26.08.2011 20:26:15

pokud by byl zajem, muzem udelat kurs o RISC procesorech, ale je tolik literatury, ze mi to pripada zbytecne. Navic se stejne nedovis o "spekoch", ktere jsou vseobecne zname, ale zrovna ty o nich nevis. ;)
---
Treba "FUSES" jsou dost problematicke a hlavne pouziti vyssich bitu je nekdy na nervy. Informace jsou zasadne roztrousene po celem datasheetu a dohledat je nekdy, vetsinou tehdy, kdyz to nefunguje, pakaren.
---
Ja jsem zamereny na 20 a 28 vyvodove Atmely a nepredpokladam prechod na jine typy.

Reagovať

Ondro 30.08.2011 13:30:22

automatika

Vrato,
ono to s tou automatikou nemusi byt nijaky extra problem.

Pokial su zavory sucastou stanice, bude automatika zapojena do stanicneho zab.zar. (Ak nejake mate.)
Inak rucne prepinacom, ak zab.zar. neexistuje.

Na volnej trati ta automatika zas nic velmi nekomplikuje.

Predpoklad toho je, ze vsetky vozidla maju odber prudu, t.j. odporovym lakom nalakovane (ev. SMD odporom vybavene) napravy. (To je zas komplikacia casoveho chrakteru...)

V Zababove zatial jedina sekcia N-scale to takto dosledne ma, pokial viem, v TT je len minimum stanic, ktore vyuzivaju kolajove obvody a v H0 je to podobne ako v TT.

Nam N-karom sa dokonca podarilo presvedcit nemeckych kolegov na patlanie naprav, takze u nas funguje zab. zar. k plnej pokojnosti.


Reagovať

Ondro 02.09.2011 11:27:27

automatika

Pokial modelujeme mech. zavory, tam je to jasne.
Uplne vysperkovane by to bolo, keby sa na ovladanie zavor pouzil inkrementalny snimac a krutenim kluky by sa zadavala servam poloha. To by sa mi pacilo. (Kedze mechanik nie som, vlastne by sme nahradili mechanicky prevod elektrickym, hahahah.)

Pokial by sme modelovali PZZ na sirej treti, tak tam uz v ep. IV veselo fungovali zavory s kolajovymi obvodmi. Takze automatika uz veselo fungovala.

Takze by som to nezatracoval...

Reagovať

Nowak 15.01.2013 13:05:23

Vyhlazovací kondík

Prosím o informaci, jaké kondenzátory a s jakými hodnotami jste použil. Mám něco podobného a servo se mi škube. Děkuji

Reagovať

Pridať nový komentár