Waar zijn we nu mee bezig ? Microcontrollers

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

Geert

#1140
In een sein branden niet alle LED's , maximaal 2 wit/wit. (EDIT: GEEL/GEEL ipv wit/wit) Het grootste probleem is de back up condensator zo klein mogelijk te houden.

De data transfer is zeer eenvoudig. 2 keer per seconde word via zeer korte pulsen de toestand van een LED doorgestuurd. Eerst Startpuls, en dan tijd meten tot volgende korte puls. De tijd gemeten geeft aan welke LED er moet branden.

En zoals ik hiervoor al aangaf, als er een puls komt, dan brand er geen LED om vermogen te sparen voor te controller.

Het PCB is twee zijdig. Een zijde een SMD 12F683 8pin. De andere zijde de LED's. De doorverbindingen (gaatjes) zullen gebruikt worden om de controller te programmeren.


Het solderen van de SMD onderdelen dat gaat wat worden denk ik. Ik zal een week geen alcohol mogen drinken om mijn bibber onder controle te houden  ;)


Geert
Schaal H0 - digitaal zelfbouw - Favoriete Lok: V200 DB

raf

#1141
Ja dat dacht ik toch ook dat ze niet alle 5 tegelijk zouden branden

groen /geel , wit /rood ,geel/geel en zo zijn er nog wel een paar mogelijkheden
dan de licht bak enz .
mogelijkheden genoeg
ik doe het met puls breedte jij doet het met de breedte tussen twee pulsen in .
Geert wat is het voordeel van dit zo te doen ??


@gerolf
Der heeft ooit iemand de moeite gedaan om een manual te schrijven
en ik denk niet dat je een led met 25 mA laat branden in een signaal
Want dan heb je haast een schijnwerper en das niet de bedoeling dacht ik toch 


Ambient temperature under bias...-40° to +125°C
Storage temperature ... -65°C to +150°C
Voltage on VDD with respect to VSS ................................................................................................... -0.3V to +6.5V
Voltage on MCLR with respect to Vss ............................................................................................... -0.3V to +13.5V
Voltage on all other pins with respect to VSS ........................................................................... -0.3V to (VDD + 0.3V)
Total power dissipation(1) ... 800 mW
Maximum current out of VSS pin ... 95 mA
Maximum current into VDD pin ... 95 mA
Input clamp current, IIK (VI < 0 or VI > VDD)...± 20 mA
Output clamp current, IOK (Vo < 0 or Vo >VDD)...± 20 mA
Maximum output current sunk by any I/O pin... 25 mA
Maximum output current sourced by any I/O pin ...... 25 mA
Maximum current sunk by GPIO... 90 mA
Maximum current sourced GPIO... 90 mA

gr raf
If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.

Geert

#1142
Raf, het is van moeten anders valt de controller zonder voeding. Zoals ik al aangaf, is het de bedoeling dat ik met twee draaden naar de schakeling werk, plus en min. De plus laat ik 2 microseconden wegvallen. Net genoeg om door de controller gedetecteerd te worden. Deze start dan een timer. Bij de volgende dipje stop ik de timer. Met een ruime tollerantie bepaald de controller welke LED er moet branden. Dan heeft de controller ruim 0,5s de tijd om de LED's in of uit te laten dimmen tot de volgende pulsen er aan komen. Het zal wel iets meer dan 0,5s zijn om zo een knipperen van een tegensein na te bootsen.

Om nu terrug te komen waarom geen pulsbreedte, de voedingsspanning is dan te lang weg en moet ik een flinke condensator plaatsen op het kleine PCB om dit op te vangen.

Ik had al aangegeven het is de condensator die bepaald of de schakeling haalbaar is op het PCB...


Geert
Schaal H0 - digitaal zelfbouw - Favoriete Lok: V200 DB

raf

Ja snapte ik wel Geert maar ik kon de logica er achter niet vinden
Bij deze dus nu wel
Als de condensator de breedte van de puls kan over bruggen zit je goed
Maar inderdaad dan heb je een grote condensator nodig en een druppel tantaal kun je niet weg moffelen in de pillaar van het signaal
Die zijn klein en hebben een grote capasiteit

Gr Raf
If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.

Gerolf

Condensatoren bestaan ook in smd, en kan je parallel plaatsen
Zet een schottky diode in serie, en de voeding van je µC zal niet zo snel wegvallen
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw

Geert

Citaat van: Gerolf op 23 december 2017, 20:24:05 PM
Condensatoren bestaan ook in smd, en kan je parallel plaatsen
Zet een schottky diode in serie, en de voeding van je µC zal niet zo snel wegvallen

Ik had zoiets gelijkaardigs al uitgetekend. Nu een maandje wachten op onderdelen...

Geert
Schaal H0 - digitaal zelfbouw - Favoriete Lok: V200 DB

Klaas Zondervan

In plaats van een dip in de voeding kan je ook de polariteit omkeren. Met een bruggelijkrichter zorg je dan dat de controller altijd voeding heeft.
Dan kan je langere pulsen maken en is het ook eenvoudiger om verschillende lengtes te sturen. Feitelijk ben je dan een digitaal systeem aan het nabootsen.

Geert

Klaas, dat zijn 3 extra dioden op het al te kleine SMD printje  ;)

Geert
Schaal H0 - digitaal zelfbouw - Favoriete Lok: V200 DB

Klaas Zondervan

Het was maar een idee. Maar ik dacht dat die 3 diodes samen misschien minder ruimte zouden innemen dan 1 condensator.

Geert

Dan heb ik na de gelijkrichter nog altijd een kleine condensator nodig. Maar ik ben blij dat jullie meedenken.

Het is niet dat deze schakeling moet, het is gewoon een kleine uitdaging, letterlijk.  :)

Geert
Schaal H0 - digitaal zelfbouw - Favoriete Lok: V200 DB

Geert

Sein aansturen via twee draden met SMD en µC technologie.

Via deze schakeling probeer ik het werken met SMD elektronica componenten onder de knie te krijgen.  De software is geïntegreerd in reeds bestaande IN/OUT LocoNet module.

Het is niet echt nodig om een sein met maximum van twee draden aan te sturen. Maar als het kan, waarom niet hé.
Eerst is de schakeling getest met standaard elektronica componenten om de haalbaarheid te testen.


Het principe is eenvoudig. De µC-zender voorziet +5V  op een uitgang pin. De maximum  stroom is 25mA per uitgang van de µC. Deze +5V dient als voeding van de µC-ontvanger = de sein sturing. Om door te geven welk seinbeeld de µC-ontvanger moet weergeven, zal de µC-zender zeer kort de spanning 2 keer doen wegvallen via een 'dip'.  De tijd daar tussen geeft aan welke LED's de µC-ontvanger moet laten oplichten. Het doorsturen van het seinbeeld wordt elke halve seconde doorgegeven. Zo kan het knipperen van een tegensein nagebootst  worden.

Via onderstaand schema geef ik weer hoe dit signaal is opgebouwd. De symbolische schakelaars worden via LocoNet aangestuurd.
De µC-ontvanger meet de tijd tussen de twee dip's. De µC-ontvanger zal de LED's via Fade in en Fade out laten oplichten-doven.
De eerste testen zijn er om na te gaan hoe kort ik de dip's (minder dan 2µs ?) kan doorsturen om herkent te worden door de µC-ontvanger. Dit is van belang om de condensator C voor het behoud voedingsspanning µC-ontvanger zo klein mogelijk te houden (in SMD !)


sein zender
by Geert Giebens, on Flickr

Ook mag de tijd tussen de dip's niet te lang zijn. Immers op dat moment kan de µC zender niets anders doen, ook geen interrupt  verwerken afkomstig van LocoNet.

De µC-ontvanger moet samengesteld worden in SMD met zo weinig mogelijk componenten. Deze komen op een PCB waar op twee zijden de componenten komen te staan. Dit PCB heeft al de vorm van een sein.  Dit is eigenlijk de echte uitdaging van dit project. Maar zo ver ben ik nog niet. Meer hierover  later.

De software is al getest, nu wachten op de SMD componenten...



sein ontvanger
by Geert Giebens, on Flickr


Geert
Schaal H0 - digitaal zelfbouw - Favoriete Lok: V200 DB

HO_COMP_FAN

Geert

ik kijk vol spanning naar je praktische realisatie van deze 2-draads aansturing ter grootte van het (belgische-) treinseinbord . Wat een uitdaging !

Je realisaties met Loconet lijken erg goed te zijn , maar wellicht niet combineerbaar met mijn reeds geinstalleerde S88 modules , aangestuurd via Intellibox-I,  en Koploper.
Of ben ik verkeerd dat je beide systemen (S88 modules en Loconet modules)  tegelijk kunt aansturen ?


Succes

Met vriendelijke groeten, Dirk
HO 3-Rail Digitaal , Marklin K-rails, Intelllibox 1, W10+Koploper , LDT RM-88-N-B+RM-88-O-B , Viessman 5211/5213/5217(S88) , DR4018 , Boosters 4017 & LDT DB-2 ,
Arduino Uno. Loks Marklin/Roco/Mehano/L.S.

PeterC

Geert,

Ik ben er zeker van dat dat je het protocol, met jou kennis, tot een goed eind brengt!
Je condensator is je grootste probleem.  Ik denk mee: breng je printsporen tot op het uiteide van je print (dubbelzijdig) en zet misschien een (vrij grote in smd normen) C dwars op het uiteinde van je pcb?  Tantalium-C?




Het sein zelf?  3D print  ;) 8)

Groetjes, Peter


PeterC

Citaat van: HO_COMP_FAN op 21 januari 2018, 19:42:21 PM
...Je realisaties met Loconet lijken erg goed te zijn , maar wellicht niet combineerbaar met mijn reeds geinstalleerde S88 modules , aangestuurd via Intellibox-I,  en Koploper.
Of ben ik verkeerd dat je beide systemen (S88 modules en Loconet modules)  tegelijk kunt aansturen ?...

Volgens mij ben je verkeerd...  ...Beiden zijn losstaande protocollen en volgens mij naast elkaar te gebruiken?
Groetjes, Peter


Geert

Even misdacht  :-\,

ik ben bezig met ontwerp PCB voor de SMD seintjes. Het ontwerp van een gewone sein, deze die links aan het spoor staat (in België) is OK.  Nu de tegensein, gespiegeld, dacht ik zoals in het echt.

Er is niets zo simpel in een tekenprogramma dan uw ontwerp te spiegelen. De LEDjes staan anders, geen probleem, weerstanden, geen probleem, C en diode, geen probleem. De controller spiegelen (de pinconfiguratie), dat lukt niet...


Geert
Schaal H0 - digitaal zelfbouw - Favoriete Lok: V200 DB