PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Radencoder & Atmel



minirobo
16.05.2005, 07:27
8-[ Hallo Atmel-Fans, ich habe erst angefangen, mich mit dem Atmel und Robotik zu beschäftigen. Daher habe ich auch eine zumindest für mich knifflige Frage/Problem... Ich möchte bei meinem Bot die Geschwindigkeit messen...ich habe ein wenig im Forum gesucht und was von Radencodern gefunden. Doch eine Anleitung bzw. Bauplan habe ich nicht gefunden. Vielleicht liegt es ja an mir, daher meine Frage, wer mir bitte helfen kann, WIE man das am besten realisiert, WIE man das am Atmel Mega anschliesst und wie ich das in Bascom dann Programmtechnisch ermittle.
Wäre echt nett. Gibt es denn noch eine andere Lösung, als das mit dieser Scheibe zu machen?
Danke & gruß
minirobo

Xeus
16.05.2005, 07:49
Nimm doch einfach Schrittmotoren, und lass die umdrehungen mitzahlen. Dann nimmst du noch deinen Reifendurchmesser, und lässt dirs einfach ausrechnen.

gruß

alex

Florian
16.05.2005, 08:37
Hallo minirobo!
Ich benutze den GP1A70R, welche Radencoder verwendest Du?

uwegw
16.05.2005, 11:06
ich habe auch die GP1A70R im einsatz.
auswertung:
eins der signale an einen externen interrupt, das andere an einen normalen portpin. wenn jetzt der interrupt ausgelöst wird, schauen ob das zweite signal gerade high ist. wenn ja, dreht sichs zb linksrum, und eine variable wird hochgezählt, wenn low, dann gehts rechtsrum und es wird abwärts gezählt.

das ganze übernimmt demnächst ein mega8 als zweitcontroller, der nur für motorsteuerung, temperaturüberwachung und drehgeber zuständig ist...

minirobo
16.05.2005, 11:41
Hallo,
vielen Dank für die schnellen Antworten, aber leider ist mir das schon zu schnell- gibt es Bilder, Schaltpläne, Platinenlayouts dazu? Sorry, wie gesagt, bei mir muss man leider etwas weiter ausholen ;-)
Wie ist das mit dem Interrupt gemeint, eine Lichtunterbrechung oder Signalunterbrechung..??

Florian
16.05.2005, 12:59
Hi minirobo!
Hast Du schoneinmal mit Mikrocontrollern gearbeitet?

Speedking
20.06.2006, 19:34
Hi,

ich habe gerade das gleiche Problem.

Leute, die sich schon immer mit Elektronik und Microcontrollern beschäftigt haben, kennen alles sehr genau und haben eigentlich keine Probleme mehr.

Die anderen Leute haben sich vom Roboter-Virus anstecken lassen (dazu zähle ich mich auch) und sich kurzer Hand selbst einen gekauft (meiner ist ein crash-bobby). Ich habe ihn laut Anleitung zusammengebaut und bin jetzt mitten drin in der Grundlagenforschung.

Das Forum ist meine Hauptinfo-Quelle, da die Firma qfix (da ist mein Robby her) noch nicht so viele Software-Informationen rausgibt bzw. hat.

Jetzt mein Problem:
Ich verstehe euch Experten nicht, weil ich kein Elektronik-Experte bin. Da ich ein technisches Studium hinter mir habe, habe ich gelernt mit Anleitungen umzugehen und mir selbst den Stoff beizubringen.

Da sich aber (ich habe jedenfalls den Eindruck) die zahlreichen Experten mit Experten unterhalten, ist klar dass niemand Anleitungen braucht. Deshalb werde ich als Roboter-Anfänger noch sehr lange Anfänger bleiben.

Kennt ihr das Problem, wenn sich zwei Ätzte unterhalten oder ein Arzt einem Patienten etwas erklären will. Der Arzt verwendet ständig Fachbegriffe, die er eigentlich erklären müsste. Also ... eine Anleitung.

Jetzt zu den Sensoren:
Ich habe an meinem Bot (Roboter) an jedem der zwei angetriebenen Räder einen Radencoder. Jeder Encoder hat zwei Anschlüsse von denen ich aber nur eínen verwende. Ich kann also im Moment nur Impulse zählen, nicht die Drehrichtung feststellen.

Angeschlossen habe ich die Encoder an je einem digitalen Eingang meines Controllerboards. Wenn ich mehr digitale Eingänge hätte dann könnte ich auch die Drehrichtung auswerten. Mein gekauftes Controllerboard hat aber nicht mehr.

In einem selbst erstellten c-programm frage ich einen der beiden Encoder ab und zähle dazu die Impulse. Voeher habe ich mit Papier und Bleistift eine Umrechnung von zurückgelegter Strecke in cm in Impulsen durchgeführt. Eine Radumdrehung sind z.B. bei mir 240 Impulse (einen für weiss/schwarz und einen für schwarz/weiss).

Ich bin im Moment dran, beide Encoder gleichzeitig abzufragen weil ich eine 180 Grad-Drehung nicht exakt hinbekomme. Jedenfalls nicht mit nur einem aktiven Encoder.

Da ich im Forum nur allgemein gestellte (quasi)-Anleitungen ohne konkreten Quelltext gefunden habe, könnte es jede Menge bessere Lösungen geben als meine.

Wenn du Interesse hast, dann kannst du dich ja melden.

Es wäre wunderschön, wenn sich im Forum eine "Ecke" etablieren würde, wo komplette Anleitungen gesammelt werden könnten.

An alle Experten:
Bitte nicht böse sein. Ich habe nichts gegen Experten ich bin selber einer aber auf einem anderen Gebiet. Wir sind jedoch nicht zuletzt durch das Internet zusammengerückt und jetzt unterhalten sich eben auch Anfänger die nicht die unglaublich großen Erfahrungen gesammelt haben wie ihr es in zahllosen Stunden im Keller oder in der Dachkammer getan habt.
Ich habe große Achtung vor eurem Detailwissen. MAcht es den Anfängern bitte auch zugänglich indem ihr komplette Anleitungen erstellt, wenn ihr die Zeit dazu habt.

So... bis später....

Klaus

uwegw
20.06.2006, 19:47
Der crash-bobby hat ja nen Mega32-AVR drauf. In welcher Sprache wird er denn programmiert? C mit WINAVR/AVR-GCC?

Wenn du die Grundlagen von C schon einigermaßen beherrscht, ist http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial deine nächste Anlaufstelle.

Speedking
20.06.2006, 20:03
Hallo uwegw,

vielen Dank für die prompte Reaktion.

Hab schon mal in deinen Tip geschaut. Ist wohl die komplette Anleitung für die Atmel-Controller.

Ich programmiere in c++ mit WinAVR. Das Programm Ponyprog ist zum flashen.

Eigentlich erweitere ich die von qfix mitgelieferten Beispiele indem ich eine neue Klasse abgeleitet habe und nun Zug um Zug eigene Routinen schreibe. z.B. eine zum vorwärts fahren (z.B. 23 cm).

Im Moment bin ich noch der Meinung mit einer Portion Optimismus gemischt mit gesundem Halbwissen meinen Bot dazu zu bewegen das zu tun was ich will.

Da ich den Bot im Schulwesen einsetzen möchte, will ich eigentlich nicht das "Rad" neu erfinden, sondern fertige Bauusteine finden und verwenden. Die Bausteine habe ich aber nich nicht gefunden. Nur Tipps, wie es ungefähr geht.

Aber noch mal Danke. Ich werd mal auf deiner Tip-Seite nach Stellen suchen, mit denen ich etwas anfangen kann.

Bis denn... Klaus

uwegw
20.06.2006, 20:52
Interessant dürfte für dich vor allem das Kapitel über Interrupts sein. Damit kannst du die Drehgeber unabhängig von Hauptprogramm einen Wegstreckenzähler hochzählen lassen. Du bist dabei allerdings an bestimmte Eingänge gebunden, das dürften die mittleren beiden Analogen sein...