PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Drehsensor/ Schrittzähler zu langsam



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

Besserwessi
29.08.2008, 11:31
Die ADC Geschwindigkeit wird nicht nur vom Prozessortakt, sondern auch vom Vorteiler bestimmt. Eine AD Wandlung braucht zwischen 13 µs und 65 µs, je nach eingestllem Takt für den AD Wandler. Wenn man den AD Wandler jeweils einzeln starte gibt es noch ein paar extra Verzögerungen.
Ist denn überhaut der AD wandler nötig, oder kann man das Signal nicht auch direkt digital einlesen ?

Joboter
29.08.2008, 12:20
Mit digital einlesen meinst du jetzt, wenn ich den Ausgang des Fototransistors an einen Transistor anschließe, der dann entweder high oder low ausgibt?

Ich habe mir erst einmal die analogen Daten von der IR-Schranke geholt, weil ich nicht wusste, wie groß die Spannungen sind, die ausgegeben werden, wenn ein/kein Zahn vor zwischen IR-LED und Fototransistor ist.

Joboter
29.08.2008, 14:33
Hallo!
Ich hab mich eben daran versucht, das ganze mal mit Transistor und passenden Widerständen iwi ans Laufen zu bekommen, aber es will nicht funktionieren.

Kann man irgendwo einen Schaltplan bekommen, dem ich dann entnehmen kann, wie ich was zusammenbasteln kann, damit mein RN-Board jeden Schritt wahrnimmt, auch wenn die Geschwindigkeit höher ist?

Habe hier IR-LEDs und Fototransistoren aus alten PC-Mäusen und CNY 36 rumliegen...wichtig wäre für mich zu wissen, welchen Vorwiderstand, Pulldownwiderstand, Transistor ich benötige...

Hat da irgendjemand einen funktionierenden Schaltplan?

Leider habe ich in so Elektronikschaltungen noch nicht das nötige Grundwissen, um sowas zu entwickeln (jedenfalls nicht genügend, das dass, was ich zusammenlöte auch funktioniert :-/)

Viele Grüße,
Johannes


Edit: Problem wahrscheinlich gefunden....lag wohl an langsamen Bascomanfänger-Code...habe das Projekt allerdings zunächst nicht weiter bearbeitet.