Hallo
Dass sich die Signale gegenseitig stören glaube ich eigentlich auch nicht. Zeig mal das Programm, ich hoffe, es ist C.
Gruß
mic
Hey!
ich hab mal wieder ein Problem
und zwar bastel ich gerade eine Licht-Kontrollschaltung für das Modellauto von meiner Schwester.
Dafür lese ich 3 Kanäle einer Robbe-RC-Fernbedienung aus...und manchmal funktioniert es auch, aber die Kanäle stören sich untereinander.
Erstmal aber die Anschlüsse: auf Pin A0, A1, A2 sind die 3 Mess-Eingänge, die nacheinander gemessen werden. Die Stromversorgung kommt aus dem BEC eines Fahrtreglers, mit dem auch der Empfänger betrieben wird.
Des weiteren hängt ein Servo dran, die Signale für Fahrtregler und Servo sind einfach durchgeschliffen und werden halt vom PIC abgenommen.
Die Kabel sind jeweils 3-adrig und verdrillt.
Weitere Bauteile auf meiner Platine sind eigentlich nur der Quarz mit 2 Kondensatoren, sowie 4 Transistoren und 4 LEDs...
Jetzt aber zu meinen Beobachtungen:
A0 in Kanal 1 des Empfängers, A1 in 2, A2 in 5
-> A0 läuft Störungsfrei
-> das Signal von A1 wird im Bereich von 50-70% von A2/Kanal 5 um ein kleines bisschen verlängert, ansonsten Störungsfrei
-> A2 Störungsfrei
A0 in Kanal 1, A1 in 2, A2 in 3
-> A0/A1 Messung funktioniert gar nicht, d.H. Messwert zu groß/zu klein
-> A2 Messung funktioniert einwandfrei
A0 in Kanal 1, A2 in 2, A2 in 4
-> A0 funktioniert nur bei Maximalausschlägen von A1/A2, auch das nur teilweise
-> A1 funktioniert störungsfrei
-> A2 funktioniert störungsfrei
Wie man sieht, ist alles ein bisschen seltsam und mir gehen so langsam auch die ideen aus
Muss man beim Auslesen eines Servo-Signals noch irgendwas weiteres an Hardware einbauen?
Das die Kabel sich stören kann ich nicht so ganz glauben, da die Leitungen ja auch in Modellen über längere Strecken direkt nebeneinander verlaufen.
Auf meiner Platine sind die zwar alle direkt nebeneinander, aber nur über 0.5-1cm bis zu den Beinen des PICs.
Wenn ihr eine Idee habt - bitte melden!
Danke,
Kai
Hallo
Dass sich die Signale gegenseitig stören glaube ich eigentlich auch nicht. Zeig mal das Programm, ich hoffe, es ist C.
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
ja, es ist c
die messungen laufen jeweils nach dem gleichen Muster, alle nacheinander in einer endlosschleife
die stop variable wird vom rtcc overflow-interrupt auf true gesetzt, als timeout falls ein kanal nicht eingesteckt sein sollte.
Code:set_rtcc(0); stop = false; while(!input(SCHALTER) && !stop); if(!stop) { set_rtcc(0); stop = false; while(input(SCHALTER) && !stop); if(!stop) { messung = get_rtcc() // hier wird dann das ergebniss weiter verwurstet...
mir ist gerade noch was aufgefallen, und zwar stört anscheinend nur eins der kanäle die anderen, dass das nicht zu einem weiteren verbraucher (servo/fahrtregler) weitergeleitet wird.
haben die vielleicht einen pull-down widerstand oder irgendwie sowas als "ende" der leitung eingebaut?
Lesezeichen