Loading...
 

OM32, OC32 and LichtOrgel


gebruik en test van input signalen

Geachte mede trein automatiseerders,

ik heb eind vorig jaar een startset van Dinamo gekocht om ervaring op te kunnen doen met het aansturen van mijn toekomstige HO modelbaan. Dinamo kwam voor mij als beste alternatief naar voren omdat ik mijn 60 jaar oude materieel ook nog wil laten rijden maar ook de mogelijkheid wil hebben om met DCC verder te kunnen gaan.
Op dit moment heb ik een testbaantje gemaakt, een dubbel ovaal met 4 wissels. De 4 blokken worden aangestuurd uit de TM44. 4 wissels en 8 seinen (rood / groen) vanuit de OC32NG. De wissels hebben een positie schakelaar en die wil ik inlezen voor de toewijzing van de rijweg in RocRail.
Vanuit RocRail kan ik treinen, de seinen en de wissels bedienen maar het lukt me niet om de inputs van de wisselschakelaars uit te lezen.

Deze inputs zitten op mijn enige OC32NG op de adressen 24 tot 31. De sinkdriver is vervangen door 8 weerstanden van 4K7. Via OC32config heb ik op tabblad general geen vinkjes geplaatst bij sink of source voor de kolom 25 tot 32, zoals beschreven is in het OC32 handleiding 3.0. In die zelfde handleiding wordt in 5.4.11 het schema gegeven van een input schakelaar. Mijn schakelaars zijn ook verbonden met Ground. Ik heb dus geen puls signaal, de schakelaar is altijd open of dicht. Het lijkt erop dat instellen van de inputs is iets minder goed gedocumenteerd dan de outputs. Ik heb dit forum redelijk goed nageplozen maar kom helaas niet verder. Wie kan mij helpen.

Mijn vraag: Zit er in OC32 config een mogelijkheid om input signalen te controleren? Ik kan de uitgangen wel testen maar het lukt mij niet om mijn positieschakelaars te testen.

Een tweede vraag: is het normaal dat de controllerchip op de OC32NG best wel heet wordt. Ik schat tussen de 50 en 60 graden. ik kan mijn vinger er niet lang op houden. Ik voedt de OC32NG met een aparte 9 Volt regulator. Eerst rechtstreeks via de 15 Volt voeding die bij de kit was geleverd maar toen werd de 7805 die op de printplaat zit wel erg heet.

alvast bedankt voor het meedenken,
Nico van Rossum

Netherlands

Hallo Nico,

In 'OC32 Config' kun je in tabblad 'OC32 Device Configuration' een vinkje zetten bij: 'Show Details'.
Bij de betreffende contacten heb je rechtsonder het tabblad: Input.
Er moet dan een vinkje staan bij: 'Low Active'.
Intern wordt dan de ingang via een weerstand aan de plus gelegd.
Het staat op Pag 14 / Fig 11 van OC32 3.0 Uitgebreide Configuratie d.d. 27 sep 2015.
De weerstandswaarde van 4k7 lijkt mij aan de hoge kant. Zelf houd ik 1 kΩ aan.
Zorg er voor dat je wel het juiste type IC met weerstanden hebt.

De controle van de input-signalen verloopt via de software die op de PC geïnstalleerd is. Van RocRail heb ik geen verstand. Via het demo-programma van iTrain is het even een handigheidje om het te controleren.

Dat de IC's van de OC32 erg warm worden, ligt toch hopelijk niet aan een onjuiste aansluiting of instelling van de 9 V-voeding?
Op Pag. 13 / Fig 5 van OC32 3.0 Handleiding staat de aansluiting van connector K1. Van boven naar beneden zijn dat:
PWR / GND / 5 V / RS232. Sluit eens een voltmeter aan op: GND en 5 V. Heb je dan de juiste spanning?

Martin, fijn dat je wilt meedenken,

ik had dat 'low active' gelezen dat het laag worden van het signaal een actie wordt voor de microprocessor en dat door de overgang van hoog naar laag de software van de micro de stand van de schakelaar registreert. Ik had mijn inputs trouwens al van dit vinkje voorzien.

Als je de show details aanvinkt krijg je ook de keuze van de nodige aspecten. Nu heb ik het gebruik van aspecten voor de outputs doorgelezen en zeker voor het aansturen van seinen is het een heel mooi concept. maar hier bij de inputs?? Wat kan ik ermee? Ik kan hier niets over vinden in de OC32 3.0 Uitgebreide Configuratie.

De weerstandbank: ik had eerst een weerstand bank van 470 Ohm weerstanden en die heb ik aangepast naar 4K7 omdat ik dacht dat dat de oorzaak kon zijn van de hete processor. Ik ga 1K weerstanden proberen.
De schakelcontacten in de wissels zijn van die zilveren draden die opzij worden geschoven door het tongen mechaniek. Deze contacten willen op den duur oxideren (worden zwart). De schakelstroom door de schakelaars moet daarom niet te klein zijn. Het zweefcontact van deze wisselschakelaar zit aan GND en de contacten gaan met een 330 Ohm weerstand naar +5V. De contacten gaan naar de connector. Op die manier bied ik of een hoog of een laag aan. De input is toch een hoogohmige ingang?

Ik ga de demo van iTrain installeren en daarmee kijken. Nog steeds jammer dat OC32config geen test mogelijkheid heeft. gewoon een balletje uit of aan was voldoende geweest voor mijn test.

De 9 Volt heb ik gecontroleerd en die komt prima aan op het linker pootje van het 7805 IC. Ik sluit mijn 9 Volt aan op de PWR, GND, 5V, RxD stekker. Het rechter pootje van de 7805 geeft een mooie 5 Volt spanning. Dat lijkt netjes te zijn. Voor mijn 9 Volt interventie stond op dit linker pootje 15 Volt en werd de 7805 ook erg warm. Valt wat minder op doordat hij, met zijn massa (GND) gesoldeerd is op de ground van de print en daardoor zijn warmte kwijt kan.

Heb net de drie resterende sinkdrivers verwijderd met een IC trekker. Helaas blijft de processor chip nog steeds erg warm worden. Bij jullie is dit dus niet het geval.. Goed om te weten.

nogmaals bedankt voor je response.
vr gr
Nico


Netherlands

Nico,

Het is mij niet duidelijk wat je wilt met je "positieschakelaars". Inlezen voor de rijwegtoewijzing in Rocrail. Maar dan moet Rocrail dus wel in staat zijn inputs uit de OC32 te lezen en te verwerken. Geen idee of Rocrail dat kan.

Mvg,
Leon

Goedemiddag Leon,

Fijn dat ook jij reageert.

In RocRail kan je bij de definitie van een wissel eindschakelaars definiëren. Je koppelt dan een melder toe aan de positie van het wissel. Eentje voor linksleidend en een ander voor rechtsleidend. De bediening in RocView laat dan ook zien dat een wissel niet is omgelopen en je bediende wissel krijgt een rood blokje om zich heen. Het wissel is niet gereed en kan niet opgenomen worden in een rijweg. Tevens kan je deze melder inzetten bij de condities voor rijwegen.

De spoorstroom melders van de TM44 werken wel en ik kan de outputs van de OC32 aansturen vanuit RocRail. Ik zit dus met twee problemen. Ik weet niet of ik mijn ingangen op de OC 32 goed heb geconfigureerd, dat kan ik niet testen met een programma vanuit de PC. Tweede item is: vertel ik RocRail wel op de juiste manier op welke adressen hij kan kijken naar mijn dinamo OC32. Melders hebben een iets anders definitie scherm dan seinen en wissels. Kan zijn dat daar ook nog een uitdaging zit.

Ik zoek door, misschien heeft iemand bij het RocRail forum al een keer een OC32 gebruikt voor zijn melders. Ik ga zeker even iTrain proberen zodat ik weet dat ik bij de ingang adressen kan komen.

Hartelijk bedankt voor het mee denken.


Netherlands

Nico,

Pinnen als input op de OC32 activeren Aspect 0 en 1 van de betreffende Pin. Als je niets definieert onder de betreffende Aspects gebeurt er niets.
In de DD Generic 2017/02/19 zit een definitie "(1)Gen: Feedback". Die zorgt voor het sturen van een bericht aan de PC als de input verandert.

Mvg,
Leon

Leon,
ik heb mijn input zoals jij aangaf met (1)generic feedback aangemaakt zie de bijlage.

Als ik je goed begrijp verstuurd de OC32 een bericht op het moment dat de ingang veranderd van status. bericht 1: input 25 wordt hoog en bericht 2: input 25 wordt laag.

Het is aan de ontvanger ( de PC) om de berichten op tijd te lezen en achterelkaar te verwerken. De PC software heeft geen poll functie. Even laten nadruppelen hoe ik dat moet testen in mijn situatie.
bedankt


Netherlands

Overigens hoort een OC32 niet heet te worden. Als je veel belastingen (LEDs) aanstuurt met weerstandsbankjes.wordt hooguit de spanningsregelaar warm.
Heet worden van de processor duidt meestal op een intern defect.

Mvg,
Leon

Oei, dat zou jammer zijn.
Wat er wel gebeurt weet ik niet, ik kan het ook niet testen.
Misschien houdt hij er binnenkort mee op.
Dan wordt het een nieuwe bestellen. Leren doe je nu eenmaal met vallen en opstaan.


Netherlands

Nico,

De externe weerstanden van 330 Ω zijn overbodig, want ik schreef:

Er moet dan een vinkje staan bij: 'Low Active'.
Intern wordt dan de ingang via een weerstand aan de plus gelegd.

Als dat vinkje er niet staat, dan is de input hoogohmig.

Binnen OC32 Config is het niet mogelijk om een ingangssignaal te laten zien. Dat kan wel via een externe aansluiting. — Want een lamp van een lichtsein zie je ook niet intern in de OC32 of die aan of uit is, maar extern bij het lampje/de LED van het sein. — Als je nog een aansluiting voor een lamp/LED over hebt, dan kun je die uitgang gebruiken om de stand van het ingangssignaal weer te geven. Eventueel kun je (tijdelijk!!) een reeds aanwezige lamp/LED van een lichtsein gebruiken of zelfs een wissel. Je moet dan een sprongopdracht (Jump) bij elke ingangsstand (aan/uit) toevoegen die springt naar de betreffende lamp-/LED- (aan/uit) of wissel-stand (recht/krom).

Hoi Martin,

Mooi dat je aangeeft dat je met het config programma een input niet kan testen en dat je er een truc voor moet uithalen. Je stelt voor om dat met een jump te doen alsof dat een eitje is. Nu heb ik me in het afgelopen half jaar beziggehouden met het programmeren van de Arduino en heb de programmeer mogelijkheden van de OC32 even in de hoek gelegd. Ik hoop nog een keer een lezing van HCC-m hiervoor te kunnen volgen. Ik heb het een paar keer doorgelezen maar een zetje in de rug zou mij een stuk op snelheid brengen. ik heb de tijd. ik heb de seinuitgangen die prima functioneren van adres 0- 15. Jouw voorstel wil ik gaan proberen eerst het document nog een parkeer doorlezen.

Bedankt voor je sugestie.

Op het RocRail forum nog niets gevonden over het gebruik van de OC32 voor input signalen.


Netherlands

Ik begreep dat Nico die 330Ohm weerstanden heeft aangebracht om wat meer stroom door de contacten te jagen. Zolang die aan +5V hangen (en niet aan een hogere spanning) is dat geen probleem.
Ik vraag me wel een beetje af wat het nut is van dergelijke feedback. Je gaat een blijkbaar potentieel onbetrouwbaar schakelcontact gebruiken om terug te melden dat de wissel in "de juiste" stand ligt. Maar hoeveel meer zekerheid biedt dat dan? En verder biedt het alleen informatie over de stand van de aandrijving en nog steeds niet of ook de tongen echt in de goed stand liggen.
Mvg,
Leon

Leon, helemaal mee eens dat je geen onbetrouwbaar schakelcontact moet gebruiken voor iets dat je belangrijk vindt. Zit zelf in het 'echte' spoor en eindstandschakelaars zijn voor mij betrouwbaarheid verhogend. Gewoon een beetje vakblindheid??
Zoals ik al aangaf heb ik eerst een testbaantje gebouwd met wat oud railmateriaal wat ik in de toekomst niet wil gaan gebruiken. Deze Fleishmann wissels hebben nu eenmaal van die zilvernaalden die als schakelcontact worden toegepast. Nieuwere generatie wissels hebben betere schakelaars. Eerst testen hoe betrouwbaar ze werkelijk zijn. Ben nog wel aan het kijken of ik daar geen IR sensors voor kan gebruiken. De slag is maar zo'n 3 mm en dan 2 standen betrouwbaar herkennen.. moet kunnen.
Nu is het alleen uitproberen van het terugkoppel principe. In de nu gebruikte wissels hoef ik ook nog geen puntstuksturing toe te passen. Dit zijn nog van die kunstof puntstukken.
vr gr
Nico
Stap voor stap de complexiteit verhogen.

Netherlands

Mijn 2ct:
Fleischmann wisselaandrijvingen zijn m.i. helemaal niet slecht. Alleen de eindafschakelingen zijn tamelijk r#k, dus ik sloop ze er liefst meteen uit. Zonder die eindafschakeling doen ze het nagenoeg eindeloos.
Tja, in het grootbedrijf gebeuren er vervelende dingen als een wissel niet goed ligt. In miniatuur is het allemaal niet zo'n ramp en bovendien is de kans dat het fout gaat minimaal. Ik snap dat je terugmelding wilt hebben als je de wissels aanstuurt met DCC. Dan is er namelijk een gerede kans dat het commando niet aankomt. Bij een OC32 in een Dinamo systeem is die kans nagenoeg nul en bij een OC32 die direct is aangesloten nog steeds verwaarloosbaar, afhankelijk hoe de software communiceert met die OC32's.


Netherlands

De DD Generic 2017/02/19 heb ik niet kunnen vinden. Wel de OC32Devices Generic 20150610.zip. Aangezien je 8 seinen (rood/groen) hebt geïnstalleerd, neem ik aan dat je gekozen hebt voor: (2)Gen: Signal Red/Green. Als voorbeeld heb ik de Feedback-definitie op Pin 24 gezet. Bij Aspect 0 staat dan: Off en bij Aspect 1: On. In beide gevallen staat bij #0 de Instructie: Feedback.

In beide gevallen moet je op #1 een extra instructie zetten: Jump. Je kunt dat uit de lijst (via het pijltje naar beneden) selecteren. Daarbij moeten nog een drietal waarden opgegeven worden.
1. De Pin-Offset (P.O.). In dit geval willen we een lamp via de instructies bij Pin 0 in- of uitschakelen. We springen dan van 24 naar 0, dus -24 invullen.
2. Bij Asp. 0 van Pin 24 (Off) moet verder niets veranderd worden. Er moet naar Asp. 0 van Pin 0 gesprongen worden (Red);
Bij Asp. 1 van Pin 24 (On) moet naar Asp. 1 van Pin 0 gesprongen worden (Green). Dus onder de 1 bij #0 moet ook een 1 ingevuld worden, want er moet naar Asp. 1 van Pin 0 gesprongen worden (Green).
3. In beide gevallen blijft de 0 staan, want er moet steeds naar Instructie #0 gesprongen worden (= enige instructie bij het sein).

In feite komt het er op neer dat de groene lamp met On en Off geschakeld wordt. De rode lamp toont steeds de tegengestelde seinstand.

Succes gewenst.

Goedemiddag Martin,
Heeft wel even geduurd voor ik weer kan reageren. Eerst wilde ik je programmering van de OC32 inputs uitproberen en ook een beetje begrijpen.
Ik heb als eerste precies gedaan wat je had voorgesteld. ik kon toen vanuit OC32config door middel van de test optie mijn eerste sein (adres 0) bedienen. was nog wel even zoeken met het wegschrijven van het device. Fijn dat je de offset formule goed had verteld toen kon ik de andere input poorten ook van de jump functie voorzien.
Na deze actie kon ik alle seinen bedienen met de test button vanuit ieder opvolgend input adres. Ik heb wel eerst een schrijf actie gedaan naar alle devices.
Daarna de hardware (een breadboard met schakelaars) de ingangen aangesloten op een schakelniveau van 5 volt of 0 Volt. een schakelaar aan iedere poort.
Poort 24 deed het gelukkig in een keer goed. Mooi dus, ik kon bewijzen dat een digitaal ingangsignaal verwerkt werd door de OC32. Ik had op dat moment nog de 4K7 weerstandsbank geplaatst. aan beide kanten van het IC ging het ingangsignaal omhoog en omlaag.
Poort 25 deed het niet. De rest trouwens ook niet. Uit meting bleek dan mijn LOW aan de ingangskant van de weerstand bank niet echt LOW werd maar rond de 1,5 Volt. Weerstandbank vervangen door 330 Ohm weerstanden. Nu kwam de ingangs LOW lager en kreeg ik een resonse op mijn tweede sein. Poort 26 werkte vanaf dat moment ook. Sein 3 reageerde op de schakelaar aan poort 3.
De rest van de inputkanten van de weerstandsbank komt niet lager dan 1,5 Volt. De hoogste LOW waarde zit rond de 3,5 Volt. Het lijkt erop dat deze microprocessor poorten niet als input worden geconfigureerd. Misschien wordt mijn processor daardoor te heet.
Voorlopig zie ik af van het gebruik van de OC32 als input device. Ik kan nog een heleboel dingen doen zonder .

Martin, Leon,
Dank voor jullie forum bijdragen. Ik heb er veel aan gehad. Waarschijnlijk zullen er vast meer modeltreinautomatiseerders zijn die door jullie kennis en opmerkingen geholpen zijn.
De wereld is niet zo groot. We ontmoeten elkaar nog wel.


Netherlands

Nico,
De constatering dat poorten 25-32 niet werken zoals verwacht heeft zeer waarschijnlijk een relatie met de processor die heet wordt. Vermoedelijk zijn intern een aantal transistoren of protectiediodes gesneuveld, Aangezien dat geen discrete componenten zijn, maar alles op één substraat zit is de kans niet denkbeeldig dat dit probleem zich verspreid binnen die chip.
Herstel van je OC32 is altijd mogelijk, ook als het probleem door eigen toedoen is ontstaan. Als het niet onder garantie valt (als je van mening bent dat dat wel zo is, graag claimen bij je leverancier) rekenen we bij een minimaal defect (als dat redelijkerwijs kan worden vastgesteld) de daadwerkelijke kosten (incl arbeid). Bij een groot defect (zoals een defecte CPU) rekenen we 50% van de nieuwprijs onder de volgende voorwaarden:

  • De betreffende module is niet eerder gerepareerd
  • De print zelf is niet beschadigd of verbrand
  • De module is een standaard-type (in geval van een OC32/NG een -A, -D of -ADE) en niet gemodificeerd
  • Je krijgt, indien je dat wilt en indien het technisch mogelijk is je eigen module gerepareerd retour of je krijgt een vervangende, identieke module (niet nieuw).

Als je afwacht tot hij echt stuk gaat is het niet uit te sluiten dat dat gebeurt door het uitbranden van de CPU en daarmee de print die er onder zit. Nog afgezien van evt gevaar voor de directe omgeving is reparatie dan dus niet meer mogelijk.
De keuze is uiteraard aan jou.
Mvg,
Leon


 
British English (en-uk)Dutch (Nederlands, nl)German (Deutsch, de)