voll programmierbarer "low cost" Roboter

Gast #2348800
Lesenswert?

Hallo Zusammen,

im Moment bin ich gerade dabei, einen Open Source Source Roboter zu 
entwickeln, der möglichst unter 20 Euro kosten soll.
Das Ziel wäre, den Roboter für kleine Wettbewerbe zu verwenden:
http://www.youtube.com/watch?v=oscbdxMhX_4

Damit der Roboter schnell zusammen gelötet werden kann und billig ist, 
sollen möglichst wenig Bauteile verwendet werden.

Vielleicht möchte von euch jemand auch einen bauen ...

Im Anhang der erste Entwurf der Schaltung.

Grüße,
ChrisMicro
Angehängte Dateien:
Gast #2348873
Lesenswert?

Du sagst, du willst bauteile spare, aber dafür kannst du nicht einfach 
die kondensatoren für die versorgunh weglassen.
Genauso wie den am resetn zumalbda noch ein R fehlt. Den brauchst du bei 
deinen motoren welche deine schaltung ja sicherlich stören werden schon!
Und so kônnte man noch eine weile weiter machen...
Gast #2349009
Lesenswert?

Also: Jetzt mal richtige Vorschläge, was es an der Schaltung zu 
optimieren gibt.

Vom Roboter gibt es schon einen Prototyp. Er kann folgendes:

- einer Linie folgen ( die Front LEDs lassen sich als Lichtsensoren 
benutzen )
- mit der IR-Fernsteuerung gesteuert werden
- Hindernissen mittels Reflexion des IR Lichts und des IR-Empfängers 
ausweichen.
- Mit Hilfe des Audio-Bootloader über Line Out programmiert werden
- Als Entwicklungsumgebung lässt sich die Arduino-Lib mit GUI- verwenden
- Melodien auf dem Lautsprecher abspielen

Der Roboter ist also insbesondere für Schüler und Studenten für den 
ersten Einstieg in die Mikrocontrollerwelt geeignet.
Gast #2349130
Lesenswert?

>>Wie lange braucht der für 8kB?
>
>8 Sekunden:

Wie kontrollierst du ob die Daten auch wirklich
richtig übertragen wurden? Verify ist mit deinem
Audio Bootloader ja nicht möglich.

Wenn das Programm dann wegen Bitfehlern in der Übertragung
Mist baut ist der User komplett angeschissen. Kann er halt
nochmal das Programm senden. Aber auch da wieder Bitfehler.
Merkt er halt nicht gleich sondern etwas später.

Vergiss den Quatsch.
Du hast ja noch nicht mal einen Quarz am uC.
Da wird dann je nach Mondphase mal dies oder
das als Bit erkannt.

Erinnert mich irgendwie an Datasette;)
Gast #2349149
Lesenswert?

>Du hast ja noch nicht mal einen Quarz am uC.
>Da wird dann je nach Mondphase mal dies oder
>das als Bit erkannt.

Hi Holger,
Deinen Posts zu folgen hast Du noch nicht so viel Erfahrung mit der 
Elektrotechnik. Bei der verwendeten Manchestercodierung wird im Schnitt 
bei jeder zweiten Flanke neu synchronisiert, deshalb wird ein Quarz 
nicht benötigt. Genaueres findest Du hier: 
http://de.wikipedia.org/wiki/Manchester-Code

>Wie kontrollierst du ob die Daten auch wirklich
>richtig übertragen wurden? Verify ist mit deinem
>Audio Bootloader ja nicht möglich.

Die Kontrolle übernimmt der User selbst: Bei einem Fehler blinkt die 
Status-LED schnell. Aber keine Sorge: Im Gegensatz zur Datasette mit den 
Schwankungen der Bandgeschwindigkeit funktioniert der Bootloader 
ziemlich zuverlässig.

Gruß,
chris
Gast #2349308
Lesenswert?

Wie wärs den Roboter statt mit einem 9Volt-Block mit 3 Mignon-Zellen zu 
betreiben?
Spart den 7805 und hält zudem länger.
Beim Prozessor würd ich auch einen neueren Typ nehmen, z.B. mega88.
Der mega8 ist alt und wird daher immer teuerer :-)
Mit nem neuen Typ kannste dann die Batterien bis 2,7 Volt leerlutschen, 
was recht gut passt.
Theoretisch kannst du dir bei 5Volt auch den Motortreiber sparen,
einfach 2 pnp und 2 npn Transistoren also Stromverstärker 
hinterherschalten.
:-)
Gast #2349437
Lesenswert?

klausr schrieb:
> Der L293D hat die Clamp Dioden schon integriert.

Klar, hast recht.
Sollten also eher Mosfets sein, da sind dann Dioden drin :-)
Ich mach sowas gern bei meinen Schaltungen, einfach einen IRF7389 mit 
beiden Gates an Prozessorpin, P-Source an +5V und N-Source an Masse.
So hab ich nen Prozessorpin, der 5V und bis zu 5A kann :-)
Shot-Through kann dabei bei 5V noch vernachlässigt werden.
Gast #2349658
Lesenswert?

Puh, jetzt bin ich froh, dass nach den ersten Troll-Postings auch ein 
paar nützliche Hinweise dabei sind. Danke dafür.

>Was ich noch nicht durchschaut habe:
>Wozu FRONTLED_CENTER bei den Front-LED?  Warum nicht einfach die LED
>gegen GND schalten und gut ists?

Mit der Beschaltung kann man die LEDs sowohl als Leuchte und auch als 
Sensor benutzten:
http://www.mikrocontroller.net/articles/Lichtsensor_/_Helligkeitssensor

In meinen versuchen haben sich seltsamerweise  die ultrahellen Orangen 
LEDs als am empfindlichsten herausgestellt. Blöderweise sind genau diese 
bei Reichelt gerade nicht lieferbar.
Gast #2349701
Lesenswert?

>Theoretisch kannst du dir bei 5Volt auch den Motortreiber sparen,
>einfach 2 pnp und 2 npn Transistoren also Stromverstärker
>hinterherschalten.

Das wird beim Asuro so gemacht: 
http://mechatronik.tu-ilmenau.de/MTRWeb/publications/teach/ASURO_Prakt3.pdf 
( siehe 9/22 3.7 )

Man braucht dann aber 8 Transistoren und 8 Widerstände für die beiden 
H-Brücken. Für Lötanfänger bedeutet das immer einen großen Zeitaufwand. 
Sie müssen die richtigen Transistoren an den richtigen Platz einlöten, 
das ganze dauert immer ziemlich lange und ist fehleranfällig. Deshalb 
habe ich den L293D gewählt, den es für 1,20€ zu kaufen gibt. Dieses 
wiederum bedingt den 78L05 und die 9V Block Batterie.

Im Anhang der bisherige Schaltplan für Eagle, falls jemand darin malen 
möchte.

Apropos: Wahrscheinlich werde ich Platinen machen lassen, wenn es mal 
soweit ist. Weiß jemand, wo man am günstigsten Prototypen her bekommen 
kann?
Angehängte Dateien:
Gast #2349768
Lesenswert?

>Die grosse Schwester :
Ah, auch mit L293D. Interessant finde ich die LEDs an den 
Motorausgängen. Es ist immer gut, ein Lichtspiel am Roboter zu haben.
Die hier haben das sehr schön gemacht:
http://www.youtube.com/watch?v=3YDkbltzMmA

Ich habe mit überlegt, die LEDs an die Steuereingänge des L293D zu 
sezten und über einen gemeinsamen Pin zu "enablen", dann könnte man die 
LEDs durch multiplexing unabhängig leuchten lassen.
Gast #2349931
Lesenswert?

Hi,
hab mal ein Verständnisproblem.

Es wird mithilfe der PC Soundkarte programmiert?
D.h. irgend ein .wav/MIDI... dient als Programm?

Ist hier der UART in Gebrauch? Wenn ja, warum wird hier das Ganze an TxD 
und nicht RxD vom µC angeschlossen (siehe Schematic weiter oben).
#2350133
Lesenswert?

Die restlichen Pins könnte man herausführen um evtl. Addonboards zu 
benutzen. Würde man einen Atmega48/88 benutzen, wäre es möglich durch 
die weiteren PWM-Channels den SPI-Port freizurouten und hätte eine 
univerelle Schnittstelle für Zusätzliche Boards. UART wäre auch nicht 
schlecht. Damit könnte man ein Einfaches Kamera-Addon basteln.
Gast #2350193
Lesenswert?

fragezeichen schrieb:
>Hi,
>hab mal ein Verständnisproblem.

Hi fragezeichen,

>Es wird mithilfe der PC Soundkarte programmiert?
>D.h. irgend ein .wav/MIDI... dient als Programm?

Es ist ein wav-File. Man kann es sich sozusagen anhören:
http://www.hobby-roboter.de/forum/viewtopic.php?f=4&t=129

>Ist hier der UART in Gebrauch? Wenn ja, warum wird hier das Ganze an TxD
>und nicht RxD vom µC angeschlossen (siehe Schematic weiter oben).
Für den Bootloader kann jeder digitale Eingang verwendet werden, so wie 
bei SOUNDRX Beitrag "SOUNDRX - Datenübertragung/Bootloader PC -> µC über PC-Soundkarte"

Ich verwende den TxD-Pin, weil ich die Arduino-Lib als Grundlage für die 
Programme verwenden. Das serial.println geht an TxD raus. Hat man das 
entsprechende Programm auf PC-Seite, kann man via Line-In Daten 
empfangen.
Gast #2350194
Lesenswert?

Samuel K. (sam1994)
>Die restlichen Pins könnte man herausführen um evtl. Addonboards zu
>benutzen. Würde man einen Atmega48/88 benutzen

Obwohl im Schaltplan ein Atmega8 eingezeichnet ist, verwende ich einen 
Atmega168. In meiner Eagle Lib war keiner drin und ich war zu faul das 
Problem zu lösen. Der Atemga168 ist ja Pin-kompatibel und die Arduino 
LIB braucht die Größe.

>Würde man einen Atmega48/88 benutzen, wäre es möglich durch
>die weiteren PWM-Channels den SPI-Port freizurouten und hätte eine
>univerelle Schnittstelle für Zusätzliche Boards.

Die etwas seltsam anmutende Mehrfachbelegung ist der 
Arduino-Kompatibilität geschuldet. I2C an den ADC-Eingängen könnte man 
freihalten.
Gast #2350901
Lesenswert?

Um nicht unbedingt eine Platine ätzen zu müssen, kann man die Elektronik 
auch auf eine Streifenrasterplatine aufbauen.

das geht dann wie folgt:
1. Layout ausdrucken
2. auf Platine kleben
3. Unterbrechungen der Streifen auf der Unterseite machen
4. Drahtbrücken auf der Oberseite ( rot ) bestücken
5. Bauteile bestücken

Das würde dann so wie diese Schaltung aussehen:
http://www.hobby-roboter.de/forum/download/file.php?id=122
Angehängte Dateien:
Gast #2351652
Lesenswert?

>Oder das Programm Lochmaster verwenden.

Das Programm sieht für Schulungszwecke gar nicht schlecht aus. Die Frage 
wäre, ob die Bauteilbibliothek so groß wie bei Eagle ist.

Bei Eagle könnte man die Platine aber auch 1:1 ätzen oder ätzen lassen, 
das dürfte bei "Lochmaster" schwierig sein.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren