PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anfängerprojekt - Komponenten OK für den Anfang ?



Zyrano
10.07.2014, 21:17
Hallo liebe Leute,

ich bin der neue ^^
Ich habe mich nun endlich dazu entschieden in die Welt der Roboter einzutauchen und habe mir mal ein Anfängerprojekt angeguckt bzw. durch YouTube inspirieren lassen.
Für den Anfang habe ich mal folgende Komponenten zusammen gesucht:

RaspberryPi als Controller(habe ich schon ;) )
Magician Chassis inkl. Batteriehalter für 4 Akkus und 2 Motoren inkl. Reifen
L298N Dual H Bridge Motortreiber
HC-SR04 Ultraschallsensor
Male - Female Kabel
Female - Female Kabel

Für den Anfang möchte ich lediglich Erfahrungen in der Programmierung der Bewegungsabläufe sammeln, auf Kollisionen reagieren und den kleinen bizzi rumfahren lassen.
Programmieren ist mir nicht unbekannt im übrigen.
Was mir allerdings noch fehlt ist eine Halterung für den HC-SR04 Sensor. Kennt jemand einen deutschen Shop wo man sowas bekommt ?

Und die wichtigste Frage: Sind die Komponenten OK so ?

Vielen Dank im Voraus ;)


Gruß Chris

Geistesblitz
11.07.2014, 00:13
Ich denk mal, dass sich mit den Komponenten was anfangen lässt.
Sind die L298 eigentlich Module oder willst du die reinen ICs verwenden? Die passen nämlich nicht einfach so auf Breadboards, ohne sie etwas zu modifizieren. Ein bisschen die Beinchen biegen, dann geht das aber eigentlich.

Für den Sensor würd ich mir einfach was aus einem Alu Winkelprofil zurechtsägen. Oder zur Not auch ein Holzklotz oder sowas, bei der Robotik gehört die Mechanik nunmal auch dazu. Wenn man tiefer in die Materie einsteigen will, ist man sowieso auf Speziallösungen angewiesen, die im Eigenbau immernoch am günstigsten realisierbar sind.

Zyrano
11.07.2014, 00:25
Hallo,

danke für deine Antwort.
Die L298 sind komplette Module ja. Werden dann nur über die GPIO vom RPi angesprochen.
Dann werde ich den Kram mal bestellen und gleich das ein oder andere Werkzeug für den Hobbykeller organisieren :)

Danke nochmal

Rabenauge
11.07.2014, 02:22
Der HC-Sr04 braucht nicht zwingend nen Halter (gibts aber genug zu kaufen, in Alu und Plastik, wenns denn sein soll), normalerweise sind die vier Anschlusstifte nach unten rausgeführt- so kann man den sehr einfach auf nem Steckbrett aufrecht aufstellen, oder aber man lötet ihn auf nen Stück Streifenraster und kann das dann -irgendwie-montieren.

Wenn du nen "professionellen" Halter willst, kauf ihn, aber wirklich nötig isser nicht.

oberallgeier
11.07.2014, 08:54
... Die L298 sind komplette Module ja. Werden dann nur über die GPIO vom RPi angesprochen ...Du weißt um den 3,3V-Pegel des RasPi?!

In meinem Datenblatt zum L298 (STM, Juli 1999) steht in der Tabelle PIN FUNCTIONS immer wieder "TTL Compatible Inputs", dasselbe gilt sicher für die Ausgänge. Da kann man mit 3,3V-Pegeln Glück haben, aber so gaaanz sicher ist das wohl nicht immer. Das beachtest Du sicher/hoffentlich. Ich kenne das beim RasPi aber nur theoretisch, ich benutz den bisher nur z.B. über UART aus einem USB-UART-Wandler, da hab ich andere Bedingungen.

Viel Erfolg.

Zyrano
11.07.2014, 11:21
Guten Morgen,

jetzt werde ich mir grad unsicher... Denn weder die Schematas vom Motortreiber noch vom RPi im Video haben was von 3,3V ausgesagt ?!...
Ich habe auch gesehen, dass die Kommentare von dem VIDEO (https://www.youtube.com/watch?v=b4uhh_j8uR0#t=1048) was ich gesehen habe, viele Fehler in der Schaltung angesagen.

Bitte nochmal um Rat, denn natürlich habe ich keine Lust meinen RPi zu braten und mit dem falschen Fuß zu laden.

EDIT: Oder muss man zur Vorsicht 1,35Ohm Wiederstände im die Kabel löten ?

Rabenauge
11.07.2014, 11:36
Vorschlag: pack nen Zehner bis Fünfzehner drauf und hol dir nen Arduino-Nachbau. Kannst natürlich auch ein Original nehmen, wenn du möchtest...die kosten aber deutlich mehr.
Die "Standard"-Arduinos (Mega2560, UNO) arbeiten mit 5V-von den Nachbauten gibts nen Uno, der umschaltbar ist zwischen 5V und 3.3V-der würd dir evtl die Möglichkeit bieten, den Umstieg zu erleichtern.
Generell ist der Mega die bessere Wahl (der ist, bei Sainsmart für ungefähr 15 zu kriegen), da er weit mehr Speicher hat und zudem viel mehr verfügbare Pins hat. Für deinen kleinen Roboter zwar deutlich oversized, aber sicher solls dabei ja nicht bleiben.
Zudem isses schön, wenn man die Möglichkeit hat, aufzurüsten.

Zyrano
11.07.2014, 11:56
Danke für den Vorschlag, aber ich würde doch gern den Raspberry Pi verwenden, da ich den eigentlich für Home Automatisierung gekauft und aber die Gegebenheiten (Häuslich gesehen) nicht geschaffen sind.
Also möchte gern den RPi verwenden :)
Für spätere Projekte werde ich garantiert darauf zurück kommen !

Was für Schrauben und Distanzhalter brauch man eigentlich noch dazu ?
Reicht da son Komplettset an Computer-Montageschrauben oder gibt es andere Sets ?

PICture
11.07.2014, 12:01
Hallo!

Ich würde dir raten zuerst die Mechanik ohne Steuerung zu prüfen und erst danach, wie Rabenauge schon schrieb, festlegen der Versorgungspannung für Steuerlogik. Das ist meistens die unänderbare Spannung, hier 3,3 V von RaspberryPi. Die 1,35 Ω Widerstände im Kabel sind sinnlos.

Wsk8
11.07.2014, 13:39
Laut dieser Tabelle, (http://www.elektronik-kompendium.de/sites/dig/0205171.htm) kann man TTL(5V) auch mit LVTTL(3,3V) schalten.

mfg

Zyrano
11.07.2014, 13:49
Ok, Ok, ich dnke mal schon einen Schritt weiter.
Bei dem RPi ist mir die Prohrammierung klar; ich schieb da ein Python Script drauf und lass das im Autostart beim booten vom RPi ausführen. Der gibt dann ein 3,3V (5V?) Signal aus dem GPIO an den Motortreiber um die Motoren zu drehen etc. Gut, dass man nur begrenzt GPIO Pins hat ist klar.
Aber wie Funktioniert das bei dem Mega2560 ? Welche Sprache wird da denn verwendet ? Ich hab was von C gelesen was dann über nen SerialConverter auf das Board geladen wird.
Ist das richtig ?

Geistesblitz
11.07.2014, 14:40
Arduinos werden einfach an USB angeschlossen und werden dann mit Arduino-C (ist ein bisschen anders als normales C) programmiert. Ansonsten braucht man noch zusätzlich einen ISP-Adapter, mit dem das Programm auf den Controller geladen wird. Die Mikrocontroller haben kein Betriebssystem, die führen einfach immer nur das Programm aus, mit dem sie geflasht wurden. C ist so ziemlich die gebräuchlichste der Programmiersprachen, sonst gibts noch Bascom (recht einfach gehalten) und Assembler (sehr maschinennahe, eher was für Profis). Dazu brauchst du auch noch etwas, womit du das Programm passend kompilieren und auf den Controller flashen kannst. Da müsstest du dich aber auch nochmal selber ein wenig schlau machen.

Zyrano
11.07.2014, 15:43
Ist DAS (http://www.amazon.de/SainSmart-Mega-ATmega2560-16AU-Kabel-Arduino/dp/B00G9X37AC/ref=sr_1_1?ie=UTF8&qid=1405085984&sr=8-1&keywords=mega2560) das richtige ?

Wsk8
11.07.2014, 16:23
DAS müsste das Original sein. (http://www.amazon.de/Arduino-Mega-2560-R3-Microcontroller/dp/B0046AMGW0/ref=sr_1_3?ie=UTF8&qid=1405088287&sr=8-3&keywords=mega2560)
DAS ist ein Nachbau. (http://www.amazon.de/UkTechParts-Arduino-Mega-ATMEGA-Kompatibel/dp/B00CBIM8HW/ref=sr_1_4?ie=UTF8&qid=1405088287&sr=8-4&keywords=mega2560)

Du brauchst NUR ein USB Kabel. (Beim Nachbau sogar schon dabei)

Über das USB Kabel wird der Controller programmiert, da ein Bootloader vorhanden ist.
Softwareseitig wird nur noch die kostenlose Arduino IDE benötigt. Programmiert wird in einer C-ähnlichen Sprache.

Einfaches Blink-Beispiel:


/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.

This example code is in the public domain.
*/

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led =13;

// the setup routine runs once when you press reset:
void setup(){
// initialize the digital pin as an output.
pinMode(led,OUTPUT);
}

// the loop routine runs over and over again forever:
void loop(){
digitalWrite(led,HIGH);// turn the LED on (HIGH is the voltage level)
delay(1000);// wait for a second
digitalWrite(led,LOW);// turn the LED off by making the voltage LOW
delay(1000);// wait for a second
}


mfg

Zyrano
11.07.2014, 16:35
OK das Programmieren sollte kein Problem sein, da ich vb.NET schon relativ gut beherrsche. Nur bizzi Syntax im Kopf ändern ;)

Wo ist denn der Unterschied zwischen dem hier (http://www.amazon.de/SainSmart-Mega-ATmega2560-16AU-Kabel-Arduino/dp/B00G9X37AC/ref=sr_1_1?ie=UTF8&qid=1405085984&sr=8-1&keywords=mega2560) und dem hier (http://www.amazon.de/UkTechParts-Arduino-Mega-ATMEGA-Kompatibel/dp/B00CBIM8HW/ref=sr_1_4?ie=UTF8&qid=1405088287&sr=8-4&keywords=mega2560) ?
Für mich sind das beides die gleichen oder ?

EDIT: Ja, sollte der Nachbau sein ^^

Zyrano
12.07.2014, 00:05
Ich habe mir jetzt den hier (http://www.amazon.de/SainSmart-Mega-ATmega2560-16AU-Kabel-Arduino/dp/B00G9X37AC/ref=sr_1_1?ie=UTF8&qid=1405085984&sr=8-1&keywords=mega2560) bestellt.
Welche Schrauben passen denn in die Befestigungslöcher vom Board und den Chassis ? M3 evtl ?

Rabenauge
12.07.2014, 02:52
Der Sainsmart ist ne gute Wahl- der andere-weiss ich nicht. Es gibt viele Nachbauten, einige taugen nix. Sainsmart hab ich inzwischen ne halbe Kiste voll (alles mögliche bis hin zu TFT`s), und alles läuft.
Und ja: die Schraublöcher sind für 3er Schrauben, allerdings brauchst du grade beim MEGA welche mit möglichst kleinen Köpfen-die Löcher sind vom Original-Arduino übernommen und leider genauso hirnrissig angeordnet wie da...
Chassis weiss ich nicht...

Zyrano
12.07.2014, 09:26
Super, dann hab ich jetzt bis jetzt nichts falsch gemacht.
Vielen Dank bis hierhin für die Hilfe.
Hier nochmal kurz zusammengefasst:

Mikrocontroller: SainSmart Mega2560 R3 (http://www.amazon.de/gp/product/B00G9X37AC/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1)
Chassis: Magician Chassis Sparkfun Version (http://www.exp-tech.de/Roboter/Magician-Chassis-Sparkfun.html)
Motortreiber: L298N H-Bridge (http://www.amazon.de/gp/product/B00GZJQ6EE/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1)
Ultraschallsensor: HC-SR04 (http://www.amazon.de/gp/product/B00BIZQWYE/ref=oh_aui_detailpage_o02_s02?ie=UTF8&psc=1)
+ zusätzliche Kabel, verschiedene Werkzeuge etc.

Vielen Dank bis hierhin für eure Hilfe !
Hier ist man gut aufgehoben

Rabenauge
12.07.2014, 16:02
Hm-was den Motortreiber angeht-die Beschreibung ist mal wieder auf neuChinesisch-sicher dass der ZWEI Motoren ansteuern kann?

oberallgeier
12.07.2014, 16:44
...die Beschreibung ist mal wieder auf neuChinesisch-sicher dass der ZWEI Motoren ansteuern kann?Hast Recht, wenn wir das schon kaum rausfinden, wie solls der arme TO.

Gehe mal auf diese Site (klicken), (http://www.amazon.de/dp/B00GZJQ6EE?tag=savemenotdeu-21) linke Bildchenleiste das unterste Bild. Da gibts [Output A], [Output B], [A Enable], [B Enable] und vier Logikeingänge - je zwei sind wohl für die Wahrheitstabelle(n) der beiden Ausgänge zuständig. Sieht also ganz wie eine "normale" Zwei-Brücken-H-Schaltung für ZWEI DC-Motoren oder einen Schritt motor aus. Mit viel Phantasie auch aus irgendeinem Text her abzuleiten - ach ja, hier (http://deu.deuif.es/produkt/11325.html) siehe "...Fahren Strom: 2A (MAX einzige Brücke)...".

Hoffentlich hilft das *gg*.

Rabenauge
12.07.2014, 21:02
Die beiden zweipoligen Ausgänge und die Tatsache, dass der Treiberchip das grundsätzlich drauf hat, sprechen dafür, stimmt.
Die enables nicht wirklich- in der Arduino-Ecke tobte neulich ein _ähnlicher_ (nich der, war definitiv anders) umher, der pro Motor drei Leitungen brauchte, wenn man auch die Drehzahl regeln wollte. Weiss der Kuckuck, das die Chinesen da so alles zusammenbesteln..
Meine kommen im allgemeinen mit zwei Leitungen pro Motor aus-dafür haben da die Chinesen sorgfältig sämtliche Beschriftungen von den IC`s geflext...:cool:

Geistesblitz
12.07.2014, 22:17
3 Leitungen wird aber auch im RN-Wiki beschrieben, dann kannst du Linkslauf, Rechtslauf, Leerlauf und resistives Bremsen einstellen. Ist hier (http://rn-wissen.de/wiki/index.php/Getriebemotoren_Ansteuerung) unter Treiber-ICs erläutert ;)

Klebwax
12.07.2014, 22:47
Weiss der Kuckuck, das die Chinesen da so alles zusammenbesteln..

Der Kuckuck weiß das sicher, er hat nämlich das Datenblatt des L298 gelesen.


Mikrocontroller: SainSmart Mega2560 R3
Chassis: Magician Chassis Sparkfun Version
Motortreiber: L298N H-Bridge
Ultraschallsensor: HC-SR04

MfG Klebwax