PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Simple Steuerung für einfachen Roboter



FearThePenguin
04.06.2013, 21:20
Hey,

ein paar Freunde und ich versuchen gerade (gezwungener Maßen) einen ziemlich einfachen Roboter zu bauen,
die Schwierigkeiten liegen eher in den Rahmenbedingungen.
Leider ist unser Wissen in Elektrotechnik bzw. Regelungs-und Steuertechnik sowie Informatik eher marginal, deswegen dachte ich mir, ich frage einfach mal hier:

Wir brauchen eine Schaltung, die zwei 6V Motoren unabhängig voneinander steuert.
Dabei müssen die Geschwindigkeiten nicht variiert werden, wäre eher "Motor 1 10 Sekunden vorwärts, dann 10 Stop, Motor 2 10 Sekunden vorwärts dann Stop, Motor 1 10 Sekunden rückwärts.
Das Problem ist, wir dürfen nur 4 LR6 bzw. R6 Batterien verwenden, haben jedoch ein verhältnismäßig hohes Gewicht zu bewegen.
Wir hatten uns überlegt eine Arduino-Platine zu benutzen, allerdings vermute ich, dass die eventuell abschmieren könnte, da die Motoren ja recht viel Spannung ziehen beim Anlaufen.

Das größte Problem ist auch die Zeit, wir haben nicht allzu viel Zeit und die Programmierung ist eigentlich eher Nebensache, die allgemeine Konstruktion steht im Vordergrund, deswegen sollte die Steuerung möglichst simpel und vor allem
Idiotensicher sein.

Kann uns/mir da irgendjemand zumindest mal Tipps geben in welche Richtung wir da gehen sollten?

Lg

Croal
04.06.2013, 22:35
Motorensteuerung und drehrichtung bestimmen wird in der Regel über eine H Schaltung realisiert. Ist recht einfach und du findest auch viele Infos und Schaltpläne um das zu realisieren. Als Motoren solltest du getriebemotoren nehmen , die haben durch die Untersetzung recht viel Kraft.

oberallgeier
04.06.2013, 22:57
... versuchen gerade ... einfachen Roboter zu bauen ...Schaltung, die zwei 6V Motoren unabhängig ...Also dieser einfache Roboter (klick hier) (https://www.roboternetz.de/community/threads/35471-Roboter-Maus) ist wirklich einfach und pfiffig aufgebaut. Einen noch einfacheren Aufbau gibts auch, von dem ist dann die Schaltung (klick) (https://www.roboternetz.de/community/threads/29119-Mein-allererster-Roboter?p=274551&viewfull=1#post274551) für den ersten Link - die gibts später in diesem Thread etwas sauberer dargestellt. Viel einfacher gehts eh kaum.

Searcher
05.06.2013, 10:28
... oder mit Relais. Im RN-Wissen oder hier: https://www.roboternetz.de/community/threads/48812-Linienfolger-Nein-es-wird-ein-Abstandhalter%21?p=474172&viewfull=1#post474172

Gruß
Searcher

PICture
05.06.2013, 13:26
Hallo !


Viel einfacher gehts eh kaum.

Doch: https://www.roboternetz.de/phpBB2/viewtopic.php?t=49233 . ;)

FearThePenguin
05.06.2013, 19:14
Vielen Dank schonmal für die ganzen Antworten,
wie gesagt, wir sind alle relativ unerfahren was das alles angeht.
Wenn ich das Prinzip eines Bumpers richtig versteh, muss ich mit dem Ding ja gegen etwas fahren, damit er umschaltet.
Das ist uns leider nicht möglich, wir müssen ihn auf Zeit steuern.

In dem RN-Board ist mir einmal spontan der RN-VN2 DUalmotor ins Auge gesprungen, der scheint ja recht simpel zu sein und trotzdem genug zu können (sogar fast zu viel) für unsere Ansprüche (Geschwindigkeit müsste ja nicht geregelt werden, einfach Vollgas).
Allerdings bräuchte man dafür dann nocheinmal ein Controllerboard, welches eine "Timer-Funktion" hat, oder?

Gibt es nicht irgendetwas, das das alles in einem hat? Und optimalerweise einfach über USB an den Rechner angeschlossen wird und dann über eine verhältnismäßig simple Maske programmiert werden kann?

LG

radbruch
05.06.2013, 19:42
Hallo


Dabei müssen die Geschwindigkeiten nicht variiert werden, wäre eher "Motor 1 10 Sekunden vorwärts, dann 10 Stop, Motor 2 10 Sekunden vorwärts dann Stop, Motor 1 10 Sekunden rückwärts.Wenn sich der Ablauf immer wiederholen soll, wäre ein Nockenschaltwerk oder ein Trommelschalter ideal. Die Nocken könnten Schalter betätigen oder leitend Schleifer verbinden. So ähnlich wie eine Ablaufsteuerung in alten Waschmaschinen.


Leider ist unser Wissen in Elektrotechnik bzw. Regelungs-und Steuertechnik sowie Informatik eher marginalDann erzähl doch mal, was ihr könnt!

Gruß

mic

FearThePenguin
05.06.2013, 20:42
Ablauf ist so:
1. 10 Sekunden Motor 1 vorwärts
2. 10 Sekunden Motor 1 stop, Motor 2 10 sec vorwärts
3. 5 Sekunden Motor 1 rückwärts

Und das muss dann für mehrere Läufe programmiert werden wobei die Zeiten variieren.

Informatik: Wenn ich mir so ne Beispiel-Programmierung anschau erkenn ich schon was da so passiert, alleine programmieren könnte ich das aber nicht.
E-Technik: Grundlagen sind da, aber rumlöten etc. muss nicht sein, theoretisches Wissen haben wir aber.. (Stundenten halt.. :P)

Croal
06.06.2013, 06:06
Wenn die Zeiten wariieren wird der aufwand rein mechanisch schwer . Da ist ein par Zeilen Code nichts dagegen. Ich denke am einfachsten du besorgst am besten ein Asuro oder einen anderen robi wie nebobee oder baust du selber einen nach den Schaltplänen einen mit der minimal Lösung , also nur den mickrocontroller und H Schaltung. Dann hättest du beispielcode zB. Zumindest würde ich so drangehen. Mein ProBot128 zB. Lässt sich in ein relativ einfacher Basic Dialekt programmieren und mit dem Bausatz waren Codes dabei , das mit dem fahren vorwärts , rückwärts zeit bestimmen usw. War schon fast selbsterklärend.
Du schreibst Gezwungener Massen? Ist das ein schulprojekt? Und dann Motor 1 10 sec. Motor 2 10 sec. Da wird dein roboter im Kreis drehen es sei den du baust die Räder in Reihe.

JoeM1978
06.06.2013, 08:28
Gibt es nicht irgendetwas, das das alles in einem hat? Und optimalerweise einfach über USB an den Rechner angeschlossen wird und dann über eine verhältnismäßig simple Maske programmiert werden kann?

Alles wohl eine Frage des Preises.
Ohne grosse vorkenntnisse würd ich sagen:
- Besorgt euch ein kleines fertiges Controllerboard mit Programierer und USB-Zubehör.
(Programm ist absolut simpel in Bascom zu machen.)
- Für den Motortreiber entweder was wie die RN-VN2... oder würde nicht evt schon eine
einfache Doppel-Brücke mit L298 ausreichen ? die bekommt man bei iBäh billig hinterhergeworfen.


haben jedoch ein verhältnismäßig hohes Gewicht zu bewegen

Nur was mich nachdenklich macht... ihr wollt mit 6V ein "hohes Gewicht" bewegen ??
Wie gross soll denn das Gewicht sein... wie schnell muss es fahren ?
Was werden die Motoren an Strom ziehen?

Über welche Grössenordnung reden wir hier ?
20KG im Zeitraffer-Schneckengang... oder 0,5KG als Wohnzimmer-renner ?

Das wird wohl eher ausschlaggebend sein, als die "kleinigkeit" dieses Programms.

FearThePenguin
06.06.2013, 08:55
Alles wohl eine Frage des Preises.
Ohne grosse vorkenntnisse würd ich sagen:
- Besorgt euch ein kleines fertiges Controllerboard mit Programierer und USB-Zubehör.
(Programm ist absolut simpel in Bascom zu machen.)
- Für den Motortreiber entweder was wie die RN-VN2... oder würde nicht evt schon eine
einfache Doppel-Brücke mit L298 ausreichen ? die bekommt man bei iBäh billig hinterhergeworfen.

Klingt gut, je billiger desto besser.
Als Controllerboard dann sowas wie Arduino oder die ATmega?
Und wie krieg ich die dann per USB angeschlossen?




Nur was mich nachdenklich macht... ihr wollt mit 6V ein "hohes Gewicht" bewegen ??
Wie gross soll denn das Gewicht sein... wie schnell muss es fahren ?
Was werden die Motoren an Strom ziehen?

Über welche Grössenordnung reden wir hier ?
20KG im Zeitraffer-Schneckengang... oder 0,5KG als Wohnzimmer-renner ?

Das wird wohl eher ausschlaggebend sein, als die "kleinigkeit" dieses Programms.

Max. 3 Kilo, dazu müssen nochmal knapp 3 Kg geschoben werden, das sind dann allerdings Kugeln die rollen, also ist nur ein Moment zu überwinden und ab dann wird der Roboter wohl eher führend tätig sein.
Motoren hatten wir uns zwei "Hochleistungs"-Getriebemotoren von Conrad ausgesucht, allerdings haben wir nur einen für den Antrieb zur Verfügung, der andere muss eine zweite Teilfunktion erfüllen.
Beides 6V Nennspannung, der für den Antrieb nen max. Laststrom von 1,8A, der zweite entweder auch 1,8A oder 1,55A

Croal: Ja, Uni-Projekt, Bauraum ist sehr beschränkt, Aufgabe so komplex wie sinnlos.

JoeM1978
06.06.2013, 19:55
Controllerboard wäre z.b. eins von Arduino, myAVR oder von Robotikhardware.de eins.
Wie wäre es z.b. mit diesem hier .. Baby Orangutan B-328 (http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=64&products_id=238)
Wäre klein, leicht, hat allerdings "nur" integrierten Motortreiber für 1A Dauerlast (3A Peak)!

Zu Arduino kann ich nix sagen, hab mich nie damit beschäftigt.
Mein myAVR-MK2 gabs recht preisgünstig im set mit Programmer, Atmega-Chip und evtl ein 2-Zeilen LCD dazu.
(sowas z.b. myAVR-MK2 incl USB-Programmer (http://www.ebay.de/itm/AVR-Atmel-Mega-Board-mit-USB-ISP-Programmer-bestuckt-/251283414519?pt=Wissenschaftliche_Ger%C3%A4te&hash=item3a81a89df7)
Die myAVR sind recht einsteigerfreundlich und super für testzwecke auf der Werkbank. Die Anschlüsse sind leider eher für Schulische zwecke als für die Praxis gedacht.
Will man aber was für den einbau und praxisgerechte erweiterungen und Anschlüsse, wird man auch hier nicht um ein Board von RN herumkommen. (Alles ne Kostenfrage)

übrigens ... "Atmega" ist kein Controllerboard sondern einer der Microcontroller, also ein Chip. davon gibts auch ne recht weite Bandbreite und ihr solltet schauen,
das einer davon in eurem päckchen dabei liegt. denn ohne bringt die ganze platine recht wenig. ;-)

Je nach dem zum Controllerboard ein seperaten Motortreiber dazu. Die Dual H-Bridges mit dem L298N gibts bei der Bucht ausm ausland schon ab 2-3€ aufwärts...
da kann man sich zur not 3 bestellen, falls mal eine durchbrennt. *lach

Solltet ihr wirklich höhere Motorströme haben wäre zu überlegen was qualitativ hochwertiges zu nehmen.
Bei robotikhardware z.b. gibts die RN-VN2. damit ist man dann aber auch für fast alles gerüstet was kommt.

Programmieren.... entweder über C oder Bascom oder Arduino-eigenes Derivat.
Arduino kann ich wiederum nicht beurteilen...
C ... wäre für die Zukunft sicher schön.... aber wers nur für ein kleines Projekt braucht... muss nicht sein.
Für Einsteiger ist vermutlich Bascom das einfachste, da es recht ähnlich wie Basic aufgebaut ist und für
"Anfänger" ist der Programmcode auch recht leicht zu lesen/verstehen. Programieroberfläche dafür gibts für kleine Projekte kostenlos zum download.


Frage... wie begrenzt ist das platzangebot im projekt ?
Diese Boards zu kaufen ist zwar leicht... zusammenstecken > bissl verkabeln > strom drann > programm rein und fertig.
ABER
... so ein universales Controllerboard und dazu noch der Motortreiber... das nimmt schon seinen platz ein.

Andererseits.... wenn ich das recht verstehe habt ihr nicht vor eine Platine selber zu machen, die
Chip und Motortreiber und dazu Stromversorgung beinhaltet?

FearThePenguin
07.06.2013, 16:27
Also wir haben uns jetzt für ein Arduino-Board mit H-Bride entschieden (http://www.arduino-tutorial.de/2010/06/motorsteuerung-mit-einem-h-bridge-ic/) , schien uns spontan das einfachste und es gibt für Arduino auch viele Beispielcodes, sodass wir da vermutlich schnell was finden, das wir nur noch mininmal umschreiben müssen.
450x450x450mm, allerdings ist das Fahren das geringste Problem, in den Bauraum muss noch was rein dass ein bisschen mehr kann :D
Wenn der Wettbewerb rum ist kann ich mal nen Foto machen.
Vielen Dank auf jeden Fall schoneinmal für die viele Hilfe :)

JoeM1978
07.06.2013, 18:02
Sehr gern... freue mich immer darauf bilder von diversen Projekten zu sehen.
Oftmals gibt es den passenden Denkanstoß. :)

FearThePenguin
17.06.2013, 15:44
Hey, wir sind so langsam auf der Zielgerade, jetzt natzt uns aber das alles nochmal irgendwie.
Wir haben die Schaltung von arduino-tutorial eins zu eins nachgebaut, das Board funktioniert (zumindest leuchten die LED´s wenn wir es über USB anschließen) und unser Code wird auch compliliert und übertragen.
Allerdings passiert dann nichts mehr. Die Motoren stehen einfach still.
Wenn wir es dann vom USB trennen und die Batterie anschließen leuchten nichteinmal die LED´s.
Weiß von euch einer woran das liegen könnte?
Lg

Hubert.G
17.06.2013, 17:52
Wenn nicht mal eine LED leuchtet ist meist die Spannung verkehrt oder die Batterie leer.

FearThePenguin
17.06.2013, 17:57
Batterie passt, Spannung verkehrt darf ich wie verstehen?
25782

Hier noch mit USB, das Grüne Kabel rechts geht an den 5V Anschluss vom Arduino.

Hubert.G
17.06.2013, 18:42
Und wo wird die Batterie angeschlossen?
Motorspannung fehlt doch auch noch auf dem Bild?

FearThePenguin
17.06.2013, 19:50
Ich kann sie grade leider nicht neu fotografieren, da sie ein Freund mitgenommen hat, Batterie war da dran wo der Kreis rum ist.
Wo kommt die Motorspannung ran?
25784

http://www.arduino-tutorial.de/2010/06/motorsteuerung-mit-einem-h-bridge-ic/

Den Aufbau haben wir eigentlich eins zu eins nachgebaut, oder haben wir irgendwo was vergessen?

vielen Dank schonmal :)

Hubert.G
17.06.2013, 19:57
Die Motorspannung ist dann schon OK. Aber woher kommen dann die 5V für den Arduino?

FearThePenguin
17.06.2013, 20:28
Wir dachten die kommen über den Pin 16 von der H-Brücke.
Lagen wir da falsch? bzw. was müssen wir tun damit das läuft?

Hubert.G
17.06.2013, 20:41
Da liegt ihr falsch. Der Arduino und die H-Brücke gehören mit 5V versorgt.
Entweder über USB oder die Hohlbuchse. Über die Hohlbuchse müssen aber min. 7V sein.

FearThePenguin
18.06.2013, 00:32
mkay, aber mal blöd gefragt, auf der von mir verlinkten Seite ist das ja auch nicht ersichtlich bzw. nicht vorgesehen und in den Kommentaren schreiben viele, sie hätten komplett nachgebaut und es würde funktionieren.
Kann das dann wirklich der Grund sein?

Bzw. mal allgemein formuliert:

Ist es möglich ein Arduino-Board, die zwei Motoren und di H-Brücke mit 6V bzw. 9V zu betreiben ohne eine externe Stromversorgung? Und wenn ja, was fehlt dann bei unsrem Aufbau.
Vielen Dank schonmal :)

Hubert.G
18.06.2013, 09:06
Das ist sicher der Grund.
Wie du ja selbst festgestellt hast, hat bei dir der Arduino keine Stromversorgung.
Auf der von dir verlinkten Seite wird anscheinend vorausgesetzt das der Arduino über USB oder die Hohlbuchse versorgt wird.
Die Abbildung ist aber sicher etwas irreführend.

FearThePenguin
18.06.2013, 09:21
Ok, ja das ist irgendwie ziemlich irreführend und auch ziemlich bekloppt für uns jetzt, da wir nur die Batterie im Wettbewerb verwenden dürfen und keine Möglichkeit haben das Board über eine externe Stromquelle zu versorgen.
Gibt es da gar keine Möglichkeit?
Im Internet habe ich jetzt schon öfter gelesen, dass es theoretisch möglich wäre.
Und auf dieser Seite steht ja auch nocheinmal ausdrücklich "der Strom kommt aus einer Batterie"

Wir haben jetzt gerade gelesen, dass eine Stromversorgung auch über Batterie möglich ist, wenn man die Batterie an den GND und den VIN Pin anschließt, ginge dass in unserem Fall?
Eine Möglichkeit von der Batterie auf USB zu gehen gibt es ja wohl eher nicht, oder?
Und eine direkte Stromversorgung über den 5V scheint ja auch möglich zu sein (vor allem da wir im Wettbewerb nur 6V zur Verfügung haben) oder ist das zu gefährlich?

FearThePenguin
18.06.2013, 11:46
Also wir haben uns jetzt nochmal ein bisschen im Internet schlau gemacht und ein Forumeintrag in einem Englischsprachigen Forum gefunden, der sagt, es sei möglich das Arduino mit einem 6V- Batteriepack und einer Diode betreiben können direkt über den 5V Pin.Aber der ist in unserem Fall ja Output (oder?)
Gibt es irgendeine Möglichkeit entweder über VIN und GND oder eventuell über ein Hohlbuchsenadapter mit nem Spannungswandler unsere Schaltung umzusetzen? Also eine Steuerung von zwei Motoren mit Hilfe des L293D wobei jedes Teil (also beide Motoren,L293D sowie das Arduino) von den vier 1,5V Batterien versorgt wird? Wär auch egal wenn das Ding nach 2 Minuten ausgeht (solang es mit frischen Batterien dann wieder angeht).

PICture
18.06.2013, 12:01
Hallo!


Gibt es irgendeine Möglichkeit entweder über VIN und GND oder eventuell über ein Hohlbuchsenadapter mit nem Spannungswandler unsere Schaltung umzusetzen?

Am einfachsten wären 3 Batterien mit 1,5 V bzw. 4 NiMH Akkus mit 1,2 V.

Hubert.G
18.06.2013, 12:02
Batteriepack und Diode in Serie am 5V Pin geht, der ist Input und Output.
Diese Batterien halten sicher länger als die für die Motoren.
Einen Spannungswandler halte ich für etwas übertrieben, obwohl es natürlich auch eine Möglichkeit ist.

FearThePenguin
18.06.2013, 15:15
Also wir haben jetzt einfach aus der Reihe, in die die Kabel von der Batterie reingesteckt werden, Kabel zu VIN und GND auf dem Arduino gelegt, funktioniert tadellos.

PsiQ
19.06.2013, 00:07
Habt ihr den Steuer von dem Leistungsteil getrennt, bzw hat der Arduino seinen Spannungsregler davor ?
Nicht dass euch die Motorlast auf den Arduino zurückstört und ihr euch über komisches Verhalten wie brown-out reboot oder danebenschwingenden Quarz wundert.
- Wobei die Arduino Platine ja einigermaßen robust laufen sollte.

Was für Batterien / Akkus dürft ihr verwenden ??

edit: ach ich sehs grad am Anfang 4x Mignon AA anscheinend...
Nur als Hinweis, es gibt inzwischen auch Lithiumzelle in der Bauform mit 1,5V und viel mehr Dampf (mAh):
http://www.reichelt.de/Lithium-Batterien/ANS-LI-2XAA/3//index.html?ACTION=3&GROUPID=1028&ARTICLE=103491&SHOW=1&START=0&OFFSET=500&

FearThePenguin
20.06.2013, 14:19
Also wir haben ihn jetzt die letzten Tage durch unzählige Testläuft geschickt, hat alles bisher wunderbar geklappt.
Wir dürfen leider ausdrücklich nur LR6 verwenden, die heißen ja FR6.. wobei die Frage wäre ob das jemanden auffällt, solang es aber mit den LR6 reicht probieren wirs lieber nicht aus ;)

Vielen Dank für all die Hilfe, wenn immernoch Interesse besteht kommt nach dem Wettbewerb mal nen Foto/Video.