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
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...
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.
>>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;)
>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
Die Motoranschlüsse:
3-polige Stiftleisten, die alle das PWM-Signal tragen?
Mach doch an jedem Anschluss wenigstens 1 GND, damit der Kabelverhau
nicht gar so groß wird.
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.
:-)
Der L293D hat die Clamp Dioden schon integriert. Wenn man nur
Transistoren nimmt, muss man die Dioden unbedingt noch ergänzen. Ich
würde den L293 drin lassen. Aber der Vorschlag mit den drei Mignonzellen
sollte bedacht werden.
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.
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.
>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?
>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.
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).
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.
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.
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.
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
ChrisMicro schrieb:> 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
Oder das Programm Lochmaster verwenden.
>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.