-
-
Erfahrener Benutzer
Roboter-Spezialist
Hallo chris
So, jetzt mich mein Ehrgeiz gepackt und ich habe die Schaltung noch mal aufgebaut. Habe den Code von ganz oben genommen und .... er geht nicht. Mann Mann Mann welch eine Blamage.
Nun ja, ein wenig geforscht und jetzt geht es. Fehler ??
Die Taktfrequenz des Empfängers stimmt nicht. Die 4 MHz die ich oben angegeben habe passen nicht. Dadurch wird die Abtastung der empfangenen Signale zu ungenau. Habe den Takt auf 16 MHz erhöht und jetzt läuft es wie gewollt.
Auch haben keine Print Befehle in der Timer0 Int. Routine was zu suchen, da sie den Abtastintervall aus dem Takt bringen. ( Höchstens zum debuggen, dann werden aber keine gültigen Daten mehr empfangen )
Die Signale :
Das Signal wird alle 19,3 µs abgetastet. Bascom braucht 53 Takte zum Einsprung in die Int Routine. 16 MHz / ( 256 +53) -- > 19,3 µs.
Alle Signale kürzer 386 µs werden verworfen à Puls_min = 20
Das Nutzbit wird nach 772 µs abgetastet à Puls_1_2 = 40
Alle Signale länger als 1158 µs werden verworfen. Puls_max = 60
Du musst halt nur die Taktfrequenz ändern und der Empfangroutine ändern, das du ein nicht invertierendes Empfangssignal hast, dann sollte es laufen.
Für die Zeit und den Ärger den ich dir verursacht habe, entschuldige ich mich .
Deine Idee, das Empfangssignal mit einem Int0 zu erfassen, halte ich nicht für klug. Beim rauschen des Empfängers bekommt dein AVR so viele Int Anforderungen, das er sonst nicht mehr viel machen kann.
Mit freundlichen Grüßen
Dieter
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen