Ahoj vespolek.
Udělal jsem jednoduchý dekodér, který je sice velmi zábavný, ale netuším, jestli je k něčemu užitečný.
Hardware je jeden procesor PIC12F629 a dvě relátka.
Dekodér umožňuje nastavit dvě nezávislé adresy (pro každé relátko jednu). Každému relátku se dá nastavit čas sepnutí (v rozsahu 10ms až 655.35 sec a pochopitelně nekonečno).
U každého relé se nastavuje, jestli reaguje na směr "+" a nebo "-", takže pokud nastavím na obou relé stejnou adresu, ale jedno nastavím na "+" a druhé na "-", tak mám dekodér pro jeden elektromagnetickej přestavník. Nebo třeba když nastavím na obou čas na nekonečno, tak mám dekodér pro dva motorové přestavníky.
... a nebo něco jiného.
Ten dekodér je zajímavej zejména tím, jak se chová k adresám. Snad to bude zřejmé popisu CV.
;CV1 ; Primární adresa spodní část - virtuální CV, mapován indexem
CV3 ; Čas sepnutí výstupu 1 Horní část
CV4 ; Čas sepnutí výstupu 1 Spodní část
CV5 ; Čas sepnutí výstupu 2 Horní část
CV6 ; Čas sepnutí výstupu 2 Spodní část
CV7 ; Verze (pouze pro čtení)
CV8 ; ID výrobce (pouze pro čtení)
;CV9 ; Primární adresa horní část - virtuální CV, mapován indexem
CV15 ; zámek dekodéru (část klíč)
CV16 ; zámek dekodéru (část zámek)
CV29 ; Konfigurace (BIT7 = accessory decoder) (nepoužívá se, norma vyžaduje)
CV33 ; Index --> mapuje která adresa bude v CV1/CV9 (hodnota 0 = adresa z CV34/CV35, hodnota 1 = adresa z CV36/CV37)
CV34 ; Primární adresa spodní část - dekodér 1
CV35 ; Primární adresa horní část - dekodér +
CV36 ; Primární adresa spodní část - dekodér ě
CV37 ; Primární adresa horní část - dekodér 2
CV38 ; Bitová konfigurace
; BIT0 (1) Výstup 1 0 = normál 1 = obrácený směr
; BIT1 (2) Výstup 2 0 = normál 1 = obrácený směr
; BIT2 (3) ACK do relátek 0 = použít pouze výstup ACK 1 = přidat také relátka do ACK
Takže index v CV33 určuje, které z fyzických CV (34 nebo 36) se zobrazují jako CV1, respektive CV 35 nebo 38 s zobrazuje jako CV 9.
A to platí jak pro zápis, tak pro čtení.
Ještě jak se počítá čas = 10ms * ( CV4 + 256 * CV3 )
hodnota 0 znamená nekonečno
Jedna otázka je, jestli se takový dekodér k něčemu dobrej je otázka, ale já jsem si spíš chtěl nějak vyzkoušet jak udělat dekodér s více adresama.