Forum: Projekte & Code freiBot: Roboter mit Arduino Nano


von chris_ (Gast)


Lesenswert?

Hallo Zusammen,

im Moment bin ich gerade dabei, einen sehr einfachen Roboter für 
Workshops mit einem ARDUINO Nano zu bauen.

http://www.roboterclub-freiburg.de/freiBot/freiBot.html

Falls jemand Kurse für Schüler oder Studenten machen will, könnte das 
Design geeignet sein. Ziel war es, die Teilekosten möglichst niedrig zu 
halten und auch die Bauzeit soll nicht allzu lange sein.

Der Roboter besteht im wesentlichen aus einem ARDUINO NANO, L293D, 2 
Motoren und zwei LEDs.
Zusätzlich können natürlich andere Sensoren angeschlossen werden.

Wer also mit basteln will oder selbst ein paar Verbesserungen hinzufügt, 
ist gerne willkommen.

Viel Spaß damit,
chris_

von chris_ (Gast)


Lesenswert?

Upps, leider wurde das Verzeichnis verschoben, jetzt stimmt es:
http://roboterclub-freiburg.de/projekte/freiBot/index.php

von Bastler (Gast)


Lesenswert?

OffTopic:
Ich habe mal auf die anderen Projekte auf der obigen Seite geschaut.

Unter
http://roboterclub-freiburg.de/projekte/mega8cam/index.php

liest man:
"Da die Bildwechselfrequenz bei einem Videosignal 50Hz beträgt, dauert 
die Aufnahme einer Bildspalte also 20ms. Will man mehre Spalten 
aufnehmen, um sie zu einem Bild zusammenzufügen, dauert der Vorgang also 
n*20ms. Für ein Bild mit 350 Spalten werden nach diesem Verfahren also 
350*30=7 Sekunden benötigt."

Das ist natürlich total daneben. Denk mal drüber nach.

von Amateur (Gast)


Lesenswert?

Ich finde ein L293D und Batteriebetrieb vertragen sich nicht. Schau' 
doch mal nach, ob sich da nicht was Aktuelleres findet.

Aus meiner Sicht gehört der L293D ins Museum. Auch wenn er sich noch 
immer reger Präsenz, im Netz, erfreut.

von Sheeva P. (sheevaplug)


Lesenswert?

Amateur schrieb:
> Ich finde ein L293D und Batteriebetrieb vertragen sich nicht. Schau'
> doch mal nach, ob sich da nicht was Aktuelleres findet.

Naja, bei "all outputs low" frißt der typischerweise 37 mA und bei "all 
high" 27 mA und bei "all Z" 10 mA, das ist natürlich schon recht viel.

Aber bei so einer kleinen Robotikanwendung verbraten die Motoren doch um 
Größenordnungen mehr Energie, oder? Spielt es eine Rolle, ob die 
Batterie deswegen nur 290 Sekunden statt 300 Sekunden hält?

> Aus meiner Sicht gehört der L293D ins Museum. Auch wenn er sich noch
> immer reger Präsenz, im Netz, erfreut.

Habe gerade mal beim großen F geschaut, da ist der L293 der einzige in 
seiner Klasse mit einem bastel- und steckbrettfreundlichen DIP-Gehäuse.

Vielleicht hast Du ja eine Empfehlung? Danke.

von Walter S. (avatar)


Lesenswert?

Bastler schrieb:
> Das ist natürlich total daneben. Denk mal drüber nach.

wenn du im Text ein paar Zeilen weiter gelesen hättest wäre dein 
Kommentar nicht so total daneben

von Won K. (Firma: Outside the Asylum) (the_sane)


Lesenswert?

Walter S. schrieb:
> wenn du im Text ein paar Zeilen weiter gelesen hättest wäre dein
> Kommentar nicht so total daneben

Die Erklärung ist und bleibt Unsinn, egal was danach kommt und ich finde 
nichts, was die richtigstellen würde.

von Amateur (Gast)


Lesenswert?

Meine Suche bei "F" hat mehrere IC's ergeben.
Allerdings sollte man nicht nur nach DIL suchen.
Bevor man bei SMD landet gibt es einen Haufen andere "lötbare" Gehäuse.
Interessanterweise interpretiert "F" TO 220 auch mit mehr als 3 
Anschlüssen. Auch die SIL-Fraktion hat einiges zu bieten.

Meine Abneigung gegen den L293D besteht nicht nur wegen des hohen 
Ruheverbrauchs, sondern auch wegen der hohen Arbeits-/Schaltverluste. 
Diese sollten mehr als "10 Sekunden" ausmachen.

von chris_ (Gast)


Lesenswert?

Ja, so richtig Toll ist der L293D mit seinen elektrischen 
Spezifikationen nicht. Er ist aber einigermaßen kostengünstig und man 
kann ihn auch ohne zu löten in ein Breadboard stecken. Dann lässt sich 
der Roboter auch ohne Löterfahrung bauen.
Mit dem L293D bekommt man eine ziemlich minimalistische Motorsteuerung: 
L293D, Arduino, Motoren, 9V Block .. fertig.
( .. + 2 Kondensatoren .... )
Wenn jemand eine besser Lösung hat, immer her damit. Ist ja ein "Open 
Source" Projekt.

von Michael U. (amiga)


Lesenswert?

Hallo,

Won K. schrieb:
> Walter S. schrieb:
>> wenn du im Text ein paar Zeilen weiter gelesen hättest wäre dein
>> Kommentar nicht so total daneben
>
> Die Erklärung ist und bleibt Unsinn, egal was danach kommt und ich finde
> nichts, was die richtigstellen würde.

worauf bezieht Ihr Euch eigentlich? Darauf, das dort 350x30 = 7s steht?
Stimmt, ist so falsch, sollte besser 350 * 20ms = 7000ms = 7s heißen.

Oder geht es um das Prinzip? Das habe ich schon 1988 am C64-Userport so 
gemacht, 160 x 200 in 4 Graustufen, der Wandler waren 2 Komperatoren und 
etwas Logik.
Hat 160 x 20ms = 3200ms = 3,2s gedauert.
Kamera war eine TFK500, Eine Person im Vollbild konnte man verblüffend 
gut erkennen.

Gruß aus Berlin
Michael

: Bearbeitet durch User
von Walter S. (avatar)


Lesenswert?

Won K. schrieb:
> Die Erklärung ist und bleibt Unsinn, egal was danach kommt und ich finde
> nichts, was die richtigstellen würde.

ist dir klar dass man mit einem kleinen AVR nicht ein MHz-Signal 
abtasten kann und dass deshalb in jeder Zeile nur ein Wert eingelesen 
wird?
Daraus ergeben sich dann die n*20msec für ein Gesamtbild.

Wo ist da der Unsinn versteckt?

von ch (Gast)


Lesenswert?

Eigentlich sollte in diesem Post um den "freiBot" gehen...

Die Webseite mit der Kamera ist schon seit 2006 Online. Es ist also ein 
eher älteres Projekt.
Interessant war dort für mich die Beantwortung der Fragesstellung, ob 
mit einem 8Bit Controller mit relativ langsamem AD-Wandler eine 
Bildverarbeitung ohne großen Hardwareaufwand möglich ist.
Wie man anhand des Kamerabildes der Technology Review sieht, ist 
zumindest die Bildaufnahme möglich.

Für den Roboter habe ich die Kamera als Liniensensor benutzt. Eine 
Vertikallinie braucht dabei 20ms und die Rechenkraft des Controllers 
reicht für das Finden der Linie aus.

>Oder geht es um das Prinzip? Das habe ich schon 1988 am C64-Userport so
>gemacht, 160 x 200 in 4 Graustufen, der Wandler waren 2 Komperatoren und
>etwas Logik.
Hochinteressant, dass das schon mit dem C64 ging.
Das bringt mich gerade auf die Idee, dass man statt des AD-Wandlers den 
Komparator des Atmegas verwenden könnte. Da verliert man zwar Dynamik, 
kann aber die Zeilen viel schneller sampeln.

von chris_ (Gast)


Angehängte Dateien:

Lesenswert?

Vor ein paar Tagen haben ein paar Kollegen Teile mit einem 3D-Drucker 
erstellt. Durch sie bin ich auf "openscad" gestoßen, mit dem man Modelle 
für den 3D Drucker entwerfen kann.
Für C-Programmierer ist das Programm toll. Es hat zwei Fenster und man 
tippt im linken Fenster den Code ein und beim Drücken von F6 erscheint 
im rechten Fenster das Modell, welches man drehen und Zoomen kann.
Der Code für das Modell der Achse sieht z.B. so aus.
1
axLength=120;
2
axDiameter=8;
3
axHole=6;
4
5
ring(axLength,axHole,axDiameter);
6
7
module ring(thickness,innerDiameter,outerDiameter)
8
{
9
  difference()
10
  {
11
    cylinder(thickness,outerDiameter/2,outerDiameter/2);
12
    cylinder(thickness,innerDiameter/2,innerDiameter/2);
13
  }  
14
}
Nachdem ich ein wenig mit dem Programm gespielt habe, finde ich es ganz 
witzig. Jetzt fehlt mir nur noch ein 3D-Drucker.

von chris (Gast)


Angehängte Dateien:

Lesenswert?

Hier der "ver-eagle-te" Basisschaltplan des Freibot. Die Anschlüsse sind 
so gelegt, dass man die Schaltung gut auf einen Streifenrasterplatine 
bauen kann.

von chris (Gast)


Angehängte Dateien:

Lesenswert?

Und hier das Layout für die Streifenrasterplatine.

von chris_ (Gast)


Angehängte Dateien:

Lesenswert?

Da ich mir einen 3D-Drucker angeschafft habe, möchte ich die 
Robotermechanik mit dem Drucker erstellen.

Im Bild der erste Anlauf für den Antrieb.

von chris_ (Gast)


Lesenswert?

Hier noch ein paar weitere Versuche mit dem 3D-Drucker:
Beitrag "Re: 3D Drucker Prusa I3"

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.