PC & H-Bridge DCC control

Daniel

Active Member
Trenulist
25 Iunie 2009
181
2
Cluj-Napoca
LOCATION
Cluj-Napoca
Pentru ca lucrurile au inceput sa prinda viata am hotarat sa ma mut aici cu micile mele incercari de a produce o centrala DCC dintr-un PC. Asadar continuarea povestii de la diorama mea o voi face aici.

Am reusit sa trimit prima comanda DCC conorm documentelor NMRA. Comanda este pentru Funtion Group (100) cu data bits (1000) adica lumini (FL).

Clipul este aici. Nu e ceva spectaculos - toti care au o centrala digitala pot face asta - dar satisfactia e alta, pana la urma si bucatica asta face parte din hobby.

Sistemul nu este unul stabil ci doar experimental. Am impresia ca frecventa pentru bit-ul logic 1 este undeva la limita celor prezentate de NMRA... Deocamdata va ramane asa, ajustarile urmand a fi facute dupa voi avea o implementare de baza decenta a protocului.

Un detaliu care consider ca merita mentionat este faptul ca programul de control ar trebui sa ruleze in "real time"; acesta fiind si motivul pt care am ales un linux. Procesul pornit foloseste politica de scheduling SCHED_FIFO: First In-First Out scheduling cu prioritate maxima pe grupa lui. Exista si solutia de a instala un kernel RT dar mi-e groaza sa ma apuc de instalari de OS.

Cam atat pentru seara asta :).
 
Spor la crosetat ! Urmaresc cu interes ceea ce faci, dar, ca o simpla parere personala, cred ca este de preferat o varianta mai "domestica", cu PIC(-uri). Mai ales ca sunt usor de programat si de "periat" chiar daca nu esti expert in microcontrolere.


Scuze pentru off-topic, dar intr-un alt post (referitor la diorama ta) discutai cu @macleod despre documentatii/tutoriale. Informatii destul de utile si exemple se gasesc si aici:http://www.mstracey.btinternet.co.uk/pictutorial/progtut1.htm si bineinteles in datasheet-ul PIC-ului.

Bafta !
 
mersi mult de tot si sorry ca poluez si eu topicul, e intr-adevar un inceput foarte bun tutorialul ala; din pacate insa e in asamblare (nu ca ar fi un capat de tara, dar parca e muuuuuuuuuuult mai elegant de scris in c - chiar si mai diferit decat varianta pe care o stim cu totii) decat in asamblare; hai sa zicem, o rutina doua pentru performante mai merge, dar un intreg program nu stiu sincer daca ma descurc