Joboter
29.08.2008, 11:15
Hallo!
Ich hoffe ich kann mein Anliegen unter halbwegs verständlichem Titel hier vorbringen:
Ich bin gerade dabei mein drittes kleines Roboterprojekt zu realisieren.
Es soll eine Art elektronisches Zeichenbrett sein. Sowas gabs früher glaube ich mal von Lego. Damit möchte ich auch die Mechanik zunächst einmal bauen. Zwei Motoren bewegen einen Stift über ein Blatt Papier, ein Servo kann den Stift heben und senken. Das funktioniert auch porblemlos.
Da ich das ganze vom RN-Control Board oder nachher vom PC steuern lassen will (z.B. ich gebe ein Text, Motiv, oder sogar Bilddatei ein und das Ding malt das für mich), wollte ich zwei Schrittzähler für die Odometrie (so herißt das glaub ich) anbringen, sodass eine Art Koordinatensytem mit x- und y- Werten möglich ist.
Aus einer alten PC-Maus habe ich mir IR-LED und Fototransistor ausgelötet und zusammengebastelt. An meinem RN-Control Board geht dann der gemessene Wert als analoger Wert ein.
Nun habe ich mit Bascom eine DO...LOOP- Schleife erstellt, in der zunächst eine Zählvariable immer um eins erhöht wird, wenn ein Zahn eines Zahnrades, welches sich zwischen LED und Transistor bewegt, vorbeikommt.
Dies lasse ich mir per R232 oder per kurzem Piep mitteilen.
So nun das Problem:
Mein Sensor erfasst ab einer bestimmten Drehgeschwindigkeit nicht jeden Zahn. Nur wenn ich gaanz langsam drehe, macht es regelmäßig Piep. Ab einer bestimmten Drehfrequenz kommt er nicht mehr mit.
Kann man das durch Programmierung irgendwie in den Griff bekommen?
Wenn der ATMEGA mit 16MHz arbeitet, liefert er mir doch bestimmt oft genug die Daten vom ADC an den Controller?!
Hoffe, das Problem ist deutlich geworden.
Viele Grüße,
Johannes
Ich hoffe ich kann mein Anliegen unter halbwegs verständlichem Titel hier vorbringen:
Ich bin gerade dabei mein drittes kleines Roboterprojekt zu realisieren.
Es soll eine Art elektronisches Zeichenbrett sein. Sowas gabs früher glaube ich mal von Lego. Damit möchte ich auch die Mechanik zunächst einmal bauen. Zwei Motoren bewegen einen Stift über ein Blatt Papier, ein Servo kann den Stift heben und senken. Das funktioniert auch porblemlos.
Da ich das ganze vom RN-Control Board oder nachher vom PC steuern lassen will (z.B. ich gebe ein Text, Motiv, oder sogar Bilddatei ein und das Ding malt das für mich), wollte ich zwei Schrittzähler für die Odometrie (so herißt das glaub ich) anbringen, sodass eine Art Koordinatensytem mit x- und y- Werten möglich ist.
Aus einer alten PC-Maus habe ich mir IR-LED und Fototransistor ausgelötet und zusammengebastelt. An meinem RN-Control Board geht dann der gemessene Wert als analoger Wert ein.
Nun habe ich mit Bascom eine DO...LOOP- Schleife erstellt, in der zunächst eine Zählvariable immer um eins erhöht wird, wenn ein Zahn eines Zahnrades, welches sich zwischen LED und Transistor bewegt, vorbeikommt.
Dies lasse ich mir per R232 oder per kurzem Piep mitteilen.
So nun das Problem:
Mein Sensor erfasst ab einer bestimmten Drehgeschwindigkeit nicht jeden Zahn. Nur wenn ich gaanz langsam drehe, macht es regelmäßig Piep. Ab einer bestimmten Drehfrequenz kommt er nicht mehr mit.
Kann man das durch Programmierung irgendwie in den Griff bekommen?
Wenn der ATMEGA mit 16MHz arbeitet, liefert er mir doch bestimmt oft genug die Daten vom ADC an den Controller?!
Hoffe, das Problem ist deutlich geworden.
Viele Grüße,
Johannes