Forum: Mikrocontroller und Digitale Elektronik Eigenes Projekt für Anfänger: was brauche ich alles?


von Florian (Gast)


Lesenswert?

Hallo zusammen,
ich habe einen zweiwöchigen Blockkurs über Microcontroler hinter mir (am 
Motoroler 68000, aus dem Jahre 1980) und möchte mich nun weiter mit 
Microcontrolern beschäftigen.

Da ich wie gesagt nur mit dem obigen uralten Modell bisher gearbeitet 
habe, an den schon ein komplettes Gehäuse mit sämtlichen Ein- und 
Ausgängen dabei war, möchte ich nun geren wissen, welchen Controler ihr 
mir empfehlen könntet (und welche Peripherie usw.)um ein Projekt 
durchzuführen, das unter anderem auch kleine Schrittmotoren ansteuern 
soll, und wenn möglich auch eine Anzeige ansteuern kann (oder können das 
alle? ich hab keine Ahnung :)

Am besten wäre für mich eine Art Starter-Set, das die wesentlichen Teile 
bereits enthält und nicht allzu teuer ist.
Ich weiß, das ist jetzt alles ein bisschen schwammig, aber ich kenn mich 
leider noch ziemlich schlecht aus, weiß z.B. auch nicht, wie man so 
einen Controler dann programmieren soll? Gibt es da bestimmte Kabel und 
Softwared dazu, oder funktioniert das ganz anders?

Ich kann einigermaßen C programmiern, und Assembler ist mir auch nicht 
ganz fremd.

Wäre wirklich super, wenn mir jemand eine Art Crash-Kurs geben könnte, 
was ich alles brauche um anzufangen, und mir vllt. eine Empfehlung 
abgeben könnte, welcher Controler sich eignen könnte.

Dankschön und viele Grüße,
Flo

von Gerne (Gast)


Lesenswert?

Nimm doch das hier angebotene avr- tutorial durch.

von Thomas E. (thomase)


Lesenswert?

Florian schrieb:
> ich habe einen zweiwöchigen Blockkurs über Microcontroler hinter mir (am
> Motoroler 68000, aus dem Jahre 1980) und möchte mich nun weiter mit
> Microcontrolern beschäftigen.
> Da ich wie gesagt nur mit dem obigen uralten Modell bisher gearbeitet
> habe,

Da kannst du nur froh drüber sein, daß du an so einem Prozessor lernen 
durftest. Wenn du den verstanden hast, wird dir ein µC auch keine 
Probleme bereiten.

Gerne schrieb:
> Nimm doch das hier angebotene avr- tutorial durch

Das ist genau das richtige.

Und dann kaufst du dir eine anständiges Board, z.B. STK500, und legst 
los.

mfg.

von Florian (Gast)


Lesenswert?

vielen Dank erst mal für die Antworten!

es ist auch möglich, Motoren mit diesem Controler anzusteuern, oder? 
Weil wir im Praktikum Motoren immer an die parallele Schnittstelle 
angeschlossen haben, und ich glaube irgendwo gelesen zu haben, dass der 
Controler nur eine serielle Schnittstelle hat?
Oder kann man über eine serielle Schnittstelle auch Motoren steuern?

Bei uns wars zum Beispiel immer so, dass dass logisch 1 auf einem Pin 
des Ports gleich Motor ein war.

Gruss Flo

von Ben _. (burning_silicon)


Lesenswert?

für motoren brauchst du eine treiberstufe, ein pin eines AVR z.b. kann 
maximal 20mA liefern. das dürfte für die meisten motoren zu wenig sein, 
von den störungen bei bürstenmotoren die ich auf keinen fall im 
controller haben will mal abgesehen.

von Florian (Gast)


Lesenswert?

Wenn dann wäre der Motor über ein H-Brücke gesteuert, also der Pin des 
Controlers müsste nur einen Transistor schalten.

Gibt es eigentlich eine günstigere Alternative zum STK500-Board? Da ich 
eigentlich vorläufig nur ein kleines Projekt anfertigen möchte, müsste 
es nicht alle Raffinessen besitzten, was ich brauche ist eigentlich 
hauptsächlihc, dass ich ca. 2 Motoren und eine kleine Pumpe anschließen 
kann. Auch ein Gewichtssensor sollte anzuschließen sein. Außerdem 
sollten 2-3 verschiedene (kurze) Programme abzurufen sein und wenn 
möglich über eine Anzeige (LCD?) und verschiedene Tasten anzusteuern 
sein.

Das ist so grob, was ich benötige.
Ist dazu das STK500 wirklich nötig, oder gibt es eine billigere Lösung, 
die für diese Bedürfnisse ausgelegt ist?

Und wie funktioniert eigenlich dann das Programmieren? gibts da ein 
Kabel, mit dem ich PC und Controler verbinde, oder?

Wäre wirklich super wenn ihr mir helfen könntet, ich kann leider grade 
nicht einschätzen, was für ein Board und welchen Controler ich da genau 
benötige, da ich mich noch nicht sonderlich gut auskenne :)

Gruss Fló

von Florian (Gast)


Lesenswert?

ich hab mal ein paar günstigere boards rausgesucht, vllt. könnt ihr mir 
so grob erklären was der Unterschied ist, und auf was es genau ankommt 
(v.a. in Bezug auf meinen konkreten Fall), damit ich langsam eine Ahnung 
bekomme, was wofür gut ist, was unbedingt notwendig ist, und was nicht 
usw. :)

http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=108

http://shop.myavr.de/Systemboards/myAVR%20Board%20MK2,%20best%C3%BCckt.htm?sp=article.sp.php&artID=40

http://shop.myavr.de/Systemboards/myAVR%20Board%20MK1,%20best%C3%BCckt.htm?sp=article.sp.php&artID=4

von Sam .. (sam1994)


Lesenswert?

Ich finde das Atmel Evalutions Board von Pollin reicht auch gut. Und 
müsste wenn ich mich richtig erinnere als Bausatz nur 15€ kosten.

von JB (Gast)


Lesenswert?

Jo, das Pollin Board für 15€ und evtl noch die Erweiterung für 25€. Kann 
mir nix besseres vorstellen in Sachen Flexibilität.

Die Meinungen darüber gehen zwar auseinander, davon einfach nicht 
abschrecken lassen.

von Thomas (kosmos)


Angehängte Dateien:

Lesenswert?

Hallo Florian,

ich würde mir an deiner Stelle das oben genannte Pollinboard kaufen 
allerdings schon komplett aufgebaut. Man sollte am Anfang ein 
funktionierendes System haben, den die Fehlersuche ist echt 
frustrierend.
Dazu den AVR-ISP mkII als zuverlässiges Programmiergerät, kann man sich 
später auch noch kaufen da das Pollinboard einen simplen Programmer auf 
der Platine hat der über die serielle Schnittstelle geht. Allerdings 
gibt da öfter mal Probleme mit Ponyprog und anderen Programmen da man 
nicht direkt aus dem AVR-Studio raus programmieren kann. Deswegen meine 
Empfehlung den AVR-ISP mkII zu kaufen.

Als µC benötigst du einen mit einem Analog Digital Wandler und 
ausreichend Pins um deine Taster, Sensoren, LCD usw. anzuschließen. Ich 
würde hier gleich auf einen größeren setzen z.B. ATMega16 mit etwas 
Aufwand geht es aber auch mit einem kleinerem ich verwende hier z.B. 
einen kleinen ATTiny26(abgekündigt) mit einem Latch um den einen Port 
für das LCD und für andere Dinge gleichzeitig zu nutzen. Die Sensoren 
und der µC sind auf dem 2ten Board angeschlossen leider nicht auf dem 
Foto zu sehen.

Für kleine Motoren empfehle ich H-Brücken wie den L293D und außerdem 
kannst du dir dieses Tutorial mal durchlesen
https://www.mikrocontroller.net/articles/AVR-Tutorial

Ansonsten das STK500 kostet zwar etwas mehr hat aber schon integrierte 
Schalter und LEDs die man an die verschiedenen Sockel legen kann usw, 
man kann also seinen µC dort programmieren und notfalls die Pins auf ein 
Steckbrett rausführen.

von (Gast) (Gast)


Lesenswert?

Ich empfehle den Arduino, beispielsweise die nano-Variante. Programmer 
sozusagen mit drauf (FTDI/bootloader), Anschluss an USB, IDE&Compiler 
gibts dazu (avr-gcc+libraries+avrdude+IDE).
Gibts per ebay aus China ab etwa 15E - zugegebenermaßen mit deutlich 
Lieferzeit... Den kann man dann später auch als Programmer für andere 
µCs benutzen.

Als programmer kann ich ansonsten noch den MySmart USB light empfehlen 
(15E).

von Stepper (Gast)


Lesenswert?

Als Treiberbaustein für Schrittmotoren ist auch der A3967 zu empfehlen. 
Der wird dann direkt an einem Port des Prozessors angeschlossen. Die 
Stromversorgung für die Motoren erfolgt über eine getrennt 
Versorgungsspannung.

von MarioT (Gast)


Lesenswert?

Thomas O. schrieb:
> ich würde mir an deiner Stelle das oben genannte Pollinboard kaufen
> allerdings schon komplett aufgebaut. Man sollte am Anfang ein
> funktionierendes System haben, den die Fehlersuche ist echt
> frustrierend.

Das Pollinboard hat einen Fehler den man als Bausatz besser beheben 
kann.

von Florian (Gast)


Lesenswert?

Also erst mal vielen Dank für eure zahlreichen Antworten!

wenn ich das jetzt richtig sehe, wäre es wahrscheinlich am besten, mir 
das Pollin Evaluationsboard 
http://www.pollin.de/shop/dt/NTI5OTgxOTk-/Bausaetze_Module/Bausaetze/ATMEL_Evaluations_Board_V2_0_1_Fertigmodul.html
und die zugehörige Erweiterung
http://www.pollin.de/shop/dt/NjQ5OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_ATMEL_Addon_Board_V1_0.html
zuzulegen, und evtl, wie Thomas mir geraten hat, noch das 
Programmiergerät dazu.
Oder wäre es sinnvoller, gleich ein STK 500 zu kaufen, käme ja dann 
preislich fast aufs selbe raus... :)

Und nochmal zum Controller selbst: ich habe nochmal etwas intensiver 
nachgedacht, was ich alles genau brauche, kann aber schlecht 
einschätzen, ob ich einen Atmega8 oder einen Atmega16 benötige. Wäre 
nett, wenn ihr mir da ein bisschen bei der Entscheidung helfen und mir 
kurz die wesentlichen Unterschiede erklären könntet.

Das wesentliche wäre folgendes:
-LCD-Display
-3 SChrittmotoren und eine kleine Pumpe
-4 Sensoren (Füllstand, Lichtschranke,...)
-ein paar Taster

Reicht es da, wenn ich das die beiden oben genannten boards nehme, und 
den Atmega8 Controller dazu? (Ich habe leider noch keine Ahnung, wie 
z.B. ein LCD Display angeschlossen wird oder auch so ein Motor-Treiber, 
drum kann ich das alles schlecht einschätzten).


Was auch noch super wäre, damit ich ein bisschen ein Gefühl für das 
ganze kriege: was ist z.B. von solchen Sachen zu halten?


http://cgi.ebay.de/AVR-Atmel-Mega-Board-USB-ISP-Programmer-Bestuckt-/250790203254?pt=Bauteile&hash=item3a6442cf76

http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=108



Ich entschuldige mich für die vielen Fragen und freue mich auf eure 
Antworten :)

Viele Grüße,
Flo

von Sam .. (sam1994)


Lesenswert?

Florian schrieb:
> Und nochmal zum Controller selbst: ich habe nochmal etwas intensiver
> nachgedacht, was ich alles genau brauche, kann aber schlecht
> einschätzen, ob ich einen Atmega8 oder einen Atmega16 benötige. Wäre
> nett, wenn ihr mir da ein bisschen bei der Entscheidung helfen und mir
> kurz die wesentlichen Unterschiede erklären könntet.

Naja Atmega16 braucht man eher bei größeren Sachen. Bei einer SD-Karte 
zum Beispiel. Für den Anfang wird dir der Mega8 wahrscheinlich dicke 
reichen.
Wenn nicht gibt es den Pinkompitablen Atmega168.

Atmega16 hat halt doppelt so viel Ram, Flash und EEprom und ein bisschen 
mehr andere Sachen (Ausgänge, PWM...).

Florian schrieb:
> zuzulegen, und evtl, wie Thomas mir geraten hat, noch das
> Programmiergerät dazu.

Wenn du eine serielle Schnittstelle hast kannst du das Board darüber 
auch ohne Programmer programmieren.

Florian schrieb:
> Oder wäre es sinnvoller, gleich ein STK 500 zu kaufen, käme ja dann
> preislich fast aufs selbe raus... :)

Ich hab mir das Addon Board nicht gekauft. Auf den Eval Board sind ja 
auch ein paar Dinge: 3 Taster, 2 Leds, 1 Summer, RS232, und den Rest 
kann man auch auf einer Streifenraster Platine aufbauen über ein 
Flachbandkabel.

von Hannes L. (hannes)


Lesenswert?

Florian schrieb:
> Also erst mal vielen Dank für eure zahlreichen Antworten!
>
> wenn ich das jetzt richtig sehe, wäre es wahrscheinlich am besten, mir
> das Pollin Evaluationsboard
> 
http://www.pollin.de/shop/dt/NTI5OTgxOTk-/Bausaetze_Module/Bausaetze/ATMEL_Evaluations_Board_V2_0_1_Fertigmodul.html

Das ist eigentlich Pfusch. Es enthält gravierende Fehler im Design und 
erfordert aufgrund des Bitbanging-Programmers einen (alten) PC mit 
echter serieller Schnittstelle. Letzteres ist nicht der Fall, wenn ein 
zeitgemäßer Programmer wie AVR-ISP MK II verwendet wird. Aber dann 
braucht es das Pollin-Board auch nicht, dann genügt eine 
Lochrasterplatine und etwas Material.

> und die zugehörige Erweiterung
> 
http://www.pollin.de/shop/dt/NjQ5OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_ATMEL_Addon_Board_V1_0.html
> zuzulegen,

Keine gute Wahl, ist für Dein spezielles Projekt viel zuviel Brumborium, 
was Dir überall im Wege ist.

> und evtl, wie Thomas mir geraten hat, noch das
> Programmiergerät dazu.

Ein moderner Programmer sollte Pflicht sein. Ich besitze AVR-Dragon und 
STK500, nutze meist das STK500 als stinknormalen ISP-Programmer, der ISP 
MK II hätte mir also in den meisten Fällen gereicht.

> Oder wäre es sinnvoller, gleich ein STK 500 zu kaufen, käme ja dann
> preislich fast aufs selbe raus... :)

Für Dein spezielles Projekt ist das zuviel Ballast. Ein vernünftiger 
ISP-Programmer und eine Lochrasterplatine sind flexibler einsetzbar.

>
> Und nochmal zum Controller selbst: ich habe nochmal etwas intensiver
> nachgedacht, was ich alles genau brauche, kann aber schlecht
> einschätzen, ob ich einen Atmega8 oder einen Atmega16 benötige.

Beide Typen sind veraltet, der Mega8 ist abgekündigt. Nachfolger sind 
die Mega48er Reihe (DIL28) und die Mega164er Reihe (DIL40). In beiden 
Reihen gibt es verschiedene Größen, ich empfehle das Lesen der 
Datenblätter, wobei es erstmal nur auf die ersten 2 Seiten ankommt, also 
Feature-Auflistung und Pinbelegung.

> Wäre
> nett, wenn ihr mir da ein bisschen bei der Entscheidung helfen und mir
> kurz die wesentlichen Unterschiede erklären könntet.
>
> Das wesentliche wäre folgendes:
> -LCD-Display
> -3 SChrittmotoren und eine kleine Pumpe
> -4 Sensoren (Füllstand, Lichtschranke,...)
> -ein paar Taster
>
> Reicht es da, wenn ich das die beiden oben genannten boards nehme, und
> den Atmega8 Controller dazu? (Ich habe leider noch keine Ahnung, wie
> z.B. ein LCD Display angeschlossen wird oder auch so ein Motor-Treiber,
> drum kann ich das alles schlecht einschätzten).

Dann nimm Stift und Papier und zeichne Dir ein Blockschaltbild, bei dem 
es auf die Anzahl der benötigten Portpins ankommt. Wenn ich eine 
Bastelei vorbereite, drucke ich mir das Pinout aus und verteile die Pins 
indem ich sie mit Bleistift beschrifte, wobei ich natürlich auch auf die 
Spezialfunktionen achte. Gelegentlich sind mehrere Entwürfe nötig, bis 
ich mich für einen (oder einen Kompromiss) entscheide.

>
>
> Was auch noch super wäre, damit ich ein bisschen ein Gefühl für das
> ganze kriege: was ist z.B. von solchen Sachen zu halten?
>
>
> 
http://cgi.ebay.de/AVR-Atmel-Mega-Board-USB-ISP-Programmer-Bestuckt-/250790203254?pt=Bauteile&hash=item3a6442cf76
>
> http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=108
>
>
>
> Ich entschuldige mich für die vielen Fragen und freue mich auf eure
> Antworten :)
>
> Viele Grüße,
> Flo

...

von Sam .. (sam1994)


Lesenswert?

Hannes Lux schrieb:
> Das ist eigentlich Pfusch. Es enthält gravierende Fehler im Design und
> erfordert aufgrund des Bitbanging-Programmers einen (alten) PC mit
> echter serieller Schnittstelle. Letzteres ist nicht der Fall, wenn ein
> zeitgemäßer Programmer wie AVR-ISP MK II verwendet wird. Aber dann
> braucht es das Pollin-Board auch nicht, dann genügt eine
> Lochrasterplatine und etwas Material.

Eigentlich...
Warum eigentlich? Es hat bei mir immer funktioniert. Bisher hatte ich 
keine PC erlebt von dem ich nicht programmieren konnte. Mein bester PC 
hier (zotac geforce 9300 itx) schafft das auch (und der ist ja nicht so 
alt).
Mit dem Board kann man sich auch für 5€ Materialkosten einen Usbasp 
bauen (das habe ich gemacht). Außerdem kostet es nur 15€.

Hannes Lux schrieb:
> Beide Typen sind veraltet, der Mega8 ist abgekündigt. Nachfolger sind
> die Mega48er Reihe (DIL28) und die Mega164er Reihe (DIL40). In beiden
> Reihen gibt es verschiedene Größen, ich empfehle das Lesen der
> Datenblätter, wobei es erstmal nur auf die ersten 2 Seiten ankommt, also
> Feature-Auflistung und Pinbelegung.

Das ist für sein Projekt doch egal. Außerdem sind sie Pinkompitabel.


Thomas O. schrieb:
> Als µC benötigst du einen mit einem Analog Digital Wandler und
> ausreichend Pins um deine Taster, Sensoren, LCD usw. anzuschließen. Ich
> würde hier gleich auf einen größeren setzen z.B. ATMega16

Rechnen wir mal:
Display         6
Taster über ADC 1
4 Sensoren      4
4 Motoren       4
-------------------
                15 Pins
Der Atmega hat 22 (mit Reset 23) nutzbare. Viele Pins kann man sparen 
indem man die mit den Tasten eine Spannung erzeugt und diese misst (z.b. 
http://www.avr-asm-tutorial.net/avr_de/keypad/keyboard.html#adc)

von Thomas (kosmos)


Lesenswert?

und wieso nicht einen Euro mehr in die Hand nehmen und einen AVR mit 4 
Ports also 32 I/O Pins nehmen? Dann braucht man auch das Display nicht 
im 4 Bit Modus ansteuern sondern im 8 Bit Modus plus 3 Steuerleitung 
sind alleine schonmal 11. Einen Taster braucht man nicht auf den ADC 
geben sondern die Sensoren. Heutzutage geht alles seriell ich aber würde 
mir einen DIL/DIP AVR wünschen mit mehr als 4 Ports.

von Thomas E. (thomase)


Lesenswert?

Thomas O. schrieb:
> und wieso nicht einen Euro mehr in die Hand nehmen und einen AVR mit 4
>
> Ports also 32 I/O Pins nehmen?

Dem kann ich nur zustimmen.

Für einen Anfänger reicht auch ein... So ein Quatsch!

mfg.

von MarioT (Gast)


Lesenswert?

Thomas O. schrieb:
> Dann braucht man auch das Display nicht
> im 4 Bit Modus ansteuern sondern im 8 Bit Modus

Warum?

von Sam .. (sam1994)


Lesenswert?

Thomas O. schrieb:
> und wieso nicht einen Euro mehr in die Hand nehmen und einen AVR mit 4
> Ports also 32 I/O Pins nehmen? Dann braucht man auch das Display nicht
> im 4 Bit Modus ansteuern sondern im 8 Bit Modus plus 3 Steuerleitung
Warum 4Pins verschenken und nochmal draufzhlen?
> sind alleine schonmal 11. Einen Taster braucht man nicht auf den ADC
> geben sondern die Sensoren.
Am ADC kann aber 16 Taster an einem Pin dranhängen. Und die 8 
Widerstände hat sollte jeder in seinem Sortiment haben.
> Heutzutage geht alles seriell ich aber würde
> mir einen DIL/DIP AVR wünschen mit mehr als 4 Ports.
DIP>40 ist einfach zu groß.

von JB (Gast)


Lesenswert?

1) Wieso sollte sich ein Anfänger damit rumärgern, erstmal das Zeugs auf 
Lochraster zu löten? Mehraufwand und zusätzliche Fehlerquelle, außerdem 
unflexibel weil aufs jeweilige Projekt zugeschnitten.. Ein fertig 
designtes Board ist hier besser.

2) Das zusätzliche Zeugs auf dem Pollinboard + auf der Erweiterung ist 
zwar nicht notwendig für das Projekt des TE, es stört aber auch nicht. 
Ich weis nicht auf welchem Wissensstand der TE ist, aber vielleicht will 
er einfach mal mit Timer und Lauflichtern rumspielen bevor er sein 
Projekt in Angriff nimmt?

3) Wärend der Entwicklung kann der TE seinen Motor etc an das 
Pollinboard hängen. Wenn die Sache läuft weis er was er genau jetzt an 
Hardware braucht und kann die aufs nötigste reduzierte Schaltung auf ner 
kleinen Rasterplatine nochmal auflöten und verbauen.

4) Sollte er sich für das Pollinboard entscheiden stellt sich die Frage 
nach Mega8 oder Mega16 nicht, soweit ich weis hat Herr P. nur den 16er 
im Sortiment :)

@ TE: sei vorsichtig mit "guten Ratschlägen" hier (auch mit meinem :)) 
den viele hier sind Profis oder halten sich dafür und haben die 
Fähigkeit, sich in einen Anfänger zu versetzen, verloren.

von Florian (Gast)


Lesenswert?

Also erst mal muss ich sagen, ich bin wirklich begeistert über die 
Hilfsbereitschaft hier :)

Leider bin ich im Moment grade etwas verwirrt, für was ich mich nun 
entscheiden soll. Ich würde schon gerne ein fertiges Board erwerben, 
höchstens noch als Bausatz (da kann man glaub ich die Fehler im 
Pollin-Board reparieren, so wie ich das gelesen hab?), aber komplett 
irgendwas selber auf eine Lochraster löten ist mir jetzt noch zu gewagt 
:)

Ist das Fertigmodul von Pollin wirklich so fehlerhaft, dass es besser 
ist, den Bausatz zusammenzubasteln?

Also, nachdem der Atmega16 wirklich nur einen Euro teurer ist, und das 
was er mehr hat mich ja nicht stört, so wie ich das sehe, glaub ich, 
dass ich nichts verkehrt mache wenn ich mir einen solchen zulege, oder?

Und auch wenn die Meinungen über das Pollin-Board anscheinend teilweise 
auseinander gehen, es ist doch ziemlich günstig, und wenn ich so die 
Beiträge durchlese, hoffe ich dass er für mein Projekt genügen könnte, 
wenn ich noch (sobald ich besser in der Thematik drin bin) was außenrum 
bau.

Zumindest kann ich damit erstmal ein bisschen üben und mich vertraut 
machen mit der ganzen Materie, und die Erweiterung (die, wenn ich das 
richtig deute, für mich nicht unbedingt relevant ist) kann ich ja später 
immer noch kaufen, falls ich sie wirklich brauche.
Ob das Programmieren funktioniert, seh ich ja dann, und wenns Probleme 
gibt, kann ich mir ja immer noch so einen Programmer dazukaufen.


Glaubt ihr, dass ich mit dieser Lösung einigermaßen richtig fahre?
Es ist ein bisschen schwierig für mich als Anfänger, aus den 
verschiedenen Meinungen das richtige herauszulesen :)

Nochmals vielen Dank für die vielen Tipps und Ratschläge!

Viele Grüße,
Flo

von spess53 (Gast)


Lesenswert?

Hi

>Also, nachdem der Atmega16 wirklich nur einen Euro teurer ist, und das
>was er mehr hat mich ja nicht stört, so wie ich das sehe, glaub ich,
>dass ich nichts verkehrt mache wenn ich mir einen solchen zulege, oder?

Hannes hatte das hier schon geschrieben:

Beitrag "Re: Eigenes Projekt für Anfänger: was brauche ich alles?"

Der ATMega16 gehört zu den Dinosauriern der AVRs. Für ein neues Projekt 
würde ich einen ATMega164 einsetzen. Der ist erstens von den I/O-Modulen 
her besser ausgestattet und es gibt kompatible Typen mit bis zu 8-fach 
größerem Flash/EEPROM und 16-fach größerem RAM.

MfG Spess

von Thomas (kosmos)


Angehängte Dateien:

Lesenswert?

hier gehts ja nicht darum ob ATMega16 oder 164 sondern darum das er 
einen 40 Pin Typen nehmen soll, kostet also 1 Euro mehr und die 
Funktionen die man noch nicht braucht, braucht man vielleicht irgendwann 
mal.

Ich habe selber das Pollin Board nicht: Deswegen würde es mich 
interessieren welchen Designfehler es hat. Ein Kumpel lötet es gerade 
zusammen, vielleicht kann ich ihm den Typ mit der Änderung geben.

Ich habe das STK500 den AVR Dragen als Set erworben den AVR ISP mkI und 
mkII beide deshald da ich zuerst mit einem altem Laptop gearbeitet habe 
der kein USB hatte, mir danach den Dragon wegen HV Programming gekauft 
habe und später noch ein kompaktes USB Teil für den neuen Laptop 
brauchte
.
Das STK500 gabs im Prinzip zum Dragon dazu. Die ersten beiden können 
halt verfusde µC wieder retten und die letzen beiden sind halt kompakt 
zum mitnehmen einmal RS232 und einmal USB.

Der große Vorteil dieser Programmer ist das man Sie aus dem AVR-Studio 
bedienen kann. Das geht beim Pollinboard nicht. Man kann aber so einen 
Programmer mit der ISP Schnittstelle des Pollin Boards verbinden, das 
Pollinboard stellt also dann also nur die Sockel zur Verfügung und 
reicht für die allerersten Schritte also Taster, LED, Summer...

Man könnte auch Steckbretter und einen AVR-ISP mkII kaufen(siehe Bild), 
da USB am einfachsten zu handhaben und seine Schaltung auf dem 
Steckbrett ohne zu löten aufbauen, siehe mein Bild weiter oben. 
Allerdings gehts hier schon wieder los, man muss die ISP Pins richtig 
zuordnen was bei dem Pollinboard halt schon alles vorhanden ist. Also 
AVR-ISP direkt anschließbar und man ist sich sicher das schonmal alles 
richtig verkabelt ist.

Wieso das Display im 8 Bit Modus ansteuern? Na weil man sich als 
Anfänger dadurch so Sachen sparen kann mit halben Bytes zu arbeiten, 
Nibbles tauschen... wenn man später eine kleine Schaltung aufbauen will 
mit einem günstigen Tiny kann man sich immer noch um den 4bit Modus 
kümmern. Deshalb auch der 40Pin AVR da muss man nicht gleich drauf 
schauen wo spare ich noch ne Leitung ein.

von Sam .. (sam1994)


Lesenswert?

JB schrieb:
> 1) Wieso sollte sich ein Anfänger damit rumärgern, erstmal das Zeugs auf
> Lochraster zu löten? Mehraufwand und zusätzliche Fehlerquelle, außerdem
> unflexibel weil aufs jeweilige Projekt zugeschnitten.. Ein fertig
> designtes Board ist hier besser.

Also mal ganz ehrlich wenn man einen Pin vom P-Board herausführt und 
eine Led anschließt, was kann man da falsch machen?

Wenn du trotzdem auf die sichere Seite möchtest kannst du es dir gerne 
kaufen. Ich als Schüler schaue halt auch sehr oft auf den preislichen 
Aspekt.

Florian schrieb:
> Also, nachdem der Atmega16 wirklich nur einen Euro teurer ist, und das
> was er mehr hat mich ja nicht stört, so wie ich das sehe, glaub ich,
> dass ich nichts verkehrt mache wenn ich mir einen solchen zulege, oder?

Mich stört am Mega16 hautsächlich, dass er a) zu groß für dein Projekt 
dimensioniert und b) einfach nur unhandlich im 40pin Gehäuse ist.

Aber das bleibt letztendlich deine Entscheidung.

Thomas O. schrieb:
> Wieso das Display im 8 Bit Modus ansteuern? Na weil man sich als
> Anfänger dadurch so Sachen sparen kann mit halben Bytes zu arbeiten,
> Nibbles tauschen...

Als blutiger Anfänger nimmt man für ein Display wahrscheinlich eher ein 
Lib. Und dann ist das egal.

von JB (Gast)


Lesenswert?

Samuel K. schrieb:
> Wenn du trotzdem auf die sichere Seite möchtest kannst du es dir gerne
> kaufen. Ich als Schüler schaue halt auch sehr oft auf den preislichen
> Aspekt.

15€ ist ein echter Kampfpreis, viel billiger gehts auch mit Selberlöten 
nicht, außer man hat eh schon ein Bauteilesortiment daheim. Beim TE wohl 
nicht.

Für das Projekt ist der Mega16 natürlich nicht notwendig. Aber der TE 
will sich ja anscheinend erstmal generell mit uCs beschäftigen. Würde 
ich zumindest empfehlen. Also Lichter blinken lassen, PWM und Timerzeugs 
und so Spielereien.

Bei dem "Fehler" im Board handelt es sich (meines Wissens) um falsch 
dimensionierte Kondensatoren an den Tastern. Es gibt mehrere Vorschläge 
wie man die Tasterfunktion verbessern kann damit sie nicht so prellen, 
bzw die Spannungsversorgung in den Keller ziehen.

Ich selbst bin gut damit gefahren die 3 Kondensatoren einfach 
wegzulassen. Gibt auch aufwendigere Umbauten, aber für meine Versuche 
reichts so.

von Hannes L. (hannes)


Lesenswert?

Samuel K. schrieb:
> Rechnen wir mal:
> Display         6
> Taster über ADC 1
> 4 Sensoren      4
> 4 Motoren       4
> -------------------
>                 15 Pins
> Der Atmega hat 22 (mit Reset 23) nutzbare.

Und wo bleiben die 3 Schrittmotoren?

Samuel K. schrieb:
> Mich stört am Mega16 hautsächlich, dass er a) zu groß für dein Projekt
> dimensioniert

Mir würde dafür auch der Mega8535 reichen, der ist sogar neuer als der 
Mega16, hat aber noch nicht die neuen Features der Mega??4er Reihe.

> und b) einfach nur unhandlich im 40pin Gehäuse ist.

Das mag Deine persönliche Empfindung sein. Ich halte einen DIL40-Chip 
für handlicher als einen DIL28-Chip mit zusätzlichen ICs zur 
Porterweiterungl. Und wenn UART ins Spiel kommt, dann schrumpfen der 
Mega8 und auch die Mega?8-Serie zu 6-Bit-Technik, da kein kompletter 
8-Bit-Port mehr da ist. Uart und der für zuverlässigen Betrieb 
erforderliche Quarz blockieren von jedem 8-Bit-Port 2 Pins.

Thomas O. schrieb:
> Ich habe selber das Pollin Board nicht: Deswegen würde es mich
> interessieren welchen Designfehler es hat.

Ein "Fehler" ist die Hardware-Tastenentprellung. Diese Schaltung ist 
schlicht Unfug, sie sorgt für Spannungseinbrüche und daraus 
resultierenden Resets oder Abstürzen.

Die weiteren "Mängel" (in meinen Augen) sind zwar keine direkten Fehler, 
hätte man aber mit etwas Gehirnschmalz ohne erhöhten finanziellen 
Aufwand bedeutend besser machen können. Dies wäre z.B. die 
Anschlussbelegung der Stiftleiste: Da ist kein System drin, die 
einzelnen Ports beginnen mal mit geraden und mal mit ungeraden 
Pin-Nummern. Es ist also nicht möglich, 4 oder 8 Strippen an einen 
zugeschnittenen Steckverbinder-Klotz anzulöten und diesen mal schnell 
von einem Port zum Anderen umzustecken. Eine Einschränkung, die nicht 
nötig wäre. Gut, kein Problem, nehmen wir eben einzelne Strippen, dies 
ist aber fehlerträchtig. Es gibt sicher noch einige andere Dinge, die 
man hätte besser machen können.
Ich habe mein Board gar nicht erst aufgebaut, sondern einem Bekannten, 
dem ich gelegentlich AVR-Software für sein Hobby Amateurfunk schreibe, 
gegeben, dazu Hinweise, was er gar nicht erst bestücken soll (die ganze 
Peripherie) und was er anders machen soll (Sockel für die Quarze, 
zusätzlicher Quarzoszillator). Er betreibt das Board an seinem recht 
betagten Bastelrechner an einer echten COM und nutzt es nur als 
Programmer unter Ponyprog2000.

Ich will aber hier nicht missionieren, Florian muss selbst entscheiden, 
wie er einsteigen will. Ich wollte allerdings die Lobhudelei für dieses 
Board nicht unwidersprochen stehen lassen, denn soooo gut, wie einige 
Besitzer meinen, ist das Ding bei weitem nicht.

...

von Florian (Gast)


Lesenswert?

Ok, mittlerweile bin ich mir garnicht mehr sicher was ich machen soll.

Ich bin jetzt fast soweit, mir einfach den AVR-ISP MK II, den Controller 
ATmega 16 (auch wenn er vllt. nicht mehr der aktuellste ist, ich denke 
für mich wirds reichen :) und ein Breadboard zuzulegen, und dann einfach 
mal das  Tutorial durchzumachen.

Mit der Pinbelegung des Atmega16, die ja in den Datenblättern 
beschrieben ist, sollte das doch einigermaßen klappen, was meint ihr?

Ich kenn mich ein bisschen aus in Elektronik, bin natürlich kein Profi, 
aber doch ganz passabel. Und ich hab mich jetzt 2 Wochen intensiv in 
einem Kurs mit einem Microcontroller auseinandergesetzt, und hoffe, die 
grundlegenden Sachen verstanden zu haben (wir haben auch mit Timer und 
solchen Sachen gearbeitet). Drum ist das vllt. für den Anfang die 
flexibelste und vllt. sogar lerneffizienteste Lösung.
Wenn ihr mir von sowas abraten würdet, lasst es mich bitte wissen, nicht 
dass ich mich da jetz verrenne :)

Wie ich dann die für mein Projekt benötigten Bauteile anschließe und 
ansteuere, werde ich mit Hilfe des Tutorials (und vllt. mit eurer Hilfe, 
wenn ich Fragen habe) hoffentlich hingbekommen, frisch gewagt ist halb 
gewonnen :)

Gruss Flo

von Jobst M. (jobstens-de)


Lesenswert?

Wenn Du gerne Assembler programmierst (und dann bist Du vom M68K 
verwöhnt), solltest Du Dich evtl. nach einem Board mit einer 
Dragonball-CPU umsehen...
Das sind kleine 68000er mit Peripherie.
Stecken in Palm-PDAs.

Wenn Du mal dazu kommen solltest AVR-Assembler zu programmieren, wirst 
Du erschrecken: Das ist eine Katastrophe!


Gruß

Jobst

von Hannes L. (hannes)


Lesenswert?

Vergiss nicht ein paar Kerkos 100nF (Abblock-C) und ein paar Widerstände 
3k3 bis 10k (Reset-PullUp), sowie ein paar LEDs mit passenden 
Widerständen. Dazu ein paar Transistoren BC337 (oder BC338) und 
zugehörige Basis-Widerstände. Für induktive Lasten auch ein paar Dioden 
(Freilauf). Und schau auch mal hier, vielleicht fällt Dir ja noch was 
ein:
http://www.hanneslux.de/avr/tipps/brett/index.html

...

von Hannes L. (hannes)


Lesenswert?

Jobst M. schrieb:
> Wenn Du mal dazu kommen solltest AVR-Assembler zu programmieren, wirst
> Du erschrecken: Das ist eine Katastrophe!

Das ist Ansichtsache.

...

von spess53 (Gast)


Lesenswert?

Hi

>Jobst M. schrieb:
>> Wenn Du mal dazu kommen solltest AVR-Assembler zu programmieren, wirst
>> Du erschrecken: Das ist eine Katastrophe!

>Das ist Ansichtsache.

Oder/und Unvermögen.

MfG Spess

von Jobst M. (jobstens-de)


Lesenswert?

Wenn Ihr meint.

Gruß

Jobst

von Florian (Gast)


Lesenswert?

aber ich kann den atmega16 schon auch in C Programmieren, oder?

ich hätt mich jetzt einfach mal an die folgende Anleitung gehalten, und 
mir auch die genannten Teile alle gekauft:

http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment

da müsste doch eigenlich dann alles zu machen sein, was ich mal brauchen 
werde? Oder hat das selbstgebaute einen gravierenden Nachteil gegenüber 
dem fertigen Pollin-Board zum Beispiel? (Außer den evlt. Fehlerquellen 
beim Aufbau)

Danke und Gruss,
Flo

von Thomas (kosmos)


Lesenswert?

ja dein eigener Vorschlag ist der beste einen original Programmer und 
ein Steckbrett, viel braucht man dann nicht mehr.

von Florian (Gast)


Lesenswert?

Gibt es eigentlich auch eine ähnliche Anleitung für den ATMega16?
weil diese Anleitung hier 
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment ist ja 
nur für den Atmega8 gemacht, oder?

Oder ist das vom Prinzip er das selbe?

Das wäre noch interessant zu wissen, weil ganz ohne Anleitung, ich weiß 
nicht :)

von Hannes L. (hannes)


Lesenswert?

Florian schrieb:
> aber ich kann den atmega16 schon auch in C Programmieren, oder?

Sicher, wenn Du C kannst. Ich bevorzuge ASM, ist mir irgendwie 
eindeutiger.

>
> ich hätt mich jetzt einfach mal an die folgende Anleitung gehalten, und
> mir auch die genannten Teile alle gekauft:
>
> http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment

Hab' ich mir jetzt aktuell nicht (nochmal) angesehen, aber das Tutorial 
wurde erstellt, als es den (inzwischen bereits abgekündigten) Mega8 noch 
gar nicht gab. Es wurde für den AT90S4433 geschrieben und später mal 
halbherzig an neue Typen angepasst. Und nein, das soll keine Kritik am 
Tutorial und deren Macher sein, es soll nur darauf hinweisen, dass man 
nicht jedes dort geschriebene Wort auf die Goldwaage legen sollte.

Schau auch mal woanders hin, wo einfache kleine Basteleien mit AVRs 
gemacht wurden. Ein paar Beispiele findest Du bei mir:
http://www.hanneslux.de/avr/index.html
http://www.hanneslux.de/planet5b/index.html
Du solltest aber vor Deiner endgültigen Entscheidung auch mal woanders 
hinschaun, es gibt noch genügend andere private Seiten im Netz, die sich 
mit AVR-Basteleien befassen.

>
> da müsste doch eigenlich dann alles zu machen sein, was ich mal brauchen
> werde? Oder hat das selbstgebaute einen gravierenden Nachteil gegenüber
> dem fertigen Pollin-Board zum Beispiel?

Nein, wenn Du sauber arbeitest, wird es sogar besser, da es viel 
spezieller an Dein Projekt angepasst ist. Und allzuviel ist da nicht zu 
beachten, schau doch einfach mal bei Atmel auf der Webseite nach den 
Applications-Notes, da sind einige Tipps zum Design dabei.
Eigentlich braucht ein AVR zum sicheren Betrieb nur eine stabile 
Spannungsversorgung (möglichst 5V), die Abblock-Kondensatoren (100 nF 
Keramik) möglichst dicht an den Versorgungspins und der ADC-Referenz 
(Vcc-GND, AVCC-AGND, AREF-AGND) und den Reset-PullUp zwischen Reset und 
Vcc. Und dann natürlich die Periperie, mit der er zusammen arbeiten 
soll, also Taster (gegen GND), LEDs mit Vorwiderständen, L293 für die 
Schrittmotoren, NPN-Transistoren oder MOSFETs (Logiclevel, dann braucht 
es keine aufwendigen Treiberschaltungen) für stärkere Verbraucher und 
Dioden (Freilaufdioden) zum Schutz der Transistoren beim Schalten von 
Induktivitäten.

> (Außer den evlt. Fehlerquellen
> beim Aufbau)

Da der AVR nur Abblock-Cs und Reset-Widerstand braucht, halten sich die 
direkten Fehlerquellen in Grenzen.
Alle anderen Fehler kannst Du auf dem Pollin-Board, dem STK500, den 
MyAVR-Boards, den Olimex-Boards, den Arduinos und was es sonst noch 
alles gibt, genauso machen. In der Experimentierphase solltest Du 
natürlich IC-Fassungen für die DIL-AVRs verwenden.

>
> Danke und Gruss,
> Flo

...

von Karl H. (kbuchegg)


Lesenswert?

Florian schrieb:
> Gibt es eigentlich auch eine ähnliche Anleitung für den ATMega16?
> weil diese Anleitung hier
> http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment ist ja
> nur für den Atmega8 gemacht, oder?

Ist wurscht.
Diese Prozessoren bilden eine Familie, d.h. sie werden im Prinzip alle 
gleich programmiert. Die größeren haben einfach mehr eingebaute Hardware 
mit an Board. Aber alles was ein Mega8 kann, kann auch ein Mega16. 
Zumindest das was im Tutorial steht.

Und der Rest: der steht im Datenblatt

Aber wenn du das Tutorial erst mal durch hast (und nebenbei das 
Datenblatt immer studiert hast), dann ist das alles kein Problem mehr 
für dich.

von Patrick (Gast)


Lesenswert?

Hi Florian,

ich denke auch, dass Du mit Deiner Auswahl an Controller und Programmer 
nicht allzu verkehrt liegst.

Was hier zuvor nicht erwähnt wurde, aber eigentlich essentiell für die 
eigentliche Entscheidung ist, sind doch Fragen wie z. B.:

- Hast Du bereits einen PC mit "echter" serieller Schnittstelle oder ein 
USB-Adapterkabel? Falls nicht, wird z. B. das Pollin-Board schon wieder 
wesentlich uninteressanter.
- Wie schätzt Du Dich selbst ein; hast Du vor, in Zukunft mehr mit AVRs 
zu machen? Hast Du den "Biss" und die Zeit für dieses Hobby, oder bleibt 
es bei ein paar Stunden Herumspielen? In diesem Fall wäre es fraglich, 
ob sich ein "ausgewachsener" Programmer lohnt.

Der Mega16 ist zwar nicht mehr der Neueste, aber für den Anfang 
vollkommen in Ordnung. Es kann Dir egal sein, ob er abgekündigt ist; im 
Gegenteil ist es sinnvoller, nicht einen brandneuen Typen zu nehmen, da 
so die Chance wesentlich höher ist, dass dieser Mikrocontroller von 
deiner Software unterstützt wird usw.
Und: Besser Mega16 als Mega8; überflüssige Pins und zuviel freier 
Speicher werden Dich am Anfang wohl kaum stören. Ist zumindest 
wesentlich angenehmer, wenn man mal einfach etwas ausprobieren kann, 
ohne auf Trickschaltungen zurückgreifen oder den Programmcode massiv 
modifizieren zu müssen, weil Pins und/oder Speicher nicht mehr 
ausreichen.

Ja, AVRs lassen sich z. B. mit dem kostenlos und frei erhältlichen 
AVR-GCC programmieren. Siehe auch das AVR-GCC-Tutorial auf dieser Seite. 
Für Windows-Benutzer gibt es ein fertiges Softwarepaket namens WinAVR.

Der Aufbau auf einem Breadboard ist eigentlich sehr schmerzfrei und im 
Grunde für alle AVRs gleich. In dem von Dir geposteten Link wird zwar 
ein Mega8 verwendet; die "wichtigen" Pinbezeichnungen für 
Versorgungsspannung, Reset, Programmierpins etc. sind jedoch gleich. 
Wenn Du Dir das Datenblatt vom Mega16 herunterlädtst, findest Du darin 
die dazugeörigen Pin-Nummern.

Have fun!


Patrick

von abc (Gast)


Lesenswert?

Als Programmer ist ein USBasp vollkommen ausreichend. Gibt es fertig 
aufgebaut für unter 10€ bei ebay. Das Teil basiert auf 
http://www.fischl.de/usbasp/ und funktioniert mit der gleichen Software.

von Hannes L. (hannes)


Lesenswert?

Florian schrieb:
> Gibt es eigentlich auch eine ähnliche Anleitung für den ATMega16?

Der Mega16 hat 4 volle 8-Bit-Ports und mehr Speicher. Er hat zwar auch 
JTAG, das musst Du aber nicht nutzen. Vergiss nicht JTAG zu 
deaktivieren, sonst ist der Port nicht voll benutzbar. Suche dazu im 
Datenblatt mal nach "JTD", da findest Du, wie man es ohne Fusezugriff 
per Software macht.

> weil diese Anleitung hier
> http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment ist ja
> nur für den Atmega8 gemacht, oder?

Nein, sie ist für den AT90S4433 gemacht und später etwas an den Mega8 
angepasst worden. Es sind (zumindest waren bei meinem letzten Besuch) 
aber noch Details drin, die beim AT90S4433 wichtig waren, beim Mega8 
oder seinen Nachfolgern Mega48/88/168/328 nicht mehr relevant sind.

>
> Oder ist das vom Prinzip er das selbe?

Ja, allerdings sind die Spezialpins anders verteilt und der Quarz (für 
einfache Dinge nicht nötig) hat eigene Pins, blockiert also keine 
Portpins. Und dann hat der Mega16 eben mehr Portpins und mehr Speicher.

>
> Das wäre noch interessant zu wissen, weil ganz ohne Anleitung, ich weiß
> nicht :)

Die Datenblätter und Appnotes von Atmel sind sehr informativ. Die Hilfe 
zum AVR-Studio auch. Da hast Du Lektüre für Wochen und Monate.

...

von Florian (Gast)


Lesenswert?

eine kleine Frage hätt ich ich noch: was ist der Unterschied zwischen 
dem AVR-ISP MK II Programmer und einem billigeren? Und wo gibt es so 
einen billigeren, kennt das jemand einen Shop oder sowas, wo es das 
gibt? Weil die in ebay kommen alle aus Artikelstandort China, ich weiß 
nicht... :)

von Florian (Gast)


Lesenswert?

Hallo,
wäre das der richtige?
https://www.ssl-id.de/b-redemann.de/catalog/product_info.php?cPath=44&products_id=32&osCsid=en4rtc5tdc5ekuqvcpv6hnur94

Damit kann ich dann alle Microcontroller von Atmel, also auch den 
Atmega16 programmieren, oder?

Danke und Gruss,
Flo

von 2ter Gast (Gast)


Lesenswert?

Wenn man ein wenig mehr Geld hat, wäre der Avr Dragon interessant; mit 
dem kann man nämlich auch seine programme debuggen. Kann ISP, JTAG, 
DebugWire usw.

von Hannes L. (hannes)


Lesenswert?

2ter Gast schrieb:
> Wenn man ein wenig mehr Geld hat, wäre der Avr Dragon interessant; mit
> dem kann man nämlich auch seine programme debuggen. Kann ISP, JTAG,
> DebugWire usw.

Naja, ich hab' den Dragon, das Debuggen habe ich ganz schnell wieder 
aufgegeben. JTAG habe ich nie benutzt, da ich meist mit kleineren AVRs 
arbeite, die kein JTAG können. DW ist recht ätzend und alles Andere als 
echtzeitfähig. Da debugge ich lieber weiter mit LED, LCD oder UART.

...

von 2ter Gast (Gast)


Lesenswert?

@Hannes Lux

Debugging über JTAG ist problemos mit dem AVR Dragon. DebugWIRE ist 
wegen  fuses zumindest umständlich. Das können andere Prozessorfamilien 
besser. Bestimmte XMegas haben dann ja die PDI Schnittstelle, die der 
Dragon ja auch kann( Ja ich weiss, die gibt es nur in 
anfängerunfreundliche smd form)

von Thomas (kosmos)


Lesenswert?

Florian: Ich denke nicht das du damit alle AVRs programmieren kannst es 
gibt ein paar Tinys die keine ISP Schnittstelle haben. Außerdem würde 
ich mal nachfragen ob dieser Programmer direkt aus AVR-Studio läuft. 
Oder ob man mit AVR Studio ein .hex File erstellen muss und dann über 
ein 2tes Programm den AVR flasht.

von Hannes L. (hannes)


Lesenswert?

2ter Gast schrieb:
> Debugging über JTAG ist problemos mit dem AVR Dragon.

Ja sicher, das bestreite ich ja nicht. Nur sind meine Basteleien so 
überschaubar, dass ich gut mit AVRs mit weniger als 16 KB Flash 
auskomme. Und die haben nunmal kein JTAG.

Thomas O. schrieb:
> Außerdem würde
> ich mal nachfragen ob dieser Programmer direkt aus AVR-Studio läuft.
> Oder ob man mit AVR Studio ein .hex File erstellen muss und dann über
> ein 2tes Programm den AVR flasht.

Das sollte doch im Zeitalter der Multitasking-Betriebssysteme nicht das 
Problem sein, solange die Oberfläche (intuitiv) bedienbar ist. Ob man 
nun den Programmierdialog über einen Mausklick auf das Programmiersymbol 
aufruft oder mit Alt-Tabulator zwischen zwei offenen Programmen 
wechselt, ist doch vom Arbeitsaufwand her vergleichbar. Ich habe lange 
genug mit einem (Eigenbau-) QBASIC-Programm programmiert (geflasht), das 
in einem eigenen Fenster lief, und habe das nicht als Einschränkung 
empfunden.

...

von Sam .. (sam1994)


Lesenswert?

2ter Gast schrieb:
> Wenn man ein wenig mehr Geld hat, wäre der Avr Dragon interessant; mit
> dem kann man nämlich auch seine programme debuggen. Kann ISP, JTAG,
> DebugWire usw.

Das braucht er bestimmt noch nicht.

PS: Ich habe es bisher auch noch nicht gebraucht. Bisher hat immer uart 
gereicht. Wenn nicht langsam Zeile für Zeile durchgehen, dann findet man 
auch meistens den Fehler.

von 2ter Gast (Gast)


Lesenswert?

Samuel K. schrieb:
> PS: Ich habe es bisher auch noch nicht gebraucht. Bisher hat immer uart
> gereicht. Wenn nicht langsam Zeile für Zeile durchgehen, dann findet man
> auch meistens den Fehler.

IHMO finde ich den Debugger eleganter, anstatt ein debug print zu 
verwenden, setzte ich an der verdächtigen Stelle ein breakpoint und 
schau mir gegenfalls variableninhalte an. Geht meines erachtens viel 
schneller. Aber so wieder jeder mag...

(und natürlich gibt es situationen, wo auch der debugger nicht helfen 
kann)

von Florian (Gast)


Lesenswert?

Also, ich hab jetzt mal bei der Firma angefrag, folgendes ist 
zurückgekommen:

"Mit dem usbasp können Sie die gängigen Atmel-Controller mit einer
SPI-Schnittstelle programmieren, also auch den M16.
Leider wird der programmer nicht vom AVR-Studio untersützt, aber der
Programmer 07103 AN910 USB-Prog kann vom
AVR-Studio aus bedient werden.
Generell muss man immer ein hex-File erstellen, unabhängig von den
Tools, die man verwendet."

Das wäre dann der hier:
https://ssl-id.de/b-redemann.de/catalog/product_info.php?products_id=73

Meint ihr, das ist der Richtige für mich, oder würdetet ihr davon 
abraten?

von Hannes L. (hannes)


Lesenswert?

Florian schrieb:
> Leider wird der programmer nicht vom AVR-Studio untersützt,

Was darauf schließen lässt, dass er sich nicht per (vom AVR-Studio 
mitgelieferten) Firmware-Updates für neu herauskommende AVRs fit machen 
lässt. Ich wäre daher nicht besonders an diesem Gerät interessiert.

Florian schrieb:
> aber der
> Programmer 07103 AN910 USB-Prog kann vom
> AVR-Studio aus bedient werden.

AN910 war vorgestern. AVR-Studio kann ihn bedienen, weil er auf dem 
STK500 als "Hilfsprogrammer" für das Firmware-Update des 8535 eingebaut 
ist. Damals waren die AVRs (AT90-Reihe) noch nicht bootloaderfähig. Auch 
bei diesem Teil würde ich mich nicht über Probleme betreffs zukünftige 
AVR-Typen wundern.

...

von noob (Gast)


Lesenswert?

Hi, ich bin selbst Anfänger und habe mir damals das hier zugelegt:
http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=108
(wie oben schon als erste angegeben)
aber ich nutze eigentlich nur den USB Progger (gibts auch einzeln zu 
kaufen, dort sind nur die Durchsteckbauteile zu löten, der SMD Teil ist 
bereits fest verlötet, nach Verlöten einfach ohne Jumper mit USB und 
Controller verbinden und los gehts)
Zusätzlich habe mir damals gleich ein Steckbrett und diverse Bauelemente 
bei Reichelt bestellt,die hatten das größte für 12 Euro im Angebot 
(jetzt glaube 14 Euro), wo man bei Conrad 50 bezahlt.
Das Board wird oft schlecht bewertet, bis jetzt ist mir nicht viel 
negatives aufgefallen, aber ich stecke auch nicht so oft und so viel um. 
Negativ bis jetzt ist aufgefallen: die Füße kleben nicht richtig unten 
am Board (egal und lässt sich nachkleben), der grüne Masseanschluss hat 
ne Macke und lässt sich nicht richtig fest drehen (brauche ich nicht, 
wenn doch dann kann ich es beheben) und manche Bauelemente gehen etwas 
schwer rein (besser als zu locker).
Sonstige Fehler beim Brett:
-etwas langsamer zu porgrammieren (wenn mans so schlecht steckt wie ich)
-USB Progger nicht einfach so vom PC trennen, sondern erst das 
Flachbandkabel, sonst muss wieder neu programmiert werden^^

Sonst habe ich mir vorher das AVR Tutorial mal durchgelesen, zumindest 
die Hardware Teile bevor ich bestellt habe).

Es gibt sicher viiiiiel besser Start Kits und klar ist es wohl besser 
etwas aktuelleres zu nehmen. Die Frage ist nur ob du dich nicht 
vielleicht in ein paar Monaten dazu entscheidest auf eine andere 
Technologie zu gehen (noch höherwertiger) und dann jeden Euro bereust 
den du in ein etwas moderneres altes System investiert hast)

Zum Programmieren nutze ich das AVR Studio.
Wenn du mit einem Steckbrett arbeitest kannst du die Controller ohnehin 
austauschen und die kosten nicht die Welt (bestell dir mehrere falls du 
einen zerhackst).

Achso, versuch garnicht erst Klingeldraht bei Reichelt zu bekommen und 
vergiss die benötigten Kabel nicht^^.

von Thomas (kosmos)


Lesenswert?

wenn der nicht aus dem AVR-Studio geht würde er für mich ausscheiden, 
habe früher immer ein .hex File erstellt und dann mit einem externen 
Flashprogramm übertragen, heute will ich das aber auf keinen Fall mehr 
machen sondern direkt aus dem Studio auf das Flashsysmbol drücken und 
los gehts. Auch muss ich mir um die Fuses keine Gedanken mehr machen, da 
diese in manchen Programmen invertiert sind usw. Die Fuses werden im AVR 
Studio automatisch ausgelesen und dann klick ich auf z.B: intern 8 MHz + 
64 mSek Startverzögerung und übertrage Sie.

Obs jetzt ein Dragon oder AVR-ISP wird beides ist nicht umsonst 
investiert. Die Linux Fraktion wird sicher sagen man braucht es nicht 
aber wenn man das AVR-Studio nutzt ist es halt sehr komfortabel und 
sicher.

von Hannes L. (hannes)


Lesenswert?

Thomas O. schrieb:
> Obs jetzt ein Dragon oder AVR-ISP wird beides ist nicht umsonst
> investiert.

Da ist eigentlich nur die Denkweise des Benutzers invertiert... ;-)

Programmed ist nunmal "0" und unprogrammed ist "1".

Das ist technisch bedingt und historisch gewachsen, denn:

Ein "leerer" PROM hatte alle Bits gesetzt ("1"), die dann vom Programmer 
zu "0" durchgebrannt wurden.

Ein EPROM (der mit Quarzglasfenster zum Löschen per UV-Licht) enthält 
alles Einsen, wenn er leer ist. Beim Brennen (Programmieren) werden die 
Bits nach "0" umgeladen.

Ein leerer EEPROM oder Flash enthält alles Einsen. Diese werden beim 
Beschreiben (partiell) zu Nullen umgeladen. Auch ein gelöschter 
AVR-Flash und AVR-EEPROM enthät alles Einsen (255 bzw. 0xFF in jedem 
Byte).

Warum sollte man es bei den Fuses (die ja auch nur EEPROM-Speicherzellen 
mit I/O-Anbindung sind) anders machen? Es ist so, und man hat es zu 
akzeptieren. Das AVR-Studio interpretiert auch eine gesetzte Fuse mit 
"0" und eine leere mit "1", es zeigt lediglich einen 
anwenderfreundlichen Dialog an, bei dem alle Möglichkeiten 
zusammengehöriger Fuses einzeln als Text in einer Auswahl-Liste 
aufgelistet sind. Das ist sehr anwenderfreundlich und sehr bequem (auch 
ich schätze es sehr), hat aber mit "invertiert" nichts zu tun.

...

von Thomas (kosmos)


Lesenswert?

mir ist das schon klar aber wenn ein Programm 01010101 und ein anderes 
Programm 10101010 sehen, dann kommt es leicht mal vor das es etwas 
verfused.

Ich habe damals Chipblaster AVR benutzt mit Ponyprog hats öfter mal 
Probleme gegeben.

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.