Forum: Mikrocontroller und Digitale Elektronik Was brauch ich um mit Microcontrollern zu arbeiten?


von Bench (Gast)


Lesenswert?

Hi zusammen,

bin absoluter Neuling in Sachen Microcontroller aber habe vor mich in 
die ganze Sache ein bisschen reinzuarbeiten.

Mein Vorhaben:
Anfangs würde ich gerne einfach mal ein bisschen mit Dioden rumspielen 
und diese halt unterschiedlich blinken lassen.
beim kauf des Testboardes möchte ich aber auch draquf achten, dass ich 
später dann auch mal mit einem LCD-Display arbeiten kann...!

bin im besitz von Visual Studio Prof. 2005 und acuh recht fit in c++!
da schon meine erste Frage:
geht das denn mit c++?

dann:
Was/welchen Compiler brauche ich dazu!Will mir keinen Dongle kaufen!
Also sollte es wenn möglich freeware sein!

Welche Harware brauche ich?
->Welches Evaluationboard?
->Kabel?
->Was brauch ich zum Debuggen des Controlers? (JTAG)

Vielleicht kann mir jemand mal eine kleine Liste schreiben, was ich für 
mein Vorhaben benötige, wo ich das bestellen kann und was es ca. kosten 
würde!

Wäre sehr dankbar dafür!!!

danke Bench

von Gerhard (Gast)


Lesenswert?

Hallo bench

zunächst musst du dich für eine Firma entscheiden: ATMEL oder Microchip 
z.B.
Ich kenne nur Microchip. Hier braucsht du z.B. ein PICKIT2 oder ein ICD2 
zum Programmieren und einen C-Compiler. Für PIC18 gibts von Microchip 
eine kostenlose Studentenversion. An Boards gibts z.B.
http://www.reichelt.de/?;ACTION=3;LA=4;GROUP=A38;GROUPID=2969;ARTICLE=72928;START=0;SORT=artnr;OFFSET=1000;SID=153ZhbNtS4AQ8AAAZ0HuQ91f550a12b868ff213495313575ac1d4

bei Reichelt. das ist ein Board mit dem PICKIT2. ich selbst arbeite mit 
dem ICD2. das kostet aber ein paar Mark mehr als ein PICKIT2. Mit dem 
PICKIT2 kann man auch debuggen.

Zum Programmieren: Microcontroller werden zumeist in C, Assembler oder 
Basic programmiert, mit C++ eher weniger. Visual C++ nützt nix, da du ja 
keinen Intel programmierst.

Also für PIC18 braucsht du:
PICKIT2
ein Demoboard
MPLAB (das ist die IDE, gibts auch kostenlos von Microchip, aktuell 
gibts Version 8.00)
MPLAB C18 Studentneversion

Gruß
Gerhard

von pcbfreak (Gast)


Lesenswert?

kannste hier ergründen

http://www.mikrocontroller.net/articles/AVR

oder kaufst dir die MSR-Bücher von Fanzis z.B. über Ebay, amazon, 
Buchladen
usw. allerdings kann man bei Problemen hier im Forum besser Hilfe durch 
andere User bekommen.

gruß Martin

von Jörg S. (Gast)


Lesenswert?

> geht das denn mit c++?
Üblich ist eher C, aber wenn man C++ kann, sollte das ja kein Problem 
sein ;)

> Was/welchen Compiler brauche ich dazu!Will mir keinen Dongle kaufen!
Na am besten einen kostenlosen :) Welcher genau hängt natürlich davon ab 
welchen µC du wählst.

Hier im Shop gibt es ja auch schon etliche Boards und Programmer, schau 
einfach mal durch. Ich als MSP Freund würde natürlich einen MSP430 
empfehlen :)
z.B.:
- JTAG Parallelportkabel 15€
- MSP430F1232 Entwicklungsplatine 15€
- IAR EW430 Kickstart Compiler 0€

von cp (Gast)


Lesenswert?

Ich bin hiermit angefangen, für den Einstieg fand ich es super. Vor 
allem der günstige Preis lockt.
Hier mal ne Ebay Nummer: 230229584530

Wenn du eine serielle Schnittstelle hast wäre das dass richtige für 
dich.
Das ganze gibt es aber auch in USB-Ausführung, dann würdest du bei 40€ 
liegen.
Gibt aber auch günstige USB->seriell Konverter, müssteste dann schauen 
ob du so vielleicht günstiger bei wech kommst.
Ansonsten findest du hier im Forum viel support was den AVR angeht und 
die passende Software ist auch Freeware..

von Vollhorst (Gast)


Lesenswert?

Hallo,

ich wiederum habe bisher nur mit ATMEL AVR Controllern gearbeitet und 
benutze dabei (super low cost):

Software (komplett kostenfrei)

AVRStudio: ATMEL Entwicklungswerkzeug (IDE \ Assembler \ Programmierung 
\ Debugging)

WinAVR: GNU C/C++ Compiler (allerdings habe ich persönlich bisher nur C 
verwendet)

Eclipse: Wunderschöne IDE. Mit entsprechenden Plugins (siehe hier im 
Forum) speziell für AVR Controller geeignet.

Hardware:

AVRDragon (~50€): Programmer (alle Prorammierarten werden unterstützt 
seriell \ HV seriell \ parallel) \ Debugger (JTAG\DebugWire allerdings 
bis 32K hat bei mir bisher locker gereicht)

Die Kabel/Adapter für die Programmierung \ Debugging habe ich bisher für 
die verwendeten Controller selbst gelötet.

Mit dieser Konfiguration habe ich bisher große Erfolge gefeiert...

von Bench (Gast)


Lesenswert?

Hi,

erstmals vielen Dank dass gleich so vile antwortet!
Ist echt klasse!

Also habe mir eigentlich gedacht, dass ich mich auf die Firma Atmel d.h 
quasi auf die ATmega Serie beschränke...!

Aber ich lass mich gerne eines besseren beleehren!?

Wie siehst da so mit den Features aus?

->Board (wenn möglich nicht zu teuer), welches halt dann auch mal ein 
bisschen mehr kann wen nich dann mal ein bisschen fitter bin.
Habe gelesen STK-Serie..!Sind aber recht tuer!Wie sihts mit dem 
Pony-Prog aus???
was kann das Board?Sind da schon Dioden zum testen drauf?
Kosten??

->Was brauch ich da zum Debuggen(JTAG)?Kosten??

->Klar coder C++ ist ja egal!Das pass schon!Aber welchen Compiler 
brauche ich dafür???(Wenn möglich kostenlos)

->Welche enwicklungsumgebung?AVRStudio?Kosten?
->reicht mir ein Serielles Nullmodem-Kabel über Komport?

Sorry, sind viele Fragen!
Aber bin sehr interessiert dran und möchte mir professonellen Rat holen!

Danke Bench

von Bench (Gast)


Lesenswert?

Sorry, habe eure Einträge zu spät gelesen...

von Guile Lampert (Gast)


Lesenswert?

Ich empfehle zum Start einen Prozessor der ATmega Serie.

Ein ATmega32 ist schon ganz nett für den Anfang.

Um unter Windows compilieren zu können brauchst Du dann WinAVR und als 
Entwicklungsumgebung und zum Debuggen empfehle ich AVRStudio von Atmel.

Ich nutze allerdings das Visual Studio als Entwicklungsumgebung und AVR 
Studio nur noch zum Debuggen.

Schönen Gruss!

von Oliver D. (smasher)


Lesenswert?

Kauf dir einfach mal den AVR mit LCD display.
Der Preis ist wirklich sehr günstig.


Ich habe selber nicht mit so einem Teil angefangen, sondern mit einem 
AT89S52.
...
Mit C Programmierung.

Mitlerweile bin ich auch bei den AVRs angelangt und programmieren in 
Assembler.

Ich denke, dass für den Anfang C schneller geht, als assembler.
Zumindest, was die Logik angeht, vor allem wenn man bereits C kann.

Das ist aber nunmal sehr subjektiv.

Ich kenne auch Leute, die mit assembler angefangen haben und nun gut 
programmieren können.


Probiers einfach aus

von Bench (Gast)


Lesenswert?

Hi,

ok habe mich für Atmel entschieden...!

Software:
habe mir jetzt die WinAVR gezogen!
dann das AVRStudio.

Hardware:
Kommunikation üner serrielle schnittstelle!(Nullmodemkabel)

was würdet ihr mir noch für eine Harware empfehlen:
->Board (AVRDragon, STK oder Pony-Prog)
->Möchte halt Debuggen können (JTAG)
->Bis 32k reicht erstmal völlig aus!
->sollten halt Testdioden oder so vielleicht drauf sein

Wie läuf das mit dem JTAG!
ist der auf dem Board?
Habe ich noch nicht so kapiert!

Danke Bench

von Bench (Gast)


Lesenswert?

HI ,

habe mir das Dragonboard mal angeschuat.
Sieht eigentlich sehr geil aus!

versteh nur noch nicht richtig, warum eine extra JTAG schnittstelle?

Wie läuft das ab?

1. Über Usb-kabel verbinden. Dann erkennt AVRStudio automatisch mein 
Board mit Microcontroller?._)

2. Wie laüft das dann mit der JTAG schnittstelle?

3. Wie spiel ich die Software auf den Controller?

Danke Bench

von Alexander (Gast)


Lesenswert?

Für den Einstieg kann ich das AVR Lehrbuch von Roland Walter empfehlen: 
http://www.rowalt.de/
Er benutzt zwar erst einmal BASIC zum Programmieren, der Umstieg auf C 
sollte danach aber nciht schwer sein. Es geht auch erst einmal um das 
Kennenlernen des AVR selber

Gruß, Alexander

von spess53 (Gast)


Lesenswert?

Hi

>Kommunikation üner serrielle schnittstelle!(Nullmodemkabel)

Kein Nullmodemkabel, normales 1:1 Kabel.

AVRs besitzen eine ISP-Schnittstelle zum Programmieren (meist 6pol. 
Steckverbinder). Damit kann der AVR auf dem Testboart oder in der 
eigentlichen Schaltung programmiert werden.
Zum Debuggen besitzen die grösseren ATMegas ein JTAG-Interface und die 
ATTinys und kleineren ATMegas ein DebugWire-Interface. Damit kann das 
Programm z.B. mit dem AVR-Studio Simulator direkt im Controller 
abgearbeitet   und beobachtet werden. Über diese Schnittstellen kann der 
Controller auch programmiert werden. Allerdings wird das nur von 
speziellen Programmern und Software unterstützt. Der Normalfall ist ISP.

MfG Spess

von Jörg S. (Gast)


Lesenswert?

Ich bin kein Atmel Experte, aber wenn ich richtig informiert bin, geht 
debuggen/JTAG nur mit dem "JTAGICE MK2" Programmer und das Ding ist 
nicht gerade billig.

von Ulrich P. (uprinz)


Lesenswert?

Das ist richtig. InSystem Debugging nur über DebugWire oder JTAG und 
dafür braucht man das teure ( 250..300€) Dongle.
Wenn man darauf aber verzichten kann, und das konnte ich bislang bei 
allen AVR Projekten, kommerziell wie privat, dann reicht ein 39€ AVRISP 
MkII für 39€ vollends aus.

Mein Start mit AVR war vor vielen Jahren eine Bestellung von vier 
AT90S8515 und ein paar Rest Lochraster. Heute mache ich kleine Tests und 
Vorentwicklungen auf einem Steckbrett und einem Mega32 oder Mega644, für 
große Dinge habe ich mir das STK525 mit einem AT90USB1287 geleistet, 
aber das ist nicht mehr billig.

Meine Entwicklungen starten meist damit, dass ich printf ans Rennen 
bekomme, also irgend eine Schnittstelle aktiviere. Dann kann man 
ausreichend gut debuggen. Für Prozessoren mit max. 128kB kann der Code 
eigentlich nicht so groß werden, dass man bei printf die Übersicht 
verliert, selbst wenn man aus Platzgründen mit kryptischen Kürzeln 
arbeitet.

Fange erst mal damit an und dann wirst Du sehen, dass das alles viel 
einfacher ist, als Du Dir das so vorstellst.

Gruß, Ulrich

von Johannes M. (johnny-m)


Lesenswert?

Ulrich P. wrote:
> Das ist richtig. InSystem Debugging nur über DebugWire oder JTAG und
> dafür braucht man das teure ( 250..300€) Dongle.
Nö, alle AVRs mit JTAG bzw. dW mit bis zu 32 KiB Flash lassen sich mit 
dem AVRDragon debuggen, und der kostet nur unwesentlich mehr als der 
AVRISP Mk. II...

von Bench (Gast)


Lesenswert?

Hi,

das heisst quasi, dass ich nur das Board brauche und dann meine Software 
direkt ohne zusatzmodul direkt aus dem AVRStudio raus debuggen kann!!!
(wenn natürlich kleiner 32k)

Ist das richtig?

Das wäre ja genial?Dann könnte ich mir den sau teuren Dongle sparen!

Danke Bench

von spess53 (Gast)


Lesenswert?

HI

Ja.

MfG Spess

von Bench (Gast)


Lesenswert?

Geile sache!!!danke

Ok nochmals für mich selbst zur Kontrolle:
Dann brauche ich:

->WinAVR-20071221-install.exe
->AVRStudio
->1:1 Kabel
->AVRDragon
->pasenden Microkontroller mit bis zu 32 KiB Flash mit JTAG u. dW
->PC, Programmierkenntnisse:-)

right?

wenn das jetzt stimmt, dann bin ich zufrieden!:-)

Danke Bench

von Karl H. (kbuchegg)


Lesenswert?

Bench wrote:
> Geile sache!!!danke
>
> Ok nochmals für mich selbst zur Kontrolle:
> Dann brauche ich:
>
> ->WinAVR-20071221-install.exe
> ->AVRStudio
> ->1:1 Kabel
> ->AVRDragon
> ->pasenden Microkontroller mit bis zu 32 KiB Flash mit JTAG u. dW
> ->PC, Programmierkenntnisse:-)
>
> right?
>
> wenn das jetzt stimmt, dann bin ich zufrieden!:-)

Wenn du Mikrocontroller einkaufst, kauf gleich ein paar mehr
ein. Es ist nicht ungewöhnlich, wenn man den ersten µC 'verfust'.
Und dann ist es gut, wenn man Ersatz hat.

von Bench (Gast)


Lesenswert?

Hi,

ok ist klar!

Dann passt das alles so und ich kauf mir gleich mal eine Hand voll 
Controller!

Wäre da der ATmega16 passen?

Bench

von spess53 (Gast)


Lesenswert?

Hi

Der Dragon hat USB-Anschluss. Da brauchst du ein USB-Kabel(ist nicht mit 
dabei) kein Serielles Kabel.

MfG Spess

von Bench (Gast)


Lesenswert?

Ok!

danke hab ich auch gerade gelesen!

Was für ein Controller ist für den Anfang gut?
ATmega16?

Danke

von Michael H* (Gast)


Lesenswert?

nimm dir ein paar megas (8/16/32) und ein zwei tinys (28/2313), damit 
bist du bestimmt bedient. sinnvoll wäre auf alle fälle der mega8, da das 
tutorial für ihn geschrieben wurde.
achja und nimm dir doch gleich ein paar externe quarze 
(baudraten-quarze!) mit.
grüße, holli

von Bench (Gast)


Lesenswert?

Hi,

klingt gut!
Welches Tutorial?Kannst ud mir den Link dazu schicken?

warum brauch ich Baudraten-Quarze?

Danke Bench

von Karl H. (kbuchegg)


Lesenswert?

Bench wrote:
> Hi,
>
> klingt gut!
> Welches Tutorial?Kannst ud mir den Link dazu schicken?

Scrollst du gaaaaaanz nach oben.
Dann guckst du links in der Link Leiste unter 'AVR'

> warum brauch ich Baudraten-Quarze?

Weil dann die Baudraten mit geringem Fehler eingestellt
werden können.

http://www.mikrocontroller.net/articles/Baudratenquarz

von Bench (Gast)


Lesenswert?

Hi ok, ist beides klar!
Vielen Dank!

Jetzt bin ich mal dran!:-)

Danke Bnech

von Michael H* (Gast)


Lesenswert?

diese österreicher... schneller als die polizei erlaubt =)

@Bench:
Beitrag "Anfänger Warenkorb"
vllt etwas viel lektüre, aber bestimmt sinnvoll.

von spess53 (Gast)


Lesenswert?

Hi

>nimm dir ein paar megas (8/16/32) und ein zwei tinys (28/2313), damit...

Das sind eigentlich schon etwas veraltete Typen, kannst du nehmen, aber 
ich würde z.B. ATMega48/88/168 , ATMega164/324/664 bevorzugen. Das sind 
Typen mit gleichen Pinout und IO-Austattung aber mit unterschiedlich 
grossen Speicher. Wenn mal der Platz nicht mehr reicht, kannst du 
problemlos auf den nächst grösseren umsteigen.
Noch was: Lade dir die Datenblätter der von dir verwendeten Controller 
von der Atmel Webseite und studiere sie gründlich. Es kommt hier nicht 
gut an, wenn Fragen gestellt werden, die im Datenblatt ausführlich 
behandelt werden.
Ausserdem hat Atmel ein umfangreiches Angebot an AppNotes die auch schon 
manche Frage beantworten können.

MfG Spess

von Vollhorst (Gast)


Lesenswert?

Hallo

einige Anmerkungen:

>nimm dir ein paar megas (8/16/32) und ein zwei tinys (28/2313), damit...

Also die aktuellen Versionen sind mehr zu empfehlen:

ATMega48/88/168
ATtiny13/24/25/261/461/861

Vorteil DebugWire. Die älteren Typen haben entweder gar keine Debug 
Möglichkeit oder JTAG (das verbraucht aber mehr Pins bietet aber nichts 
mehr von dem ich wüsste).

>Es ist nicht ungewöhnlich, wenn man den ersten µC 'verfust'. Und dann ist es gut, 
>wenn man Ersatz hat.

AVRDragon kann HV/Parallel programmieren. Damit bekommt man jeden (nicht 
physikalisch zerstörten) Controller wieder unter Kontrolle.

von Michael E. (rince)


Lesenswert?

Naja, du brauchst natürlich auch noch normalen Elektornik-Krams wie zum 
Beispiel ein Steckbrett, Netzteil, Spannungsregler, Widerstände usw.
Der Dragon ist "nur" ein Programmierboard und kein Experimentierboard.

Falls du dich für den Dragon entscheidest gebe ich dir noch einen Tip 
auf den Weg: Pass gut auf ihn auf. Er ist sehr fehleranfällig. Einmal 
was verkehrt angeschlossen und futsch ist er.

Also: Immer doppelt kontrollieren ob alles stimmt oder eine 
Schutzschaltung bauen (findet man im Internet, speziell für den Dragon).

Grüsse,

Michael E.

von P. (Gast)


Lesenswert?

Hallo Bench

ich bin auch Neuling in Sachen µC,
ich hab mir das Pollin Board für 15€ gekauft, da gibts einen Anschluss 
für externen JTAG, der ISP ist integriert, kann aber auch extern 
angeschlossen werden, und dann gibts da für 25€ auch noch ein 
Erweiterungsboard mit LCD und Audio-Endstufe (dieses habe ich noch nicht 
gekauft). Als Software habe ich mir AVR-Studio und PonyProg 
heruntergeladen, den Controller nach der Anleitung von 
http://s-huehn.de/elektronik/avr-prog/avr-prog.htm mit der Software von 
http://www.mikrocontroller.net/articles/AVR-Tutorial programmiert. Ob 
das alles eine gute Idee war weiß ich nicht, aber es hat funktioniert.

P.

von P. (Gast)


Lesenswert?

Ach ja, AtMega8

von G24 -. (Firma: G24-tec e.K.) (g24-tec)


Lesenswert?

AVR Dragon für Anfänger? Naja, nicht gerade das richtige denke ich. Es 
ist schon relativ teuer und für den Anfang ist es auch viel zu viel. Am 
Anfang reichts im Prinzip, wenn man sowas
http://myrobot.ru/stepbystep/mc_first_project.php
aufbaut (leider nur auf russisch =), aber die Bilder sprechen für sich)
Wenn man die LED zum Blinken gebracht hat, ist schon Einiges erreicht!

Falls es etwas mehr sein soll, dann kann man das Board holen, dass ich 
seit neuestem anbiete. In Kürze ist es: ATmega32 + USB + Bootloader 
(alles andere kann man im Datasheet nachlesen). Der Vorteil ist, dass 
man kein Programmiergerät braucht (s. Bootloader) und (wie vom Bench 
gewünscht =)) ein Paar LEDs und Taster schon mal auf dem Board hat. Der 
Preis ist denke ich auch  angemessen. Will hier aber nichts dazu sagen. 
Dazu kann sich ja mal jmd. sonst äußern. =)

Da ich im Moment sowas wie FAQ machen will, bin ich auch bereit die 
Fragen zu beantworten und so Leute, die das Board kaufen bei den ersten 
Schritten unterstützen.

von Vollhorst (Gast)


Lesenswert?

@G24 - tec Beindruckend was hier versucht wird: Es ist eine echte 
Herausforderung, sich in der Online-Hilfe die Kontaktbelegung der 
Steckerkontakte des AVRDragon reinzutun, die Datenblätter zu lesen und 
ein paar Kabel/Adapter zu löten.
Mein Fazit des Kommentars: Du bist zu blöd aber Dir kann geholfen werden 
mein kleiner Freund: lerne russisch und kaufe bei mir ein Tool/Platine, 
welche sonst keiner kennt (echter Geheimtipp!). Sehr hilfreich. Danke.

von Rene (Gast)


Lesenswert?

wenns einfach zu verstehen sein soll kann ich das hier gleich mit LCD 
wärmstens empfehlen:

http://myavr.de/shop/article.php?artDataID=16

oder eben für 12€ ohne LCD

gruß R.

von G24 -. (Firma: G24-tec e.K.) (g24-tec)


Lesenswert?

Vollhorst, der Link könnte genau so gut auf eine englische Seite gehen. 
Hätten Sie dann auch ein Problem, oder ist nur russisch die Sprache, die 
Ihnen nicht liegt? Wenn Sie irgendwo das, was ich zeigen wollte gesehen 
haben
http://myrobot.ru/stepbystep/images/mc_first2.gif
dann bitte.

Und ausserdem: jedes neue Produkt kennt keiner! Deswegen soll das 
Produkt nicht gut oder schlecht sein. Mein Board ist seit kurzer Zeit 
auf dem Markt und es gibt bereits Nachfragen. Spricht das nicht für 
sich?

Und nicht vergessen: Dragon ist für Viele genau so ein Geheimtipp.

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
Noch kein Account? Hier anmelden.