Prvotní impuls jsem dostal od Milana Černohorského z Ostrama klubu, který četl můj článek o ovladači Adam a zeptal se mne, zda by nešlo udělat ten ovladač tak, aby mohl ovládat souběžně dvě lokomotivy. Je pravda, ze Loconet pozná příkazy na spojeni (LINK) a rozpojeni (UPLINK)dvou lokomotiv, ale mám dojem, ze je to poměrně náročné na čas a přístup ku centrále. Abych pravdu napsal, ještě nikdy jsem to v praxi neviděl použít, i když vím, jak by to mělo teoreticky vypadat. Takže to nebude asi až tak jednoduché a snadné.
Na ovladač Ewa jsem si stanovil pár požadavků, ze kterých jsem nechtěl slevovat a to samostatné ovládáni funkcí, kdy by se mi nelíbilo, aby druha lokomotiva svítila nebo houkala synchronně s tou první a druhá věc je, aby se daly loko ovládat i za podmínky, že budou mít různý směr jízdy, aby se nemusely loko chytat do rukou a „letecky“ otáčet. Další požadavek vyplynul automaticky a to absolutní nezávislost na centrále. Řízení a nastavování lokomotiv, jen z jednoho bodu, a to z ovladače Ewa. Z toho vyplývá, že všechny příkazy musejí jít přes Loconet a to vždycky duplované, pro každou loko samostatně. Měl jsem obavu, zda rozdílný časový přístup Loconetu a následné časování centrály, nebudou mít negativný vplyv na souhru obou lokomotiv. Udělal jsem to tak, že ovladač posílá pakety v jednom balíku a teda dojdou do centrály skoro najednou. Tady žádné nebezpečí nehrozí, ale problém na straně centrály zůstal. Pokud mají obě lokomotivy přidělené sloty moc daleko od sebe, je někdy problém v posílaní paketů DCC. Může se stát, že časový rozdíl je i více než ½ vteřiny mezi pakety a to je dost. Zvlášť, když mají lokomotivy zapnutý rychlý rozběh nebo zpomalení, tak to nedělá dobrotu. Proto je důležité zajistit, aby křivka rozběhu a dobrzdění loko nebyla v rámci pár stovek mS. Stejně ale asi bude největší problém, najit dvě loko, aby se navzájem nepřetahovaly a měly stejné jízdní vlastnosti a byly v naprosto perfektním technickém stavu. V zásadě není problém sladit dvě loko, v ovladači mam tabulky rychlosti, které se dají nadefinovat jakkoliv, ale to by byla totální jednoúčelovka, vhodná pro dvě konkrétní lokomotivy natrvalo.
Jinak musím zase vzpomenout puristy a akademiky, kteří cestou za naprostou dokonalostí dokáží neuvěřitelné věci. Například 128 stupňové řízeni DCC. Uvědomil si někdo z nich, kdo to prosazoval, ze to o víc než 20% zpomalí přenosovou rychlost DCC ? Posílat, místo 3-4 bajty v paketu, bajtů 5, je barbarství a plýtvání, které nemá naprosto žádný důvod. Pokud by neexistovalo plynule rozbíhání a zastavování, tak bych to pochopil, ale v tomto případě je to nesmysl. I na skutečné železnici je rozdělení zhruba po 5km a teda podle maximální rychlosti je potřeba od 12 stupňů (60km/hod),do asi 30st. při max. 150km/hod. Plynulé přechody mezi jednotlivými stupni zabezpečuje elektronika a ne ručně, modelový mašinfíra. Mám vyvinutou centrálu, kde z principu není možné provozovat 128 st. řízení, protože je to časově, logicky i provozně naprosto zbytečné. Všem těm, kteří si myslí, že nemám pravdu, doporučuji vzít do ruky kalkulačku a spočítat si to. Cena za pocit, že mám 128st. řízení, je příliš vysoká. Obzvlášť na velkých setkáních, kde se musí spojovat několik centrál, je to zbytečná práce navíc a přináší značné problémy v provozu. Každá centrála by mela být schopná uřídit 100 loko bez jakýchkoli problémů, ale ne se 128st. řízením!!!
Schéma ovladače Ewa. Diody D1,D2 mají zlou schematickou značku z důvodu neexistence potřebného rozměru a mne se to nechtělo navrhovat.
Schéma ovladače je zase neuvěřitelně jednoduché na to, co to všechno umí a přesto je tam vše, co potřebuji. Jako všechny obvody se to dělí na napájeni, snímání hodnot ze vstupů, zpracování a následné ovládání výstupů.
Napájení jde přes diody D1 a D2, kde se usměrňuje DCC. Na stabilizátoru LM2937 se stabilizuje na 5V. DiodyD3 aD4 zabezpečují pokles na 3,5V pro display a mikropočítač. Může se použít LM2936 na 3,3V a potom přemostit diody D3,4 drátem. Já jsem vyřešil nedostatek 3,3V stab. takto. Zvláštnost je napájení báze Q3(R29), kde je nutné zabezpečit log 1, před náběhem mikropočítače. Dále je nutné přes odpory R4,5 zabezpečit pull-up na sběrnici I2C. Na jumper JP1 se zapojí LED white, vysoko svítivá dioda, na podsvětlení displeje, která je podle potřeby zapínaná. Je to proto, ze samotný ovladač bere asi 6mA a samotná LEDka taky. Proto je možné ji vypínat. Odpory v obvodu klávesnice jsou 8 x 470Ω až 680Ω.
Snímání příkazů od klávesnice, enkodérů a tlačítek na enkodérech je podle normy a nemá to žádné záludnosti. Trošku jsem spekuloval nad vstupem Loconetu, kde určitě budou někteří kritizovat nepřítomnost komparátoru. Toto zapojení mám odzkoušené a nedělá žádné problémy. Jen jsem doplnil filtrační VF člen na vstupu.
Výstupy jsou na display a Loconet. Na Loconet mam stabilní a odzkoušené zapojení, kde to nedělá žádné hazardy a je to naprosto spolehlivé. Jen musím upozornit na odpor R14 v bázi Q2, který musí mít nižší hodnotu než 0,05A / h21e. Už jsem se setkal s tím, že proudový zdroj Loconetu byl do 50mA a pokud se nedokáže výstupní tranzistor úplně otevřít, je to velký problém. Tady je 12k a h21e je 500, takže 3V / 12k = 250uA x 500 = 125mA, takže s 2x větší rezervou je zabezpečené úplné otevření Q2. Je výhodné chodit z +saturace do –saturace a opačně, protože nemůže dojit k lineárnímu režimu, který je naprosto nežádoucí a zpoždění v saturaci, při této rychlosti přenosu, naprosto nevadí.
Při testování jsem přišel na problém s EEPROM, kde při napájení 3.5V dochází k nekorektnímu zápisu. Musel jsem udělat verifikační smyčky, které kontrolují napálení EEPROM a v případě špatného zápisu ho opakují. Dokonce se mi stalo, že se přepsala celá EEPROM a musel jsem napálit celý obsah znovu. Proto jsem na začátek programu zařadil test stisku obou enkodérů a pokud při zasunutí ovladače Ewa program zjisti stisk obou enkodérů, napálí startovací obsah paměti EEPROM 512 bytů.
Programové vybavení: všechny programy píši v Bascom Basic, který je celkem jednoduchý a který má slušné knihovny a soubory příkazů vyššího jazyka, takže není nutné psát v ASM a program je přehledný a editovatelný. V ASM píši jen časově kritické části, kterých ale tady není moc. Jak jsem psal, největší problém byla inicializace displeje a v momentě jejího dokončení, už to nebylo náročné. Co mi dělalo problémy, bylo spíš administrátorské, jak udělat a spojit jednotlivé věci do společného celku. Musel jsem vyřešit celkem solidní problém v tom, ze tento ovladač musí byt schopen „ukradnout“ jinou adresu a zase ji odevzdat původnímu ovladači. Teda zabezpečit postrk do kopce, třeba u TT na přechodu mezi 100 a 130 cm. Tento ovladač je schopný převzít cizí adresu a ID číslo a používat ji a po ukončení postrku ji zase „vrátit“ na původní ovladač a na „ukradnutý“ slot a adresu zapomenout. V tomto je můj ovladač dost speciální a opravdu nebude dobré ho svěřovat do ruky osobám neznalým a nedůvěryhodným, když bude zapnut v tomto režimu. Režimy má dva, normál, kdy stejná adresa a jiné ID ho zablokují a druhý, kdy je možné nadefinovat cokoliv. Třeba „ukradnout“ slot, odhlásit, nastavit do DISPATCH módu a okamžitě převzít jiným Fredem. Což může být zajímavý trest pro neposlušného účastníka. ;-)
Ovládání : tu jsem zas vymyslel vychytávku, která je však nesmírně nakažlivá a pokud jsem vzal Freda do ruky, dost mi to chybělo. Použití enkodérů s tlačítky je fantastická věc a ve spojeni s displejem, který ukazuje rychlost, to nemá naprosto chybu. Vychytávka spočívá v tom, že tlačítko na enkodérech má posloupnost povelů. První stisk zastaví loko podle modelové jízdní křivky, druhé stisknutí aktivuje „okamžité stop“ a třetí stisknutí, přepne směr jízdy. Je to intuitivní a po chvíli používání nesmírně chytlavé. Je potom problém si následně zase zvyknout na normálního Freda.
Použití displeje a enkodérů má další zvláštnost a to určitou pomalost při otáčení enkodérů, kdy enkodéry nestihají rychlé otáčení. Rutiny vypisování na display a ošetření zákmitů na enkodérech mají dost velké DELAY časy a ovladač stihá asi jen 6-7 přepnutí za vteřinu. Je nutné s tím počítat a zvyknout si na to.
Obrázek ovladače. Dvě fotky jednoho prototypu.
Obrázek vpravo ukazuje normální režim, kdy se nezávisle ovládají dvě samostatné lokomotivy. Šipka na displeji úplně vlevo označuje směr jízdy, číslo před pomlčkou ukazuje rychlost a zbytek je devět funkcí. Obrázek vlevo ukazuje obsah obou slotu, teda číslo slotu, status,adresa, ID číslo a režim. Displej se může posouvat pomoci šipek na klávesnici doleva, doprava, protože ze 40 znaků je vidět jen 16. Do tohoto režimu se dostanete přes klávesu „B“.
Ovladač Ewa je navrhnutý čistě pro modulovou železnici, neboť má odběr proudu 6mA a při podsvícení displeje má spotřebu 10mA. Taky všechny časy, přístupy a ochrany jsou navrženy pro provoz na modulové železnici. Samozřejmě jde použít i doma a i tam má své výhody.
OVLÁDÁNÍ: u tohoto typu ovladače je strašně důležité, aby ani náhodou nedocházelo k zablokování, vlivem nechtěného sepnutí jakéhokoliv prvku. Ale přesto je nutné nějakým způsobem přejít do jiného režimu. Zvolil jsem klávesu „D“, která je v rohu a je tak trochu je daleko od tlačítek funkcí, které se často používají. Navíc je tato funkce blokována tím, ze rychlost obou loko MUSÍ být nulová. Stisknutím klávesy „D“ se dostanete do MENU, kde se dá zvolit dalších 6 možností.
- režim dvou lokomotiv samostatně, musí se potvrdit znova stiskem „D“
- režim dvou lokomotiv souběžně, musí se potvrdit znova stiskem „D“
- odhlášení aktuální lokomotivy a její uvedeni do DISPATCH modu
- zapnutí příznaku „volba“, který povoluje naprogramovat adresu a ID číslo.
- přepnuti LED diody na podsvětlení displeje
- vypnutí ochrany pomocí ID čísla příznakem „zámek“. Potom je možné ukradnout slot.
První režim je klasika, kdy se ovládají dvě lokomotivy současně a jsou to vlastně dva Fredy v jednom. Každý řádek na displeji ukazuje údaje o každé loko samostatně. Příklad :
> 127-10000 0000 směr Forvard , jede na max. rychlost a sviti světla
< 1-00000 0000 směr Revers, emerg. stop a není zapnutá žádná funkce
Druhý režim spojuje dvě loko do tandemu, tady je zvláštnost v tom , že obě loko lze řídit oběma enkodéry, ale funkce se dají zapnout jen u aktuální loko. Takže je úplně jedno, kterým enkodérem lokomotivy řídíte, ale funkce lokomotiv jsou stále rozděleny podle toho, který enkodér používáte. Další zvláštnost je v tom, že lokomotivy jedou v tom směru, v jakém byly, než jste je do spojeného režimu zapnuli. Takže je žádoucí se přesvědčit, že obě loko jedou stejným směrem a až potom zapnout společný režim.
Třetí režim je odhlášení aktuální loko, kdy se odhlásí lokomotiva s adresou a slotem, se kterou se naposledy manipulovalo. Následně se ihned tato lokomotiva uvede do stavu DISPATCH a je možné ji převzít jiným ovladačem. Tento režim se používá při postrku, kdy se přebere hlavní loko a spojí se s postrkem a na kopci se obě loko zase rozdělí, původní loko si přebere stará obsluha na svůj ovladač a postrk se vrací zpátky. Potom je důležité přepsat adresu v ovladači Ewa, aby se nezaseknul.
Čtvrtý režim je zapnutí příznaku „volba“, který umožňuje změnu adresy anebo ID čísla. Volba a práce s adresou a ID číslem je blokovaná tímto příznakem hlavně proto, aby se překazilo nechtěné přepnutí nebo z neznalosti.
Pátý režim přepne podsvětlení displeje.
Šestý režim přepíná příznak „lock“, který umožňuje nebo zakazuje ukradnuti slotu a adresu „živé“ lokomotivy. Pokud je příznak vypnutý, ovladač se nezablokuje, pokud přebere používaný slot a adresu. To se používá na přebraní loko, aby se dala připojit další loko na postrk.
Adresa pro loko se nastavuje nadvakrát. Nejdříve se musí povolit příznak „volba“, která umožňuje vstup do režimu zdávání adresy a ID čísla. Je samozřejmost, že obě loko musí ukazovat na displeji nulovou rychlost, aby se předešlo nechtěnému přepnutí. Příznak „volba“ se povoluje přes režim 4 a lze ho zkontrolovat na výpise slotu. Pokud je příznak „volba“ nastaven na jedna, je možné vstoupit přes klávesu „A“ do režimu adresace. Na displeji se objeví „volba adr DEC ? „ , kde potom decimálně napíšete adresu a potvrdíte klávesou „A“ pro horní loko a klávesou „B“ pro dolní loko. Pokud stisknete „D“ dostanete se do režimu zadávání ID čísla, kde to provedete obdobně, jako volbu adresy. Rozdíl je v tom, že zadávání provádíte v desítkové soustavě a na displeji je to v hexáku.
Pokud stisknete, co nemáte, nebo jste nechtěli, nejsou zabudované žádné opravné mechanismy, jediná možnost je vytáhnout a zasunout přívodní kabel, tím se to uvede do předcházejícího stavu a parametr musíte naťukat znovu.
Pokud něco domotáte tak, že je ovladač nefunkční, tak jediná možnost je, při současném stisku tlačítek na enkodérech a zasunutím přívodního kabelu nastavíte „tovární“ parametry, teda hlavně adresu 3 a 4 a ID číslo. 01-0A a 02-0B. Všechno ostatní se nastaví do nuly.
To je zatím všechno, ovladač jsem odevzdal Milanovi a uvidím, jaká bude spokojenost.