Zas mne jeden vyprovokoval, abych vymyslel ovladač, který se může dát do rukou dětem a přitom aby uměl všech 28 funkcí na ozvučené loko. Finance nebyly až tak důležité, ale měl zájem na tom, aby to nebylo přehnaně drahé. Tak jsem za asi čtyři dni vymyslel a zhotovil ovladač OTO.
Schéma:
Zapojení je jednoduché, zase podle mého přesvědčení, že udělat to složité, umí každý exot ;-)
Srdcem zapojení je zase Atmel, tentokrát Atmega 88P, která disponuje celkem slušným souborem příslušenství a taky velkou pamětí Flash, RAM i EEPROM. Není problém tam zabudovat všechno potřebné. Odběr celého ovladače je asi 7mA, což pokládám za velmi dobrou hodnotu, protože má čtyři vysoko svítivé LED diody.
Zapojení se skládá z obsluhy Loconetu, klávesnice 3x4, enkodéru (třeba ze staré myši), mikropřepínače a indikace stavu.
Vysílání Loconetu jsem tentokrát udělal jinak a to přes invertovaný soft UART, kdy je potom nutný jen jeden tranzistor na napěťové posílení Loconetu. Má to jen jednu podmínku a to zákaz všech přerušení po dobu vysílání paketu. Protože ovladač není kritický na čas, je to celkem snadno splnitelné.
Příjem Loconetu je moje klasika hard UART, odzkoušená a bez problémů.
Klávesnice 3x4 obsluhuje všechny funkce (F0 –F28) a plynulé zastavení podle CV4. Volby funkcí jsou udělány tak, že se volí číslo funkce 0 - 28 a odešle se klávesou F. Plynulé zastavení je klávesou S.
Enkoder jsem vykuchal ze staré myši, ještě jich mám doma asi 5. Je to tzv. středové kolečko a musí být mechanické. Optické řešení není moc vhodné, protože bere dost proudu. Napájení enkodéra je přes pull-up odpory ve vstupech procesoru, protože se tím velmi účinně potlačují hazardy samotného enkodéru. Čím větší proud, tím větší zákmity. Dá se použít i obyčejný enkodér, mám navrhnuté a vyrobené obě verze.
Mikropřepínače nedoporučuji používat z myšátek, protože jsou většinou unavené a nespolehlivé. Je lepší koupit páčkový mikropřepínač a ten použít. Přepínač ovládá em. stop a přepínání směru jízdy. Pokud použijete obyčejný enkodér, tak ten má tlačítko zabudované.
Indikace stavu je vždycky problematická bez displeje a tak se to musí nějak okabátit. Osadil jsem čtyři LED diody,
Jsou osazené vysoko svítivé, takže jejich odběr je okolo 2mA jedna. Ale mám to tak udělané, že současně můžou svítit jen dvě.
Odpory na napájení LED diod třeba vybrat podle svítivosti, každý má jiné nároky na odběr nebo svit ovladače.
Programové vybavení a obsluha:
Protože si knihovny programů odkládám, tak navrhnutí programu bylo celkem jednoduché a kromě doladění obsluhy LED jsem neměl problémy. Ovladač používá mód DISPATCH, pomocí kterého se přiděluje adresa. Používá se tzv. dvojhmat, kdy se stiskne enkoder a následně klávesa „0“. Pokud má adresu, tak ji ztratí a pokud ji nemá a v centrále je připraven slot s adresou na převzetí, tak ji přebere a tu adresu si nastaví a zapíše do EEPROM. Adresu ztratí taky tehdy, když se pokusí přihlásit na obsazený slot se stejnou adresou.
Je tu jedna zvláštnost to používání vlastních funkcí nad 40, kde se nastavují funkce tohoto ovladače. Je to myšleno tak, že se dá nastavit způsob ovládání zvuků. Je to proto, že zvuky (funkce) mají nebo můžou mít ovládání jako tlačítka nebo přepínače. Takže každá skupina funkcí se může nastavit jako tlačítko nebo přepínač.
Pokud je daná funkce v „0“, tak se chovají jako přepínače a pokud v „1“, tak jako tlačítka. Tyto funkce se neposílají do kolejí, ale jsou určeny jen pro vnitřní použití v ovladači. Režim funkcí se ukládá do EEPROM, takže se nemusí nastavovat opakovaně, ovladač si je pamatuje.
Jinak je dost problém tolik funkcí ovládat, proto jsem zabudoval generální storno (44) všech funkcí a parametrů. Například, když potřebujete něco naprogramovat do dekodéru, tak je docela pracné jednotlivě funkce mazat. Některé nastavené funkce ovlivňují vyčtení dekodéru, velkým klidovým proudem.
Je to taky ovladač na modulovku, kde není žádoucí měnit adresy za chodu setkání. Ale klidně poslouží i na domácí ježdění, kde je velkou výhodou,že je určen jen na jednu loko a to si dokážou uhlídat i děti.
Cena tohoto ovladače je celkem nízká a pro mého kolegu dost důležitá, protože chtěl 4 kusy pro děti a nechtěl investovat do věcí, která podle něho nebudou mít velkou životnost v rukou jeho dětí a jejich kamarádů.
Enkoder = 3 Eur
Krabička = 1 Eur
Procesor = 4 Eur
LED 4x = 1 Eur
m.spínač = 1 Eur
RJ12 = 1 Eur
konektory = 3 Eur
tlačítka = 1,2 Eur
78L05 = 0,5 Eur
BC237 = 0,3 Eur
4x µ1 = 0,4 Eur
2x dioda = 0,4 Eur
20x odpor= 0,7 Eur
Plošáky = 2 Eur
Drobnosti = 1 Eur pájka, popisky, dist. trubičky, šroubky, atd.
Cena je asi 20 Eur za jeden kus bez práce a energií. Kdo má zájem si to vyrobit, poslu plošáky v EAGLE a HEX program. Cena zhotoveného, oživeného je 25 Eur bez kabelu. Vyrobeno 7 kusů, dva mi zůstaly, jeden zapůjčen na dlouhodobé testování.
Ahoj Zdeno
ako sa dá splniť podmienka:
"zákaz všech přerušení po dobu vysílání paketu"
Ahoj Zdeno, so zaujmom sledujem tvoje vynalezy. Mam jeden dotaz (otazku): Nie je to mozne urobit viac sexy? Napr. FRED krabicka je urcite pouzivatelsky viac prijatelnejsia (aj mentalne) ako tie co pouzivas Ty.
DanoM
JKI :
urcite jsi nekdy slysel o globalnim povoleni a zakazu preruseni. Konkretne u Atmelu je to v registru SREG, bit sedm.
Dano :
ale potom se mi tam nevejde ta klavesnicka ;-(
Jinak ta krabicka neni o moc vetsi nez Fred,
OTO ma rozmery 106mm /54 mm
Fred ma rozmery 128mm /40mm.
Dobrý, mal by som zaujem o tento ovladac, pokiaľ by sa dalo 1 alebo 2 kusy uz hotove aj naprogramovany by som chcel od vas kupiť, ked 1 hotový stoji 25€. Dakujem za odpoved.
Dobrý, mal by som zaujem o tento ovladac, pokiaľ by sa dalo 1 alebo 2 kusy uz hotove aj naprogramovany by som chcel od vas kupiť, ked 1 hotový stoji 25€. Dakujem za odpoved.