Waar zijn we nu mee bezig ? Microcontrollers

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

TimT

Mooi gedaan :D en alles werkt mooi zo te zien :D
werk dit enkel via koploper of ook via een dcc compatible centrale
Eindelijk een  decoder (buiten de oc32 die kan ze ook correct aansturen)
die ze correct kan ondersteunen wat zijn je verder plannen met dit project ? [:D]

Groeten Tim

ToThePoint

citaat:
Geplaatst door TimT

Mooi gedaan :D en alles werkt mooi zo te zien :D
werk dit enkel via koploper of ook via een dcc compatible centrale
Eindelijk een  decoder (buiten de oc32 die kan ze ook correct aansturen)
die ze correct kan ondersteunen wat zijn je verder plannen met dit project ? [:D]

Groeten Tim



Tim

Koploper stuurt dat toch via DCC, allee ja ik ben weer verward.
2de poging.
In koploper dient men de adressen en hoe die adressen geplaatst dienen te worden om de seinbeelden weer te geven, in te geven.
Koploper stuurt de commando's via loconet ( bij mij althans).
De twin center zet die signalen om naar DCC en krijgt de commando's via loconet. Een seriele kabel tussen TC en PC is totaal niet betrouwbaar.
Wel dient men in de TC de virtuele adressen in te geven en daar heb ik deze voormiddag serieus mee aan het knoeien geweest PFFFFFFFFFFFF.
Soit om een lang verhaal kort te maken.
Het maakt niet uit vanwaar die commando's komen.
De seinbeelden kunnen zelfs met een profi boss gedaan worden.
Het filmke is daar een bewijs van. Ik plaats het seinbeeld met de profi boss.
Bemerk ook dat het seinbeeld pas na 1 sec op het sein verschijnt na ingave van het laatste commando. Ik deed dat omdat koploper 4 adressen na elkaar zet en daar gaat de nodige tijd over.
Ik wou niet dat vooraleer een beeld totaal was doorgegeven dat het sein al vanalles anders liet zien. Ik weet niet of het bij het grootbedrijf wel zo ia, maar ik veronderstel dat veranderende seinbeelden niet via via gaan, maar ineens op het sein verschijnen.
In de decoder kunnen 16 verschillende seinbeelden als men de decoder gebruikt voor 1 sein die 8 leds aanstuurt. Zoals het sein in het filmke, maar koploper kan max 12 seinbeelden aan en aangezien koploper niet verder ontwikkeld word heeft het weinig avance.

Kheb mijn persoonlijke geheugensteun op de site gezet. Dan kan je eens kijken wat er mogenlijk is. HIER. En ik benadruk dat dit een persoonlijk document is. Het dient enkel voor mij als referentie.

Ik heb geen verdere plannen met dit project. Voor mij is het klaar en word a gogo aangepast.
Indien er iemand is die interesse heeft die kan ten persoonlijke titel een HEX file krijgen.
Ik wil zelfs nog 4 seinbeelden extra in de 1 sein optie stoppen.
of de 2 sein met 6 leds uitbreiden qua seinbeelden (als dat gaat tenminste. Er is nog 1 adres over, maar de decoder kan slechts 6 leds aansturen.
Maar publiek ga ik geen HEX plaatsen, en al helemaal geen asm file. Te veel zakkenvullers en het patent debacle ten spijt.
Ook is het een optie dat u met een zakje pic 16f628a komt en ik die programmeer. Een pic is binnen de 15 seconden klaar.
Dus moest er iemand interesse hebben, de pic's worden kostenloos geprogrammeert. Een electronische schakeling dien je dan nog wel te bouwen. Ik schat dat u met een euro of 7 wel klaar bent.
Maar ik weet niet wat de prijs van een 16f628 is vandaag de dag. Ik kocht ongeveer 50 stuks een jaar of 2 geleden.
Als u kijkt zoals u altijd keek zal u steeds zien wat u altijd zag. "BOEDDHA"
Now you're just somebody that I used to know "GOTYE"
Spoor HO, HOe, N, Z, digitaal, EP: I, II, III, IV, V, VI

dgrr57

Ik ben, hoe kan ik dat zeggen, een beetje teleurgesteld [:(]
Ik dacht dat we hier samen iets gingen maken. We zien maar alleen een blackbox waar we de inhoud nooit zullen zien. Daar ben ik weinig mee [:(]
Sorry als je mij niet versta.

Ik heb een site gevonden (in het Frans) waar men vanaf het begin begint [:)] en ik zal daarmee leren werken met pic's.

ToThePoint

citaat:
Geplaatst door dgrr57

Ik ben, hoe kan ik dat zeggen, een beetje teleurgesteld [:(]
Ik dacht dat we hier samen iets gingen maken. We zien maar alleen een blackbox waar we de inhoud nooit zullen zien. Daar ben ik weinig mee [:(]
Sorry als je mij niet versta.

Ik heb een site gevonden (in het Frans) waar men vanaf het begin begint [:)] en ik zal daarmee leren werken met pic's.



Uiteraard Patrick, dat is geen probleem. Gooi een project in de groep dat je graag wil bouwen.
Ook dien je te weten met welk type controler je gaat werken.
Dan kunnen we samen stapsgewijs uw project uitwerken.
Ik heb blijkbaar niet gelezen en/of begrepen dat Patrick met pic's leert werken. Sorry daarvoor Patrick
Als u kijkt zoals u altijd keek zal u steeds zien wat u altijd zag. "BOEDDHA"
Now you're just somebody that I used to know "GOTYE"
Spoor HO, HOe, N, Z, digitaal, EP: I, II, III, IV, V, VI

Geert

Spijtig dat je de ASM code niet vrijgeeft. Wel gratis koploper gebruiken, maar je eigen ontwikkelde projecten afschermen [:(]

In ieder geval ik ben daar ook mee bezig om seinen aan te sturen. (this te zeggen het staat al in grote lijnen al op papier) Eerst de programmering en terugmelding van CV?s in orde krijgen.  Mijn bron codes zijn altijd te vinden op mijn webpagina?s.  Ik plaats ook heel veel uitleg bij de bron code. Dit is vooral voor mezelf bedoeld. Na een paar jaar weet je niet meer zogoed welke denkpiste je toen gebruikte.

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

Klaas Zondervan

TTP, ik ben eigenlijk ook wel teleurgesteld. Je hebt dit topic zelf geopend met de bedoeling om kennis over microcontrollers te delen. Maar als puntje bij paaltje komt geef je helemaal geen feitelijke informatie.

Ik had de verwachting hier iets te leren, maar dat lukt op deze manier natuurlijk niet.

PeterC

Ik kan JP (TTP) deels volgen.

Een programma in elkaar zetten doe je tegenwoordig niet meer door 'warm water' uit te vinden (ik toch niet).  Je zoekt (en vindt!) overal source code voor oplossing van deelproblemen van je ontwerp.  Je gooit die deeloplossingen samen en je hebt een oplossing voor jou probleem.

Waarom die code niet vrijgeven?  Daar wringt het schoentje: een groot deel de code is intellectuele eigendom van anderen (ook al gebruik je er maar een stukje van) en op de gepubliceerde code staat duidelijk een copyright vermeld.

Je kan dat natuurlijk omzeilen door variabelen een andere naam te geven en het commentaar volledig naar je eigen mond aan te passen, maar dan kan je evengoed het programma zelf schrijven.  Een algorithme uitwerken kan op verschillende manieren, maar grosso-modo komt iedere programmeur toch met dezelfde oplossing.

Je kan ook vermelden in je commentaar waar je dat stukje van een ander voor gebruikt en waar je het gevonden hebt.  Met een auteursvermelding maak je volgens mij dan geen inbreuk op het copyright?
Groetjes, Peter


PeterC

Als bron voor decoders (zowel MM als DCC) voor PIC's kan ik alleen maar volgende site aanbevelen:

http://www.digital-bahn.de/develop/source.htm

Alle source is vrijgegeven en vrij omvangrijk voorzien van commentaar (Duits).
De decoders hebben bijna allemaal een 'adres-leer' functie en zijn via de HEX files (en software via de site te downloaden) aan te passen aan je eigen behoefte.

Ik gebruik die decoders maar heb er een optocoupler voor gezet om mijn baansignaal galvanisch te scheiden van mijn stuurspanningen.
Ik ben bezig (met dit en nog veel andere zaken...) om printjes te ontwerpen om die decoders met 'normale' componenten uit te voeren (ik haat SMD's).
De componenten zijn vrij goedkoop en eenvoudig aan te geraken.

Zoals JP beschik ik ook over een PIC programmer en wil ook ten dienste staan van zij die er geen hebben om eens een HEX in een PIC te 'bakken'.
Ik vraag er ook geen kosten voor, alleen een postzegel om de PIC te retourneren.

[Edit] Door nog wat rond te neuzen op de site heb ik nu pas gezien dat de schema's in Eagle formaat ook te downloaden zijn...
...Ik heb er zelf heel wat tijd ingestoken om ze te hertekenen [:(]
Groetjes, Peter


ToThePoint

citaat:
Geplaatst door Geert
Spijtig dat je de ASM code niet vrijgeeft. Wel gratis koploper gebruiken, maar je eigen ontwikkelde projecten afschermen [:(]
In ieder geval ik ben daar ook mee bezig om seinen aan te sturen. (this te zeggen het staat al in grote lijnen al op papier) Eerst de programmering en terugmelding van CV?s in orde krijgen.  Mijn bron codes zijn altijd te vinden op mijn webpagina?s.  Ik plaats ook heel veel uitleg bij de bron code. Dit is vooral voor mezelf bedoeld. Na een paar jaar weet je niet meer zogoed welke denkpiste je toen gebruikte.
Geert met alle respect, maar zo zie ik het niet.
Een paar maanden geleden had ik een lumieus idee. (...) In een draadje dat hier op het forum staat kan men perfect zien wat er toen allemaal gebeurt is. (...)
Daarom wens ik te weten wie de hex cq asm krijgt want zij die aan de grond liggen van het " PATENT DEBACLE " hoeven van mij geen hulp te verwachten. Dus voor diegene die interesse hebben in de seindecoder met belgische seinbeelden die kan gratis bij mij het nodige bekomen. Wat ook impliceert dat u de ASM zelfs uitgeprint meekrijgt ! (...)
Maar vandaag heb ik tijdens het werk een tekortkoming erin gevonden.
Als de decoder 2 seinen bedient met 6 leds dan is het voor beide oftewel normaalspoor of tegenspoorbeeld. Ik zou graag hebben dat beide onafhankelijk ingesteld kunnen worden. Dus ik zal nog eens moeten graven in de ASM file en een extra cv'ken moeten gebruiken ervoor.
Als u kijkt zoals u altijd keek zal u steeds zien wat u altijd zag. "BOEDDHA"
Now you're just somebody that I used to know "GOTYE"
Spoor HO, HOe, N, Z, digitaal, EP: I, II, III, IV, V, VI

Gerolf

Ik heb even wat gesnoeid in dit draadje.
Vanuit het verleden borrelde er blijkbaar wat rancune op, die NIETS met dit onderwerp te maken heeft [V]
Laten we teruggaan tot de essentie van dit draadje: hoe kan je een microcontroller gebruiken in onze hobby.
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw

ToThePoint

citaat:
Geplaatst door PeterC

Als bron voor decoders (zowel MM als DCC) voor PIC's kan ik alleen maar volgende site aanbevelen:

http://www.digital-bahn.de/develop/source.htm

Alle source is vrijgegeven en vrij omvangrijk voorzien van commentaar (Duits).
De decoders hebben bijna allemaal een 'adres-leer' functie en zijn via de HEX files (en software via de site te downloaden) aan te passen aan je eigen behoefte.

Ik gebruik die decoders maar heb er een optocoupler voor gezet om mijn baansignaal galvanisch te scheiden van mijn stuurspanningen.
Ik ben bezig (met dit en nog veel andere zaken...) om printjes te ontwerpen om die decoders met 'normale' componenten uit te voeren (ik haat SMD's).
De componenten zijn vrij goedkoop en eenvoudig aan te geraken.

Zoals JP beschik ik ook over een PIC programmer en wil ook ten dienste staan van zij die er geen hebben om eens een HEX in een PIC te 'bakken'.
Ik vraag er ook geen kosten voor, alleen een postzegel om de PIC te retourneren.

[Edit] Door nog wat rond te neuzen op de site heb ik nu pas gezien dat de schema's in Eagle formaat ook te downloaden zijn...
...Ik heb er zelf heel wat tijd ingestoken om ze te hertekenen [:(]




Peter, Dean Probst schreef ooit een decoder sequence voor het DCC signaal dat in assembler is en bedoelt voor een PIC.
Misschien uw licht eens dare oplichten.
Galvanische scheiding is mijns inziens een must voor alle gerelateerde zaken die spoorspanning inhouden.
Ook ik gebruik het liefst gewone componenten. SMD's als het echt niet anders kan.

P.s. Ik heb blijkbaar niet gelezen en/of begrepen dat Patrick met pic's leert werken. Sorry daarvoor Patrick en de post van gisteren is aangepast..
We zullen de draad opnemen als u een basis heeft.
Dwz, Het initialiseren en gebruiksklaar maken van een pic.
Het eigenlijke programma wordt hier a gogo samen uitgewerkt.
Maar ik stel voor om simpel te beginnen met een project dat bruikbaar is op een modelbaan. En waarvan we kunnen zeggen "Dat hebben we samen gemaakt".

Wat me doet denken aan devolgende site. Die van de MERG. die staat vol met ASM files en HEX voor diegene die wensen te weten wie, wat waar en hoe.
Als u kijkt zoals u altijd keek zal u steeds zien wat u altijd zag. "BOEDDHA"
Now you're just somebody that I used to know "GOTYE"
Spoor HO, HOe, N, Z, digitaal, EP: I, II, III, IV, V, VI

Gerolf

Ik heb een wat algemene vraag voor mensen die al eens met een ?C gepuzzeld hebben:
Gebruiken jullie interrupts of niet?

Even verduidelijken: een interrupt is een stukje programma, dat opgeroepen wordt als er "iets" gebeurd. Op dat moment wordt het lopende programma onderbroken, wordt de routine afgewerkt en gaat de rest van het programma daarna gewoon door.
Een aanleiding voor een interrupt kan vanuit een interne timer, een toetsaanslag of andere externe gebeurtenis, stroomverlies, ...

Ik heb er wat mee zitten puzzelen, maar gebruik tot nu toe toch liever een (ouderwetse?) hoofdlus, en vraag in die lus zelf wel op of er iets is (poorten checken, tellers nakijken, ...)

... Maar ik wou graag jullie meningen/ervaringen [;)]
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw

PeterC

Interrupts?  Waarom?  Waarom niet?

Ik gebruik ze voor tijdcritische delen van een programma.  Wanneer iets op het juiste moment moet gebeuren (soms kwestie van microseconden...).

Interrupts zijn voor vele mensen een heel moeilijke materie en er gebeuren ook veel fouten mee.

Een eenvoudige uitleg voor een interrupt (en hoe die goed af te handelen!) - heel simplistisch:

Ik bak patatjes.  Patatje per patatje omkeren en laten bakken (hoofdroutine - main loop).  De bel gaat! Interrupt!  Ik ga naar de voordeur en ontvang de post.  Ik keer terug naar mijn fornuis (RETI - return from interrupt) en het is om zeep!  Mijn patatjes zijn ondertussen aangebrand (data is corrupt).  Mijn programma draait verkeerd!

Oplossing:
Ik bak patatjes (main loop).  De bel (interrupt)!  Voor ik naar de voordeur ga, zet ik mijn pan van het vuur (belangrijke data opslaan - saven van registers).  Ik ga naar de deur en ontvang de post.  Terug naar de keuken (RETI) en zet mijn pan met niet aangebrande patatjes terug op het vuur (restore van mijn data) en bak rustig verder tot ze klaar zijn (end main-loop) of tot de volgende interrupt.
[^][^][^]

Groetjes, Peter


ToThePoint

citaat:
Geplaatst door PeterC

Interrupts?  Waarom?  Waarom niet?

Ik gebruik ze voor tijdcritische delen van een programma.  Wanneer iets op het juiste moment moet gebeuren (soms kwestie van microseconden...).

Interrupts zijn voor vele mensen een heel moeilijke materie en er gebeuren ook veel fouten mee.

Een eenvoudige uitleg voor een interrupt (en hoe die goed af te handelen!) - heel simplistisch:

Ik bak patatjes.  Patatje per patatje omkeren en laten bakken (hoofdroutine - main loop).  De bel gaat! Interrupt!  Ik ga naar de voordeur en ontvang de post.  Ik keer terug naar mijn fornuis (RETI - return from interrupt) en het is om zeep!  Mijn patatjes zijn ondertussen aangebrand (data is corrupt).  Mijn programma draait verkeerd!

Oplossing:
Ik bak patatjes (main loop).  De bel (interrupt)!  Voor ik naar de voordeur ga, zet ik mijn pan van het vuur (belangrijke data opslaan - saven van registers).  Ik ga naar de deur en ontvang de post.  Terug naar de keuken (RETI) en zet mijn pan met niet aangebrande patatjes terug op het vuur (restore van mijn data) en bak rustig verder tot ze klaar zijn (end main-loop) of tot de volgende interrupt.
[^][^][^]





Dat is nu eens klaar en duidelijk uitgelegd seh. Zo heb ik het graag.
Het is begrijpbaar voor elke levens en zijnsvorm.

Heb daar zelf niets aan toe te voegen, enkel dat voor de seindecoder ik een teller als een soort interrupt gebruikt heb.
Het hoofdprogramma loopt, maar kijkt eerst of het normaalbeeld is of op knipper moet. Is dat het geval dan maakt het programma een sprong.
De verstuurde data vanuit DCC word in registers opgeslagen, die registers worden gecopieerd en met die copie worden de seinbeelden gezet. Pas als er nieuwe data is en de timer (teller) aangeeft dat het tijd is om het beeld te plaatsen dan pas word het uiteindelijke resultaat getoont.
Hoofdlus is het kijken naar neiuwe instructie's van buitenaf en dat word enkel kortstondig onderbroken. Maar gebeurt niet met de instructie alsdusdanig maar met een GOTO in beide programma stukken.
Als u kijkt zoals u altijd keek zal u steeds zien wat u altijd zag. "BOEDDHA"
Now you're just somebody that I used to know "GOTYE"
Spoor HO, HOe, N, Z, digitaal, EP: I, II, III, IV, V, VI

Gerolf

citaat:
Geplaatst door PeterC
Ik bak patatjes.  Patatje per patatje omkeren en laten bakken (hoofdroutine - main loop).  De bel gaat! Interrupt!  Ik ga naar de voordeur en ontvang de post.  Ik keer terug naar mijn fornuis (RETI - return from interrupt)
Maar je kan toch ook in je hoofdlus "af en toe" luisteren naar de bel en dan een routine starten - of even onthouden dat je zo dadelijk naar de voordeur gaat? Wat is het voordeel?
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw