PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Grundlagen?



marc_s
11.09.2005, 19:31
Hallo zusammen.

Ich bin denk ich schon nen bisschen neu in der Roboter branche.
Mal so nen kleinen überblick über mich damit ihr mit vllt ein bisschen besser helfen könnt und nicht Sachen erklärt wo ich eventuel schon weiß:- )
Ich bin 17 Jahre und hab schon so mit ca. 12 mein ersten "roboter" gebaut. Sofern man das roboter nennen kann. Er konnte fahren und lenken. Er hatte ein Arm der im grundriss einem menschlichem Arm änlich sieht. Konnte zumindest gläser und dieverse andere Sachen hochheben und weg transportieren. Und hab die Steuerung mit einer Komplet selbstgebauten Bedienung gebaut^^.
Mit wäscheklammern hab ich die kontakte überbrügt und somit die einzelnen Motoren angesteuert. Hab schon mindestens 20 "Seifenkisten" mit Elektro und mit Verbrenner motoren gebaut, das ich aber mit 15 abgebrochen habe da es peinlich war mit denen rumzufahren. Das hat mich begeistert und ich habe immer weiter gebastelt bis ich mit 13 zum programmieren gekommen bin.
Pascal. Nun mach ich eine Ausbildung zum Fachinformatiker / anwendungsentwicklung. Mit dem Realabschluss. Programmiere nun mit vielen Programmier sprachen.
Nunja, ich hab viel mit dem absoluten grundsätzen gemacht(Ohmsches gesetz, motoren)bis jetzt..

Nun jetzt wisst ihr ungefair, was ich schon so alles gemacht habe um mir vllt besser helfen zu können.

Jetzt zu meiner hauptfrage.

Ich möchte gerne Sensoren ansprechen. Und irgendwie auf diese Ergebnisse die diese, denk ich mal, zurück geben, zu "antworten" mit zb. einer lenkung nach links oder sowas.
Nur ist mir ein Rätsel wie ich das machen soll. Ich habe schon das tutorial durchgemacht das hier angeboten wird.
Aber die Schnittstelle zwischen Motor und Sensoren bleibt mir auch ein Rätsel.
Wir bekomm ich hin das ich ein Sensor ansprechen kann und die ergebnisse die er zurückgibt zu bearbeiten? Ich habe damit überhaupt keine erfahrung und möchte dies unbedingt erlernen. Ein Anfänger-Tutorials mit beispielen wär natürlich auch super. Ich weiß nochnichtmal wie man diese schnittstellen bezeichnet. Habe auch erfahrung mit dieversen bauteilen wir Transistoren, Kondensatoren ic's wiederstände und was es alles gibt. Da ich schon viel blink anlagen und so sachen gebaut habe.

Habe nun für meine Ersten beitrag hier viel geschrieben ;-)
Aber ich hoffe es hilft euch mir zu helfen.

Wäre nett wenn jemand die Zeit für mich nimmt und mir dieses Rätsel erklärt. Oder auch einfach ein paar Links für Tutorials gibt.

Gruss Marc

Xtreme
11.09.2005, 20:35
Also erstmal solltest du angeben mit welchem µC du arbeitest (überhaupt µc)
Außerdem solltest du nicht ein Gewirr aus Fragen in einem Thread posten. Lieber mehrere und dafür in der richtigen Kathegorie. Außerdem möchte ich wissen was das unter Algorythmen und KI zu suchen hat. Beschreibe dein Problem konkreter!

MfG Xtreme

marc_s
11.09.2005, 21:12
hi,

ich wusst ja selber net genau wo ich das reinpacken sollte. Meinte das das am besten unter programmieren passt^^.

Was ist "µC"???
ich möchte lernen wir ich sensoren anspreche usw. und darauf halt eine "antwort" geben..

marc_s
11.09.2005, 21:14
Wäre nett wenn der Moderator oder Admin den Post verschiebt, wo es rein passt. Weil ich weiß selber net genau wo ich das hinpacken soll.

Klaus_0168
12.09.2005, 07:53
Hi marc_s,

uC ist die Abkürzung von Mikrocontroller.

Die Verbindung zwischen Sensoren und Aktoren (Motoren) ist das Programm / die Software. Wenn der uC über digitale und/oder analoge Eingänge verfügt können Sensorenwerte eingelesen werden. Es ist dann möglich diese Sensorenwerte zu verrechnen und mit dem Rechenergebniss einen Controllerausgang ansteuern.

Hier im Forum werden u.a. die Atmelprozessoren und BasCom AVR verwendet. Vom BasCom ist eine Basicversion für AVR's. Eine Demoversion gibt es bei MCS ( http://www.mcselec.com/download.htm ) zum Download. Die Vollversion kostet 85 - 96€.

Abgesehen davon gibt es auch C, Pascal und Assembler für die AVR's

Grüße Klaus

marc_s
12.09.2005, 10:27
Hi,

danke für deine antwort.

Wie ich dich Verstanden habe, ist der Microcontroller sozusagen die Schnittstelle. oder?

Wenn ich jetzt zb. ein Motor und ein Wärme-Sensor(fall man das so bezeichnet) habe. Wie kann ich jetzt mit einem uC die Werte abfragen?
also ich denke mal das sich der wiederstand mit der Temperatur ändert(vom sensor).Ähm...

Dazu müsst ich doch ein programm schreiben,oder?
Das dan sozusagen abfragen macht. wie zb das da:

If Temperatur <= 50°
{Motorlaufen_lassen}.

Oder sowas? Ich meinte das jetzt nur im Prinzip. Stimmt das so? Oder ist der aufbau total falsch?
Und wenn ich das Programm geschrieben habe. Wie bekomm ich es auf de uC? Und wie schliess ich den an?

Gruss Marc

Xtreme
12.09.2005, 11:42
Das ist a von µC zu µC verschieden. Aber grudsätzlich ist es so, das man am µC Digitale und Analoge eingänge hat. Je nach dem welchen Sensor man verwendet muss er entsprechend angeschlossen werden. Es gibt Sensoren die geben eine Analoge Spannung aus (z.B. einige Sharps) und es gibt welche die geben ein getriggertes digitales Signal aus (z.B. US) Temperatursensoren gibt es auch verschidene. Entweder man verwendet einfach einen NTC Widerstand (analog) oder dann gibt es noch verschiedene SMD Chips, die man über I2C o.ä. abfregen kann.

Der Programmablauf sieht meistens so in der art aus:

{Initaliesierungsbefehle Eingänge/Ausgänge setzen usw.}
{dann eine Schleife}
do
{Sensoren abfragen usw. }
wenn wert = irgendwas dann gehe zu forwärts
loop

{Unterroutinen}
routine Forwärts
Linker motor ein
Rechter motor ein
end

Das kommt allerdings sehr auf die einzelne Situation an

MfG xtreme

marc_s
12.09.2005, 11:45
ok, danke.

Nehmen wir einmal an ich habe ein Motor ein Temp.-Sensor und ein uC.

Was muss ich jetzt genau tun?
Muss das erst verkabeln, ne. Und dann vllt ein Programm schreiben?
Und wenn ja wie bekomm ich das dannn auf de uC drauf?
Geht das so einfach überhaupt?

Gruss Marc

Xtreme
13.09.2005, 15:13
Also erstmal brauchst du eine vernünftige Grundschaltung (findet man zb. für einen Atmel 16/32 im Wiki).
Da dran ist dann ein ISP Port (In System Programming Port wenn ich mich nicht irre). Da drann kommt ein ISP Adapter zur Programmierung und der kommt an den Druckerport. Jetzt kannst du das Programm mir Bascom (basic) oder Ponyprog(C) auf den µC beamen. Bei PIC µC's kenn ich mich nicht so aus, aber ich glaub da brauchst du einen Programmer, weil diese nicht über ISP verfügen (bitte berichtigen). Diese Programmer gibts für Atmels auch, aber um die Grundschaltung kommst du eh nicht rum, da diese Versorgungsspannung usw. bereitstellt.

MfG Xtreme

Xtreme
13.09.2005, 15:15
Achja, du kannst dir auch ein Experimentierboard kaufen. Für Atmels gibts die bei www.atmel.de

Carbolo
13.09.2005, 15:39
Marc, es ist vielleicht kein schlechter Anfang, auf etwas schon fertig aufgebautes zurückzugreifen. Hier im Forum ist ein Board (RN-Control 1.4 Mega32 )
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=64&products_id=10
entwickelt worden, das alle benötigten Teile enthält, was man für den Anfang braucht. Zusätzlich benötigst du noch ein ISP-Programmierkabel (ISP Dongle), z.B. diesen hier :

http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=41

Wenn das ganze etwas zu teuer ist, so hilft es am Anfang ungemein, die Dokumentation zu der Board genau durchzulesen, und nur die Teile zu bestücken, die man braucht (die Platine gibt es auch einzeln, wenn man z.B. den Motorentreiber nicht benötigt, o.ä.). Wenn du das Board (oder die Platine) bestellst, dann bekommst du dazu auch ein CD mit Software zum programmieren etc. Das software kann man aber auch kostenlos ziehen, du müsstest etwas im Netz suchen (Bascom (Basic) gibt es als probierversion, win-acc (C/C++) kostenlos, Assembler bei Atmel).
So ein Board ist aber für eigene Experimente sehr zu empfehlen, denn dann hat man zumindest die Hardwareprobleme erstmal vom Hals :-), und als ungeübter ist AVR´s zu proggen auch nicht unbedingt einfach, wenn man vorher nicht mit Registern gearbeitet hat.
Für den Anfang wäre Bascom (Basic) als IDE zu empfehlen, weil du damit kaum hardwarenah programmieren musst. Wenn Du aber maximale Flexibilität willst, da lohnt es sich schon C oder Assembler zu lernen, auch wenn es am Anfang ungleich schwieriger ist :-)
Ansonsten hilft es auch sehr, ein bisschen auf den folgenden Seiten zu stöbern:

https://www.roboternetz.de/phpBB2/artikeluebersicht.php

http://www.mikrocontroller.net/articles/Hauptseite

Schöne Grüße:
Z

Xtreme
13.09.2005, 18:26
Oh, hab grad sch*** verzapft, wollt dich eigentlich da http://www.myavr.de/shop/katliste.php hin schicken...

MfG Xtreme

Xtreme
13.09.2005, 18:43
Das myAVR Board sieht doch gut aus.. nich zu viel schnickschnack!
Das mit dem selber löten is als Anfänger halt immer so ne sache, also fertig Board... Oder hast du schon mal gelötet?? Aber dir gehts ja anscheinend hauptsächlich ums proggen... hast du schon mal am PC geproggt??? Oder bist du völlig neu in der Materie??

Hmm, was es da alles gibt!! Muss ich gleich selber mal schauen =)

marc_s
14.09.2005, 08:39
Also Löten mach ich schon seit meine Kindheit.. Auch in dern schule und auf der Arbeit.
Mit 15 hab ich angefangen mit proggen. Pascal - delphi - java - javascript -php. Im geschäft progg ich hauptsächlich delphi, html, und javascript und Omnis.
Also bin schon drin in der Elektronik welt. Da ich auch auf einer Gewerbeschule war mit schwerpunkt Elektronik.
Denk schon, das ich die grundlagen behersche.(Hab ja im ersten Post geschrieben was ich alles schon os gemacht habe^^)
Hab auch erfahrung mit Ohmschen gesetz, transistoren, kondesatoren ic's usw.

Gruss Marc

Carbolo
14.09.2005, 15:05
"Pascal - delphi - java - javascript -php-HTML"

Ich möchte dich nicht erschrecken, aber C/C++ bzw. Assembler unterscheiden sich doch sehr stark von den Sprachen, die du bisher kennengelernt hast. Es geht weniger um optische Darstellung, als um Register, bzw. um speicherplatzsparendes und hardwarenahes Proggen (Zeiger, Arrays etc.)
Vielleicht wäre es nicht verkehrt, mit Bascom (Basic) anzufangen :-)
Dann hättest du auf jeden Fall schon mal einen recht grossen Brocken weniger zu bewältigen.
Ansonsten einfach mal als Tipp: nicht lange überlegen, einfach mal anfangen. Die echten Probleme kommen ja erst dann .

Schöne Grüße:
Z

michaelb
14.09.2005, 18:27
Hi Marc_s,
also wenn du Java beherrscht dann lernst du C sehr schnell!
Gruß Michi