Hallo, Wir haben derzeit an unserer FH ein Projekt laufen in welchem wir einen Rasenmäher ansteuern müssen. Jetzt haben wir schon einiges in C++ programmiert und würden nun das ganze an die Microcontroller Software übergeben, nur wie??? Könnt ihr mir da helfen, würde mich auch über E-Mais freuen! Danke im Voraus, Kathrin
Ja, und wo find ich da jetzt die Antwort??? Kenn mich leider nicht so gut bei Microcontrollern aus
Was heißt "an die Microcontroller Software übergeben"? Den Controller Programmieren? Einfach Programmer anschließen, das Programm in die Programmiersoftware laden (zum Beispiel AVR Studio mit der C-Erweiterung, weiß gerade nicht wie die heißt) und dann programmieren. Beim AVRISP mkII ist die ganze Software schon dabei.
> Kenn mich leider nicht so gut bei Microcontrollern aus
Das zu ändern ist doch der Sinn dieses Projekts, oder? Da muss an halt
mal etwas tiefer in die Grundlagen hinein gehen.
wrote "Jetzt haben wir schon einiges in C++ programmiert und würden nun das ganze an die Microcontroller Software übergeben, nur wie???" Was soll das nun heißen ? Ist hier ein PC (C++) Programm gemeint, welches mit dem µC kommunizieren soll ? Oder ein Download in den µC ? Oder einfach nur C++ Code (ohne Rücksicht auf µC Eigenschaften!) der auf dem PC läuft und nun auf dem µC laufen soll ? Ziemlich unpräzise die Angabe ... mäht doch lieber Hand oder nehmt doch Schafe (... sind auch niedlicher :-) )
>würde mich auch über E-Mais freuen hmm...Gen-Mais kenne ich, aber E-Mais? Aber da du dich freust, ist es sicherlich was gutes :-) Also mal als Schuss ins blaue: Habt ihr für euer Projekt schon sowas wie ein Konzept? Einen Projektplan o.ä.? Welchen Mikrocontroller verwendet ihr? Das sollte man wissen bevor man überhaupt was macht. Weiterhin ist man dadurch festgelegt, wie man den Code in den Controller bekommt (Seriell-Bootloader, Parallel, JTAG,...). Danach müsstet ihr euch einen Compiler suchen (C oder C++) je nach verwendetem Controller. Und nein, C/C++ ist nicht C/C++ ist nicht C/C++. Es gibt wohl einige Sachen, die lt. Standard nciht 100% definiert sind. Bestes Beispiel sind wohl die Interrupts (bei jedem Compiler irgendwie anders). Und überhaupt, ihr müsst doch schon sowas wie Formeln, Algorithmen u.ä. bedacht haben? Davon hängt doch ab, welche Controller ihr verwendet (8-Bit, 16-Bit, 32-Bit,...)???? Frohes Schaffen.
>Jetzt haben wir schon einiges in C++ programmiert und würden nun das >ganze an die Microcontroller Software übergeben, nur wie??? Daras folgere ich dass der Zielprozessor schon kein 8 Bitter mehr ist. Da offensichtlich keine Peripherie involviert ist, denke ich ein embedded PC, zB ein VIA EPIA wird etwa die passende Klasse sein. Das Glueck ist hold, dass der benoetigte Code sogar PC kompatibel ist, dh man braucht keine Kohle fuer ueberteuerte Tools rausblasen.
<Ironie> Hm, Kathrin würde sich über E-Mails (hab ich kombiniert) freuen. Und wo soll man die hinschicken? Wahrscheinlich hat sie sich gedacht, dass eh keiner schreibt und deshalb nix angegeben ;-) </Ironie>
Also ich freue mich ja nicht über E-Mails, die von Stellen kommen, denen ich die Adresse nie gegeben hab... Zur Frage: Die Antworten schießen hier ziemlich ins Blaue (von AVR bis zum Embedded-PC ist alles dabei), weil die Frage viel zu vage ist. Solange nicht geklärt ist, was "das ganze an die Microcontroller Software übergeben" überhaupt bedeuten soll, kann man sowieso keine sinnvolle Antwort geben. Was ist "das ganze"? Was ist gemeint mit "übergeben"? Und an was für Mikrocontroller-Software soll es übergeben werden? An welchen Controller?
hey bleibt nett, da sucht jemand Hilfe. @kathrin du musst erstmal in Erfahrung bringen was genau der µC ist. Also ob das ein PC da drin ist, ein ARM ,ein AVR oder sonst was. Wenn ihr es euch aussuchen könnt, musst du erstmal abschätzen welche Leistung-klasse nötig werden könnte. Das ist meist ein Problem, weil man für so ein Projekt ja nie die komplette Dimension überblicken kann. eventuell soll ja irgendwann eine Bilderkennung mit Papiererkennungen rein, nicht das man ausersehen den hamster vom Nachbar mäht :) also zusammenfassen was soll er machen, dann schauen was soll er möglicherweise machen können sollte und dann nicht zu unterschätzen was kann ich alles lernen (ist ja schließlich ein Lehrprojekt). deine email-adresse hast du nicht mit zugeschrieben. versuch mir ein Mail zu schreiben. x l o m x at w e b . d e
> Wir haben derzeit an unserer FH ein Projekt laufen in welchem wir > einen Rasenmäher ansteuern müssen. > > Jetzt haben wir schon einiges in C++ programmiert Typisches Hochschulprojekt. Erstmal was machen, dann mal schauen, ob es überhaupt Sinn macht. Neulich erzählte mir ein Student einer FH (6. Semester), er könne sich gar nicht vorstellen, dass man Mikrocontroller in C oder Assembler programmiert. In den Praktika haben die armen Studenten immer nur irgendwelche Funktionsblöcke zusammen geklickt... Arme Studenten, armes Deutschland.
>den Praktika haben die armen Studenten immer nur irgendwelche Funktionsblöcke
zusammen geklic...
Natürlcih, war bei uns auch so, die gibts ja fertig in (vorgefertigten)
Bibliotheken:
Funktionsbaustein UART, so angekabelt, fertig geht ;-))
ein (noch) FH Student
> Bibliotheken: Funktionsbaustein UART, so angekabelt, fertig geht
...die züchten ja richtige Bascommer ;-)
<über-seine-Uni-freu> (MSP-430 mit ASM und C)
Also mein Beispiel war jetzt nicht auf µC Programmierung bezogen (da war es wirklich ASM, aber eben nicht Atmel)
Mein Beitrag war auch nicht so ernst gemeint - Koexistenz find ich gut :-)
Also bei euren Antworten war ja schon einiges hilfreiches dabei (Abgesehen von den ganzen "witzigen" Sachen wegen der Tippfehler). Unser Projekt ist in 2 Gruppen aufgespalten. Die eine Gruppe musste ein Programm in C++ programmieren in dem der Rasenmäher die Koordinaten des zu mähenden Feldes ausrechnet. Die 2. Gruppe (in der auch ich bin) soll jetzt den Motor und die Lenkung ansteuern. Dazu müssen die C++ Werte der 1. Gruppe an die Assembler Software des MC übergeben werden. Wir haben einen PIC und ein EVALBoard. Um den Motor anzusteuern haben wir auch schon einiges programmiert, jetzt würde uns nur noch das Einspielen der Parameter fehlen.
Du solltest vielleicht GENAUER beschreiben, welche/wieviele Parameter das sind, über welche Schnittstelle(n) das geschehen soll (RS232, USB, Funk) , jeweils nur einmalig oder fortlaufend, ob die Parameter am PC gespeichert sind oder bleiben oder ob sie am PIC gespeichert werden sollen/müssen etc. Viele Möglichkeiten.
Also wenn die Werte zuerst auf einem PC bverechnet werden und sich nicht mehr verändern, dann kann man sie in die HEX-Datei einbinden, sodass sie beim Hochladen des uC-Programms in den EEPROM geschreiben werden. Wenn der uC aber ständig auf aktuelle Werte des C++-Programms angewiesen ist, muss man irgendwie den PC mit dem uC verbinden. Da würde sich die serielle Schnittstelle anbieten.
Bei den Werten handelt es sich um die Positionsdaten und Koordinationsdaten. Also in welche Richtung und wie weit das FZ fahren soll. Es soll also ständig upgedatet werden.
Das ist das was du suchst. http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART beim Pic ists nicht viel anders.
Lies das mal: http://www.sprut.de/electronic/interfaces/rs232/rs232.htm http://www.sprut.de/electronic/pic/grund/rs232.htm
Ja: für so ein Projekt scheint die RS232 recht gut geeignet. Das gute ist, dass es Bluetooth-Adapter (oder WLAN) gibt, mit denen man das ganze dann auch ohne langes Kabel machen kann. Vorgehen: 1. Einarbeiten in das RS232 Protokoll (trivial) 2. Diskussion mit Gruppe 1, wie sie die Daten übergeben wollen (wie oft, welchen Umfang,...) 3. Festlegen des Übertragungsprotokolls/SChnittstellen 4. Implementieren des Protokolls in C++ und auf dem PIC 5. hoffen dass es funktioniert. Das sind aber alles Sachen, die eigentlich nicht so schwierig sein sollten. Naja, C++ und RS232 kann ich überhaupt nich einschätzen...
>en in das RS232 Protokoll (trivial)
Seit wann hat/ist RS232 ein Protokoll??
Dachte immer, dass wäre nur ein Übertragungsstandart (OSI-Schicht1 und
tiefer)
Ja, da hast du Recht. Ich meinte die RS232 als Kommunikationssystem im weitesten Sinne... Sollte nur eine Anregung sein.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.