Autor |
Mit was habt ihr angefangen für die Welt der Microcontroller |
|
|
|
|
BID = 387378
Elektromeister Gesprächig
Beiträge: 135
|
|
Hallo,
ich möchte mit Programierungen von Mikrocontroller anfangen.
Und mit was für Schaltungen habt ihr am anfang angefangen ????
Was findet ihr am einfachsten???
Ich möchte mir das Programmiergerät selber bauen.
mfg |
|
BID = 387397
Licht aus! Stammposter
Beiträge: 420 Wohnort: Unterfranken
|
|
Also ich hab mit Atmel angefangen und bin auch dabei geblieben. Hab mir meinen ISP selber zusammengebaut weis aber nicht mehr wo ich den schaltplan gefunden hab. Denk das war der von der Ponyprog seite. Das Board hab ich mir auch selbst ausgedacht. Da sind Pinleisten drauf um Flachbandkabel dran zu stecken für LC Display oder ähnliches. Eine Reihe Taster und eine Reihe LEDs. Viel war net drauf aber es hat gereicht. Einen riesigen Kühlkörper hats noch für den Festspannungsregler, der war aber nur ein Gag und im nachhinein ein super Griff :- ) Wenn du genug geld übrig hast kannst dir auch ein STK500 kaufen. Ich hatte es nicht, bin aber recht zufrieden mit meinem Board. Auch wenn ich im nachhinein ein paar Dummheiten gefunden habe. Aber nix gravierendes.
Zum Einstieg hab ich mir dann mal des Tutorium von der Mikrocontroller.net Seite angeschaut und vorallem die PDF "Mikrocontroller von 0 und 1 an". Da wurden auch nochmal die Zahlenformate behandelt. Wenn man davon noch nie was gehört hat mag des bestimmt nicht schlecht sein sich das mal durchzulesen bevor man Mikrokontrolleure programmieren will.
_________________
All hail to the carry bit!
[ Diese Nachricht wurde geändert von: Licht aus! am 21 Nov 2006 22:00 ] |
|
BID = 387589
Humus Aus Forum ausgetreten
|
Hey,
also ich bin auch noch recht frisch in dem Bereich der Microcontroller, aber folgendes hab ich gemacht. Mein Bauch gefühl war für den AVR, obwohl mir von allen seiten (Kollegen etc.) davon abgeraten wurde und mir der Pic ans Herz gelegt wurde. Und ich hab Natürlcih einfach meinem Gefühl vertraut und mir ein STK 500, 2 ATtiny2313, 1 ATmega 8 und ein USB --> Serieal adapter bestellt. Und angefangen mit dem AVR-Studio von Atmel mich mit Assembler zu versuchen. Mittlerweile bin ich auf Bascom-Basic umgestiegen, da das meiner Meinung nach schöner zu Programmieren ist, klar kann man mit Assembler Zeitkritische Sachen besser lösen, aber ich finde den Zeit aufwand ein Assembler Programm zu erstellen einfach viel zu lange. In Bascom geht das viel, viel schneller.
So zu dem Programmierboard, entweder das STK 500 wenn du das Geld investieren möchtest oder das board von Roland Walter siehe unten bei den Links! Mit anderen hab ich bis jetzt noch nciht gearbeitet.
Wenn ich das mit Bascom irgendwann mal voll raus habe, werde ich mich auch mal in C Versuchen bzw. mir auch mal die mühe machen mich in Assembler ein zuarbeiten. (Bis jetzt kam ich nur soweit das ich ein Lauflicht oder ähnliches hatte bei ASM). Jo aber erst einmal eine "Sprache" richtig beherrschen.
Also ich kann dir Bascom für den Anfang empfehlen, da du da doch recht schnell zu erfolgen kommst.
Dazu folgende Links:
http://www.tutorials.at/ --> um in Basic rein zu kommen, musst aber aufpassen Bascom Basic ist leicht verändert. Nur so die Grundlagen schleifen etc. sind gleich!!
http://www.rowalt.de/
Ein Super Buch und gute Tutorials auf der Seite, die sind aus dem Buch!
Dann für Assembler:
http://www.avr-asm-tutorial.net/avr_de/index.html
Die Seite ist echt klasse.
http://www.microcontroller.net
|
BID = 387595
Elektromeister Gesprächig
Beiträge: 135
|
toll
werde mir mal die Seiten durchlesen.
Habt ihr das Programmiergerät selber gebastelt oder gekauft???
|
BID = 387603
Benedikt Inventar
Beiträge: 6241
|
Ich würde auch mit AVRs anfangen, die sind billig und bringen viel Leistung (im Vergleich zu PIC bekommt man mehr die 5x Leistung für sein Geld). Außerdem gibt es kostenlose C Compiler und eine Menge Beispiele im Netz.
Ich würde Bascom nicht verwenden, da ich keine Programme mag die alles von alleine machen, ohne dass ich daran was ändern kann. Es mag schön sein, wenn man fertige LCD Routinen hat, und nur noch Text ausgeben muss, aber dabei lernt man nicht wirklich was.
Ich würde daher mit Assembler oder C anfangen, denn nur so lernt man wie der uC eigentlich arbeitet. Außerdem freut man sich viel mehr, wenn man einigen Tagen oder Wochen die selbtgeschriebenen LCD Routinen endlich laufen.
Zum Programmiergerät:
Ich würde nicht das nächstbeste nachbauen, viele der einfachen Schaltung sind einfach nur schlecht und können je nach PC viele Probleme verursachen. An manchen PCs funktionieren die Schaltungen wunderbar, an anderen nur teilweise oder garnicht.
Der STK500 ist zwar nicht billig, ist aber besonders für Einsteiger keine schlechte Wahl. Außerdem kann man verprogrammierte AVRs wieder retten.
|
BID = 387604
Licht aus! Stammposter
Beiträge: 420 Wohnort: Unterfranken
|
Also ich hab meines selber gebastelt. Hier gibts ein paar Pläne dazu.
_________________
All hail to the carry bit!
|
BID = 387624
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Ich kann mich Benedikt nur anschließen; habe 2 Tage in Basic programmiert, fands aber damals schon nicht so toll. Habe dann angefangen, einzig anhand des Datenblattes des m8535 Assembler zu lernen und war auch total glücklich, als nach 3 Tagen meine Routine für das Pollin-Display mit 4x27 Zeichen funktionierte. Damals verwendete ich den 8bit-Modus, mittlerweile resourcenschonender den 4bit-Modus.
Wie gesagt, am besten wirklich Assembler lernen, denn das zeigt einem genau, wie so ein µC funktioniert. Hochsprachen sind in diesem Bereich ziemlich abstrakt.
Später kann man dann auch Hochsprachen verwenden (C sehr gut, Basic eher nicht..), wenn man verstanden hat, wie so die grundlegenden Operationen aussehen und es darum geht, maschinenproduzierten Maschinencode optimiert einzusetzen. .
Vorallem hat C hier den Vorteil, dass man ihn recht schnell auf andere µCs portieren, also übertragen, kann, ohne grundlegende IO-Adressen oder ähnliches im kompletten Programm zu modifizieren.
Programmieren tue ich mit einem paralellen Interface für PonyProg2000. Das sollte eigentlich schon lange ordentlich auf eine Platine und in ein Gehäuse (mit erweiterten Funktionen, die im Original nicht da sind), jedoch läuft das aktuell noch auf einem kleinen Steckbrett.
Sowieso möchte ich Steckbretter empfehlen: wenn es gute Teile sind, die auch den Kontakt sicherstellen, dann lässt sich damit am besten experimentieren, da die Hardware sehr schhnell geändert werden kann.
Bei Experimentierboards ist das immer kompliziert, da muss man dann immer Adapter für LCDs, Matrizen und was weiß ich stricken .
_________________
|
BID = 387647
Elektromeister Gesprächig
Beiträge: 135
|
Würde mir vll. das Programmiergerät STK500 zulegen.
Es ist ja ballt weihnachten
Meine Fragen sind:
-Lohnt es sich überhaupt wen man sich den STK500 zulegt??
-Was kann man mit den Programmierten Atmel ICS alles bauen, könnt ihr mir ein paar Beispiele geben????
-Was wären die beste Schaltung wo man als Anfänger mit den Programmierten Atmel ICS basteln könnte?????
Danke für eure Antworten
|
BID = 387656
Benedikt Inventar
Beiträge: 6241
|
Was man alles bauen kann:
So ziemlich alles was du dir vorstellen kannst, angefangen von einfachen Lichtspielereien über komplexe Steuerungen, TV Signalen bis hin zu Handys (ja, es gab Handys in denen AVRs als CPU verwendet wurden)
Anfangen tut man meist mit einer blinkenden LED. Danach erweitert man das ganze mit einem Taster, mehrere LEDs. Jetzt kann man schon z.B. ein paar Spiele wie einen Reaktionszeittester bauen. Und den kann man entweder ganz simple oder gut mit Timer und Interrupts machen.
Dann ein billiger 2x16 Zeichen LCD an den AVR. Das sollte dich für ein paar Wochen oder Monate beschäftigen.
Ich würde für den Anfang ein paar mega8 kaufen (klein und billig) und vielleicht einen etwas größeren mit mehr Speicher (mega32).
|
BID = 387683
Humus Aus Forum ausgetreten
|
Mal eine Frage an die AVR C-Programmierer... könnt ihr mir da ein Buch empfehlen wo ich den einstieg in C für AVR bekomme?
C kann ich schon ein wenig. Also sag mal so minimale Grundlagen hab ich, bzw. bin zur Zeit dabei mich auf C weiter zu bilden bis jetzt aber nur auf dem PC!
|
BID = 387689
Benedikt Inventar
Beiträge: 6241
|
Für den AVR speziell würde ich mir kein Buch kaufen.
Ich komme mit dem avr libc Manual (ist bei Winavr dabei) und dem Kernighan & Ritchie (das Standard C Buch) wunderbar aus.
Den Rest findet man im Internet oder den Datenblättern.
|
BID = 387702
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Der Unterschied zu dem C "auf dem Computer" ist nicht besonders groß, die Syntax ist, soweit ich das jetzt korrekt ins Hirn rufen kann, identisch.
Wichtig, und das kann man ich zu oft sagen, ist, dass man während der Programmierphase im Datenblatt nachschaut! Dort stehen alle wichtigen Register, alle wichtigen Bitnamen innerhalb der Register drin und sogar Beispiele in C und Assembler! Vom Datenblatt allein kann man schon viel lernen.
Wenn man dann dazu die Syntax von C, Assembler oder meinetwegen Basic kennt, ist das alles kein Problem mehr. (Ja gut, ist klar abhängig von der Komplexität und der Optimierung des Codes, aber mal vom Prinzip her.)
_________________
|
BID = 387769
stefan_z Gelegenheitsposter
Beiträge: 57 Wohnort: Köln
|
also ich hab letztens mit dem Pollin Board v2.0 angefangen. Ist billig und erfüllt seinen Zweck.
Schaus dir mal an, die Bauteile alleine kosten meist schon mehr... Platinen für die AVRs kann man danach ja immer noch ätzen
Habe mal mit Bascom angefangen, das macht soweit Spaß, weils einfach ist (wer vor 12 Jahren mal Informatik in der Schule hatte kann direkt anfangen).
Als nächstes solls dann aber schon C werden, viele Sachen sind in Bascom dann schon wieder fieß umständlich, bzw. die Doku könnte besser sein (s. meinen Thread zu 3x PWM in Bascom )
Da aber leider letztens das Netzteil meines räudigen PCs explodiert ist, muss ich warten bis ich Ersatz habe (habe sonst nur Macs - und die haben ja bekanntlich keine Serielle Ports)
Stefan Z
|
BID = 387929
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Wie gesagt, da liegt schonmal ein ordentlicher Nachteil Bascoms: viele implementierte Routinen.
Wenn ich eine PWM machen will, reicht es, 2, 3 oder 4 Register zu beschreiben und die PWM läuft automatisch. Dabei bleibe ich relativ hardwarenah (d.h. ich benutze die Namen der Register für die PWM-Steuerung/Timer) und greife nicht auf die Klimmzug-Programmierung Bascoms zurück. Denn dort die Sachen wie gewünscht zu konfigurieren, ist viel komplizierter als wenn man direkt in die Register schreibt.
Das nur als Beispiel.
Natürlich macht das auf der anderen Seite erstmal vieles einfacher, aber mir hat es eben nicht geholfen.
_________________
|
BID = 387938
Humus Aus Forum ausgetreten
|
Also ich verwende bei Bascom auch immer so viel wie möglich die Register direkt. Finde ich Persönlich schöner.
|