Samstag, März 17, 2007

Fehlerhaftes Signal

Bei der Entwicklung meines zweiten Encoders ist mir ein Fehler unterlaufen, den ich nicht leicht finden konnte.

Mein Roboter ist mit zwei Motoren ausgestattet, die je einen neuen Encoder bekommen haben. Über eine serielle Verbindung lasse ich mir die Drehzahlen der Motoren am PC ausgeben.

Diese Daten habe ich in eine Exceltabelle gebracht und musste leider feststellen, dass ein Encoder schlechte Signale liefert.

Auf den Bildern ist so eine Messreihe zu sehen, bei der die Motoren mit konstanter Geschwindikeit drehen. Eigentlich sollte dann der Encoderwert nur +/- 1 springen.



Nachdem ich die Schaltung noch einmal intensiv nach Fehler durchsucht hatte und ich keinen Fehler feststellen konnte habe ich mir die Signale an einem Oszi angesehen. Das obere Bild zeigt den heilen Encoder mit zwei um 90° phasenverschobenen Signalen. Ein Highlevel bedeutet, dass der Transistor Licht bekommen hat. Ein Lowlevel bedeutet, er wurde abgeschattet.
Das untere Bild zeigt die Signale des defekten Encoder.
Es ist deutlich zu sehen, dass die Abschattung nur sehr kurz ist und beim oberen Signal sogar manchmal ausfällt.
Dies führt dazu, dass die Auswertung kurzzeitig ein Rückwärtsdrehen erkennt und so die Signale stark schwanken.

Der Grund dafür war, dass ich zwei IR Leuchten verwendet habe. Sie erzeugten so viel Licht, dass die Transistoren nur einen kurzen Moment aus gingen. Wenn die Lochscheibe dazu noch etwas eierte, wurden Signale ganz ausgelassen. Ich habe eine IR-LED ausgelöten und nun funktioniert auch mein zweiter Encoder tadellos. Mir war beim Messen am Oszi schon aufgefallen, dass der erste Encoder weniger Strom verbrauchte. Ich denke bei dem war zufälligerweise schon eine IR-LED defekt, weshalb er von anfang an so gut funktionierte :-).

zur Animation klick -->

Drehzahl Encoder für RB40 Motoren

Viele kennen sicher das Problem, dass man irgendwie die Drehzahl der Räder/ Motoren messen möchte.

Häufig habe ich gesehen, dass dies über eine Hell- /Dunkelerkennung am Antriebsrad gemacht wird. Teure Motoren hingegen haben einen Encoder direkt hinten bei den Anschlüssen. Ich habe mich mal daran versucht, auch einen Drehzahlmesser direkt an den Motoren zu bauen.

Als erstes habe ich mir zwei Platinen in Form der Motoren ausgeschnitten und in die eine Platine Löcher für das Motorlager und die Anschlüsse gebohrt. Anschließend habe ich zwei Aussparungen für Infrarottransistoren (LPT80) gefräst.



Auf der zweiten Platine habe ich an der gleichen Stelle auch eine Aussparung gefräst, dieses mal für die IR-Leds. Die Platinenverbinder bestehenen aus einzelnen IC-Sockestiften.






Nach einigen Versuchen und ein paar kaputten IR-Transistoren habe ich dann eine geeignete Schaltung gefunden und auf die Platinen gelötet. Sie besteht aus ein paar Vorwiderständen und einem Schmitttrigger. Auf dem vierpoligen Stecker befinden sich die Versorgungsspannung und zwei Phasensignale. Sie liefern mir zwei um 90° phasenverschobene Encodersignale.

Da die IR-Transitoren nicht durch Schlitzblenden abgedeckt sind, musste ich die Lochscheibe recht grob bemessen (vier Einteilungen).

Die Motoren lassen nicht gerade viel Platz zur Befestigung (gerade mal 14mm), also habe ich die Lochscheiben einfach auf das Wellenende geklebt.


Schafft der µC noch die Auswertung?
Die Motoren drehen mit maximal 6000 UPM und erzeugen pro Umdrehung 16 Flanken (je Sensor und je Hell- /Dukenwechsel); macht max. 96000 Flanken pro Minute, also 1600 Flanken pro Sekunde.
Die Abtastung der Signale sollte vom µC mindestens doppelt so schnell sein wie 3,2 kHz, am besten gleich 5kHz. Auf diese Frequenz habe ich mein Programm eingestellt und bin sehr zufrieden.

Sonntag, August 06, 2006

FPGA Spartan-3

So endlich sind die Klausuren durch und ein wirklich anstrengendes Semester (das 4.) findet damit seinen Abschluss. Jetzt habe ich endlich wieder die Zeit etwas zu programmieren und zu basteln. Endlich kann ich meine Geburtstagsgeschenke ausprobieren. In den letzten 6 Wochen kam ich leider nicht dazu. Seit dem 19.06. darf ich ein Spartan-3 von Xilinx mein eigen nennen. Cool :) !! (Danke schön noch einmal an dieser Stelle an meinen Bruder!) Mit Erstaunen durfte ich allerdings feststellen, dass das mitgelieferte Netzteil nur einen Amerikanischen Stecker hat, der nur zwei zu eng beieinander stehende flache Stecker hat. Nach ca. 10 Minuten Suchen im Haus nach einem passenden Adapter und 5 Minuten schauen, ob ich nicht ein vergleichbares Netzteil habe, gab ich auf. Habe aber eine schöne Entdeckung gemacht: Der Abstand der beiden Stegen ist der gleiche wie an einem Kaltgerätestecker, allerdings waren die Stege zu breit. Kurz etwas abgeschliffen und abgeschrägt - fertig! „Einem Ingenieur ist nichts zu schwör“ Jetzt probiere ich erstmal den FPGA aus.

Samstag, April 29, 2006

Sensorneuheiten

Unser kleiner Bot nimmt mit der Zeit richtig Form und Gestalt an. Da er ja balancieren soll,

Danke schön

Ich möchte hier einmal ganz, ganz lieb meiner Freundin danken, die für uns die Blogs Korrektur liest und Unmengen an Rechtschreibfehlern korrigieren muss. Danke schön!!!

Samstag, April 08, 2006

Fotos der Plexiglasbearbeitung

Auf den folgenden Bilder ist zu sehen, wie wir die Plexiglasteile bearbeitet haben:

Alu und Glas

Der nBot mit neuem Gesicht!!

Endlich sind die Aluteile fertig - sie sehen wirklich gut aus! Wir hatten aus Werkzeugmangel und damit verbundenen fehlenden Möglichkeiten, die drei von uns benötigten Aluminiumteile einer ansässigen Metallbe- und -verarbeitungsfirma in Auftrag gegeben. Nach einigen kleineren Verzögerungen (die Mitarbeiter hatten einfach viel zu tun) konnten wir die fertigen Aluteile abholen. Jetzt waren wir soweit, ein stabiles Grundgerüst zusammen zu bauen. Die Aluteile hat Olaf mit viel Mühe und Geduld glatt geschliffen, um kleine Kratzer und Verschmutzungen zu entfernen. Danach haben wir alles ausführlich poliert, jetzt sehen die Teile sehr edel aus! Bei eBay haben wir Plexiglas günstig ersteigert. Es ist 10mm dick und nicht in einem Baumarkt zu finden. Aus den Platten haben wir zuerst die Grundplatte hergestellt. Durch unsere besondere Anordnung des Werkstücks zur Stichsäge und den Einsatz einer Mittelpunktfixierung, ist es uns gelungen perfekte Rundungen auszuschneiden. Danach habe ich die Seiten geschliffen - erst grob, dann fein - und zum Schluss mit Zahnpasta und Wasser bearbeitet, bis sie ganz klar waren. Um den Rand wirklich richtig klar zu bekommen, benötigt man einen Bunsenbrenner, mit dem man vorsichtig über die Kanten geht!

Freitag, Februar 24, 2006

Display LCD-Modul Hyundai

So endlich konnten wir nun mein Display testen! Es ist das LCD-Modul Hyundai HP12542R-DYO, gekauft bei Pollin. Ich hatte meine Schwierigkeiten an die Kontakte zu kommen, um das Display ansteuern zu können. Es ist ein Flex Flat Cable (FFC) mit 0,5 mm Abstand zwischen den Kontakten. Nach kurzer Suche mit den richtigen Suchwörtern habe ich auch passende Stecker gefunden. So kann man beispielsweise bei http://www.rsonline.de/ nach FFC suchen. Nun wollte ich aber möglichst wenig Geld ausgeben. Dort verkaufen die die nur in 10er Tüten. Das brauche ich ja nicht. Pollin bietet eine Ansteuerplatine für dieses Display an, bei der ein passender FFC -Stecker dabei ist. Für den habe ich mich nun entschieden. Da wir sowieso noch etwas von Pollin brauchten, hat sich das auch angeboten. Man erhält eine schöne kleine Platine und die Bauelemente. In meiner Packung waren 2 FFC – Stecker, was mich natürlich noch mehr gefreut hat! Ob das aber so gehört, weiss ich nicht! Beim Löten sollte man unbedingt die Anleitung beachten! Es wird darauf hingewiesen, den FFC – Stecker RICHTIG herum ein zu löten! Da muss ich wohl beim Blick auf die Abbildung geschielt haben. Denn ich gebe es zu, ich hatte es verdreht. Na ja, kommt vor. :) Olaf hat mir dann aber mit Hilfe eines Heißluftföhns geholfen, den in SMD Bauform gefertigten Stecker wieder von der Platine zu lösen. Versuche mit Zinnsauger und Litze waren vergebens. Der Föhn hatte es richtig drauf. So. Den leider schon ein bisschen gelittenen Stecker richtig herum wieder angelötet, fertig! OK..., wir wären fertig gewesen, wenn wir nun noch ein passendes Anschlusskabel gehabt hätten. Wo soll man das als Student auch alles hernehmen?!? Zum Glück hatten wir noch einen richtigen Stecker (anstelle der Buchse) . Den haben wir kurzerhand auf der Rückseite angelötet (Wichtig! Spiegelverkehrt!) und ausprobiert. Es geht! Super! Etwas schwere Geburt. Was bei uns zum Glück eher selten ist. Meine ersten Eindrücke vom Display sind wirklich gut!

Freitag, Februar 10, 2006

Aluverarbeitung

Nun soll es dem Alu an den Kragen gehen. Die 1:1 Zeichnung haben wir mit Tesafilm auf dem Blech fixiert. Dabei haben wir darauf geachtet, dass die lange Seite an der Außenkante des Bleches liegt, so muss diese nicht mehr gesägt werden und ist gerade. Die Ecken und Bohrungen haben wir mit einem Körner (so ein spitzer Nagel) und leichten Schlägen durchgehauen. Nun waren auf dem Blech viele kleine Punkte zu sehen. Mit einem Edding haben wir diese dann verbunden, so dass die Zeichnung auf dem Alu 1:1 übertragenwar. Die äußeren Kanten haben wir mit einer Metallsäge ausgeschnitten und anschließend die scharfen Kanten abgeschliffen ("entgraten" heißt das, glaub ich). Die länglichen Löcher haben wir mit einem 4mm Bohrer gebohrt und mit einer Rebahle geschliffen. Nun macht mir aber das 8mm Loch für die Achse mit Gleitlager Sorgen. Wenn ich die Bohrung nur ein wenig verkannte und zur Seite drifte oder schief bohre, lässt sich die Achse nur schwer oder gar nicht mehr drehen. Zudem muss die Achse aber zwei Bauteile genau fluchten. Meine ersten Versuche zeigten, dass ich das alleine nicht kann. Mit einem Spiralbohrer wird das Loch nie ganz rund und von "exakt fluchten" kann keine Rede sein. Ich werde morgen mal beim örtlichen Metallbauer anfragen, ob die mir nicht schnell mal zwei richtige Löcher machen.

Das Holzmodell

Im ersten Schritt haben wir ein Modell aus Holz gebaut. Holz ist billig, leicht zu verarbeiten und das fertige Modell ermöglicht erste Einschätzungen der Dimensionierung (wenn man dies - wie wir - zum ersten Mal macht, ist ein vorheriges Vormodell sehr wichtig!) Zudem kann man dadurch erste Fehler entdecken (z.B. falsche Motorbohrungen). Die Seiten und der Deckel sind aus 4mm Sperrholz und wurden mit der Laubsäge ausgeschnitten. Dazu haben wir zuerst eine 1:1 Zeichnung ausgedruckt und die Ecken durchgepiekst. Die entstandenen Punkte haben wir anschließend mit einem Linial verbunden. So sieht das Modell schon ganz gut aus und stabil scheint es auch zu sein, aus Alu wäre es allerdings viel schöner.
So beginnt die Suche nach den geeigneten Materialien und deren Beschaffung. Wir haben uns für Aluminium entschieden und sind unter www.alu-verkauf.de auf ein recht preisgünstiges und individuelles Angebot gestoßen. Da ich aber noch eine alte 4mm Restplatte hatte, habe ich für die ersten Versuche diese verwendet. Die Lager beziehen wir von Igus©, die haben einen gut aufgeräumten und übersichtlichen Webauftritt, antworten schnell und freundlich auf Fragen und sind der offizielle Sponsor des RoboWorldCup 2006 in Bremen. Die restlichen mechanischen Teile haben wir über ebay ersteigert.

Modellbildung

In Autocad Inventor 6 (alte 30Tageversion, die bald abläuft :-( ) habe ich zunächst die gesamte Konstruktion gezeichnet und zusammengebaut.
Zuerst habe ich die Motoren nach einem Datenblatt nachgezeichnet, dann habe ich die Seitenwände und den Lagersteg(mittleres Aluteil) dimensioniert und als Bauteil erstellt. Die Reifen werden auf einer 6 mm Alu-Achse über ein Zahnrad vom Motor angetrieben. Dadurch wird das Lager der Motoren nicht beansprucht und eine längere Lebensdauer ist gewährleistet. Zudem ist das Übersetzungsverhältnis flexibler, da die Zahnräder (grün, Zeichnung unten) sich vertauschen lassen.
Zum Schluss habe ich den Deckel aus optischen Gründen aus Plexiglas gebaut und die nötigen Bohrungen und Gewinde für die Verschraubungen hinzugefügt.

Donnerstag, Februar 09, 2006

Display

Displayversuch! Habe das Layout für das Display fertig... (naja) habe es bereits auf eine Folie gedruckt, die gerade im Kühlschrank liegt! :) Hoffe auf ein gutes Gelingen!

Balancierender Roboter

CAD-Model Hier eine kurze Beschreibung, worum es geht: Auf der Seite nbot habe ich einen balancierenden Roboter gesehen und war einfach begeistert. Da ich durch mein Studium ohnehin in den Kontakt mit Mikrocontrollern und deren Steuerung kam, suchte ich nur ein geeignetes Projekt, an dem ich lernen und verstehen kann wie alles funktioniert. Das Model von Anderson ist dafür ideal, außerdem sieht dieser nBot sehr gut aus.

Mein erster Blogeintrag

Dies ist mein erster Blog und ich möchte hier ein Logbuch über die entstehung eines Roboters berichten. Ich werde wenn ich kann die ergebnisse meiner Arbeit hier herein stellen.