Sonntag, 27. November 2011

XR2206: Einfachste Beschaltung

Ich hatte ja noch den Schaltplan der einfachen Beschaltung des XR2206 versprochen. Jetzt hab ich ihn endlich gezeichnet:


Hab eine feste Frequenz von 1 kHz eingestellt: f=1/(C1*R1). Statt der 5k1 im Datenblatt für R4, R5 hab ich 4k7 genommen. Als Versorgungsspannung hab ich ca. 15V aus dem Labornetzteil genommen.

Montag, 14. November 2011

Und er schwingt doch (noch)! XR2206

Ich hätte es kaum für möglich gehalten, aber ich hab ihn zum Laufen gekriegt (natürlich just in dem Moment, als ich mir über ebay einen neuen XR2206 bestellt hatte, im Glauben der alte sei abgeraucht -dem war nicht so). Jetzt hab ich drei von den Dingern...

Stur nach Beispielschaltung im Datenblatt und zunächst mal ohne symmetrische Spannungsversorgung. Aber sieht doch trotzdem toll aus, oder? War ein schönes Erfolgserlebnis :-). Schaltplan folgt noch. Ach ja, hab ich schon erwähnt, dass ich mein 1505er total cool finde ;-).




Lust auf Schweißkurs?

Ich hab mir irgendwie in den Kopf gesetzt, dass ich schweißen lernen möchte. Zuerst E-Handschweißen, dann WIG (ist einfach am coolsten und für Feinmechanik/Robotik auch am besten geeignet). Optional noch MAG, aber ich denke, wenn man WIG kann, ist das nicht mehr nötig.

In München gibt es coole Samstagskurse zu erschwinglichen Preisen:
http://www.schweisskurse-merkle.de/Region-München/aktuelle-schweisskurstermine-region-muenchen.html

Vielleicht können wir nächstes Jahr mal einen gemeinsam machen. Würde sicher Spaß machen :-).

Es gibt übrigens um 200 Euro einen total genialen WIG-Inverter, HF und gepulst mit super Bewertungen, und das Argon ist auch nicht so teuer. Dazu einen coolen Automatik Schweißhelm. Bleibt nur die Sache mit dem Anschleifen der Wolframelektroden...

Berlan WIG/TIG Inverter Schweißgerät 180A
Cooler Schweißhelm

Sonntag, 13. November 2011

Pollin AVR Evaluationsboard: Inbetriebnahme

Nachdem wir bei unserer letzten Bastelsession schon fast fertig mit dem Aufbau geworden sind, hab ich es nun fertig gebaut und nach einigen kleineren Problemen in Betrieb genommen. Bzgl. Teile: es waren zu viele LEDs dabei, dafür fehlten die Taster, ein LED war zudem kaputt (natürlich das Netzt-LED, das du Phil schon eingebaut hattest). Taster hatte ich noch genug im Fundus :-). Dann leuchtete zumindest shon mal die Netz-LED beim Anschließen an die Stromversorgung.

Hab gleich auch noch die beiden anderen LEDs auf dem Board gecheckt. Die waren in Ordnung, aber irgendwer hat sie falsch herum eingelötet ;-). Es war halt schon kurz vor dem Abendessen, als wir das gemacht hatten und wahrscheinlich waren wir schon unterzuckert... Aber es hatte auch ein Gutes: ich konnte gleich ausgiebig das Auslöten mittels Entlötlitze und (reichlich) Fluxstift üben.

Dann ging es daran das Board mittel USB2Serial-Konverter an Rechner anzuschließen und das Beispielprogramm (schnell umgeschrieben auf den AtMega8, den ich grade zur Hand hatte) mittels PonyProg zu flashen (über Bit-Banging). Tja, das hat nicht funktioniert. Verbindung zum Board instabil, flashen dauert ewig (im Minutenbereich) und schließlich immer mit Fehlermeldung abgebrochen. Hatte auch Angst, dass ich den AVR "verfused". Bitbanging ist echt Mist und ist nicht mal im Notfall brauchbar - bloß keine Zeit damit vertun.

Da musste ein gscheiter Programmer her: mein AVRUsbLab ;-). Das funktionierte mit AVR-Studio raz-faz und ohne Probleme. Konnte das mit Bascom compilierte HEX-file dort mittels MKII-Protokoll super flashen.

Tataa: das Testprogramm funktioniert! Die viel beschriebenen Probleme mit Spannungseinbruch und einfrieren/resetten wegen der Hardwareentprellung der Taster treten bei mir nicht auf. Habs daher erst mal so gelassen, da es funktioniert hat. Auch die Rückkommunikation zum PC über die zweite serielle Schnittstelle funktionierte tadellos (man muss nur die Baudrate der Schnittstelle am PC von 9600 auf 19200 erhöhen).

Zum Schluss noch ein schönes Foto ;-):

Samstag, 5. November 2011

Let's make robots - our first robot

Als Fan von Hobby-Robotik und dem Make Video Blog von Frits "fritsl" Lyneborg, hatte ich für unser wochenendliches Basteln den "Start here"-Robot der Robo-Seite letsmakerobots.com ausgesucht. Philipp und ich haben ihn dann auch gebaut, ging problemlos von der Hand - das Tutorial ist echt gut zum durcharbeiten.

Der Roboter funktioniert wunderbar - wie beschrieben. Un hübsch ist er geworden (siehe Fotos). Lediglich ein leichter Linksdrift bei Geradeausfahrt. Den haben wir über einen kleinen Trick im Code (siehe unten) korrigiert, natürlich parametrierbar ;-). Die Drift scheint sich nämlich mit abnehmender Akkuladung zu verändern...



Unser einfacher Code funktioniert ganz gut, sodass der Robo auch aus Ecken wieder rauskommt:

' ----------------------------------------------------------------
' lmr my first robot first test program
symbol dangerlevel = 80 ' how far away should thing be, 
                        ' before we react
symbol turn = 200 ' this sets how much should be turned
symbol servo_turn = 700 ' this sets for how long time we should
                        ' wait for the servo to turn befor we 
                        ' measure distance
symbol rightdelay=10 ' after rightdelay times calling nodanger, 
                     ' turn only left wheel (drift correctiion)

' ----------------------------------------------------------------
' initialisation stuff
gosub totalhalt    ' initially stop and turn head forward
b3 = 0    ' variable b3 is used to keep track of how often
          ' "nodanger" has been called
' ----------------------------------------------------------------
' main loop
main:
    readadc 0, b1     ' read how much distance ahead
    if b1 < dangerlevel then
        gosub nodanger     ' if nothing ahead drive forward
    else
        gosub whichway     ' if obstacle ahaed then decide which way is better
    end if
goto main
' ----------------------------------------------------------------
' including drift correction by stopping right wheel for 
' one cycle after nodanger has been called rightdelay times
nodanger: ' combination to make the robot drive forward
    if b3<rightdelay then
        high 4 : low 5  : low 6 : high 7
    else
        high 4 : low 5  : low 6 : low 7
        b3=0
    endif
    b3 =b3+1
    return
' ----------------------------------------------------------------
' looking and deciding which way to turn
whichway:
    gosub totalhalt     ' first stop!

    ' Look oneway
    gosub lturn     ' look to one side
    pause servo_turn     ' wait for the servo to finish turning
    readadc 0, b1
    gosub totalhalt

    ' Look the other way
    gosub rturn     ' look to one side
    pause servo_turn     ' wait for the servo to finish turning
    readadc 0, b2
    gosub totalhalt

    ' Decide which way
    if b1 <= b2 then
        gosub body_lturn
    else
        gosub body_rturn
    end if
    return
' ----------------------------------------------------------------
' turn robot right
body_rturn:
    high 4: low 5 : high 6 : low 7
    pause turn : gosub totalhalt
    return   
'-----------------------------------------------------------------   
' turn robot left
body_lturn:
    low 4 : high 5: low 6 : high 7
    pause turn : gosub totalhalt
    return
' ----------------------------------------------------------------
' turn head right
rturn:
    servo 0, 100
    return
' ----------------------------------------------------------------
' turn head left
lturn:
    servo 0, 200
    return
' ----------------------------------------------------------------
' stop motors and head forward
totalhalt:
    low 4 : low 5 : low 6 : low 7
    servo 0, 153
    wait 1
    return

"Brainless Bug": Nachtrag

Ach ja, ich hatte vergessen zu erwähnen, dass ich auch nach verschiedenen Optimierungsmaßnahmen und nach dem Erstellen einer schönen neuen Strecke auf DIN A2 und mit schwarzen Gewebetape, ich es nicht geschafft habe den Linienverfolger zum Verfolgen von Linien zu bringen...

Hab den Sensor neu abgeschirmt und teilweise geschwärzt. So konnte ich erreichen, dass auch bei Tageslicht der Unterschied zwischen weissen und schwarzen Flächen gut erkannt wird. Aber der Roboter fährt maximal geradeaus und nie nach links.

Da es noch viele andere interessante Projekte gibt, werde ich das Linienfolgerprojekt mal ad acta legen. Hab für später noch Teile für eine Variante mit anderer Sensorik, mal sehen.

Freitag, 4. November 2011

"Brainless Bug": endlich ein Foto ;-)

Dass man auch sehen kann, wie hübsch unser kleiner Linienfolger geworden ist. Das ist schön die "refurbished" Version, da die erste von meinem 3-jährigen Sohn Julian auf mechanische Festigkeit getestet wurde ;-).