Weitere Fehlersuche
Danke für die Tips.
Ich habe mal wieder etwas Zeit gefunden weiter nach der Ursache zu suchen. Dank eines geborgten Oszi und akribischer Suche habe ich noch 2 Fehler gefunden. Der OK war defekt (warum weis ich nicht) und in der Masseleitung zum OK war ein Haarriß. Trotzdem sagt die LED garnichts.
Dein erstes Problem kann der PIC selber sein - meine Erfahrungen mit den PIC's ist, das auch nur kleine Abweichungen in der Bezeichnung ( bei dir ist es das "P" ) entscheident für die Funktionsfähigkeit ist.
Sorry das P hatte ich unterschlagen. Der Pic hat ein P (PIC16F84A-20/P steht drauf). Ist das dann der Richtige?
@jkret
Der 6N139 ist langsamer als der 6N137. Das könnte ein mögliches Problem sein.
Die Rechtecke der DCC-Spannung am Ausgang des OK sind an der steigenden Flanke stark abgerundet! Ich habe mal den Widerstand R4 am Ausgang von 1k auf 270Ohm verkleinert, was zwar eine deutliche Verbesserung gebracht hat, aber das Rechteck ist an der steigenden Flanke weiter abgerundet. Das bedeutet dann doch eigentlich, das der 6N139 für die noch schnelleren Befehle die auf dem Rechteck sind, wirklich zu langsam ist?? Oder sehe ich das falsch??
Kann es sein, das der PIC nicht in Programmiermodus geht, wenn er keine Kommunikation mit dem DCC-Bus hat?
Dein 20 Mhz PIC sollte auch mit 8 Mhz laufen.
Pin 16 gegen Masse zeigt am Oszi eine Sinusschwingung von 8MHz.
Ich würde mir ein kleines Programm schreiben, wo die LED in der Schaltung einfach nur blinkt. Damit kann man feststellen, ob und mit welcher Taktfrequenz der PIC arbeitet.
Die Idee finde ich gut, dann wüsste ich wenigsten das es nicht am PIC liegt, aber ich habe noch kein Programm geschrieben und weis auch nicht wie es geht. Ich habe mir mal die asm-Datei vom DCC-Decoder auf Pacos-Website angeschaut, das ist wohl auch nicht ganz so einfach ohne Assembler-Programmierkenntnisse (Habe bisher nur mit StructureText mal was gemacht)
Hat nicht jemand evtl. ein kleines Progrämmchen dafür fertig?
Desweiteren habe ich noch ein anderes Problem mit meinem Programmer
http://www.the-starbearer.de/Praxis/Microkontrollerpraxis/PIC/Pic_minimal.htm
bzw eigentlich mit der COM-Schnittstelle meines PCs.
Da die Spannung der COM-Schnittstelle meines Laptops zum Programmieren nicht ausreicht(Pin4 am PIC braucht dazu mindestens 10V. 12-14Volt sind aber noch besser) habe ich meinen Desktop-PC mit einer PCI-seriellen Schnittstelle beglückt, die aber nicht richtig funktioniert. Die aktuellen Treiber habe ich beim Hersteller heruntergeladen und ohne Fehlermeldungen installiert. Wenn ich aber einen PIC über die Software IC-Prog auslesen oder programmieren will, kommen weder die 5Volt Versorgung noch die 12Volt für Pin4 von der Schnittstelle. Hat dazu jemand eine Tip? Ich denke da fehlt nur irgendwo ein Häckchen im PC.
EDIT:14.12. Häkchen gefunden - Im Programm IC-Prog unter Hardware beim Interface Windows API anwählen, dann geht es!! Desweiteren habe ich noch den Widerstand im Programmer an Pin4 von 10k auf 100Ohm verkleinert und jetzt konnte ich auch einen weiteren PIC programmieren.
Also wieder ein kleines Problem gelöst, aber mein DCC-Decoder geht immer noch nicht???