Hallo!
Zuerst: verzeiung meine schlechte deutsch, ich habe es sehr lange zeit gelernt.
Also:
Vielleicht kann man hier helfen.
Ich habe ein Meriva 1.3 CDTI mit CD30MP3 und TID. Das RDS-Time geht überhaupt nicht. Ich, und mein FOH können es nicht in menu finden.
Die Radisendern hier in Ungarn geben die Signal.
Und ich war im winter in Deutschland, und auch in Sweden, und auch dort kann es nicht aktivieren.
Wovon hangt das ab, das soll, oder nicht soll gehen.
Im Handbuch steht: es funkzioniert, wenn das radiosender sendet das signal.
Danke
Hallo!
Wollte das Thema mal reaktivieren. Habe heute meinen PIC Flasher bekommen und die Software von DG1YIQ auf den 16F88 geflashed. Ich werde im Laufe der Woche mal die Schaltung an einem Astra G MID testen, ich hoffe, dass ich keine Fehler beim Löten gemacht habe
Werde aber, sofern erwünscht, Rückmeldung geben.
2003'er Corsa C GSi - Z18XE
E-FH, E-B-ASP, Tempomat, ZV, EPS, TC, ABS, Klima, Leseleuchten, Regensensor und Monochromatischer Spiegel
hi!
ja Rückmeldung wär klasse! wollte mich da schon bei meinem Astra F mit beschäftigen, aber irgendwie warn da die Infos auch etwas lückenhaft und es wurde wieder eingestellt...
Batteriespannung,
Digitaler Tacho,
evtl. zustätzlicher Tageskilometerzähler,
Benzinstand/verbrauch
wär klasse, is das theoretisch überhaupt alles möglich? Teils würde es ja schon umgesetzt, so wie ich dass auf der HP gesehen habe...
Wollte mich da im Sommer mal endlich richtig mit beschäftigen, hab auch irgendwo noch so ein geteiltes Astra F Display...
cu Andre
woe lange hast du denn gebraucht um es nachzubauen?? und was hat dich der spaß gekostet?
Da ich ein eigenes Layout und paar Veränderungen eingebaut habe, hats mich inkl. Planung (Pläne erstellen usw.) knapp nen Monat gekostet. Hab auch nur immer wieder nen bisschen gemacht. Die originale Schaltung dürfte für geübte in etwa 2 Tage fertiggestellt sein.
Gekostet hats in etwa 15 euro + 20 euro für einen PIC Flasher. Kleinmaterial hab ich als Elektroniker aber sowieso immer daheim.
Getestet hab ich die Schaltung noch nicht, zumindest kommen 12V rein, und der PIC bekommt seine 5V. Mehr konnte ich nicht testen, da ich noch keine Zeit gefunden hatte das ganze mit meinem Astra G MID zu verbinden. Ich hoffe ich schaffe das in den nächsten Wochen irgendwann mal.
@Andre
hast du einen Astra F oder ein G? in deinem Profil steht G und du schreibst was von Fsind ja schließlich unterschiedliche Displays verbaut worden.
Geändert von zero-bw (14.06.2009 um 21:50 Uhr)
2003'er Corsa C GSi - Z18XE
E-FH, E-B-ASP, Tempomat, ZV, EPS, TC, ABS, Klima, Leseleuchten, Regensensor und Monochromatischer Spiegel
So ich bekomme die Schaltung nicht ans laufen. Es hapert schlicht und einfach an der Datumsanzeige meines Astra G MIDs. Diese Schaltet nicht auf "Anzeigebetrieb" um und es verbleibt immer das Datum.
Obwohl ich das "Enable" Signal von der Schaltung und sogar vom Radiostecker genommen hab, tut sich nichts. Jetzt ist die Frage, ob das Astra G MID vielleicht garnicht dafür geeignet ist? was aber auch schwachsinn wäre, weil es muss ja was Anzeigen aufgrund des Radios. Bei meinem TID ging zumindest die Datumsanzeige weg, das Astra G MID hat es komischerweise noch nie gemacht, obwohl die Pins korrekt angeschlossen sind![]()
2003'er Corsa C GSi - Z18XE
E-FH, E-B-ASP, Tempomat, ZV, EPS, TC, ABS, Klima, Leseleuchten, Regensensor und Monochromatischer Spiegel
Gäbe es denn auch die möglichkeit diese zusätzlichen Informationen auf mein MID zu bringen obwohl es noch im vollen Betrieb läuft??
2003'er Corsa C GSi - Z18XE
E-FH, E-B-ASP, Tempomat, ZV, EPS, TC, ABS, Klima, Leseleuchten, Regensensor und Monochromatischer Spiegel
Na ich dachte eher daran die infos dort anzeigen zu lassen wo die ganzen Daten vom BC stehen ( also zusätzlich zu dem Kram was mir da sonst so angezeigt wird?), und das Radio weiterhin übers Display laufen zu lassen.
Ich bin mir nicht sicher, ob das so funktioniert, wie Du das vorhast. Ohne tiefen Eingriff ins Display selbst, wird das wohl nicht klappen.
2003'er Corsa C GSi - Z18XE
E-FH, E-B-ASP, Tempomat, ZV, EPS, TC, ABS, Klima, Leseleuchten, Regensensor und Monochromatischer Spiegel
Naja mir fehlen eben die Grundkenntnisse in diesem Thema ( rund ums display und programmierung) um mir mal selbst gedanken machen zu können, bin ja eigentlich nen ganz findiges kerlchen und auch elektroniker, daher würde ich mich eben gern tiefer mit der ganzen sache auseinander setzten wollen. Dachte da an ein Modul das die orginalen daten durchschleift, oder wahlweise die zusätzlichen anzeigt in der oberen Zeile des MID.
Suchte ja auch schon ne möglichkeit den ganzen Kram vom Display auf nen externen tft darzustellen, was auch nicht so ganz erfolgreich war.
Ja das Problem kenne ich. Wenn man sich noch nicht mit der Materie eingearbeitet hat, ist es schwer.
Aber vielleicht hilft dir wenigstens das hier weiter: Bordcomputer Vectra B
ist glaub ich auch von jemandem aus dem Forum hier.
2003'er Corsa C GSi - Z18XE
E-FH, E-B-ASP, Tempomat, ZV, EPS, TC, ABS, Klima, Leseleuchten, Regensensor und Monochromatischer Spiegel
ja die seite kenn ich auch schon, sieht auch wirklich schick aus, nur ist das nicht ganz das was ich machen will, will ja das orginale MID drin lassen und eben nur um ein paar feautures erweitern.
Was mir so im konkreten vorschwebt wäre eben,
Bordspannung
Geschwindigkeit
Drehzahl
nen Berüßungslauftext
die 4 Check Komponenten ( Ölstand, Bremsbelag usw) mit nem ok dahinter
ne Tankanzeige mit Rest-liter angabe evtl.
Kühlwassertemp. wäre auch nett
oder was mir noch so einfallen könnte
Auf der von dir empfolenen seite stehen zwar auch viele nützliche infos, aber zum programmieren von chips (um mein vorhaben zu realisieren) fehlt mir einfach das know how also die technik, vom wissen ganz zu schweigen.
was bräuchte ich denn überhaupt alles damit ich mein vorhabe auch umsetzen kann???
mfg Steffen
Hallo!
Ich wollte mich hier auch mal an der Stelle einklinken.
Ich habe die Schaltung für die kleinste Variante des Displays nachgebaut.
Mein Problem ist aber, dass ich ein 8stelliges TID habe. Ich hab die Software soweit ich das konnte angepasst, aber alles was passiert ist, dass das Datum nach 2secs verschwindet, aber danach flackert das Display dreimal hintereinander, und dann regelmässig ca alle 4 sec.
Woran kann das liegen? Ich häng mal den Code an... (nur die relevanten stellen...
MfG
Code:;Display Kommunikation vorbereiten... TIDInit movlw 0x20 ;" " in W, danach in alle TID Stellen schreiben movwf CHAR1 movwf CHAR2 movwf CHAR3 movwf CHAR4 movwf CHAR5 movwf CHAR6 movwf CHAR7 movwf CHAR8 movlw 0x03 ;TID Text 3 mal leer ausgeben movwf DREG TIDIni call sendTIDText call wait01s decfsz DREG goto TIDIni return ; Alle 10 Stellen an das TID senden sendTIDText call startTID ;Kommunikation START movf CHAR1,0 ;Zeichen CHAR1 nach W call sendTID ;Zeichen senden movf CHAR2,0 ;Zeichen CHAR2 nach W call sendTID ;Zeichen senden movf CHAR3,0 ;Zeichen CHAR3 nach W call sendTID ;Zeichen senden movf CHAR4,0 ;Zeichen CHAR4 nach W call sendTID ;Zeichen senden movf CHAR5,0 ;Zeichen CHAR5 nach W call sendTID ;Zeichen senden movf CHAR6,0 ;Zeichen CHAR6 nach W call sendTID ;Zeichen senden movf CHAR7,0 ;Zeichen CHAR7 nach W call sendTID ;Zeichen senden movf CHAR8,0 ;Zeichen CHAR8 nach W call sendTID ;Zeichen senden call stopTID ;Kommunikation STOP return ; Start condition for TID startTID bsf MRQ bsf SDA ; All high bsf SCL ; ; communication begins bcf MRQ ; call wait1ms ; MRQ neg. imp. bsf MRQ ; call wait1ms ; I2C-start bcf SDA ; START: call wait1ms ; SCL=1, SDA=falling bcf SCL ; ; address movlw 0x4A ; Addres call sendTID bcf MRQ ; After the addres MRQ=0 clrw call sendTID ; All lamp off clrw call sendTID clrw call sendTID return ; Stop condition for TID stopTID call wait1ms bsf MRQ ; MRQ=1 bcf SDA call wait1ms bsf SCL ; Stop: call wait1ms bsf SDA ; SCL=1, SDA=raising call wait1ms bsf MRQ bsf SDA ; End: all high bsf SCL return ; Send W to TID ; Calculate the parity sendTID movwf BREG ; Send byte (W) movwf I2CBYTE ; Send byte (W) clrf CREG ; The number of 1 movlw 0x07 movwf AREG ; cycle value send0 rrf BREG ; rotate the byte, btfsc STATUS,C ; and count the number of 1 incf CREG ; (but only the low 7 bit) decfsz AREG,1 goto send0 rlf I2CBYTE,1 ; Rotate, and behind the parity bcf I2CBYTE,0 btfss CREG,0 ; if CREG odd, then clear parity bsf I2CBYTE,0 ; ; send byte movlw 8 ; movwf CREG ; Cycle 8x send1 bcf SCL ; Clock=0 call wait025ms btfsc I2CBYTE,7 ; byte <7> bit 0 or 1 goto send3 bcf SDA ; 0 goto send4 send3 bsf SDA ; 1 send4 call wait025ms bsf SCL ; Clock=1, valid data call wait025ms rlf I2CBYTE,1 ; rotate decfsz CREG,1 ; Cycle goto send1 bcf SCL ; Clock = 0 call wait025ms ; ACK bsf SDA ; Output=1 call wait025ms bsf SCL ; Clock=1=> ACK call wait025ms ; ignore ACK bcf SCL ; Clock=0 call wait025ms bcf SDA ; data=0 return (....) ; Anzeige der aktuellen Geschwindigkeit showSpeed call getSpeed ; measure speed movwf current ; save speed movf current,w ; restore speed value call convert ; make ASCII values ; display speed movf integ100,w ; 100 movwf CHAR1 movf integ10,w ; 10 movwf CHAR2 movf integ1,w ; 1 movwf CHAR3 movlw D'32' ; " " movwf CHAR4 movlw 0x6b movwf CHAR5 ; "k" movlw 0x6d movwf CHAR6 ; "m" movlw 0x2f movwf CHAR7 ; "/" movlw 0x68 movwf CHAR8 ; "h" call sendTIDText ; display on TID return ;Geschwindigkeit messen getSpeed clrf TMR0 ; Zähler auf 0 call schleife_speed ; Warte movf TMR0,w ; Geschwindigkeit in W return ;Konvertiere Geschwindigkeit in 1/10/100 convert ; split speed to decimal values clrf integ100 ; clear digit decf integ100, f convert100 incf integ100, f movwf temp ; subtract 100 movlw D'100' ; subtract 100 subwf temp,w ; subtract 100 btfsc STATUS, C ; overflow? goto convert100 ; if no, once more addlw D'100' ; get state before last subtraction clrf integ10 ; clear digit decf integ10, f convert10 incf integ10, f movwf temp ; subtract 10 movlw D'10' ; subtract 10 subwf temp,w ; subtract 10 btfsc STATUS, C ; overflow? goto convert10 ; if no, once more addlw D'10' ; get state before last subtraction movwf integ1 ; digit for 1 is the rest ; make ASCII values movf integ100,f ; test for 0 btfss STATUS, Z ; zero? goto convert10next ; if not zero, do not touch integ100 and integ10 movlw D'240' ; if zero, make space movwf integ100 ; set to 240, will become space later movf integ10,f ; test for 0 btfss STATUS, Z ; zero? goto convert10next movlw D'240' ; if zero, make space movwf integ10 ; set to 240, will become space later convert10next ; int -> ASCII movf integ100,w ; load to w addlw D'48' ; make ASCII value movwf integ100 movf integ10,w ; load to w addlw D'48' ; make ASCII value movwf integ10 movf integ1,w ; load to w addlw D'48' ; make ASCII value movwf integ1 return
Hallo,
bin leider grad an der Arbeit und habe nicht die nötige Zeit das mal durchzuschauen... es gibt da ein paar kleine Unterschiede im Protokoll... sollte aber umsetzbar sein...
Heute Abend schaue ich mir das mal an...
MFg
Marco
Das wäre echt klase!
Ich hab das meiste mit der Software von hier: Rolands Homepage verglichen.
Ich sitz jetzt schon 2 Tage dran, das Problem ist nur, dass das mein erster PIC Versuch ist, da ich sonst AVRs benutzt habe.
Ich tippe mal, dass entweder das Timing nicht stimmt, oder irgendwas an der Parität falsch ist. Die Hardware sollte stimmen, die habe ich schon 2 mal durchontrolliert. Das Flackern deutet für mich darauf hin, dass zwar was gesendet wird, aber irgendwie fehlerhaft ist.
Vielen Dank schonmal
MfG
EDIT: Wenn du magst kannst du mich ja mal im ICQ anschreiben: 325680003
Nur nicht mehr heute Abend, da hab ich Abi-Feier![]()
Geändert von langer hans (26.06.2009 um 16:03 Uhr)
Hallo,
der Fehler wird liegt sicher in der Routine StartTID...
1. Adresse muss angepasst werden auf 0x4A = passt
2. Das 8 stellige TID hat nur 2 Symbolbytes!
siehe auch:
Eelke Visser.nl - Opel Display
Leider habe ich kein 8stelliges da, sonst hätte ich es ebend probiert. Der Rest sollte ja selbsterklärend sein.
MFg
Marco
Code:; Start condition for TID startTID bsf MRQ bsf SDA ; All high bsf SCL ; ; communication begins bcf MRQ ; call wait1ms ; MRQ neg. imp. bsf MRQ ; call wait1ms ; I2C-start bcf SDA ; START: call wait1ms ; SCL=1, SDA=falling bcf SCL ; ; address movlw 0x4A ; Addres call sendTID bcf MRQ ; After the addres MRQ=0 clrw call sendTID ; All lamp off clrw call sendTID return
Ja, das mit den Symbolbytes ist klar, das hatte ich nur vergessen wieder wegzumachen. Aber das klappt trotzdem nicht, es bleibt beim Flackern. Ich versteh das einfach nicht...
Mal ne Frage zur Hardware, ist es wirklich nötig an alle nicht genutzen Pins einen Pulldown zu hängen?
Nur wenn das nicht klappen sollte muss ich mich wohl nach nem Corsa C TID umsehen, nur sind die ja so schwer halbwegs günstig zu bekommen. Und ob ich bei Opel dann noch die Carphone Kuppel bekomme ist auch sone sache...
MfG
Hallo,
sicherlich ein Timingproblem... aber ich kann es nicht testen, da ich kein 8stelliges zur Verfügung habe... funktionieren muss es... schau mal auf der Page (die ich im letzten Posting nannte) - der hat ebenfalls Quellcode.
Ich meine ich hatte damals das Timinig ein wenig geändert... bin mir aber nicht mehr 100%ig sicher.
Es wird sicher auch nochmal ein neues TID/GID Projekt geben - aber erst wenn ich mit meinem KWP82 Programm fertig bin. Werde dann auch die Hardware ändern, da der PIC einfach zu performanceschwach ist und es leider keine freien C Compiler für Pics gibt. Die AVRs sind in dem Sektor eindeutig weiter... ich vermeide mal das Wort besser, sonst gibt es sicher nen Glaubenskrieg.
Ich arbeite derzeit an einem K-Line/Can Interface auf Basis eines AT90CAN128, FTDI232... läuft auch schon ganz gut... werde es sicher Ende des Jahres veröffentlichen.
Aber später mal mehr dazu...
Mfg
Marco
Schon klar, dass es gehn muss. Ich habe heute mal die kompletten sende und timing sachon aus der anderen software übernommen. Beim Code von Visser muss ich absolut passen.
Naja, ich werd mal weiter testen. GID hört sich natürlich auch verdammt interessant an...
Wenn das jetzt nicht klappt schau ich mich entweder nach nem neuen TID um oder ich tausche das Display komplett und nehm nen AVR, damit kenn ich mich besser aus...
Wenn ich dir ein TID zukommen lassen würde, meinst du du könntest dann mehr für mich tun?
MfG