Hallo, ich bin absoluter und totaler Anfänger in sachen Mikrocontroller. Ich bräuchte jemanden der mir sagen kann, was ich brauche :-) Folgende Gegebenheiten: ca 25 Schalter ca 20 Motoren, die über 12V-Relais angesteuert, rauf bzw. runter gefahren werden. Je nachdem welche Schalter ich umlege sollen sich bestimmte Motoren in die eine oder eben in die andere Richtung drehen. Wenn das dann möglich ist würde ich das ganze auch gerne von der Uhrzeit abhängig machen. Also: -Motor 1: 20:00 Uhr runter -Motor 2: 20:02 Uhr rauf -uzw. Und noch viel später wenn ich dann wirklich verstanden habe was ich da tue würde ich das ganze auch noch gerne über einen PC steuern können. Was brauche ich um so etwas machen zu können?? Geht so etwas überhaupt??? Was muss ich lesen?? Was muss ich kaufen?? Welchen Mikrocontroller brauche ich?? Womit muss ich mich beschäftigen?? Könnte ich mir das schon einmal kaufen: -STK500 Starter Kit Also wie man sieht, an der Motivation soll es nicht liegen. :-)
Alex Mohr wrote: > Hallo, > ich bin absoluter und totaler Anfänger in sachen Mikrocontroller. > Ich bräuchte jemanden der mir sagen kann, was ich brauche :-) Hallo Alex, hier mal als Vorwort zu Deinem Vorhaben. Ist ist gut, daß Du Antrieb hast, so ein Projekt anzugehen (mit Motivation). Nur Fakt ist, daß dieses Forum Fragen beantworten kann, jedoch keinen Rundumkurs ums Programmieren und Hardwarekonstruktion geben kann. Dazu ist die Materie zu komplex und vielfältig. 99% davon wirst du Dir, sofern niemand direkt zur Seite steht, selber erarbeiten müßen. Und das heißt Fleiß, Ausdauer, probieren probieren probieren. Niemandem geht das anders, das meiste autodidaktisch. Zu sagen, waß Du brauchst, wäre an der falschen Stelle angesetzt. Du solltest dich zuerst mit den Grundlegenden Dingen beschäftigen und feststellen ob Dir das liegt. Ich will Dich absolut nicht davon abhalten aber ohne jegliche Kenntnisse führt das zu viel Frustration. > Und noch viel später wenn ich dann wirklich verstanden habe was ich da > tue würde ich das ganze auch noch gerne über einen PC steuern können. > Das heißt auch noch einarbeitung in PC Programmierung. > Was brauche ich um so etwas machen zu können?? > Geht so etwas überhaupt??? > > Was muss ich lesen?? > Was muss ich kaufen?? > Welchen Mikrocontroller brauche ich?? > Womit muss ich mich beschäftigen?? > Könnte ich mir das schon einmal kaufen: > -STK500 Starter Kit Wenn Du Dir dieses Starterkit kaufen möchtest, dann tue das. Lies dich rein und komme dann mit gezielten Fragen für Lösungsvorschläge in Forum. Versuche zuerst mit so einem Board ein paar Tasten einzulesen und LEDs zu schalten. wenn das geht, dann denke über das Projekt nach, dann bekommst du auch den nötigen Motivationsschub. Lass es wachsen. > > Also wie man sieht, an der Motivation soll es nicht liegen. :-) Wie geschrieben, das ist prima aber versuche nicht mehrere Stufen in der Entwicklung zu überspringen. Übrigens, (ist meine persönliche Meinung) ist der 8051 µC Kern bestens für Einsteiger geeignet. Weit verbreitet und es gibt jede Menge kostenlose Tools. Gruß Dirk
Hi, also ich arbeite auch noch nicht so extrem lange mit uC. So ca. 1-1,5 Jahre. Also ich denke mal ein ATMega Irgendwas sollte da reichen. Zu der Zeit. Also ich denke das es einfacher ist eine steuerung über den PC als erstes zu realisieren. Das könnte man rellativ einfach für RS232 und ein Terminal machen. Zeit wird da bestimmt schon schwieriger. Aber damit habe ich mich so noch nicht richtig beschäftigt...weil ich es noch nicht gebraucht habe. zu dem starter kit. also ich finde es immer besser wenn man sich selber ein einfaches uC board aufbaut. da lernt man viel mehr als ein fertiges zu kaufen und man weiss wie das board funktioniert. bei den starter-kits muss man sich erstma die docu durchlesen. und programmieren musst du deinen uC ja auch...also da gibts ja ASM, C und BASCOM. ich selber bervorzuge C. ASM kann ich zwar auch so ein bisschen aber C ist mir da lieber weil ich vorher schon 3 Jahre lang in C++ software geschrieben habe. BASCOM benutzte ich nur wenn ich mal schnell was testen möchte...weil das ist eigendlich auch rellativ simple gestrickt. und für leute die vorher noch nie programmiert haben bestimmt die beste lösung denk ich... gruß ich ;-)
Ohje. also an der Motivation wird's wahrscheinlich nicht scheitern. Aber ohne Grundkenntnisse in Assembler und C (...) Du wills wohl unbedingt ohne Schwimmweste und Boot in den reissenden Fluss springen. Ich würde erstmal erste Gehversuche machen. LED blinker, ein Taste abfragen, Taste entprellen. Das geht mit nem STK 500. Einen Debugger JTAG ICE MK-II oder einen AVR-Dragon (billiger, aber Codegrössengrenze <glaub max. 32k!). Wenn Du per Assembler und C die Gehversuche gemacht hast und auch verstanden hast wie das Ganze funktioniert (inkl. Debugger), dann kannst Du mal was anderes Probieren. Ein Einfaches Bücherlesen wird wohl nicht ganz reichen. Ich kann auch in dem Fall keine grossen Buchtips geben, da ich mit der Materie über Vorleungen an der Hochschule in Berührung gekommen bin. Und das ist einiges an Zeit gewesen und auch nur Grundlagen. Zu Assembler gibt es glaub passende Bücher. Mit ein bischen Glück gibt es dazu irgendein "schönes" Buch. Wenn Du mal verstanden hast, wie so ein Controller funktioniert (Hardwarebene / Assembler) dann kannst Du dich an die C Programmierung wagen. C und Assembler lernen kann man auch parallel. Wobei ich C direkt am PC lernen würde (Kommandozeilenprogramme). Das ganze auf einen Controller umzusetzen ist dann nicht wirklich schwer (siehe AVR GCC Tutorial). Was Du auch wissen solltest ist, wie die Controllerperipherie funktioniert. Das ist auch nicht unbedingt einfach. (Sachen wie Timer, SPI, I²C, UART, ...) Allerdings sind solche Projekt, wie Du beschrieben hast auch für Profis nicht von Heute auf Morgen zu schaffen. (Profi = Programmiererfahrung und Hardwarekenntnisse). Ein Profi benötigt von der Planung bis zum Fertiger Gerät ca. 1 Woche Hardwareplanung und nochmal soviel für eine vernünftige Software. Ein Anfänger wie Du würde dafür ca. 1/2 Jahr bis 1 Jahr brauchen, ohne Garantie dass alles am Ende einwandfrei funktioniert. Aus welcher Ecke vom Land kommst Du eigentlich und wie kommst Du grad auf dieses Thema?
nun denn, aller Anfang ist schwer. Bevor Du gleich mit uCs und Starterkits das Budget belastest, fang doch mal am Anfang an und zerlege Dein großes Projekt in Teilprojekte 1. einen Motor mit Relais und 2 Tastern rechts und links rum laufen lassen 2. zwei Motoren mit Relais und 4 Tastern (oder 2en) rechts und links rum laufen lassen. 3. Schaltung 2 durch einen 5. Taster (3. Taster) ergänzen und rückwirkungsfrei einen Motor damit ansteuern ( Simulation der Schaltuhr) 4. vieleicht die Motoren elektronisch ansteuern um die Relais und das geklapper auszuschalten... 5. Die Relais mit Transistoren ansteuern... . . . 40. Einen uC kaufen, 3 LEDs anlöten und ein Programm schreiben um eine LED einzuschalten . . . . 100 Schaltung 5 mit uC verbinden...
>Das heißt auch noch einarbeitung in PC Programmierung Im Grunde kein Problem... Also VB und C++ kann ich. Und das was ich an auszügen auf der Seite hier gesehen habe kann ich zumindest mal mehr und mal weniger nachvollziehen. >jedoch keinen Rundumkurs ums Programmieren und Hardwarekonstruktion geben kann. Will ich auch garnicht. Ich will mir nur nicht jede menge unnützen Kram kaufen, den ich später nicht brauchen kann. Ich würde halt gerne wissen was ich midestens brauche um meine Vorraussetzungen erfüllen zu können und dann bastel ich so lange daran rum bis es funtioniert. Dieser STK500 z.B. hat sich für mich gut angehört, weil eben Knöpfe und Dioden dran sind mit denen ich ja schon einmal sehen kann, dass etwas passiert. Könnte ja aber auch sein, dass das Ding total überflüssig für mich ist :-) Und ich müsste natürlich auf wissen, welchen Controller ich benutzen kann um da fast 25 Schalter anschließen zu können. >Du wills wohl unbedingt ohne Schwimmweste und Boot in den reissenden Fluss springen. So in der art :-) >Ein Anfänger wie Du würde dafür ca. 1/2 Jahr bis 1 Jahr brauchen, ohne Garantie dass alles am Ende einwandfrei funktioniert. Damit kann ich leben. >Aus welcher Ecke vom Land kommst Du eigentlich und wie kommst Du grad auf dieses Thema? Aus Köln. Ich komme auf dieses Thema, weil ich mir schon seit Monaten den Kopf darüber zerbreche wie ich dieses Problem mit den Motoren löse :-) Ich habe es schon mit etlichen Schaltungen versucht aber am ende ist nichts brauchbares rausgekommen. Ich habe mir gedacht, dass ich etwas intelligenteres brauche wie Relais,Transistoren & Widerstände :-) @tex: Punkt 1-5 habe ich bereits hinter mir :-) Punkt 40 will ich ja gerne machen.. Im Grunde wollte ich ja auch nur wissen, wie ich anfangen kann... mit der Aussage, "Bring erst mal 'ne Diode mit 'nem Taster einem uC zum leuchten", kann ich schon sehr gut leben. Ich wüsste halt nur gerne was ich brauche um mein "Großes"-Vorhaben zu realisieren auch wenn ich klein anfange. z.B. würde ich mir heute ungern ein Programmiergerät kaufen was dann später wenn ich mein o.g. Projekt realisieren will nicht brauchbar ist.
Alex Mohr wrote: > Ich wüsste halt nur gerne was ich brauche um mein "Großes"-Vorhaben zu > realisieren auch wenn ich klein anfange. Das klingt dich alles schon sehr vernünftig, was du da von dir gibst. Mit einem STK500 ist mit Sicherheit nichts verbaut und als 'hinausgeschmissenes Geld' würde ich das auch nicht betrachten. > z.B. würde ich mir heute ungern ein Programmiergerät kaufen was dann > später wenn ich mein o.g. Projekt realisieren will nicht brauchbar ist. Ich denke du wirst für dein endgültiges Projekt wahrscheinlich kein STK500 einsetzen wollen sondern dafür eine spezielle Schaltung bauen (ist nicht weiter schwer), die, und das ist das entscheidende, logisch gesehen der Schaltung auf dem STK500 gleicht, nur kleiner ist. (Übrigens: Deine 50 Motoren sind kein Problem. Dazu benutzt man zb ein Schieberegister als Porterweiterung. Bist du allerdings soweit bist, wird noch etwas Wasser den Rhein hinunterfliessen. Vorher gehts sowieso mit dem Grundlagen los: Led ein/ausschalten, Taster abfragen, 1 Motor links/rechts ....)
@Alex Mohr >Also VB und C++ kann ich. Und das was ich an auszügen auf der Seite hier Schonmal gut. >Will ich auch garnicht. Ich will mir nur nicht jede menge unnützen Kram >kaufen, den ich später nicht brauchen kann. Ich würde halt gerne wissen >was ich midestens brauche um meine Vorraussetzungen erfüllen zu können >und dann bastel ich so lange daran rum bis es funtioniert. http://www.mikrocontroller.net/articles/AVR-Tutorial >Dieser STK500 z.B. hat sich für mich gut angehört, weil eben Knöpfe und >Dioden dran sind mit denen ich ja schon einmal sehen kann, dass etwas Ist es auch. Damit liegts du gut. Spart dir am Anfang möglicherweise nerviges Suchen nach Lötfehlern etc. >Und ich müsste natürlich auf wissen, welchen Controller ich benutzen >kann um da fast 25 Schalter anschließen zu können. So ziemlich jeden, denn die Schalter wirst du sinnvollerweise per Matrix oder Schieberegister einlesen. http://www.mikrocontroller.net/articles/Porterweiterung_mit_SPI http://www.mikrocontroller.net/forum/4?filter=*matrix* >den Kopf darüber zerbreche wie ich dieses Problem mit den Motoren löse >:-) Ich habe es schon mit etlichen Schaltungen versucht aber am ende ist >nichts brauchbares rausgekommen. Ich habe mir gedacht, dass ich etwas >intelligenteres brauche wie Relais,Transistoren & Widerstände :-) Oder H-Brücken wie L297 oder L298. >Ich wüsste halt nur gerne was ich brauche um mein "Großes"-Vorhaben zu >realisieren auch wenn ich klein anfange. Nen Controller, MEGA8 kommt gut. Ne Lochrasterplatine, ein einfaches Programmierkabel, Motortreiber, Quarz, MAX232. Netzteil nicht zu vergessen. MfG Falk
>Schieberegister Da war doch mal was... Das hatte ich doch mal in der Berufsschule... In welche Vorlesug muss ich mich einschleichen um das noch mal alles vorgebetet zu bekommen? Also meine Bestellung bei Reichelt.de würde dann so aussehen: 1x AVR STK 500 (Netzteil habe ich) 1x ATMEGA 8515-16 D -> ATMega AVR-RISC-Controller, DIL-40 <- ist das ein MEGA8 ??? Damit könnte ich dann also erst einmal Spielen, oder ? Platinen & Kabel habe ich noch ohne ende. Und den anderen Kram, also Motortreiber, Quarz, MAX232 etc. hole ich mir dann, wenn ich die Dioden wie wild zum Leuchten gebracht habe. Oder ??
> In welche Vorlesug muss ich mich einschleichen um das noch mal alles > vorgebetet zu bekommen? Das hängt davon ab, was an der Uni Deines Vertrauens so angeboten wird. > 1x ATMEGA 8515-16 D -> ATMega AVR-RISC-Controller, DIL-40 Ein ATMega16 ist afaik beim STK500 mit dabei. Und den würde ich auch in Hinblick auf spätere Projekte dem 8515 vorziehen. 40-Pin-DIP sind sie beide, nur hat der Mega16 etwas mehr an Peripherie zu bieten (und nicht zuletzt doppelt soviel Programmspeicher). Wenn Du nicht externen Datenspeicher anschließen willst, ist der Mega16 sicher die bessere Wahl. Darüberhinaus gibts von dem auch ne pin- und funktionskompatible 32KB-Version (ATMega32).
>Das hängt davon ab, was an der Uni Deines Vertrauens so angeboten wird. E-Technik in Abendform an der FH. Bin sogar eingeschrieben... aber erst im 2. Semester :-( Vielleicht kann ich mich ja in ein höheres Semester schleichen :-) >Ein ATMega16 ist afaik beim STK500 mit dabei Stimmt... also nur das Starter Kit... Danke In 3 Tagen gibbet wieder Geld. Dann geht die Bestellung raus. Und dann wird es auch nicht mehr lange dauern bis ich wieder verzweifelt angekrochen komme :-)
>> Ein ATMega16 ist afaik beim STK500 mit dabei > Stimmt... also nur das Starter Kit... Danke Naja, für den Anfang ist ein zusätzlicher "Reserve-ATMega" sicher nicht verkehrt. Die Dinger kosten ja fast nix mehr (2,75€ bei Angelika). Nicht, dass ich Dich entmutigen will (ich selber hab noch keinen einzigen AVR kaputtgekriegt), aber wenn doch mal was wider erwarten schiefgehen sollte, ist es immer besser, sofort Ersatz zu haben... Und wenn Du Dir einfach mal die Tutorials auf dieser Seite anschaust, wirst Du wahrscheinlich recht zügig erste Erfolge vorweisen können.
welcher währe das denn, wenn ich noch einmal den gleichen bestellen wollte ?? in den Infos zu dem STK500 steht: Inkl. Muster AT)=S8515(40pol PDIP) Bei Reichelt.de finde ich folgenden: ATMEGA 8515L-8D ATMega AVR-RISC-Controller, DIL-40 ATMEGA 8515L-8D ATMega AVR 8515L- 8PDIP Gehäuse: DIL-40 MHz: 8 Flash: 8 EEProm: 512 RAM: 512 I/O: 35 Hersteller:ATMEL Artikelnummer des Herstellers: ATMEGA8515L8PI Verpackungsgewicht: 0.006kg RoHS: konform ist das der Richtige??
Es gibt einen AT90S8515. Der ist allerdings steinalt und abgekündigt. Der ATmega8515 ist ein Pin Kompatibler Ersatztyp, der alles kann wie sein Vorgänger und noch ein paar Dinge mehr. Zusätzlich wird noch ein zeitgemässer ATmega 16 migeliefert.
ach... ich warte einfach bis das kit hier ist... habe ja auch noch die Apotheke (Conrad) um die Ecke. Dann hole ich mir noch einen Controller wenn das Kit hier ist.
Hallo Alex, wünsche Dir viel Ausdauer und Spaß. Was ich aber nicht verstehe, daß Du oben erst schreibst, ich hab im Grunde genommen keine Ahnung. Dann ist alles kein Problem, warum dann die Fragen ans Forum. Und dann, ahja ein Schieberegister, da war doch mal was ....... Ähhhmmmmm, das sind die absoluten Elementarbegriffe der Logic und auch im Prinzip abrbeitet jeder Controller auf dieser Basis. Zu VB oder C++ auf dem PC brauchst Du im Grunde kaum direkte Hardwarenähe, da alle Bausteine mit Treibern auf einen High Level gebracht wurden. Wenn Du Taster über ein Schieberegister liesst (und das sind noch die einfachen Dinge) sollten etwas mehr Kenntnisse vorhanden sein. Ich würde nicht ein STK500 auswählen, wenn mir nicht mal das Prinzip der Peripherieanbindung klar ist. Und nochmal eine Message an viele Authoren in diesem Thread. Zu schreiben, ist alles kein Problem ist ja wohl für jemanden der änfängt unpassend. Der Teufel steckt oft im Detail und das frisst unmengen Zeit und Nerven. Mach es lieber so, wie oben schon mal von jemandem geschrieben. Stelle Detailfragen: Z.B.: wie kann ich am einfachsten 25 Tasten an einen Controller anbinden. Den den Lösungen solcher Abschnitte kommst Du am schnellsten zum Ergebniss und verstehst das Prinzip. Gruß Dirk Nimm es nicht als Kritik, sonder aus Erfahrung eines Entwicklers.
Hi Alex bestell einfach beim reichelt den "ATMEGA 16-16 DIP" (2,75) mit. Machs einfach, du hast nämlich sicher noch nie einen Atmega16 beim conrad gesehen (Artikel-Nr.: 154242 - 62). Den Preis schreib hier nicht, lass dich überraschen ;-) Noch zum Falk er meinte mit mega8, den Atmega8 (reichelt ATMEGA 8-16 DIP). Ich wollte auf keinen Fall was negatives über die Preise vom Conrad sagen, aber ich kann auch nicht einen Anfänger einfach in sein verderben rennen lassen,GG Gruß, viel Spaß und Erfolg bei deinem Projekt MISZOU
@Dirk Hofmann >Ähhhmmmmm, das sind die absoluten Elementarbegriffe der Logic und auch >im Prinzip abrbeitet jeder Controller auf dieser Basis. Ja und? Jeder muss mal bei NUll anfangen. Der Weg ist das Ziel. Und da er kein Problem hat das Ganze über einen längeren zeitraum zu lernen (1 Jahr wurde genannt) ist doch alles in Butter. >Wenn Du Taster über ein Schieberegister liesst (und das sind noch die >einfachen Dinge) sollten etwas mehr Kenntnisse vorhanden sein. Auch einfachste Kenntnisse müssen erstmal erworben werden. Wo ist das Problem? >Ich würde nicht ein STK500 auswählen, wenn mir nicht mal das Prinzip der >Peripherieanbindung klar ist. Sondern? Erstmal wild raufloslöten? Kaum. STK-500 ist schon nahezu narrensicher. >Der Teufel steckt oft im Detail und das frisst unmengen Zeit und Nerven. Zeit ist kein Problem, es ist ein Hobby. Buddelschiffe bauen dauert auch sehr lange. >Mach es lieber so, wie oben schon mal von jemandem geschrieben. >Stelle Detailfragen: Hat er. >Z.B.: wie kann ich am einfachsten 25 Tasten an einen Controller >anbinden. Er braucht erstmal Grundlagen, die kann er sich mit dem STK-500 erarbeiten. >Den den Lösungen solcher Abschnitte kommst Du am schnellsten zum >Ergebniss und verstehst das Prinzip. Aber nicht ohne Grundlagen. Sonst wirds nur wieder hirnloses Copy&Paste. >Nimm es nicht als Kritik, sonder aus Erfahrung eines Entwicklers. Das ist auch eines der Dinge, die ich nicht verstehe. Irgendwie ist Kritik heutzutage politisch inkorrekt?!? Fast so, als ob man jemanden ins Gesicht spucken würde. Hallo? Substanzielle Kritik ist WICHTIG und RICHTIG! MfG Falk
Alex Mohr wrote: > Also VB und C++ kann ich. Und das was ich an auszügen auf der Seite hier > gesehen habe kann ich zumindest mal mehr und mal weniger nachvollziehen. Man muß dann allerdings seinen Programmierstil auf nem MC drastisch umstellen: Nicht immer nur den höchstmöglichen Datentyp (double float auch als Schleifenzähler) nehmen, sondern den ausreichenden (also meistens unsigned char). Nicht unsinngig kBytes allocieren, wenn man nur 10 Bytes braucht. Und allocieren per malloc nur dann, wenn die Größe zur Compilezeit wirklich unbekannt ist. Und nicht riesige Copy&Paste Orgien, sondern lieber ne Unterfunktion, wenn was zweimal benötigt wird. Das übt dann auch schön im modularen (planvollen) Programmieren. usw. Peter
@Peter Dannegger >Man muß dann allerdings seinen Programmierstil auf nem MC drastisch >umstellen: Das mussten die meisten. Verurteilt die Leute doch bitte mal nicht schon bevor sie überhaupt einen Finger gerührt haben! MfG Falk
Besser im Vorfeld verurteilen als grunsätzlich immer jemanden anzufahren, der nicht so versiert ist.
@Helmut >Besser im Vorfeld verurteilen als grunsätzlich immer jemanden >anzufahren, der nicht so versiert ist. Häää?????
@Peter Dannegger >Na super. >Ich zähle nur ein paar Unterschiede auf und schon wird man zum >Verurteiler gestempelt. Der Ton macht die Musik. >Man muß dann allerdings seinen Programmierstil auf nem MC drastisch >umstellen: Kennst du seinen Programmierstil? Man kann auch in VB ordentlich programmieren. Mit sinnvollen Datentypen, ohne Copy&Paste. MfG Falk
@Peter Dannegger >> Kennst du seinen Programmierstil? Man kann auch in VB ordentlich >> programmieren. Mit sinnvollen Datentypen, ohne Copy&Paste. >Sowas habe ich bisher noch nicht gesehen. Was nicht heisst, dass es nicht existiert. >Und die Größen und Geschwindigkeiten von Programmen legen auch nicht >nahe, daß es praktiziert wird. >Auch waren meine Versuche aufm PC nicht sonderlich modular und >effizient. >Man ist halt zu weit weg von der Maschine. Mag sein, aber dennoch kennst du SEINEN Programmierstil nicht. Und wie heisst es so schön? In dubio pro reo! MFG Falk
@Dirk Hofmann (arm-dran) >daß Du oben erst schreibst, ich hab im Grunde genommen keine Ahnung. >Dann ist alles kein Problem, warum dann die Fragen ans Forum. >Und dann, ahja ein Schieberegister, da war doch mal was ....... Habe ich auch nicht. Das einzige was ich von diesen Mikrocontrollern her kenne ist, das Foto im Reichlt Katalog sonst nix. Das einzige was für mich "hoffentlich" kein großes Problem ist eine Programmiersprache zu lernen. Ich kann C++, VB etc. pp. mehr oder minder gut. Darum die Aussage, dass dies kein Problem sein sollte. Schieberegister habe ich vor Jahren einmal in der Berufsschule durchgenommen. Ich wusste damals nicht einmal annähernd, dass das etwas mit Mikrocontrollern zu tun hat. Ich war richtig überrascht, dass dieses Wort hier gefallen ist. Habe gestern die Klausur darüber heraus gekramt.. hatte ne 1 :-) stolz Also wie gesagt... Programmieren ja, den ganzen rest NÖ :-) @M. M. (miszou) Danke für die Warnung mit diesem unterschied habe ich jetzt nicht gerechnet... @ Peter Dannegger (peda) >Nicht immer nur den höchstmöglichen Datentyp (double float auch als >Schleifenzähler) nehmen Das sind doch die Grundlagen von jeder Programmiersprache. Es wird immer gesagt, dass man den kleinstmöglichen Datentyp nehmen soll. Auch wenn sich fast nie jemand daran hält. Ich mehr oder weniger schon... hust >sondern lieber ne Unterfunktion Funktionen, Schleifen etc. bekomme ich noch gerade so hin ;-) Die Programmierlogik ist doch im Grunde überall gleich. Ob ich jetzt VB, VBA, C, C++, Java, PHP oder was weiß ich nehme. Es ist immer nur ein bisschen kompliziert sich von jetzt auf gleich von VB auf C++ umzustellen. Das ";" am ende jeder Zeile verfluche ich noch bis ans ende meines Lebens. ;-) @ Falk (Gast) >(1Jahr wurde genannt) Richtig... Damit kann ich auch sehr gut leben... Also, ich versuche jetzt erst einmal Dioden zum leuchten zu bringen, mir den Programmierstiel anzueignen und dann fange ich mal an meinen Lötkolben auszupacken. Hätte noch jemand eine, zwei oder drei Buchempfehlungen für mich?? Dann habe ich bis der STK-500 da ist schon mal was zu tun.
@Alex Mohr >Hätte noch jemand eine, zwei oder drei Buchempfehlungen für mich?? Dann >habe ich bis der STK-500 da ist schon mal was zu tun. 1.) Die Datenblätter und Application Notes (englisch) http://www.atmel.com/products/avr/ 2.) http://www.mikrocontroller.net/buecher/ MFG Falk
@Falk (Gast) Dann hole ich mir wohl direkt das erste Büchlein... scheind ganz gut zu sein :-) @alle seid alle wieder brav zu einander... und kotzen gehen macht nur dreck...
Ist das ein Forum oder ne Art BALZ-Verhalten. @FALK Was war zu erst da, die Henne oder das Ei? Na klar geht es bei den Grundlagen los und das ist wohl das was hier jeder sagen wollte. Ich höre immer nur, kein Problem bla bla bla, komt aber ein Vorschlag fang mal mit dem an, wo die Wuzel liegt ,isses auch nicht recht. Und wer behauptet, ne gute Controllerprorammierung hätte was mit VB oder C aufm PC zu tun, der hat wohl ne Wohnung ihne Fenster. Wofür verbraucht man die meiste Zeit ??? Für die kleinen Dinge und Problemlösungen und um die geht es hier. Möchtest Du ALEX nen kompletten Kurz in Microcontrollertechnick und Hardware geben? Dann kannst schon mal ein eigenes Forum eröffnen. 95% von allem is nun mal selfmade oder willst du was anderers behaupten?
Also ich hab auch selber erst vor einem halben Jahr damit angefangen. Ich hab mir damals bei Pollin das Evaluationsboard gekauft + 3 AT Mega 16 (bisher nur einen ausgepackt (: ) Dann habe ich mir das AVR-GCC Tutorial ausgedruckt und angefangen alle Themengebiete durchzuarbeiten. Ich hatte natürlich auch von Anfang an ein Projekt im Hinterkopf ;) Ich hatte zu diesem Zeitpunkt auch schon C++ Kenntnisse, mein Programmierstil musste ich jedoch nicht sehr umstellen bzw. es fiel mir nicht schwer. Assembler hab ich überhaupt nicht behandelt und kann es überhaupt nicht. Mein Projekt das ich anfangs im Hinterkopf hatte ist mittlerweile Beendet und funktioniert einwandfrei :). Also einfach mal Anfangen mit Portregistern danach PWM,Timer,UART,Interrupts usw.. Und später diese Sachen dann zu einem Projekt kombinierten :) Also einfach die einzelnen "Module" erlernen und später zum fertigen Programm zusammenbauen. Gruß,
Programmierstiel hin oder her, was in den Stein gebrannt wurde sieht hinterher eh keiner mehr.
Ein kleiner Tip für Vorlesungen: - C Programmierung (auch manchmal DV oder so genannt) - Assembler oder Hardwarenahe Programmierung - Mikrorechnertechnik o.ä. (wo man auf den Aufbau von Rechnersystemen mit µC eingeht. Was für ein Atmel im STK500 dabei ist, ist egal (naja fast egal). Die Teile unterscheiden sich nur in der Azahl der Peripherie-Module und in der Speichergroesse (Flash und RAM) und ob sie JTAG oder Debug-Wire unterstützen. Lerne erstmal, wie das Teil und seine Peripherie funktioniert, dann versuch Dich erst an irgendwelchen Projekten. Und was ich Dir in jedem Fall empfehlen würde ist ein Debugger (JTAG-MKII ist TOP aber auch Teuer) oder AVR-Dragon -> Billiger (glaub so 50-60 Euro) aber geht bis maximal 32 KB Programmgroesse (?). Beherrscht JTAG und Debug-Wire. Bei deinem Kenntnisstand würde ich Dir zwar den Evertool nicht empfehlen, aber wenn Du löten kannst und ein STK hast, kannst Du dir damit einen JTAG Adapter für die klassischen ATMEGA Controller selber bauen. Liegt aber wenn man alles rechnet auch um ca. 50 Euro (Arbeitszeit einkalkuliert, sonst ca. 20-30 Euro) Hinweis: Die Debugger kann man auch zum Programmieren verwenden. Das STK500 ist ebenfalls ein "Programmiergerät - ISP". Die Debugger sind auf USB Basis. Ausser dem Evertool. Das STK ist ein rein serielles Teil. Also, wenn dein Rechner keine serielle Schnittstelle mehr hat, dann brauchst Du noch einen USB<->seriell Wandler für dein STK. (Am besten bei Reichelt oder Alternate ca. 10-12 Euro) Beim Mediamarkt kosten die ca. 20-30 Euro (wie die auch immer die Preise kalkulieren) Wenn beim STK500 kein JTAG oder Debug-Wire fähiger Controller dabei ist, dann hol Dir einen passenden. Ich würde nen ATMEGA 32 oder 162 als DIP/DIL nehmen. Debug-Wire ist wahrscheinlich für Dich nicht gerade die Einstiegsvariante. Deshalb versuch Dich erst mal an dem JTAG. Und ich kann Dir versichern, Du wirst die vorzüge so eines Debuggers sehr schnell zu schätzen wissen. Das Teil kann einem tagelange Suchaktionen nach Fehlern ersparen und ermöglicht ausserdem die Codezeilen in Einzelschritt zu durchlaufen und aktuelle Zustände der Register (nicht alle, aber die meisten!) abzufragen. Falls Du mal Fragen haben solltest kannst Du Dich im Forum austoben oder mal schreiben: "ediplom@online.de". Die Adresse ist zumidest mal einen Monat lang gültig ;-)
Hallo Alex, ich habe mir mal alle Antworten hier durchgelesen. Meine Idee/ Vorschlag für dich wäre doch einfach eine SPS zu nehmen. Wenn du kaum Kenntnisse von C und/ oder Assembler hast, dann sollte dir Step 7 mit seinem Funktionsplan sehr einfach fallen. Eine S7 ist zwar bei Neuanschaffung etwas teurer, jedoch kommst du wesentlich schneller voran, als bei einem µC mit Erlernung der Programmiersprache. Kann natürlich auch sein das du eine S5 noch irgendwo findest, die sind billiger als die Nachfolge Modelle. Grüße
@ Markus Klaus (sheriff) Das habe ich auch schon überlegt aber dafür interessiert mit das Thema µC zu sehr. Erst wenn ich es absolut nicht hinbekomme und total verzweifelt das Handtuch schmeiße, erst dann werde ich mir ein SPS zulegen. ;-)
Alex Mohr wrote: > @ Markus Klaus (sheriff) > > Das habe ich auch schon überlegt aber dafür interessiert mit das Thema > µC zu sehr. Erst wenn ich es absolut nicht hinbekomme und total > verzweifelt das Handtuch schmeiße, erst dann werde ich mir ein SPS > zulegen. > ;-) Alex, das ist schon mal die ganz falsche Einstellung, ein weisser Spruch sagt " Geht nich, gibts nich" also. Außerdem schmeisst man keine Handtücher, man benutzt Sie ;-). Also, kauf das besagte Starterkit und mache die ersten Versuche. Lass das Projekt wachsen und versuch nicht gleich in die vollen zu gehen. Das verwirrt. Der Weg ist das Ziel. Und sobald Du es hast und Deinen ersten Versuche, kommst wieder ins Forum und hier sind dann mehrere für Dich da. Tralala Sollte Dir dieser Vorschlag zusagen, dann schrei laut! Außerdem, wenn du mal in so eine Materie reinsteigst, findest du mit Sicherheit noch mehr Anwendungsmöglichkeiten, sodaß sich Dein Fleiß lohnen wird. Gruß Dirk
Falsche einstellung ??? nö.... ich sag ja auch nicht, dass ich aufgeben werde :-) Nur eben wenn ich es absolut nicht kapiere... aber das wird nicht passieren :-) egal, wünsche noch einen schönen abend. Muss jetzt zum Studium. Mathe schnarch
Also ich kann das Buch "An Embedded Software Primer" für Anfänger empfehlen. Es setzt natürlich grundlegende Programmierkenntnisse voraus, ist aber für die Arbeit mit Mikrocontrollern extrem hilfreich wie ich finde.
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.