Hallo, ich muss mich mit dem Thema Microcontroller auseinander setzen. Leider habe ich keine Ahnung über diese Sachen, weder welchen ich verbauen soll weder welche Programiersprachen ich verwenden sollte bzw. kann. ich bitte einfach mal Um Hilfe. Auf dem Markt gibt es einfach zu viele Angebote von Bausteinen und Lektüren etc. Danke für die Hilfe. Johannes
Ich muss mich mit dem Thema Kraftfahrzeuge auseinander setzen. Leider hab ich keine Ahnung über diese Sachen, weder welche es da so gibt, noch welchen Motortyp ich verwenden sollte. Merkst du was? Auf deine Frage gibt es keine vernünftige Antwort. Das ist alles viel zu vage um darauf auch nur irgendwas sagen zu können. Willst du mit dem Kraftfahrzeug im Sommer nach Italien auf Urlaub fahren, dann könnte vielleicht ein Motorrad richtig sein. Vielleicht auch nicht, weil du dann der Kinder 5-köpfiger Schar nicht mitnehmen kannst. Willst du mit dem Kraftfahrzeug einen Wohnungsumzug machen, dann wird wohl ein kleiner Smart nicht das richtige sein, sondern eher ein kleiner LKW angebracht sein. etc. etc.
> ich muss mich mit dem Thema Microcontroller auseinander setzen.
Mit irgendeinem Ziel, oder einfach nur so?
Ihr macht das alles doch viel zu kompliziert :-) Nimm einen Cortex-A9 und als Programmiersprache C#. Alles klar? YMMD!
hi okay, ich verstehe. ich will erst einmal einen Einstieg. Also eher die Smart klasse. Es wäre denk einfacher für mich, wenn du mir Fragen stellst, die ich dann beantworte. Dann wisst ihr schnell, was ich brauche und ich rede nicht zu viel unnützes Zeugs. ;)
Also, wenn es ein Einstieg sein soll, dann würde ich einen Atmel nehmen. Da ist der initial Aufwand nicht sehr gross, d.h. Du kommst relativ günstig schon mal recht weit. Da Du von "verbauen" gesprochen hast, nehme ich mal an Du möchtest nichts fertiges. Programmieren in C oder Assembler. C denke ich, ist für den Anfänger sicher besser geeignet. Wenn Du noch kein C kannst, dann ist an der Stelle mit Sicherheit ein C Buch angesagt. Bei den Artikeln hier im Forum findest Du super Artikel für "Beginners". Ich musste mir nicht mal ein Buch kaufen um etwas kleines selbst zu basteln. Allerdings habe ich Elektrotechnik studiert, was es sicher einfacher machte. Hier im Forum wird Dir auch gerne geholfen wenn man nicht weiterkommt. Allerdings müssen die Fragen auch vernünftig gestellt sein. Grüsse, R.
Okay (- dieses hier nicht soooooooo ganz so ernst nehmen -): Da wir Kohle sparen wollen, geh auf den Elektronikschrott und besorg dir ein altes PC Board, dann stellen wir uns vor, dass das ein Microcontroller ist. Danach (weil wir ja keinen PC basteln wollen) besorgen wir uns ein E-PROM Simulationsgerät mit passendem Adapter für das Bios-Eprom. Das schalten wir dann an einen anderen PC an und programmieren das in Fortran (viel mir gerade so ein, man könnte auch Oberon nehmen, das kennt keiner mehr). Smile, und nun quatsch beiseite: Wenn man einfach nur mal so "spielen" will um zu sehen was mit Microcontrollern "so geht" erschlägt einen das Angebot und alle glauben es sei die beste Lösung. Weil das dann alle glauben besteht dann auch jeder da drauf, dass seine "Einstiegsvariante" die beste ist und es gibt einen regelrechten Glaubenskrieg darum. Als Ausbilder beschäftige ich mich mit den Dingen auch und damit, wie ich das am Besten vermitteln kann. Kurz gesagt: - das Beste gibt es nicht ! - Es gibt - gerade für einen Anfänger - ewig viele Fallstricke und das größte Problem (sollte man schier nicht glauben) ist es am Anfang, überhaupt einen Code "in" den Controller zu bekommen. Da gibt es dann die ISP fähigen AVR Controller (AT-Tiny und AT-Mega) die hier absolut favorisiert werden. Auf diesen aufgesetzt gibt es dann ein sogenanntes "Arduino" das aber eben einen solchen AVR Controller beherbergt. Da ist das Konzept, dass es eine Controllerschaltung gibt, die über einen sogenannten Bootloader die Codes vom PC empfängt. Arduino hat eine "C - ähnliche" Programmiersprache. Der Vorteil von Arduino ist, dass ich aus der Oberfläche heraus, mein Programm übersetzen und gleich in das Controllerboard uploaden kann um zu sehen ob das so funktioniert wie ich mir das gedacht habe. (Hierfür gibt es ewig viele Starterkits im Internet). Das ganze kann man auch "einfacher" haben: die AVR's benötigen einen ISP-Uploader, der ca. 20 Euro bei der Fa. Reichelt kostet. Diese arbeiten dann allerdings nur in Verbindung mit einem sogenannten AVR-Studio der Fa. Atmel (das ist der Controllerhersteller) bis zur Version 4 zusammen. Leider unterstützt das neuere AVR-Studio ab Version 5 keine ISP-Flasher die nicht von der Fa. Atmel sind. Die Programmiersprache des AVR-Studio's ist C und Assembler. Eine ganz andere Familie ist die MCS-51 Familie (auch da gibt es genügend Controller der Fa. Atmel). Hier wird es bisweilen noch etwas schwieriger (obwohl der Einstieg, wenn man mal ein funktionierendes "Set" hat meines Erachtens einfacher ist). In allen Fällen ist es wichtig, ein Paket in die Hand zu bekommen, das ohne großes Federlesens sofort funktioniert. Im Netz gibt es ewig viele Bastelanleitungen, die -leider- nicht funktionieren... und viele die zwar funktionieren, aber erst einmal an die eigenen Bedürfnisse angepasst werden müssen. Das beste Bsp. hierfür ist das (geniale) Programm Pony-Prog. In sich einfach super, aber für den ersten Kontakt mit einem Microcontroller dann doch etwas "kritisch" weil nicht wirklich sofort alles läuft (einfach weil sich serielle Schnittstellen immer wieder unterschiedlich verhalten). ---------------------------------------- Summa sumarum würde ich dir empfehlen, wende dich an jemanden, der dir ein System einrichten und zum laufen bringen kann, damit du dich zum Einstieg komplett auf den Controller konzentrieren kannst ohne sich große Gedanken um die Anbindung an den PC machen zu müssen. So gesehen würde ich da schon fast an einen Arduino denken (obwohl ich den persönlich nicht so zwingend mag). Prinzipiell ist es ratsam sich damit auseinander zu setzen, was ein solcher Controller im "inneren" macht, das heißt welche speziellen Eigenschaften er besitzt. Um das zu "erforschen" ist es FAST ratsam, sich mit Maschinensprache auseinander zu setzen, obwohl dieses als Unterfangen nicht so wirklich einfach ist. ---------------------------------------- Quintessenz: ich quassele viel und helfe nicht wirklich. Für deine Frage gibt es keine korrekte Antwort (aber vielleicht hast aus dem Text Anregungen gezogen).
> Es wäre denk einfacher für mich, wenn du mir Fragen stellst, die ich > dann beantworte. Consultants arbeiten nicht für lau mit einem Forum, sondern für Geld vor Ort. Die Frage ist also: Was zahlst?
Einstig in was? Zur Zeit ist da so eine Art Generationswechsel. Bei den AVRs kennt der Programmierer jedes Bit und optimiert jede Programmzeile. Meist alles in einer Assembler- oder C-Datei zusammengefasst. Die kleinen ARM Mikrocontoller werden eher wie PCs programmiert. Alles in Libraries verpackt und ohne IDE wird der Verwaltungskram viel zu aufwändig.
also ich habe wären meiner technikerschule auch angefangen mir das thema mikrocontroller näher zubringen. Die Basis muss stimmen, das heißt. du brauchst einen stabilen programmer. Ich habe mir damals von Atmel das Stk500 gekauft. und angefangen mit c zu programmieren. Ich halte das vlt nicht für das beste rezept (wie oben schon angesprochen), aber es hat funktioniert. und beispiele für c gibts viele...die auch ganz klein anfangen (z.B AVR-GCC). mit ewas geduld kommt man da schon ganz schön weit. (Als abschlussprojekt habe ich nach 1,5jahren intensivtraining im eigenstudium mit meinem Klassenkameraden eine Kleinsteuerung ähnlich der Siemens LOGO! gebaut) achso und nie nur einen Controller bestellen, fang mit was günstigem an (Atmega8oder88). Die brennen auch mal durch am Anfang ;-)
Ich habe damit angefangen: http://www.elv.de/franzis-lernpaket-mikrocontroller.html Später dann ein 'AVRISP mkII' besorgt und auch größere µCs.
Ich habe zum Einstieg diesen kostenlosen VIDEO-Kurs gemacht http://et-tutorials.de/mikrocontroller/ und mit anschließend ein Sillabs-Board gekauft und weiterexperimentiert. Mit dem Vorgehen war ich sehr zufrieden und habe einen guten Einstieg gefunden.
Ralf G. schrieb: > Ich habe damit angefangen: > http://www.elv.de/franzis-lernpaket-mikrocontroller.html Den find ich jetzt ehrlich gesagt nicht so prickelnd. Mit einem Tiny13 kommt man dann nicht sehr weit. Ich hätte auch gesagt, als Untergrenze einen der kleineren Megas. Preislich ist der Unterschied völlig irrelevant und dafür hat man dann auch schon ein paar Pins, mit denen man was machen kann. Und sei es nur ein LCD oder ein paar 7-Segment anhängen. Denn das ist meiner Meinung nach so ziemlich das Schlimmste für einen Neuling: keine vernünftige Ausgabemöglichkeit zu haben, auf der man sich auch schnell mal ein paar Werte anzeigen lassen kann. Da ist der Tiny13 mit seinen 6-Pins dann etwas zu schwach auf der Brust. 2 Taster, 4 LED und man ist am Ende mit den Pins.
> Da gibt es dann > die ISP fähigen AVR Controller (AT-Tiny und AT-Mega) die hier absolut > favorisiert werden. Die AVRs haben sich so langsam überlebt. Teuer, wenig Leistung usw... für 8 euro bekommste das stm32F1Discovery oder für 12 Euro das stm32F4Discovery. Dazu noch Coocox und fertig :-) Da brauchste auch kein teures Programmiergerät (wie bei den Atmegas).
Karl Heinz Buchegger schrieb: > Den find ich jetzt ehrlich gesagt nicht so prickelnd. Für mich war's übersichtlich und für den Anfang ausreichend ...
> Den find ich jetzt ehrlich gesagt nicht so prickelnd.
Für 50 Euro einen kleinen Tiny + Hühnerfutter und ein kleines
Platinchen. ^^
stm schrieb: >> Da gibt es dann >> die ISP fähigen AVR Controller (AT-Tiny und AT-Mega) die hier absolut >> favorisiert werden. > > Die AVRs haben sich so langsam überlebt. Würde ich so nicht sagen. > Teuer, wenig Leistung usw... dem steht gegenüber, dass ihre Komplexität in einer Höhe liegt, die auch ein Anfänger noch in absehbarer Zeit in den Griff kriegt. Und für die Projekte in den nächsten 2 Jahren haben sie allemal genug Leistung. > für 8 euro bekommste das stm32F1Discovery oder für 12 Euro das > stm32F4Discovery. Dazu noch Coocox und fertig :-) Schon. Und du erklärst ihm worauf er beim Konfigurieren alles aufpassen muss :-)
> Schon. Und du erklärst ihm worauf er beim Konfigurieren alles aufpassen > muss :-) Ich denke das schafft er schon. Da gibts ja auch Tutorials für. Wenn er nicht weiterkommt, kann er im Forum fragen :-)
Ralf G. schrieb: > Für mich war's übersichtlich und für den Anfang ausreichend ... stm schrieb: > Für 50 Euro einen kleinen Tiny + Hühnerfutter und ein kleines > Platinchen. ^^ Da hast du die Anleitung vergessen, die ziemlich viel in kurzen Programmen behandelt. Karl Heinz Buchegger schrieb: > dem steht gegenüber, dass ihre Komplexität in einer Höhe liegt, die auch > ein Anfänger noch in absehbarer Zeit in den Griff kriegt. ... und da sind wir wieder beim Tiny: Zum Üben (Timer, Interrupt, Watchdog, ...) nicht so umfangreich, dass man sich schnell auch im Datenblatt(*) zurechtfindet. Fand ich für den Lernerfolg nicht schlecht. Bin allerdings schnell auf andere µC umgestiegen. Kommt sicher drauf an, was man in welcher Zeit erreichen will|muss. (*) Tiny13 ~170 Seiten Mega88 ~550 Seiten
LOL Mit was man anfängt ist bei Hochsprachen und passenden Sockeln für die Anschlüße egal. Ob nun ein Tiny13 mit PWM auf'n Summer brummt oder 'nen ARM9 oder gar 'nen HAL9000 ist egal, brummen tun ale wenn man weiß wie es gehen soll :-P Das es genug Abzocke gibt ist bekannt und kann vermieden werden ... Die AVR Familie ist halt für Hobbyisten ideal da pfegeleicht zu beschalten und zu programmieren. Man muß halt wissen was man tun will und danach den passenden Controller auswählen.
johannes wigott schrieb: > ich muss mich mit dem Thema Microcontroller auseinander setzen. > Leider habe ich keine Ahnung über diese Sachen, weder welchen ich > verbauen soll weder welche Programiersprachen ich verwenden sollte bzw. > kann. > > ich bitte einfach mal Um Hilfe. Ich bin vor ca. vier Monaten hobbymäßig mit der Arduino-Plattform gestartet und freue mich jeden Tag neu darüber, wie einfach der Einstieg mir gefallen ist und wie toll sich die Dinge damit für mich entwickeln lassen. Meine Vorkenntnisse: Gute Programmierkenntnisse in PC-Programmiersprache Pascal/Delphi und Webprogrammierung mit Perl/CGI und PHP, Lötkenntnisse von vor vielen Jahren an wesentlich grobschlächtigeren Teilen mal, gute Englischkenntnisse. Ich habe mir alles im Internet angelesen. Der Umstieg auf das C von Arduino sollte machbar sein, wenn man eine andere Programmiersprache beherrscht. Gute Englischkenntnisse sind Voraussetzung, sonst wird man kaum was beim Lesen von Datenblättern, Anleitungen und Beispielprogrammen. Bei anderen Mikrocontrollern bekommst Du dafür meistens für 20 Euro noch nicht mal den "Programmer" zum Programmieren der Bausteine. Bei Arduino brauchst Du keinen Programmer, weil Du die Bausteine über einen USB-Anschluß programmieren kannst, und Du kannst im Prinzip mit einem Entwickler-Board für unter 20 EUR und der kostenlos heruntergeladenen Entwicklungsumgebung sofort starten und mal reinschnuppern. Mein Projekt ist die Entwicklung einer eigenen Wetterstation mit Datenübertragung ins Internet. Das dauert alles seine Zeit und man benötigt doch schon einiges weiters dafür, aber ich bin begeistert, wie modular das System doch ist und was es alles quasi "anschlußfertig" an Hardware gibt und wie reibungslos dann die Zusammenarbeit mit den fertigen Libraries funktioniert. Ich bin jedenfalls voll zufrieden mit meiner Wahl. Arduino ist jedenfalls ein System, das sich nicht nur an professionelle Mikrocontroller-Entwickler wendet, sondern auch an Fachfremde, Hobbyisten, Designer, Künstler etc. Wenn Du mal schmunzeln möchtest, was zum Beispiel ein Experimentalmusiker und eine Modedesignerin mit Arduino gebastelt haben, schau Dir mal das Video hier an: http://lara-grant.com/ruffletr0n-2/ Und "flexibel" ist die Plattform auch. Manche basteln sich ihre Board-Schaltungen sogar auf Pappe: http://lab.guilhermemartins.net/2009/05/06/paperduino-prints/
hi vielen vielen Dank für die vielen und tollen Antworten! So wie ich das nun verstanden hab, ist es wohl sinnvoll einen "aurino" zu verwenden, um erste Erfahrungen zu machen. Wenn das mit dem klappt, dann soll einer kommen, bei dem ich mich selbst um das klim bim drum rum kümmern muss. Aber nun noch eine Frage zur Sprache. wieso gibt es C, C+, c++, java, assembler etc.? Für verschiedene Anwendumgen oder für die Komppexibilität? nochmals vilenen Danknfür die tollen Antworten!!!
Karl Heinz Buchegger schrieb: > Mit einem Tiny13 kommt man dann nicht sehr weit. kommt immer drauf an! such mal nach "gulostart". Damit habe ich angefangen und sehr viel gelernt. Wenn der ATtiny13A dann nicht mehr ausreicht (hat bei mir aber lange gedauert), steckt man irgendeinen ATmega auf das Board, ist alles schon vorbereitet.
Jim Meba schrieb: > Consultants arbeiten nicht für lau mit einem Forum, sondern für Geld vor > Ort. Die Frage ist also: Was zahlst? Er zahlt - aber nicht dir.
johannes wigott schrieb: > So wie ich das nun verstanden hab, ist es wohl sinnvoll einen "aurino" > zu verwenden, um erste Erfahrungen zu machen. Mit dem Namen bist Du knapp daneben. > Wenn das mit dem klappt, dann soll einer kommen, bei dem ich mich > selbst um das klim bim drum rum kümmern muss. Mit Ausnahme der Mini-Boards haben alle der neueren Arduino-Boards einen ISP-Programmieranschluß nicht nur als Lötpunkte auf der Platine vorgesehen, sondern tatsächlich als 6-poligen ISP-Steckanschluss direkt auf der Platine vorhanden. Ich glaube, wenn Du mit der Arduino-Entwicklungsumgebung nicht zufrieden bist, kannst Du Dir auch das Atmel Studio installieren, einen passenden Programmer kaufen und am ISP-Stecker des Boards anschließen, und dann durch alle Niederungen der Entwicklung mit Mikrocontrollern gehen. Du bist also mit der Arduino-Hardware nicht automatisch auch auf die Arduino-Entwicklungsumgebung festgelegt, sondern kannst von der Programmierseite her auch "den anderen Weg" gehen und trotzdem die Arduino-Hardware verwenden. Das macht von den Anfängern bloß niemand, mich eingeschlossen. > Aber nun noch eine Frage zur Sprache. > > wieso gibt es C, C+, c++, java, assembler etc.? > > Für verschiedene Anwendumgen oder für die Komppexibilität? Assembler ist die "Maschinensprache", damit codierst Du direkt mit Maschinenbefehlen, die genau auf das zu programmierende Zielsystem abgestimmt sind. Wenn man so will die ursprüngliche Art der Programmierung. Bei Mikrocontrollern heute noch üblich, da damit sehr speicherplatzsparende Programme geschrieben werden können und Mikrocontroller ja oft nicht so viel Speicherplatz zur Verfügung haben. Ein Atmega328 zum Beispiel nur 32KB, das ist die Hälfte von dem, was vor 25 Jahren mal ein C64 Heimcomputer hatte. C und C++ sind "Hochsprachen", die erst durch einen "Compiler" in das eigentliche Maschinenprogramm übersetzt werden. Dann wird das in Maschinencode übersetzte Programm hochgeladen und auf dem Zielsystem ausgeführt. Auf diese Art vom Compiler übersetzte Programme sind meist deutlich größer als in Assembler geschriebene Programme. Da Speicher aber im Laufe der Jahre immer billiger geworden ist, ist die Programmierung in Assembler seit vielen Jahren rückläufig. Ganz früher konnten Mikrocontroller nur in Assembler programmiert werden, heute gibt es aber auch für Mikrocontroller verschiedene Möglichkeiten zur Programmierung in Hochsprachen. Java ist eine Interpretersprache: Dabei wird das Programm in einer standardisierten und vom System unabhängigen Zwischensprache geschrieben. Auf dem Zielsystem läuft dann ein Interpreterprogramm, das das geschriebene Programm dazugeladen bekommt und es Schritt für Schritt ausführt. Ähnlich wie früher beim C64 Heimcomputer, der hatte einen BASIC-Interpreter an Bord. Viel Spaß beim Reinschnuppern! Und wenn Du mit Arduino tatsächlich nicht zufrieden sein solltest, mußt Du die 20 Euro für ein UNO-kompatibles Entwicklerboard eben als Lehrgeld abschreiben. Alles andere an beschafften Bauteilen, wie LEDs und Widerstände, Sensoren und Transistoren, Displays und Kondensatoren und so weiter könntest Du ja nach einem Wechsel der Plattform genauso weiterverwenden. Aber ich schätze mal, dass ein Wechsel der Plattform von Arduino weg schon deutlich über "mal reinschnuppern" und einfache Projekte hinausgeht, bis das notwendig ist. Bei dem, was ich mir als Basteleien überlegt habe, bin ich bisher erst sehr selten an die Grenzen des Systems gestoßen. Beispielsweise habe ich mir überlegt, die Windgeschwindigkeit im Garten mit einem selbstgebauten Ultraschall-Windmesser zu erfassen. Aber dafür bräuchte ich eine exakte Zeitmessung im Nanosekundenbereich, was mit den 16 MHz Systemtakt eines Arduino nicht möglich ist. Aber ich habe momentan auch noch genügend Ideen für andere Bastelprojekte mit Arduino und habe den Ultraschall-Windmesser erstmal auf Eis gelegt, weil der damit nicht hinzubekommen ist. Anyway, noch was zu den Programmiersprachen bei Arduino: "C" ==> für die von Dir selbstgeschriebenen Programme, die bei Arduino "Sketch" heißen "C++" ==> für Libraries (die man als Anfänger erstmal fertig von fremden Programmierern übernimmt und direkt verwenden kann, verfügbar für sehr viele anschließbare Hardware wie Sensoren, Displayansteuerung, Motorsteuerung etc.)
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.