Ovládání návěstidel

Uživatelský avatar
jrt
Příspěvky: 1674
Registrován: 17 úno 2013, 17:13

Ovládání návěstidel

Příspěvek od jrt » 24 úno 2013, 18:16

jrt
jederobot.cz, hobbyrobot.cz, profirobot.cz
edurobot.cz, robodoupe.cz

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

Ovládání návěstidel

Příspěvek od Pivrnec78 » 11 čer 2020, 12:30

Zdravím,
na stránkách www.navestidla.cz jsou k dispozici návěstidla pro 3 drátovou komunikaci tzv. "S-Com", kde je na 2 pinech napájení a po jednom se posílají data.
Nechci používat jejich zařízení "Zhlavik", ale chci si pomocí PicAxe naprogramovat svoje řízení a pouze implementovat tyto návěstidla do svého systému. Ale narazil jsem na pár nejasností ... www.mtb-model.com/elektro/s-com.htm
... už třeba při komunikaci je v protokolu použito b0 až b6, ale Picaxe má tuším v protokolu b0 až b7, takže o jeden bit má navíc.
... "Perioda bitu může být v rozsahu 4 až 30 ms" ... co to je za rychlost? Snad kolem 250 Bd?
... nešlo by to přeprogramovat na klasický protokol o rychlosti třeba 2400 Bd ... abych mohl použít klasické příkazy SerOut?

Kdyby Picaxe 08M2 mohl mít 5 výstupů, tak to asi neřeším a vytvořím si svoje, ale 14M2 je pro 5 výstupů a 1 vstup moc veliký (a drahý) luxux a navíc pro 8 kolejné nádraží, kdy pro každou kolej mám 2 návěstidla, by to vyšlo pěkně draho ...

Uživatelský avatar
fulda
Příspěvky: 979
Registrován: 04 led 2016, 17:18

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

Příspěvek od fulda » 11 čer 2020, 14:11

Ahoj,

Jde o to, že tam popisuje jen bity, které se mohou měnit. Pokud by jsi to chtěl naplnit pomocí sériovky (SerOut), tak klidně můžeš, je potřeba pamatovat na to, že se vlastně jedná o komunikaci 9N3 = 9 datových bitů, ale první (b0 na picaxe) je konstantně "1" a poslední (b8 na picaxe) je konstantně "0". Tři stop bity potřebuješ pro dodržení podmínky na odstup dvou paketů.

Však on tam taky píše, že komunikace je navržená jako pomalá, tím si zajistí odolnost proti rušení a jednoduchost dekódování. Předělat to na 2400 8N1 by nemusel být tak velký problém, zejména pokud by jsi použil procesor který bude o něco mladší než hnědé uhlí. Například PIC16F15313 bude stát méně peněz a implementace tam bude jednodušší. Ale nepodceňuj tu odolnost proti rušení, u vláčků je rušení nezanedbatelné.
Za pravopisné chyby v této zprávě může moje učitelka češtiny.

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

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

Příspěvek od Pivrnec78 » 11 čer 2020, 18:27

Ahoj, dík za odpověď.
Já doma nejezdím na digitál. Proto si stavím své vlastní ovládání. Co se týká jiného PIC nebo i něčeho jiného - tomu nerozumím. Doposud jsem si vystačil s Picaxe. Nepotřeboval jsem jiný jazyk a ani jsem se jej neučil. Takže pokud by to šlo spojit s Picaxe tak, jak to je, byla by to pro mě jistá výhoda, protože i já jsem ještě dynosaurus. A protože nemám moc zkušeností s přenosem po sériové lince, snad jen několik zkušebních programů na displej, uvítal bych pomocnou ruku. No spíše pomocný kopanec.

Uživatelský avatar
jrt
Příspěvky: 1674
Registrován: 17 úno 2013, 17:13

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

Příspěvek od jrt » 11 čer 2020, 19:40

Pivrnec78 píše:
11 čer 2020, 12:30
Kdyby Picaxe 08M2 mohl mít 5 výstupů, tak to asi neřeším a vytvořím si svoje...
Abychom mohli mít spoustu výstupů levně, tak nám pánbů nadělil posuvné registry :D

P.S. Vidíš, že se Fulda hned ozval.
P.P.S pro Fuldu: s kolegou jsme si psali na Facebooku a tam jsem tě vychválil až do nebes. A nezklamal jsi! :)
jrt
jederobot.cz, hobbyrobot.cz, profirobot.cz
edurobot.cz, robodoupe.cz

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

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

Příspěvek od Pivrnec78 » 12 čer 2020, 08:04

S tím posuvným registrem moc chytrý nejsem. Ale i kdyby, tak je to součástka navíc a tady jde o místo na DPS, aby to bylo co nejmenší. Navíc registr informaci posune a já znaky potřebuji náhodně rozsvěcet nebo dokonce i blikat s nimi ... a to aby to bylo jednoduché.
Vím, že jsou IO - SIPO+D-latch (74hc594 nebo 595) ... o tom jsem už taky uvažoval, ale potřebuju tady více výstupů z MPU ... clock, data, a překlopení. To jsou krom napájení další 3 dráty (celkem 5), ale na S-com jsou celkem 3.
... zejména pokud by jsi použil procesor který bude o něco mladší než hnědé uhlí. Například PIC16F15313 bude stát méně peněz ...
Ale když se dívám na stránky GM-E, tak nejlevnější SMD MPU je za 17,50 Kč PIC12F1572, ten má 3,5kB paměti a SRAM 256B a za stejnou cenu je ono hnědé uhlí PIC12F508 - paměť: 512B, SRAM: 25B. A to, co uvádíš jako příklad v GM-E ani v GESu nemají. Nejbližší PIC16F1xxx je ... paměť: 4kB, SRAM: 256B, EEPROM: 256B, SMD PIC16F1828, ale za 48,- Kč.

Já můžu mít desku DPS "někde v krabici" a připojit návěstidlo každou barvu zvlášť drátem, ale pro 5-barevné návěstidlo je 6 drátů. Když to nacpu co nejblíže, tak něco ušetřím.
Když budu mít pro každé návěstidlo SIPO+D-Latch, tak budu mít pro každé náv. 3 pracovní piny na MPU. A kdybych pro všechny měl společný "Clock" a třeba i "Data" a jen to překlopení adresoval, tak je to oproti S-com na jednom MPU Picaxe o 2 návěstidla méně. Jenže v případě kmitavé signalizace (kmitavé světlo), budu muset trvale vysílat signál jak data, tak i clock a překlápět to.
Tady to je o tom, minimalizovat prostor ...https://www.mtb-model.com/elektro/navest4.jpg a mít to v optimálvím poměru cena / výkon / funkce / prostor ... a pak jde o to, aby to spolu "ladilo" a "hrálo" ... 3 pinový konektor mezi koleje umístím líp, než 5 (nebo 6) pinový.

Jeho S-com je univerzální. Jeden program pro všechny druhy návěstidel. Záleží pouze, který drát kam připojí, aby ta či ona barva se chovala jak má.
I samotný program pro Picaxe by byl jednodušší ... poslal bych pouze "číslo" - hodnotu proměnné.
Když to bude přes SIPO+D-Latch, budu posílat "High" a" Low" a budu muset vyřešit, zda to reaguje na náběžnou nebo sestupnou hranu, takže v případě tvorby světelného signálu 1,0,0,0,1 - což by odpovídalo svitu horní a dolní žluté ... takže v případě reakce na náběžnou hranu bych asi musel napsat toto: data do "1", clock "1", data "0", clock "0", clock "1", "0", "1", "0", "1", "0" a opět data "1", clock "1", data "0", clock "0". A teď to můžu teprve překlopit.

Uživatelský avatar
fulda
Příspěvky: 979
Registrován: 04 led 2016, 17:18

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

Příspěvek od fulda » 12 čer 2020, 09:50

Tak hned první bod - pokud hledám něco mladšího než hnědé uhlí, nelezu tam, kde si dali do znaku mamuta staršího než černé uhlí.
TADY nebo tady je mají kolem 16,-. Vzhledem k tomu, že mouser má distributora v Říčanech, tak to tam mám blíž než kamkoli jinam.

Druhý bod: nepodceňujte mé články na téma charlieplexing (vycházejí v amaáru a občas o něm ml). Procesor má 8 nožiček, z toho 2 napájecí, jednu použijeme na čtení signálu, zůstává 5 volných. 5² - 5 = 20. Tedy já vidím připojení pro 20 nezávislých ledek. To je víc, jež člověk potřebuje.
Třeba TADY používám 4 vývody = 4² - 4 = 12 ledek.

Existují i menší kousky - třeba PIC10F322 se šesti vývody se bezvadně hodí pro menší efekty. Tady je třeba DCC dekodér o velikosti 30x6mm se zvukem a výstupem na 2 LED. (na obrázku 5ks dekodéru najednou před rozstřižením)
DSC_2013__.jpg
To je ale trochu odbočka. Vraťme se k původnímu tématu. Pokud by jsi chtěl předělat ta S-Com návěstidla na 2400 8N1, tak je to celkem snadno možné. Znovu připomínám, že ta poznámka o rušení je platná a to i v analogu. Prostě ta mašinka používá komutátorový motor, jezdí po kolejích, které jsou dlouhé a všelijak zakroucené a tak. Taky je potřeba vědět, že vývojové kity (včetně picaxe), jsou vhodné pro ověření funkčnosti, ale nejsou vhodné pro nasazení na úrovni průmyslového rozhraní a ani v případě, že se pokoušíš honit každý milimetr plochy. Tady bych možná doporučil se podívat na nějakou knihu od Davida Matouška. Já používám pro programování makro assambler a pochybuji o tom, že po mě kód přečteš a programovat to celé se mi nechce, zejména s vědomím,, že je to pro jednoho člověka a že to nebude moc dobře fungovat.

Mohu ti tedy poradit, že ten procesor PIC16F15313 má na každém pinu nezávislé hardwarové PWM, má jeden hardwarový sériový port, který lze mapovat na kterýkoli pin, takže má v podstatě dost prostředků pro to, aby samotným mapováním hardware udělal 80% práce, kterou od něj požaduješ.

P.S. dnes je moderní připojovat návěstidla na drivery ws2811.
Za pravopisné chyby v této zprávě může moje učitelka češtiny.

Uživatelský avatar
fulda
Příspěvky: 979
Registrován: 04 led 2016, 17:18

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

Příspěvek od fulda » 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:
Za pravopisné chyby v této zprávě může moje učitelka češtiny.

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

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

Příspěvek od Pivrnec78 » 12 čer 2020, 11:23

Jak jsem psal, jsem dynosaurus.
Na co je mi prodejna někde v Říčanech, když za procesor, který stojí 16 Kč dám poštovné 150 Kč? To si radši zajdu do GM-E a nestojí mně doprava nic.

Druhý bod:
Mám rád přímé vývody, jeden vývod jedno světlo. Taky moje hlava nebere to, že něco může při log.0 svítit - je napětí = svítí, není napětí = nesvítí ... A matice - tady se nechytám. 20 tlačítek = 21 vývodů

Nehodlám honit každý milimetr plochy, Ale taky si nemůžu dovolit pro jedno návěstidlo desku 5 x 3 cm.

Nepotřebuju své vzdělání (pokud se to tak dá nazvat) ohledně MPU rozšiřovat, neživí mně to. Pokud si s tím neporadím, vyprdnu se na to. Nebo si to udělám po svém, ale s tím provedením se nebudu moct v 21 století pochlubit. Jakmile něco dotvořím, odsunu programování na několik let mimo a nebude mi chybět. Takže nějaký Asembler nebo C++ jde hodně daleko mimo mně.
... připojovat návěstidla na drivery ws2811
... nevím, co jsou drivery ws2811, nikdy jsem o tom neslyšel, nikdy jsem se o to nezajímal.
Nechtěl jsem vymýšlet něco, co už někdo jiný vymyslel a vyrábí. Potřebuju vyřešit, jak to napojit na svůj systém. Vyřešit komunikaci, nebo najít jiné vhodné řešení, ale takové, se kterým si já poradím.

Na to, abych zmáčkl čudlík a rozjel se mi vlak mi stačí třeba Isostat. Ale to mi nebude přehazovat samo vyhýbky a nebudou mi svítit barvičky. Navíc jsem zjistil, že Isostat už se nevyrábí ...

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?

Uživatelský avatar
jrt
Příspěvky: 1674
Registrován: 17 úno 2013, 17:13

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

Příspěvek od jrt » 12 čer 2020, 12:10

fulda píše:
12 čer 2020, 11:20
... ale nevědět, jak se používá tlačítko Hledej, to Jirka neodpouští :mrgreen:
Tak tohle je jasná účelovka a kampaň, protože všichni přítomní dobře vědí, že nepoužití tlačítka Hledej blahoskonně odpouštím (ovšem jen sám sobě)! :mrgreen:
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.
jrt
jederobot.cz, hobbyrobot.cz, profirobot.cz
edurobot.cz, robodoupe.cz

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host