Ich habe mir schon seit längerem vorgenommen, mit der Programmierung von
Mikrocontrollern anzufangen. Auf der Suche nach Tutorials bin ich dann
auf diese Seite aufmerksam geworden. Allerdings bin ich trotzdem noch
etwas überfordert, was ich nun alles kaufen soll und wo ich überhaupt
anfangen soll.
Ich würde das Thema gerne sehr grundlegend angehen, daher dachte ich
mir, dass ich mit einer Steckplatine und dem nötigem Zubehör anfange.
Oder macht es keinen großen Unterschied, wenn ich direkt ein "fertiges
Board" kaufe?
Wenn ich bei der Steckplatine bleibe, würde ich folgendes kaufen:
Steckplatine
Mikrocontroller
Kabelsatz
Widerstände
Kondensatoren
und irgend ein ISP
Sehe ich das richtig? Muss man bei den Teilen irgendwas beachten? Ich
würde sie beim Conrad kaufen und mich da auch nochmal beraten lassen.
Über ein paar Tipps würde ich mich freuen...
David M. schrieb:> Sehe ich das richtig? Muss man bei den Teilen irgendwas beachten? Ich> würde sie beim Conrad kaufen und mich da auch nochmal beraten lassen.
Würde ich lassen. Beim Conrad arbeiten in der Regel 400 Euro
Hilfsschüler und solche die es hätten sein sollen. Was da erzählt wird
kannst du getrost abhaken. Den Fehler machen allerdings viele Anfänger.
Das wäre so als ob man sich im MediaMarkt zu PC-Produkten oder im
Baummarkt zu Bohrmaschinen beraten lassen würde. Das sind keine
Fachmärkte. Das sind Ramschläden mit dem billigsten Personal das zu
bekommen war.
gruß cyblord
David M. schrieb:> Sehe ich das richtig?
Siehst du richtig.
David M. schrieb:> Muss man bei den Teilen irgendwas beachten?
Solltest vielleicht darauf achten, dass die Widerstands &
Kapazitätswerte einigermassen Gängig sind und du damit arbeiten kannst.
Mit einem 10 Megaohm Widerstand oder einem pF Kondensator wirst du nicht
sonderlich weit kommen beim basteln. Aber ich denke, das erklärt sich
von selbst.
David M. schrieb:> Oder macht es keinen großen Unterschied, wenn ich direkt ein "fertiges> Board" kaufe?
Der Preis.
Bei einem fertigen Board hast du den Vorteil dass du von Anfang an
weisst, an deiner Hardware ist nichts falsch und sie funktioniert. Ein
selbstbau erhöht die Fehlerquellen. Da ich deinen Wissensstand nicht
kenne, weiss ich nicht wie leicht es dir fallen wird so eine kleine
Schaltung aufzubauen, ist aber nichts sonderlich kompliziertes.
Ein weiterer Vorteil ist, dass du bei solchen fertigen Boards oft schon
einige Beispiele dabei hast, die dir helfen können, manche Sachen besser
zu verstehen.
Denke, das wäre wieder so ein Thema, wo man jetzt Stunden über Pro und
Kontra diskutieren könnte. Ich belasse es mal dabei, sei aber noch
gesagt, dass natürlich auch ein selbstbau Vorteile gegenüber einem
fertigen Board hat, auch wenn das aus meinem Beitrag nicht direkt
ersichtlich ist.
Gruss
Mikrocontroller würde ich mal mit ATmega 8 anfangen, wenn es denn AVR
sein soll.
Kaufe aber gerade ein paar. Bis du Fuses falsch setzt oder die Spannung
falsch anschliesst oder so gehts nicht lange;)
Dann brauchst du auch noch LED und Taster
Und ich würde für Widerstände gerade ein R12 Sortiment nehmen.
Als ISP habe ich den AVRISP MKII und bin seit Jahren zufrieden damit.
Nimm dir den Wattuino mini von www.watterott.com (10 Euro) lad dir die
Arduino-IDE runter, besorg Dir einen Kleinen Lötkolben und ein
Steckboard, und eine Beutel Jumper Cables, paar Led paar 1, 2, 4
kOhm-Wirderstände und ein Adafruit-LCD (alles bei Watterott) und schon
geht's los.
Die Arduino-IDE (integrated development Environment) ist ideal.
Die läuft nämlich sofort, wohingegen eine GCC-Toolchain aufzubauen ein
mehrseitiges Tutorial erfordert.
Die Arduino-Gemeinde ist riesengroß...
;-)
cyblord ---- schrieb:> Das sind keine> Fachmärkte. Das sind Ramschläden mit dem billigsten Personal das zu> bekommen war.
Hier ist die Beratung sogar ganz kostenlos.
@David M.
Welche der vielen gleichartigen threads hier im Forum hast du schon
gelesen und was ist daran unklar?
J. Heinrich schrieb:> Nimm dir den Wattuino mini
Achtung: Nicht zu verwechseln mit Wattduino micro, Wattudiono nano,
Wiiduino, MooDuino, RFDuino oder Arduino Duemilasupernova mit Wattduino
Shield. Also Augen auf!
> Die läuft nämlich sofort, wohingegen eine GCC-Toolchain aufzubauen ein> mehrseitiges Tutorial erfordert.
Nur wenn sein Gehirn in einem Glas neben ihm auf dem Tisch stehen würde.
In diesem Fall allerdings würde ich auch Arduino (sorry Wattduino)
empfehlen.
> Die Arduino-Gemeinde ist riesengroß...
Und superschlau.
J. Heinrich schrieb:> Die Arduino-IDE (integrated development Environment) ist ideal.> Die läuft nämlich sofort, wohingegen eine GCC-Toolchain aufzubauen ein> mehrseitiges Tutorial erfordert.David M. schrieb:> Ich würde das Thema gerne sehr grundlegend angehen,
Ich denke, da ist Arduino keineswegs geeignet um so ein Thema
Grundlegend anzugehen. Arduino ist eher so "Kaufen und Libs
zusammenbasteln bis der Arzt kommt." Um viele Dinge musst du dich dort
nichtmehr kümmern, was das ganze sehr interessant macht für den Gebrauch
von Hobbybastlern welche schnell zum Ziel kommen wollen, ohne viel vom
Thema zu verstehen. Willst du etwas lernen, dann rate ich stark davon
ab.
Und mit Arduino setzt Du auch keine Fuses falsch.
Und als Verbindung Wattuino mini <-> PC nimmst den FTDI
reloaded-Baustein (USB-TTL-Umsetzer), die beiden ham kompatible
Ein/Ausgangsanordnung an der SChmalseite.
Hope it helps... ;-)
San Lue schrieb:> David M. schrieb:>> Ich würde das Thema gerne sehr grundlegend angehen,
Was heißt das "Thema grundlegen angehen"?
Das wäre dann Assembler lernen. Ist das noch Zeitgemäß?
Oder eher Zeitverschwendung.
Was GCC / Eclipse angeht:
Da kann man selbst als langjähriger gestandener Softwareentwickler ganz
schön frustriert aufgeben...
Wenn es nicht die einfache AVR / Arduino-Schiene sein soll,
dann geht auch noch ARM Cortex M3, also STM103RBT (Maple (45€),
Olimexino(27€)), die haben dann gleich einen USB-Anschluss auf dem Board
zum programmieren.
Während man den Maple mit der Arduino-ähnlichen MapleIDE genauso einfach
programmieren kann wie mit Arduino auf AVR-Chips, und das über
USB-Anscluss läuft, braucht man für die K0ombination CooCox CoIDE /
Olimexino einen Programmer (In-cirquit programmer und Debugger), ein
Baustein, der zwischen
den PC und das Micboard geschaltet wird, und mit dem man das Programm
anhalten kann, um zu sehen, welche Werte in Prozessor- und in den
Peripherieregistern stehen oder welche Werte die Variablen haben.
Hope it helps ;-)
Erstmal vielen Danke für die vielen Antworten... Echt super!
San Lue schrieb:> David M. schrieb:>> Sehe ich das richtig?>> Siehst du richtig.>> David M. schrieb:>> Muss man bei den Teilen irgendwas beachten?>> Solltest vielleicht darauf achten, dass die Widerstands &> Kapazitätswerte einigermassen Gängig sind und du damit arbeiten kannst.> Mit einem 10 Megaohm Widerstand oder einem pF Kondensator wirst du nicht> sonderlich weit kommen beim basteln. Aber ich denke, das erklärt sich> von selbst.>> David M. schrieb:>> Oder macht es keinen großen Unterschied, wenn ich direkt ein "fertiges>> Board" kaufe?>> Der Preis.>> Bei einem fertigen Board hast du den Vorteil dass du von Anfang an> weisst, an deiner Hardware ist nichts falsch und sie funktioniert. Ein> selbstbau erhöht die Fehlerquellen. Da ich deinen Wissensstand nicht> kenne, weiss ich nicht wie leicht es dir fallen wird so eine kleine> Schaltung aufzubauen, ist aber nichts sonderlich kompliziertes.>> Ein weiterer Vorteil ist, dass du bei solchen fertigen Boards oft schon> einige Beispiele dabei hast, die dir helfen können, manche Sachen besser> zu verstehen.>> Denke, das wäre wieder so ein Thema, wo man jetzt Stunden über Pro und> Kontra diskutieren könnte. Ich belasse es mal dabei, sei aber noch> gesagt, dass natürlich auch ein selbstbau Vorteile gegenüber einem> fertigen Board hat, auch wenn das aus meinem Beitrag nicht direkt> ersichtlich ist.>> Gruss
Durch mein Studium bin ich zwar, was die Programmierung angeht, recht
weit, allerdings habe ich so gut wie keine Ahnung von E-Technik.
Grundlagen (Boolsche Algebra, Digitaltechnik (AND, OR etc)) sind
allerdings vorhanden. Womit ich mich noch garnicht auskenne: Was und
wozu ist ein Widerstand gut? Wozu brauch ich Kondensatoren?
NichtSchon Wieder schrieb:> cyblord ---- schrieb:>> Das sind keine>> Fachmärkte. Das sind Ramschläden mit dem billigsten Personal das zu>> bekommen war.>> Hier ist die Beratung sogar ganz kostenlos.>> @David M.> Welche der vielen gleichartigen threads hier im Forum hast du schon> gelesen und was ist daran unklar?
Also ich habe das AVR Tutorial angefangen, aber dort wird mir nicht
klar, welche Teile ich genau kaufen soll, wenn ich mit einer
Steckplatine arbeite (die Einkaufsliste ist für mich leider noch
unverständlich). Ich hab mir auch verschiedene Theras angesehen, jedoch
sind die Ausgangslagen doch meist sehr unterschiedlich (ich hab zB keine
Ahnung von E-Technik).
Also um mein Problem nochmal auf den Punkt zu bringen: Ich fahre heute
Nachmittag zu Conrad und möchte gerne alles Kaufen, was ich benötige, um
anzufangen. Fest steht: Kabelsatz (da kann man wohl nicht soviel falsch
machen), Steckplatine (dito). Unklar ist weiterhin, welche Widerstände,
Kondensatoren, Schalter etc... ich kaufen soll.
San Lue schrieb:> Ich denke, da ist Arduino keineswegs geeignet um so ein Thema> Grundlegend anzugehen. Arduino ist eher so "Kaufen und Libs> zusammenbasteln bis der Arzt kommt." Um viele Dinge musst du dich dort> nichtmehr kümmern, was das ganze sehr interessant macht für den Gebrauch> von Hobbybastlern welche schnell zum Ziel kommen wollen, ohne viel vom> Thema zu verstehen. Willst du etwas lernen, dann rate ich stark davon> ab.
Bin etwas anderer Meinung:
Autodidaktisch lernen kann man nur, wenn's auch Funktioniert (Led
Blinkt).
Ob weitere Vertiefung möglich ist, hängt immer davon ab, ob der
vorhergehende Lernschritt erfolgreich war, oder ob ich da hängenbleibe,
und nicht weiterkomme (LED blinkt nicht und ich weiß nicht warum und
kann keinen fragen).
In die Tiefe gehen kann ich von einem funktionierenden
LED-blinkt-Programm aus Arduino beliebig.
Zusätzlich bietet Arduino einen Einstieg in C-programmierung (Wiring ist
fast dasselbe wie C).
Ein Argument stimmt jedoch: ich habe bei Arduino nur die Möglichkeit mir
Variablen-Werte zur Fehlerbeseitigung über die Seriellverbindung
ausgeben zu lassen, ich kann nicht direkt in die Prozessorregister
schauen.
J. Heinrich schrieb:> Was GCC / Eclipse angeht:> Da kann man selbst als langjähriger gestandener Softwareentwickler ganz> schön frustriert aufgeben...
Warum erzählst du dem Bub eigentlich so einen Quatsch?
J. Heinrich schrieb:> Was heißt das "Thema grundlegen angehen"?> Das wäre dann Assembler lernen. Ist das noch Zeitgemäß?> Oder eher Zeitverschwendung.
Ist es das? Ich hab in meiner Ausbildung die ersten zwei Jahre nur
Assembler gelernt und bin bis heute sehr froh darüber, da es gerade bei
Zeitkritischen Anwendungen doch sehr hilfreich ist zu verstehen, wie ein
uC arbeitet. Da ich nicht weiss wie weit dr TO gehen will, kann man das
ganze natürlich in Frage stellen und ich stimme dir da Teils zu, dass es
ein wenig unnötig ist, allerdings nur bis zu einem bestimmten Grad.
Irgendwann kommt der Punkt, wo es fast unmöglich wird, ohne Grundlegende
Kentnisse saubere Programme zu schreiben. Natürlich sprechen wir hier
von komplexeren Anwendungen.
J. Heinrich schrieb:> In die Tiefe gehen kann ich von einem funktionierenden> LED-blinkt-Programm aus Arduino beliebig.
Kann man. Aber bereits hier sehe ich die erste Gefahr der eigenen
Faulheit zum Opfer zu werden. Aber auch hier wieder eine
definitionsfrage von "grundlegend an das Thema angehen." Wer nämlich
ganz grundlegend daran gehen will (lassen wir hier die
Programmiersprache mal ausser acht) befasst sich zunächst mit der
Initialisierung des uC's usw. Bei einem fertigen LED-blink-Programm
fällt dieser teil wohl bereits weg und schon stehen da ein paar duzend
Codezeilen, von welchen man keine Ahnung hat.
David M. schrieb:> Womit ich mich noch garnicht auskenne: Was und> wozu ist ein Widerstand gut? Wozu brauch ich Kondensatoren?
Dann solltest du dir erst einmal ein Basiswissen in der Elektronik
aneignen. Muss ja nicht viel sein, aber ein bisschen was über
Widerstände und Kondensatoren sollte man schon wissen.
https://www.elektronik-kompendium.de/sites/bau/index.htm
Hier mal ein bisschen durchlesen über die Bauteile welche du verwenden
magst. Finde ich sehr einfach und gut beschrieben.
Der Kauf von fertigen Boards als Anfänger verdeckt nur Defizite bei
elektronischen Grundlagen, die anders als bei PC-Programmierung zum
erfolgreichen Einsatz von µC wichtig sind.
David M. schrieb:> Muss man bei den Teilen irgendwas beachten?
Bist Du eher Hobbyist und brauchst auch einen hobbyfreundlichen Einstieg
in den Bereich Elektronik? Dann soltest Du den Erwerb der Buchreihe
"Elektronik – gar nicht schwer" aus dem Elektor-Verlag erwägen. Das ist
für Novizen witklich ganz gut dosiert und dann bist Du auch in der Lage,
planvoll und mit Verstand etwas Selbstausgedachtes an Deinen Controller
"dranzustricken", d.h. Deine "Shields" maßgeschneidert für Deine Wünsche
selbst anzufertigen. Das damit erworbene Wissen ist tatsächlich
grundlegend und Du kannst damit viel anfangen.
Am Elektor-Verlag (wie auch an Franzis) scheiden sich vollkommen zu
Recht die Geister, aber diese Reihe wäre für Dich zum
Elektronik-Einstieg optimal.
David M. schrieb:> Womit ich mich noch garnicht auskenne: Was und> wozu ist ein Widerstand gut? Wozu brauch ich Kondensatoren?
... und jetzt bin ich mir sicher :-D
@ David M.
Du solltest beschreiben, was du konkret machen möchtest, was das Ziel
des erlernens sein soll.
Einzelne Leuchtdioden oder LCD ansteuern, Temperaturen messen, sowas in
der Art.
Nur Hobby oder studienbegleitend? Was Vorkenntnisse sind schon
vorhanden?
Und wieviel Zeit (in Stunden) über wieviele Monate du dich damit
beschäftigen möchtest.
Vom Kauf von einzelnen Bauteilen rate ich auf jeden Fall ab!
Du brauchst für den Anfang was "sofort funktionsfähiges" mit
reproduzierbaren und funktionsfähigen Beispielen.
Insofern ist Arduino (das Orginal!) für den blutigen Anfänger nicht mal
schlecht, denke ich. Auch wenn hier jetzt ganz viel Antwortgeber
aufheulen werden.
http://www.arduino-tutorial.de/
Und nochwas: Wenn du kein Geld hast im dir das 50.- Euro Board + weitere
50.- für zusätzliche Krimkrams leiten zu können --- vergiss' es.
Nach 1/2 Jahr kannst das dann wegtun und dir was besseres kaufen, falls
du mit dem neuen Hobby überhaupt soweit durchhälst.
Gruss
San Lue schrieb:> J. Heinrich schrieb:>> Was heißt das "Thema grundlegen angehen"?>> Das wäre dann Assembler lernen. Ist das noch Zeitgemäß?>> Oder eher Zeitverschwendung.>> Ist es das? Ich hab in meiner Ausbildung die ersten zwei Jahre nur> Assembler gelernt und bin bis heute sehr froh darüber, da es gerade bei> Zeitkritischen Anwendungen doch sehr hilfreich ist zu verstehen, wie ein> uC arbeitet. Da ich nicht weiss wie weit dr TO gehen will, kann man das> ganze natürlich in Frage stellen und ich stimme dir da Teils zu, dass es> ein wenig unnötig ist, allerdings nur bis zu einem bestimmten Grad.> Irgendwann kommt der Punkt, wo es fast unmöglich wird, ohne Grundlegende> Kentnisse saubere Programme zu schreiben. Natürlich sprechen wir hier> von komplexeren Anwendungen.>> J. Heinrich schrieb:>> In die Tiefe gehen kann ich von einem funktionierenden>> LED-blinkt-Programm aus Arduino beliebig.>> Kann man. Aber bereits hier sehe ich die erste Gefahr der eigenen> Faulheit zum Opfer zu werden. Aber auch hier wieder eine> definitionsfrage von "grundlegend an das Thema angehen." Wer nämlich> ganz grundlegend daran gehen will (lassen wir hier die> Programmiersprache mal ausser acht) befasst sich zunächst mit der> Initialisierung des uC's usw. Bei einem fertigen LED-blink-Programm> fällt dieser teil wohl bereits weg und schon stehen da ein paar duzend> Codezeilen, von welchen man keine Ahnung hat.>> David M. schrieb:>> Womit ich mich noch garnicht auskenne: Was und>> wozu ist ein Widerstand gut? Wozu brauch ich Kondensatoren?>> Dann solltest du dir erst einmal ein Basiswissen in der Elektronik> aneignen. Muss ja nicht viel sein, aber ein bisschen was über> Widerstände und Kondensatoren sollte man schon wissen.>> https://www.elektronik-kompendium.de/sites/bau/index.htm>> Hier mal ein bisschen durchlesen über die Bauteile welche du verwenden> magst. Finde ich sehr einfach und gut beschrieben.
Also in Assembler und auch in C habe ich schon recht viel Programmiert,
ich denke da ist schon eine gute Basis vorhanden (der Kontext war
natürlich ein anderer).
Der Link ist sehr gut, ich arbeite mich da mal durch.
Also ich denke, die Entscheidung eine Steckplatine zu verwenden und die
ersten Schritte "per Hand" zu machen, steht für mich fest.
Ich würde hier nochmal meine Einkaufsliste aufschreiben und würde mich
um Korrekturen freuen:
Steckplatine
ATmega8
R1 Widerstand 10 kOhm
C1 Keramikkondensator 47 nF
C2, C3, C4 Keramik- oder Folienkondensator 100 nF
Quarzoszillator 4 MHz (Brauch ich das????)
Kabelsatz
LED's
Resetschalter
AVRISP MKII
Fehlt noch irgendwas? Vielen Dank schonmal :-)
Erich schrieb:> @ David M.> Du solltest beschreiben, was du konkret machen möchtest, was das Ziel> des erlernens sein soll.> Einzelne Leuchtdioden oder LCD ansteuern, Temperaturen messen, sowas in> der Art.> Nur Hobby oder studienbegleitend? Was Vorkenntnisse sind schon> vorhanden?> Und wieviel Zeit (in Stunden) über wieviele Monate du dich damit> beschäftigen möchtest.>> Vom Kauf von einzelnen Bauteilen rate ich auf jeden Fall ab!> Du brauchst für den Anfang was "sofort funktionsfähiges" mit> reproduzierbaren und funktionsfähigen Beispielen.>> Insofern ist Arduino (das Orginal!) für den blutigen Anfänger nicht mal> schlecht, denke ich. Auch wenn hier jetzt ganz viel Antwortgeber> aufheulen werden.> http://www.arduino-tutorial.de/>> Und nochwas: Wenn du kein Geld hast im dir das 50.- Euro Board + weitere> 50.- für zusätzliche Krimkrams leiten zu können --- vergiss' es.>> Nach 1/2 Jahr kannst das dann wegtun und dir was besseres kaufen, falls> du mit dem neuen Hobby überhaupt soweit durchhälst.>> Gruss
Also ich mache das ganze Studiebegleitend aber auch hobbymäßig. Mein
Ziel ist es erstmal den generellen Aufbau zu verstehen und dann
vielleicht die ein oder andere LED anzusteuern. Wenn ich dann mal soweit
bin, würde ich gerne einen kleinen, fahrenden Roboter bauen, der seine
Richtung ändert, sobald er gegen eine Wand fährt.
Wie viel Zeit ich investieren kann hängt auch davon ab, ob
Semesterferien sind. Momentan leider nicht, daher muss ich mit max.
10-12 Stunden/Woche auskommen.
Der Kenntnisstand, was E-Technik betrifft, ist nicht sehr weit
(lediglich Grundlagenwissen der Digital-Technik). Programmierung,
bedingt durch mein Studium, gut :-)
David M. schrieb:> Quarzoszillator 4 MHz (Brauch ich das????)
Sofern du mit einem externen Quarz arbeiten willst, ja. Ich kenne mich
mit Atmels Controller nicht aus, aber spontan würde ich jetzt mal Raten,
dass der bestimmt auch einen internen Oszillator hat und du den nicht
brauchen würdest. (Angaben ohne Garantie, müsstest im Datenblatt
nachschauen ob ein interner Oszillator vorhanden ist!)
David M. schrieb:> LED's
Denk dran, nicht irgendwelche LED's zu kaufen. Schau was für eine
Spannung sie benötigen. Wenn dein Controller mit 3V3 betrieben wird,
dann solltest du passende LED's wählen. Die meisten funktionieren da
aber Problemlos.
Zudem brauchst du für die LED's Vorwiderstände. Diese musst du
berechnen. Dazu gibt es zahlreiche Onlinerechner über Google zu finden,
oder du liesst den entsprechenden Beitrag auf Elektronik-Kompendium
durch.
David M. schrieb:> R1 Widerstand 10 kOhm
Kauf hier dann ruhig direkt ein bisschen mehr. 10kOhm Widerstände wirst
du oft brauchen und die kosten nichts. Hol dir davon ruhig gleich mal 20
Stück oder mehr.
Zudem Empfehle ich hier weitere Standartwerte, am besten holst du dir
noch ein paar 100E, 1k, 2k, 4k7 Widerstände. Dann hast du immerhin schon
mal ein paar Vorhanden.
Zudem: Wie willst du dein Board betreiben? Hast du ein Einstellbares
Netzgerät? Wenn du dieses direkt auf die 3V3 bzw. 5V, je nachdem wieviel
dein Controller benötigt einstellen kannst, dann ist das kein Problem.
Sollte da nur eine fixe Spannung zur Verfügung stehen welche nicht
passt, brauchst du noch Spannungsregler.
San Lue schrieb:>> Denk dran, nicht irgendwelche LED's zu kaufen. Schau was für eine> Spannung sie benötigen.LEDs arbeiten mit STROM nicht mit Spannung.
Allenfalls könnte die Vorwärtsspannung zu hoch sein. Das kann eigentlich
nur bei blauen oder weißen LEDs passieren (um die 3,5V).
Diese Einkaufslistenberatung finde ich immer recht suboptimal.
David M. schrieb:> Steckplatine> ATmega8> R1 Widerstand 10 kOhm> C1 Keramikkondensator 47 nF> C2, C3, C4 Keramik- oder Folienkondensator 100 nF> Quarzoszillator 4 MHz (Brauch ich das????)> Kabelsatz> LED's> Resetschalter> AVRISP MKII>> Fehlt noch irgendwas? Vielen Dank schonmal :-)
Quarzoszillator ist am Anfang nicht notwendig. Der Atmega läuft ohne und
kann man später nachkaufen. Üblich wäre ein Qurz plus 2 x 22pf
Kondensatoren.
ResetTASTER!
Einfaches Multimeter für 20 bis 50 Euro schon vorhanden? Später oder
viel später ist ein einfaches Oszilloskop fast unverzichtbar.
Stromversorgung: Stabilisiertes Steckernetzteil, 5V 1A ?
Werkzeug?
.
.
cyblord ---- schrieb:> LEDs arbeiten mit STROM nicht mit Spannung
Stimmt schon, trotzdem wirst du zum berechnen des Vorwiderstandes die
Spannung über der LED brauchen. Aber ja, stimme dir zu, man hätte es
besser Formulieren können.
San Lue schrieb:> Wenn dein Controller mit 3V3 betrieben wird,> dann solltest du passende LED's wählen
Mit "Elektronik - gar nicht schwer" wär das nicht passiert ;-)
NichtSchon Wieder schrieb:> Später oder> viel später ist ein einfaches Oszilloskop fast unverzichtbar.
Wenn das Geld im studentischen Klingelbeutel knapp sein sollte, dann
vielleicht besser zuerst ein kleiner Logik-Analysator. Nur so als
Anmerkung. Besonders vordringlich ist beides heute für Dich natürlich
nicht.
Marek Walther schrieb:> Zu Konrad geht man nur, wenn es vor Ort liegt und man mal schnell für> ein Projekt ein paar Bauteile benötigt.
Beides scheint bei ihm der Fall zu sein, wenn ich es richtig verstanden
habe. Ansonsten stimmt aber, was Du sagst.
Marek Walther schrieb:> Atmel Programmer MK II> http://www.pollin.de/shop/dt/Mzk3OTgxOTk-/Bausaetze_Module/Module/Programmer_ATMEL_AVR_ISP_MKII.html> für ca 40,-> Ist teuer, aber gerade als Anfänger würde ich da keine Experimente mit> einem billiggerät machen. Es lohnt sich einfach nicht.
Ganz besonders das würde ich fettest unterstreichen.
Marek Walther schrieb:> Ich denke, du wirst dir da für ca. 120,- eine passable Erstausstattung> zusammenstellen können. Einiges wirst du beim Suchen sicherlich auch> günstiger finden. Eventuell gibt es ja noch weitere Tipps.
Wow. Super Antwort, dass gibt mir doch schonmal einen guten Überblick!
Allerdings bin ich mir jetzt doch irgendwie unsicher. Vielleicht wäre es
doch besser, mit einem fertigen Board anzufangen. Anschließend kann man
immer noch in die Tiefe gehen :-)
Wenn man so ein fertiges Board hat, muss man dann auch noch irgendwelche
Widerstände etc. verwenden oder wie wird das da geregelt? Wie kann ich
LED's anschließen?
Sorry für die vielen Fragen...
Für nen günstigen Einstieg in die Welt der AVRs mit Breadboard und ein
paar Bauteilen finde ich guloshop.de praktisch, habe mir da selber
kürzlich ein paar Sachen bestellt.
David M. schrieb:> Wie kann ich> LED's anschließen?
Das kommt auf das Board an. In der Regel wird es so sein, daß Deine
Peripherieteile mit dem Board sozusagen "logisch" kommunizieren und Du
Dich deshalb um deren elektronisch-physisch korrekte Anbindung selbst
kümmern musst. Du wirst also z.B. für eine LED normalerweise einen
Vorwiderstand brauchen. Bei 5V und einer roten Feld-Wald-und-Wiesen LED
passt zum Beispiel 220 Ohm ganz gut, dann brennt Dir die LED sicher
nicht durch und leuchtet trotzdem deutlich.
Deshalb die Wiederholung der wärmsten Empfehlung:
Leg Dir die oben von mir genannte Elektor-Buchreihe zu, der Conras
dürfte die sogar im Laden stehen haben.
Auch ganz nett ist von Herbert Berntein das "PC-Elektronik Labor"
und/oder das "Digital-Labor". Dort lernst Du recht intuitiv, mit
Schaltungssimulationssoftware a la PSPICE herumzuspielen. Diese Bücher
gibt es regelmäßig noch im modernen Antiquariat (terrashop,
bücherbillig, ...) und bei ebay.
Es gibt natürlich auch viele andere, gute Bücher, aber mit ein paar
konkreten Titeln kannst Du mehr anfangen als mit vielen ungefähren.
Schmökere diese Büchlein durch, und schon wird Dir vieles sehr schnell
geradezu wie Schuppen von den Augen fallen. Besonders wird Dir ruckzuck
klar, was Standardbauteile sind, welche Du wirklich brauchst, und wie
sie benutzt werden. Diese Standard-Bauteile sind überwiegend
spottbillig, Du wirst sie ständig für irgendetws benötigen, und viele
sie sind auch schon erwähnt worden.
Solche Bauteile kauft man aber schon aus ökonomischen Gründen mindestens
im 10er-Pack, und außerdem fällt natürlich stets zum ungünstigsten
Zeitpunkt irgendsoein Teil vom Tisch und ward nie mehr gefunden :-)
Noch ein anderes Thema:
es ist zweckmäßig, sich frühzeitig einen einfachen Lötkolben (Pollin,
3,95 Euro) und bleiHALTIGES Lötzinn, ein paar Prüfschnüre, ein einfaches
Multimeter und ein einfaches Netzgerät zuzulegen.
Sabine W. schrieb:> finde ich guloshop.de praktisch
Stimmt, auch ehajo ist hier noch zu nennen, ist sehr ähnlich. Der ist
auch hier im Forum unterwegs. Nein, ich bin's nicht und bin auch nicht
mit ihm verwandt ;-)
David M. schrieb:> Wenn man so ein fertiges Board hat, muss man dann auch noch irgendwelche> Widerstände etc. verwenden oder wie wird das da geregelt? Wie kann ich> LED's anschließen?
Wie kannst du aus den Empfehlungen, bei denen jedes verfügbare Board
dabei ist, das für dich richtige auswählen? LEDs hat fast jedes drauf.
Modifikationen von zB Vorwiderständen für zB Multiplex ist ohne Eingriff
ins Board nicht möglich und landet wieder in einer externen Schaltung,
wahrscheinlich auf Steckbrett.
Eigene µC Schaltung auf Steckbrett ist gar nicht so schwer und der
Lerneffekt ungleich größer. Zu Beginn mehr Aufwand, um die Komponenten
zu besorgen aber dann hat man die jedenfalls schon mal "in der Hand"
gehabt.
Hi
Ich muss da auch mal was loswerden. Einen Controller zu programmieren
ist etwas anderes, als auf einem PC eine Anwendung schreiben. Der
Controller ist Hardware, und da sind gewisse Kenntnisse über Strom und
Spannung sowie Bauteile aller Art unabdingbar. Wenn du schon jetzt nicht
weißt, was ein Widerstand ist und wozu Kondensatoren gut sind, oje, da
hast du noch ein schönes Stück Arbeit vor dir. Klar, ich kann in einen
Controller ein Programm laden... dafür sind sie da. Aber, und das ist ja
das Interessante, mit diesem Controller kann ich die unterschiedlichsten
Geräte bauen. Das was drumrum ist, macht erst die Funktion in Verbindung
mit der Software. Und du sagst, programmieren bist du gut? Na, dann lass
dich mal von der Sturheit eines Controllers eines besseren belehren. Das
beginnt schon damit, das du mit begrenztem Speicher auskommen musst.
Aber ich will dich nicht entmutigen. Im Gegenteil, es ist wirklich ein
interessantes Gebiet und möglicherweise wirst du auch richtig Spaß dabei
haben. Aber bau nicht auf "ich kann das schon". Das es dir schwer fällt,
damit zu beginnen zeigst du uns schon mit deiner Fragestellung. Es ist
der gefühlte tausendste Beitrag "Was brauche ich als Anfänger" und es
sind mindestens ebensoviele Auflistungen vom Widerstand bis zum
Meßgeraät.
Gruß oldmax
NichtSchon Wieder schrieb:> Eigene µC Schaltung auf Steckbrett ist gar nicht so schwer und der> Lerneffekt ungleich größer. Zu Beginn mehr Aufwand, um die Komponenten> zu besorgen aber dann hat man die jedenfalls schon mal "in der Hand"> gehabt.
Genau, denn eigentlich ist es ja völlig egel, ob Du Deine LED (oder was
auch immer) an den nackten Controller oder an das nackte
Evaluationsboard hängst - Du wirst das Zeug immer anpassen müssen! Wenn
Du das (noch) nicht kannst, wird es immer problematisch sein, Deinen
Controller bzw. das Board mit der Außenwelt kommunizieren zu lassen. Das
ist ein bischen wie Wachkomma-Patienten mit Lock-In-Syndrom: die können
unter Umständen bei vollem Bewusstsein ganz normal denken, hören und
sehen, sind aber nicht zur allerkleinsten motorischen Äußerung fähig.
So ähnlich ist es, wenn Du das pfiffige Programm im Controller wie im
Board - ganz egal - nicht zur Interaktion mit der Außenwelt bekommst,
weil Du Peripherie nicht korrekt angeschlossen bekommst.
oldmax hat's gut auf den Punkt gebracht.
In Abwandlung eines Gorch Fock - Zitats möchte man Dir raten:
"Elektronik tut not!"
oldmax schrieb:> Wenn du schon jetzt nicht> weißt, was ein Widerstand ist und wozu Kondensatoren gut sind, oje, da> hast du noch ein schönes Stück Arbeit vor dir.
Ein paar Beiträge weiter oben schrieb der TO dass er unter anderem z.B.
irgendwann mal eine LED ansteuern will. Für sowas ist nun wirklich keine
riesige Erfahrung notwendig. Da reicht ein bisschen einlesen im
Internet. Aber sonst stimme ich dir zu.
oldmax schrieb:> Das> beginnt schon damit, das du mit begrenztem Speicher auskommen musst.
Er will eine LED Blinken lassen und ein bisschen Programmieren lernen,
solche Programme benötigen wohl kaum die Speicherkapazität, welche
solche uC's heutzutage zur Verfügung stellen. Da braucht es schon was
ordentliches, um den Speicher eines solchen Teils vollzukriegen,
zumindest bei den neueren Controllern welche ohnehin alle genügend
Speicher für solche Anwendungen haben.
San Lue schrieb:> und ein bisschen Programmieren lernen,
Er KANN programmieren, er studiert das. Was er (noch) nicht kann, ist
eine Controllerschaltung elektrisch korrekt und sicher aufbauen. Das
wird er aber bei seinem Intellekt in kürzester Zeit in ausreichendem Maß
draufhaben können.
oldmax schrieb:> Hi> Ich muss da auch mal was loswerden. Einen Controller zu programmieren> ist etwas anderes, als auf einem PC eine Anwendung schreiben. Der> Controller ist Hardware, und da sind gewisse Kenntnisse über Strom und> Spannung sowie Bauteile aller Art unabdingbar. Wenn du schon jetzt nicht> weißt, was ein Widerstand ist und wozu Kondensatoren gut sind, oje, da> hast du noch ein schönes Stück Arbeit vor dir. Klar, ich kann in einen> Controller ein Programm laden... dafür sind sie da. Aber, und das ist ja> das Interessante, mit diesem Controller kann ich die unterschiedlichsten> Geräte bauen. Das was drumrum ist, macht erst die Funktion in Verbindung> mit der Software. Und du sagst, programmieren bist du gut? Na, dann lass> dich mal von der Sturheit eines Controllers eines besseren belehren. Das> beginnt schon damit, das du mit begrenztem Speicher auskommen musst.> Aber ich will dich nicht entmutigen. Im Gegenteil, es ist wirklich ein> interessantes Gebiet und möglicherweise wirst du auch richtig Spaß dabei> haben. Aber bau nicht auf "ich kann das schon". Das es dir schwer fällt,> damit zu beginnen zeigst du uns schon mit deiner Fragestellung. Es ist> der gefühlte tausendste Beitrag "Was brauche ich als Anfänger" und es> sind mindestens ebensoviele Auflistungen vom Widerstand bis zum> Meßgeraät.> Gruß oldmax
Das wäre ja schön wen jeder sofort alles wissen könnte. So ist es leider
nicht. Bei einem recht komplexen Thema wie der MC-Programmierung sind
insbesondere Anfänger eben oft überfordert und ich denke ich spreche da
für viele, die damit anfangen, dass eben der eine Anfänger-Thread dem
anderen Anfänger nicht verständlich ist (wie ich ja auch schon oben
irgendwo erwähnt habe).
In C habe ich eben schon einiges gemacht, daher ist in der Hinsicht eine
wesentlich bessere Basis vorhanden, was mir den Einstieg in die
eigentliche Programmierung auf jeden Fall erleichtern wird. "Ich kann
das schon" habe ich niemals gesagt, da werden sicherlich auch Fragen
aufkommen, aber darum ging es ja an dieser Stelle auch nicht.
Montagmorgen schrieb:> San Lue schrieb:>> und ein bisschen Programmieren lernen,>> Er KANN programmieren,
Die Frage ist, WAS kann er programmieren?
David M. schrieb:> Also in Assembler und auch in C habe ich schon recht viel Programmiert,> ich denke da ist schon eine gute Basis vorhanden (der Kontext war> natürlich ein anderer).
In seinem Startpost steht allerdings:
David M. schrieb:> Ich habe mir schon seit längerem vorgenommen, mit der Programmierung von> Mikrocontrollern anzufangen.
Was nun? Man kann davon ausgehen, dass er bisher Computer programmiert
hat, womöglicherweise Konsolen Anwendungen etc. Es ist nunmal eine
Tatsache, dass ein Mikrocontroller sich schnell Quer stellt. Auf einem
Computer tippst du deine Zeilen ein, um den rest musst du dich nicht
kümmern. Bei einem Mikrocontroller kommt die Initialisierung dazu, was
die Sache, je nach Controller, schnell komplizierter werden lässt.
Allerdings dürfte das für jemanden mit Programmiererfahrung machbar
sein.
Hi
Nun beginnt es Spaß zu machen.... Es ist nie die Rede nur von einer LED>Wenn ich dann mal soweit bin, würde ich gerne einen kleinen, fahrenden >Roboter
bauen, der seine Richtung ändert, sobald er gegen eine Wand fährt.
Aber das spielt auch gar keine Rolle. Mag sein, das er gut programmieren
kann? Ich kann es von hier aus nicht beurteilen, aber was ich gesagt
habe, das es etwas anderes ist, ein PC Programm zu schreiben oder einen
Controller zu vermurksen, dazu stehe ich. Wie oft sind denn hier Fragen
bezüglich Datenarrays gekommen, wo welch Wunder, ein Controller
plötzlich anderer Meinung als sein Herr und Schöpfer war. C hat keine
Probleme mit dynamischer Speichernutzung.... rekursiven Aufrufen und was
auch immer Stack und Speicher beeinflusst. Auf dem PC hab ich mir
darüber nicht wirklich den Kopf zerbrochen. Ja, ich weiß, auch da gibt
es kritische Strukturen, aber die liegen so weit oben...
Gut genug gefaselt. Ich denke, es ist von mir alles gesagt. Ohne
Kenntnisse in Elektronik wirds mit dem Controller nix, und das beginnt
schon beim Blinken einer LED. Ohne Widerstand blinkt sie da nämlich
nicht sehr oft.
Gruß oldmax
oldmax schrieb:> Ohne> Kenntnisse in Elektronik wirds mit dem Controller nix, und das beginnt> schon beim Blinken einer LED. Ohne Widerstand blinkt sie da nämlich> nicht sehr oft.
Meine Rede ...
Fassen wir's zusammen:
David kann mit C umgehen, und Assembler ist ihm auch geläufig. Welcher
Assembler, ist nicht bekannt, ist aber auch egal. Im Zweifelsfall kommt
halt noch eine neue Assemblersprache hinzu. Das wird ihn nicht
intellektuell überfordern.
Wo es nach eigener Aussage und auch erkennbar noch fehlt, ist das Wissen
um elektronische Grundtatbestände. Das kann er sich aber innerhalb
kurzer Zeit ohne Probleme draufschaffen.
Wenn er das tut, dann wird er recht bald recht souverän eigene Ideen mit
einer beliebigen Controller-Familie seiner Wahl (z.B. AVR oder PIC oder
MSP430) wahrscheinlich in C umsetzen und das alles ziemlich geil finden.
Wenn er diese einfachen elektronischen Grundlagen partout nicht lernen
mag, dann wird er immer darauf angewiesen bleiben, daß irgendjemand vor
ihm mal so freundlich war, die passende Hardware massgeschneidert
vorzufabrizieren. Dieses Ding heisst dann "Shield" (beim Arduino) oder
"Cape" (beim Beagleboard) oder sonstwie.
David M. schrieb:> Ich würde das Thema gerne sehr grundlegend angehen
ist das dann aber hundertprozentig nicht.
Wo kein Shield, da ist dann unbarmherzig Ende der Fahnenstange.
Das, was Du an Formeln brauchst, um eine LED anzusteuern ist:
U = R * I
oder anders ausgedrückt
Spannung [V] = Widerstand[Ohm] * Strom [A]
Kondensatoren kommen da noch nicht vor.
und nimm mal bei 3,3V-Prozessor einen 220 Ohm-Widerstand in Reihe von
Prozessorpin - Widerstand - LED - Schaltungsmasse.
Wenn der Pin von deinem Programm HIGH = 3,3V geschaltet wird, leuchtet
die LED. Die soll so zwischen 10-20 mA bekommen, mehr nicht. Falls sie
nicht leuchtet, hast Du sie verkehrtrum eingebaut, dann muss das andere
Füßchen auf Masse = 0V.
Bei einem fertigen Wattuino Mini-Board hast übrigens den Spannungsregler
schon drauf (Eingang bis 12 V möglich)
Okay, also was ich jetzt aus dem ganzen Thread entnehmen konnte, ist,
dass E-Technik Grundlagen zwingend erforderlich sind (wenn man wirklich
wissen will, was man da so veranstaltet). Außerdem muss ich mich auch
bei der Programmierung noch einigen Hürden stellen.
Ich werde in den kommenden Tagen versuchen, etwas auf die Beine zu
stellen und eure zahlreichen Anregungen dabei beachten. An dieser Stelle
schonmal vielen Dank, ich bin auf jeden Fall einen Schritt weiter
gekommen. Nun werde ich mich erstmal mit E-Technik beschäftigen und bei
Problemen werde ich mich sicherlich nochmal melden.
Was meine Kenntnisse in Assembler und C betrifft:
Ich habe kleine Anwendungen im Betriebssystem-Kurs meines Studiengangs
im MIPS-Assembler programmiert (und dann im SPIM-Simulator getestet) und
im gleichen Kurs auch den umgang mit UNIX Systemcalls in C geübt.
Ansonsten kleinere C-Konsolen-Anwendungen und verteilte Programmierung
(Socket etc.)
David M. schrieb:> ATmega8
Hallo David,
nur mal eine Frage Interesse halber.
Warum hast Du dich speziell für Atmel entschieden?
Schließlich gibt es noch andere Controllerhersteller.
L.G.
Micha
Zum Controller hätte ich noch ein paar Einwände.
Heutzutage ist 3,3V das neue 5V. Das heißt, das heute viele Module und
Bausteine nur noch mit 3,3V betrieben werden und nicht mehr kompatible
zu 5V sind. Daher sollte man beim Controller eventuell darauf achten,
dass diese auch mit 3,3V arbeiten.
Beim Atmega 8 sollte man dann lieber zu Version Atmega8L greifen. Auch
sind die moderneren Atmegas wie der 48/88/168 in der Lage mit 3,3V zu
arbeiten.
Neben den altbekannten Atmegas gibt es noch die ARM-Schiene, die hier
gerne mit dem STM32 thematisiert wird. Dazu gibt es bei Mouser passende
Entwicklungsboards, die ebenfalls mit 3,3V arbeiten und auf Breadboards
oder fertige Flachbaugruppen gesteckt werden können. Diese kommen auch
schon mit einem Programmer onboard, den man sich dann auch noch sparen
kann.
http://de.mouser.com/ProductDetail/STMicroelectronics/STM32L100C-DISCO/?qs=sGAEpiMZZMukBJem%252bjLAJ95xbfiwA3Yj
Hierfür sollte es auch schon gute Entwicklungsumgebungen geben.
Eine weitere ARM-Schiene kommt von NXP und es gibt hier den LCP810 mit
ca. 0,80 EUR sehr günstig. Dafür gibt es auch ein Starterkit.
https://learn.adafruit.com/getting-started-with-the-lpc810/introduction
Kann man sich aber selber günstiger zusammenstellen.
Als Entwicklungsumgebung kann man sich die IAR-IDE laden und als
beschränkte Vollversion registrieren. Die Beschränkung bezieht sich hier
auf die max. Codegröße, was für die kleinen Controller aber mehr als
ausreichend ist.
http://www.iar.com/Products/IAR-Embedded-Workbench/
Die Controller verfügen über einen eigenen Bootloader, daher ist für die
Programmierung nur ein USB/Serial Kabel notwendig oder der von mir oben
verlinkte BT/Serial Adapter. Als Software kann Flash Magic verwendet
werden.
http://www.flashmagictool.com/
Wenn man einmal bei Amazon oder bei aliexpress nach adruino sucht,
bekommt man diverse Module ausgeworfen, die ohne weiteres auch für rohen
Einsatz an einem MC geeignet sind. Dann lernt man auch gleich, wie diese
arbeiten und angesprochen werden.
http://www.amazon.de/s/ref=sr_pg_1?rh=i%3Aaps%2Ck%3Aarduino+modul&keywords=arduino+modul&ie=UTF8&qid=1398692635http://www.aliexpress.com/wholesale?SearchText=adruino+modul&catId=0&initiative_id=SB_20140428054442
Die Adruino-Schiene wäre dann der letzte meiner Vorschläge. Man kann
damit zwar schnell gute Ergebnisse erzielen, es ist aber eine
Einbahnstrasse und bei komplexen Problemen nicht immer einsetzbar.
Mein Favorit für einen Einsteiger bleibt aber weiterhin Breadboard und
ATmega. Aber ein Blick über den Tellerrand sollte man schon mal wagen.
David M. schrieb:> Okay, also was ich jetzt aus dem ganzen Thread entnehmen konnte, ist,> dass E-Technik Grundlagen zwingend erforderlich sind (wenn man wirklich> wissen will, was man da so veranstaltet).
Du musst Spannung und Strom auseinander halten können und für den Anfang
mit dem Ohmschen Gesetz umgehen können. Reihenschaltung,
Parallelschaltung.
Wenn du die Analogie mit dem 'Wassermodell' des Stroms verinnerlicht
hast, dann ist das fürs erste genug.
Damit 'erschlägst' du schon mal recht viel.