Ovládání návěstidel

Pivrnec78
Příspěvky: 73
Registrován: 30 dub 2017, 15:25

Re: Ovládání návěstidel

Příspěvek od Pivrnec78 »

Já se obávám, že jste se špatně pochopili, kolega Pivrnec78 asi nechce předělávat návěstidla, ale donutit PICAXE ke generování protokolu s-com.
Ano, celou dobu řeším, jak donutit Picaxe pracovat s hotovou deskou toho návěstidla ...

Pokud by se dalo návěstidlo tak, jak je přepsat, aby to fungovalo na vyšší rychlosti, musel bych najít někoho, kdo mi vytvoří program, protože jazyk pro PIC neumím. Nepotřeboval jsem ho ...
Pivrnec78
Příspěvky: 73
Registrován: 30 dub 2017, 15:25

Re: Ovládání návěstidel

Příspěvek od Pivrnec78 »

fulda píše: 12 čer 2020, 11:20 P.S.: máš štěstí, že jsi tu větu o tom že nevíš co je charlieplexing napsal do mailu a ne do fóra. Protože nevědět co je charlieplexing je omluvitelné, ale nevědět, jak se používá tlačítko Hledej, to Jirka neodpouští :mrgreen:
Ještě doplním jednu věc ... pokud o něčem nevím co to je a nepotřebuju to nebo mě to nenadchne, tak ani tlačítko Hledej nepotřebuju. Prostě se bez této informace obejdu.
Uživatelský avatar
jrt
Příspěvky: 1921
Registrován: 17 úno 2013, 17:13

Re: Ovládání návěstidel

Příspěvek od jrt »

Pivrnec78 píše: 12 čer 2020, 12:21 Ano, celou dobu řeším, jak donutit Picaxe pracovat s hotovou deskou toho návěstidla ...
Pokud by se dalo návěstidlo tak, jak je přepsat, aby to fungovalo na vyšší rychlosti, musel bych najít někoho, kdo mi vytvoří program, protože jazyk pro PIC neumím. Nepotřeboval jsem ho ...
1. PICAXE donutíš pracovat s hotovou deskou návěstidla, pokud si napíšeš vlastní komunikační program, protože protokol s-com není v PICAXE implementován.
2. Rychlost komunikace je u s-com dána v určitých mezích jen rychlostí vysílání, ale obecně není moc vysoká, protože - jak fulda podotknul - přenosový protokol u modelové železnice musí být robustní, aby se vyrovnat se značným rušením.
... pokud o něčem nevím co to je...
kant-0211.jpg
kant-0211.jpg (15.53 KiB) Zobrazeno 8958 x
jrt
Uživatelský avatar
fulda
Příspěvky: 1359
Registrován: 04 led 2016, 17:18

Re: Ovládání návěstidel

Příspěvek od fulda »

jrt píše: 12 čer 2020, 12:10
Pokud by jsi chtěl předělat ta S-Com návěstidla na 2400 8N1, tak je to celkem snadno možné.
Já se obávám, že jste se špatně pochopili, kolega Pivrnec78 asi nechce předělávat návěstidla, ale donutit PICAXE ke generování protokolu s-com.
A-ha, já jsem si zapamatoval tuhle větu:
Pivrnec78 píše: 11 čer 2020, 12:30 ... nešlo by to přeprogramovat na klasický protokol o rychlosti třeba 2400 Bd ... abych mohl použít klasické příkazy SerOut?
a podle té jsem usoudil na to 2400 8N1.

Pokud by šlo o naplnění protokolu S-Com, tak to je mnohem jednodušší otázka. Tam prostě splníš co píšou v tom dokumentu:
Někam na začátek programu dát high C.1, protože to je klidový stav.
pak vlastní odeslání datového bajtu bude něco jako:

Kód: Vybrat vše

low C.1		; nastav výstup C.1 na 0 - start bit
pause 4 	; čekej 4 ms
high C.1	; nastav výstup C.1 na 1 - start bit - druhá část
pause 4 	; čekej 4 ms
for b0 = 0 to 6	; cyklus pro jednotlivé bity
 if b10 bit 0 clear then low C.1 else high C.1	; další bit k odeslání
 pause 4 	; čekej 4 ms
 b10 = b10 / 2	; připrav si další bit
next b0		; konec cyklu
low C.1		; nastav výstup C.1 na 0 - start bit
pause 4 	; čekej 4 ms
high C.1	; nastav výstup C.1 na 1 - start bit - druhá část
pause 4*3 	; čekej 12 ms
(datový bajt který mám odeslat je v b10, neumím udělat rotaci doprava, tak používám dělení)
Pivrnec78 píše: 12 čer 2020, 11:23 Ještě se zeptám, možná trochu blbě, ale ten MPU co tam je se zapojením jak to tam je, by nešel přeprogramovat?
Tomuhle asi nerozumím, procesor se dá přepnout do režimu, kdy podporuje pouze high voltage programming, tedy pro programování je potřeba, aby na vstupu RA3 proběhlo napětí 13,5V. Takže pokud si dám pozor, aby na vstupu RA3 nebylo 13,5V, tak se procesor nemá snahu přeprogramovat.
Byla tohle ta otázka?
Picaxe je něco jiného, chová se jako bootloader a vytváří si jiné podmínky pro "přeprogramování".
Pivrnec78 píše: 12 čer 2020, 12:25 Ještě doplním jednu věc ... pokud o něčem nevím co to je a nepotřebuju to nebo mě to nenadchne, tak ani tlačítko Hledej nepotřebuju. Prostě se bez této informace obejdu.
Smutné
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
Pivrnec78
Příspěvky: 73
Registrován: 30 dub 2017, 15:25

Re: Ovládání návěstidel

Příspěvek od Pivrnec78 »

Možná smutné, ale mi to tak vyhovuje. Nač si zatěžovat hlavu něčím, co nepotřebuju.

A co se týká toho programu ... takže bych neposílal proměnnou, ale pomocí kombinací High / Low na jednom pinu bych poslal sekvenci tak, aby podle protokolu měla správně začátek a konec a to mezi tím bych musel "nacvakat" tak, aby ten S-com přijal to číslo, které potřebuju.
Pochopil jsem to správně?
Mě se na tom líbí to, že na jednu linku můžu připojit jak vjezdové náv., tak i předvězd a ono to pozná, co má kde zobrazit. Taky se mi líbí, že tam je nastaveno PWM pro rozsvědcení a zhasínání světel.
A v neposlední řadě, že je to univerzální pro všechny návěstidla ... a cena je stejná jak pro návěstidlo s S-com, tak pro náv. bez S-com ... tak proč toho nevyužít ...
Pivrnec78
Příspěvky: 73
Registrován: 30 dub 2017, 15:25

Re: Ovládání návěstidel

Příspěvek od Pivrnec78 »

Uvažuju nad tím zápisem, co mi Fulda poslal ...

Kód: Vybrat vše

for b0 = 0 to 6			; cyklus pro jednotlivé bity
 if b10 bit 0 clear then low B.4 else high B.4	; další bit k odeslání
 pause 4			; čekej 4 ms
 b10 = b10 / 2			; připrav si další bit
next b0				; konec cyklu
Nejak tomu nerozumím ...
Na začátku je smyčka, kolikrát to má zopakovat ... no a pak ten řádek mi není jasný
Když kód barvy bude "9" ... což odpovídá 1,0,0,1,0,0,0 ... jak pozná, že má na začátku poslat "1" nebo "0", když dělení je až v řádku č.3
Můžeš mi ten řádek

Kód: Vybrat vše

if b10 bit 0 clear then low B.4 else high B.4
vysvětlit, hlavně teda

Kód: Vybrat vše

if b10 bit 0 clear 
tady se nějak nechytám ...
Uživatelský avatar
fulda
Příspěvky: 1359
Registrován: 04 led 2016, 17:18

Re: Ovládání návěstidel

Příspěvek od fulda »

"if bit" je přímo příkaz pro picaxe. Moje znalost není dostatečná, abych si pamatoval, jestli druhý argument může být proměnná nebo musí být konstanta, tak to používám s konstantou.
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
Pivrnec78
Příspěvky: 73
Registrován: 30 dub 2017, 15:25

Re: Ovládání návěstidel

Příspěvek od Pivrnec78 »

Ale tam je napsáno, že tento příkaz "Platí pro PICAXE 20X2, 28X1, 28X2, 40X1, 40X2" ... a já to nastavuju na 08M2 a nebo na 14M2 - tak to bude asi problém ...
Uživatelský avatar
fulda
Příspěvky: 1359
Registrován: 04 led 2016, 17:18

Re: Ovládání návěstidel

Příspěvek od fulda »

a-ha, to jsem nepostřehl, že ovládací pult bude také 08M2. V tom případě je potřeba ten příkaz "rozepsat". Stejně se kontroluje jen spodní bit, takže třeba:
if b10 % 2 = 0 then low B.4 else high B.4 ; další bit k odeslání
Nebo nějak podobně
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
Pivrnec78
Příspěvky: 73
Registrován: 30 dub 2017, 15:25

Re: Ovládání návěstidel

Příspěvek od Pivrnec78 »

No, on ovládací pult na 08M2 nebude, ale Autoblok by mohl být na 14M2. A pak bych mohl na 08M2 napojit až 4 návěstidla odjezdové a to by na 1-kolejce mohlo stačit.
Ale k věci ...
Napadlo mně ještě informaci uložit do b0 nebo b1 a pak ji posílat po bitech. Jen nevím, jak poslat bit ... jestli příkazem serout nebo jinak. A taky nevím, jestli např. číslici "3" si Picaxe uloží jako 10100000 nebo 00000101, protože první volba je pro odeslání na S-com (bez poslední "0"), ale je jedno, zda pošlu nejprve bit0 nebo bit7, navíc kombinace končí někde u čísla "16".
Odpovědět