Waar zijn we nu mee bezig ? Microcontrollers

Gestart door ToThePoint, 13 januari 2012, 10:27:28 AM

Havoc

Geen probleem Geert, voor mij is het ook allemaal maar een hobby. Maar ik ben de automatisering aan het bekijken voor mijn baan. Eerste idee was ook microcontrollers. Nu denk ik eerder aan een centrale pc waar ik enkel wat IO moet bij maken. Veel is er nog niet te zien, ben nog niet verder dan handleidingen van usb interfaces aan het lezen en "programeren voor dummies"-type handleidingen op het net.
Met vakantie voor onbepaalde duur.

Gerolf

citaat:
Geplaatst door Havoc
Zelf zou ik de usb interface niet meer laten doen dan een seri?le interface maken en al de rest met schuifregisters doen.
Een microcontroller kan dit ook - maar twee (goedkope) chips nodig [;)]
Onder mijn kermis zitten inderdaad meerdere ?C's, alle printplaatjes zijn afgeleid van ??n eenvoudig concept en dus snel ontworpen, en de programma's zelf zijn ook behoorlijk simpel.
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw

Geert

Al iets concreter dan een denkpiste, maar toch...

Een S88 terugmelder via stroomdetectie met ?C's:

Meetprincipe is spanningsval meten over een diode die geleid met ?C. De diode kan een Si; Ge of zelfs een Schottky zijn. Deze laatste heeft een zeer lage spanningsval en dus minder spanningsverlies.

Omdat de ?C enkel positieve spanning kan meten moet de ?C weten wanneer er op het digitaal signaal voor de lok?s een positieve polariteit staat. Dus deze wordt mee digitaal gescand. Bij negatieve polariteit gaan de ?C's lekker wachten tot de volgende positieve puls.

De kleinste positieve puls (in lengte) die ik ken is deze van MM protocol voor wissels en seinen en is 13?s lang. Ruim voldoende voor een analoge meting  met een PIC ?C op 8MHz.

De PIC ?C 16F684 heeft 8 kanalen waarop deze spanningen kan meten, weliswaar niet tegelijkertijd, maar ??n na ??n. Er komen ruim voldoende positieve pulsen uit een centrale zodat er heel veel gemeten wordt per seconde door de ?C's.

De software houd ook rekening met slecht wielcontact waardoor er net even geen stroom door de diode loopt. Er zit dus ook net zoals bij massadetectie een teller en FF in die een condensator en shmitt-trigger nabootsen.

Omdat meestal gewerkt wordt met 16 terugmeldcontacten zijn er 2 ?C's aanwezig op de testprint die onderling communiceren.

Net zoals bij S88 massadetectie is deze S88 stroomdetectie niet galvanisch gescheiden van het digitale signaal voor de lok?s.

Als de testen meevallen dan maak ik hier een echt printje van met een S88N bus waar het digitaal signaal ook op zit. Ook kan ik het zo compacter maken dan met een strokenprintje.

Geert



voor de duidelijkheid: de dioden liggen in 2 lagen op elkaar [;)]

Schaal HO - digitaal zelfbouw - Favoriete Lok: V200 DB
Huidig project: LocoNet 16 poorten ingangen/uitgangen

PeterC

Geert, een vlugge blik op je print doet me toch de wenkbrouwen fronsen...  Ook al 'sample' je het negatief signaal niet, de volle 'negatieve' spanning over de diode komt op je poort terecht.
PIC's zijn 'stevige beesten' maar -0.7V lijkt me toch wat veel...

Een extractie uit de datasheet:
Voltage on all other pins with respect to VSS ....... -0.3V to (VDD + 0.3V).

Ik kan er de bal volledig naast slaan hoor want ik werk enkel met 0-5V op een PIC en voor hogere (of negatieve) spanningen werk ik optisch gescheiden maar de geur van een chip die met een rookpluim afscheid neemt is niet zo lekker [}:)].

Waarom geen AC optocouplers voor de detectie?  Direct galvanisch gescheiden maar wel een (beperkte) meerkost.

Groetjes, Peter


Havoc

Als de spanning niet lager komt dan -0.7V en die weerstand in serie met de poort is hoog genoeg dan is er niet veel aan de hand.

Je mag de spanning op de pin niet lager dan -0.3V maken omdat dan de interne beveiligingsdiode in werking komt. De stroom door die diode wordt intern niet begrensd en die gaat dus snel stuk want dit zijn kleine snelle diodes voor esd, over/undershoot te beperken. Maar als je die met een weerstand tot een paar mA beperkt is er niets aan de hand.

Het is niet netjes en niet aan te raden. Dus een andere oplossing zou beter zijn.

citaat:
Waarom geen AC optocouplers voor de detectie? Direct galvanisch gescheiden maar wel een (beperkte) meerkost.


Spanningsval is hoger.
Met vakantie voor onbepaalde duur.

Geert

Ik begrijp jullie bezorgdheid.  In die weerstand R daar zit het hem in natuurlijk. Deze is echt nodig ook al spreken we maar over -0,7V( Si-diode). Maar ik schakel al enkele jaren met PIC's ?C met negatieve spanningen tot -18V! (MM en Mfx) Vandaar ook die R van 100k om het digitaal signaal te scannen. (net boven de ?C)

Ideaal is natuurlijk een schottky diode van 0.15V ... (maar zo duur [:(])

De nauwkeurigheid van meten is niet zo belangrijk. Die weerstand heeft ook spanningsverlies. Het belangrijkste is dat we weten dat er spanningsval over de diode, door stroom erdoorheen, is.

Geert
Schaal HO - digitaal zelfbouw - Favoriete Lok: V200 DB
Huidig project: LocoNet 16 poorten ingangen/uitgangen

Geert

Technisch vraagje aan de bezitters van commerci?le centrales en die iets af weten van digitale signalen die er uit komen:

Bij MR-direct  weet ik dat de S88 bus enkel communiceert met de aangesloten terugmelders  tijdens de pauzes tussen de digitale signalen naar de lok?s en functiedecoders toe. Wat ook logisch is, MR-direct kan maar ??n taak tegelijkertijd uitvoeren.

Is dit ook zo bij de commerci?le centrales?

Dit kan het programma van een ?C projectje vereenvoudigen als al de centrales zo werkte als MR-direct.

Geert
Schaal HO - digitaal zelfbouw - Favoriete Lok: V200 DB
Huidig project: LocoNet 16 poorten ingangen/uitgangen

PeterC

citaat:
Geplaatst door Geert

...Bij MR-direct  weet ik dat de S88 bus enkel communiceert met de aangesloten terugmelders  tijdens de pauzes tussen de digitale signalen naar de lok?s en functiedecoders toe...



Geert, als je de lange pauzes tussen de verschillende pulstreinen bedoeld, moet ik je teleurstellen...  Bij Edits Pro worden er 8 klokpulsen gegenereerd tijdens te tijd dat het signaal vast is (bij een 0 of 1 is dit 156 ?s)  Tijdens die periode worden er 8 klokpulsen van 16?s gegenereerd.  Om de 32 terugmelders te kunnen uitlezen zijn er 256 klokpulsen nodig en op die manier kunnen die alle 32 gelezen worden tijdens het uitzenden van ??n enkel lokcommando.

Bij de IB is dit iets trager.  De juiste timinggegevens heb ik niet, maar dit is een meetresultaat:



Ben je hiermee geholpen?

Groetjes, Peter


Geert

Je antwoord kan niet duidelijker zijn Peter, bedankt. Ik ga dat programma op de PC ook eens moeten toepassen om zo digitale signalen te scannen. Dat was iets met een stripfiguur met enkele haartjes h? [;)]

Geert
Schaal HO - digitaal zelfbouw - Favoriete Lok: V200 DB
Huidig project: LocoNet 16 poorten ingangen/uitgangen

PeterC

citaat:
Geplaatst door Geert

...Ik ga dat programma op de PC ook eens moeten toepassen om zo digitale signalen te scannen...


Geert, voorgaande screenshot is wel van een iets professioneler toestel (Fluke 123 [;)]).
Met de geluidskaartgeheugenscoop ging het ook, maar had ik geen juiste tijdsbasis.
Groetjes, Peter


Geert

Stroomdetectie via ?C ?voorlopig? stop gezet. Het probleem zit hem niet in de -0,7V over de Si-diode. Deze kan via een R van 1 tot 5k perfect gereduceerd worden tot een veilige lagere negatieve spanning.  Het probleem zit hem in eventuele kortsluitingen na de dioden. Zo kan er ook even +-15V ? +-18V op de ?C poorten komen, en daar kunnen ze niet tegen vrees ik. En vooraleer de kortsluitingbeveiliging van de centrale in werking treed is het al over en out voor de ?C. Ze galvanisch scheiden zoals bij de commerci?le stroomdetecties met hogere spanningsverliezen en iets complexe schakelingen was niet de opzet van dit project. Het zal voorlopig bij massadetectie blijven via ?C.[:(]


Tenzij er iemand er een oplossing voor weet.


Geert
Schaal HO - digitaal zelfbouw - Favoriete Lok: V200 DB
Huidig project: LocoNet 16 poorten ingangen/uitgangen

Klaas Zondervan

citaat:
Geplaatst door Geert

Het probleem zit hem in eventuele kortsluitingen na de dioden. Zo kan er ook even +-15V ? +-18V op de ?C poorten komen,
Dit snap ik even niet. Bij een kortsluiting wordt de spanning juist lager. De stroom door de dioden wordt enkele amperes, waardoor over de dioden 1,5V kan komen. Dat lijkt me nog niet desastreus.
Tenzij zo'n diode doorfikt, dan wordt het een ander verhaal.

PeterC

citaat:
Geplaatst door Geert

...Tenzij er iemand er een oplossing voor weet...



Geert, een simpele transistor met de diodespanning aansturen via een voorschakelweerstand?
Groetjes, Peter


Geert

Daar heb je ook weer gelijk in Klaas. Zal het even life proberen.

Geert
Schaal HO - digitaal zelfbouw - Favoriete Lok: V200 DB
Huidig project: LocoNet 16 poorten ingangen/uitgangen

Geert

Een denkpiste: Multifunctionele ?C programma en print lay-out op maat.

Ik zit hier redelijk wat projecten met ?C uit de doeken te doen, maar dit is eigenlijk nog maar een tussenstap. Uiteindelijk is het de bedoeling dat ik enerzijds een ?C op maat compileer aan de behoefte die ik heb op dat stuk baan. En anderzijds een print lay-out maak met aan die behoefte aangepaste in/outputs.

Dat compileren op maat is niet zo moeilijk: een degelijke compiler kan ?voorwaardelijk? compileren aan de hand van enkele parameters die je ingeeft:

praktijkvoorbeeld:

in dit station heb ik 4 wissels nodig  met terugmeldcontacten (in mijn geval servosturing)

in dit station staan  4 seinen (elk sein heeft minstens 3 uitgangen nodig)

In dit station zijn er 12 terugmeldcontacten nodig.

enz?

Ik ben wel beperkt aan 36 in/uitgangen (PIC 16F887) waarvan er al enkele gebruikt worden voor de S88 bus en voor het digitale protocol te scannen. (Of ik het S88 protocol ga blijven toepassen is twijfelachtig. ?C communiceren veel betrouwbaarder en met minder in/outputs.)

Dit was het eenvoudige deel van mijn denkpiste.

Maar voorwaardelijk, aan de hand van dezelfde behoefte, een print-lay out ?automatisch? ontwerpen is een andere zaak...

Geert
Schaal HO - digitaal zelfbouw - Favoriete Lok: V200 DB
Huidig project: LocoNet 16 poorten ingangen/uitgangen