Forum: Mikrocontroller und Digitale Elektronik Verwirrung pur.


von Patrick L. (networxx)


Lesenswert?

Hallo,

ich möchte mich mit der AVR Programmierung beschäftigen.
Leider bin ich ein totaler Anfänger auf diesem Gebiet.

Ich habe zwar zahlreiche Foren und Seiten besucht und gelesen,
aber das verwirrt mich alles noch mehr.

Nun habe ich einige Fragen:

Welchen selbstbau Programmer soll ich am besten verwenden?

Er sollte möglichst viele AVR-Typen brennen können und über usb 
anschliesbar sein.(usb wäre nett, ist aber nicht zwingend erforderlich)

Desweiteren möchte ich gene die möglichkeit haben, verstellte fusebits 
zu re-seten.(tiny13 und mega8)

Dann habe ich noch Fragen zu dem High-Voltage Programming.

Wie geht das eihentlich genau ?
Beim ISP Programming habe ich ja die kontakte: 
MISO,VCC,SCK,MOSI,RESET,GND
an 5V.
Sind das beim High-Voltage Programming die gleichen kontakte bloß mit 
12V statt 5V? Oder verstehe ich da was falsch ? Ich steig da nicht mehr 
durch !

Und wenn ich an den AVR einen externen takt geben möchte, muß ich dann 
immer den maximal takt für den AVR nehmen ? oder kann der auch geringer 
sein?

Wie arbeite ich eigentlich mit den ein- und ausgängen ?
Wenn ich nun 1 ausgang schalte, bekomme ich dort 5V drauf geschaltet und 
kann dann weiter damit arbeiten oder ?
Und kann der eingang dann auch werte einlesen, also den wert eines 
widerstandes abfragen oder wie geht das?
z.b.: bei einem analog. temp. sensor ? oder tasten impulse abfragen?

Möglicherweise sind das dumme fragen...
aber ich sehe vor lauter bäume den wald nicht mehr !
wahrscheinlich endet das mit einem aha,klar !
aber bis dahin...

ich bitte um antworten.

gruß
NeTwOrXx

von Alex B. (Firma: Ucore Fotografie www.ucore.de) (alex22) Benutzerseite


Lesenswert?

Zunächst kann ich dir nur: 
http://www.mikrocontroller.net/articles/AVR-Tutorial
als Lektüre empfehlen.

Fangen wir dann mal oben an:
>Welchen selbstbau Programmer soll ich am besten verwenden?

Ich habe den sog. USBprog 3.1 nachgebaut, siehe 
http://www.ixbat.de/index.php?page_id=135
Der kann allerdings kein High-Voltage-Programming, unterstützt dafür 
aber meines Wissens alle AVRs. Die kompletten Teile inkl. Gehäuse 
kosteten 18€ bei Rei...

>Und wenn ich an den AVR einen externen takt geben möchte, muß ich dann
>immer den maximal takt für den AVR nehmen ? oder kann der auch geringer
>sein?

Der externe Takt kann auch geringer sein, er ist im Prinzip frei 
wählbar.

>Wenn ich nun 1 ausgang schalte, bekomme ich dort 5V drauf geschaltet und
>kann dann weiter damit arbeiten oder ?

Wenn wir davon ausgehen, dass du den AVR mit 5V Betriebsspannung 
versorgst bekommst du (nahezu) 5V aus einem Ausgang heraus der auf "1" 
gesetzt ist. Setzt du den Ausgang auf "0" liegen dort (nahezu) 0V an. Du 
kannst mit diesen 5V auch weiterarbeiten, allerdings musst du auf den 
Strom achten, den du entnimmst. Es gibt da einen maximal Strom pro PIN, 
siehe Datenblatt.

>Und kann der eingang dann auch werte einlesen, also den wert eines
>widerstandes abfragen oder wie geht das?
>z.b.: bei einem analog. temp. sensor ? oder tasten impulse abfragen?

Mit Eingängen kann man Spannungen einlesen. Es gibt dafür zwei 
verschiedene Arten von Eingängen: Analoge und Digitale.
Digitale Eingänge erkennen jede Spannung ab einem bestimmten Schwellwert 
als "1", diese Schwelle kann z.B. bei 4V liegen (siehe Datenblatt).
Analoge Eingänge bieten die Möglichkeit den Wert der anliegenden 
Spannung auszulesen, z.B. das Signal deines Temp-Sensors.

Ich hoffe das war dir eine kleine Hilfe, wie gesagt, das oben erwähnte 
Tutorial ist sehr zu empfehlen.
Schöne Grüße,
Alex

von Patrick L. (networxx)


Lesenswert?

Ok.

DANKE erstmal !

Das ist schon mal sehr hilfreich.

Aber wie ist das mit der Pinbelegung bei dem HV Programming ?

Weiß das jemand ?

Gruß
NeTwOrXx

von Christian L. (lorio)


Lesenswert?

Datenblatt:

Memory Programming -> Parallel Programming

Da ist alles ausführlichst erklärt.

von Jan der Xte (Gast)


Lesenswert?

> Welchen selbstbau Programmer soll ich am besten verwenden?

Keinen.

Das ist ernst gemeint. Der Frust, der sich aufbaut, wenn man einen 
blöden Selbstbau-Programmer nicht zum laufen bekommt, ist groß. 
Eigentlich will man mit den AVRs spielen, aber statt dessen quält man 
sich mit dem doofen Programmer, der Software usw. rum.

Ich würde den Selbstbau nur erfahrenen Elektronik-Hobbyisten oder Profis 
empfehlen. Nicht, weil der Selbstbau so schwer ist (die meisten 
Programmer sind eigentlich leicht zu bauen), sondern weil der Anfänger, 
wenn was schief geht, sich nicht helfen kann und nur Frust schiebt, 
statt Spaß mit den AVRs zu haben.

> Er sollte möglichst viele AVR-Typen brennen können und über usb
> anschliesbar sein.(usb wäre nett, ist aber nicht zwingend erforderlich)

Z.B. der original Dragon von AVR.


> Dann habe ich noch Fragen zu dem High-Voltage Programming.
>
> Wie geht das eihentlich genau ?

Schon im Datenblatt und den Application Notes nachgesehen?

Auch dieser Tipp ist ernst gemeint. Anfänger meiden die Datenblätter und 
Application Notes gerne wie der Teufel das Weihwasser. Dabei sind sie 
der beste Freund des Entwicklers.

> Ich steig da nicht mehr durch !

Falsche Einstellung, und für mich die Bestätigung, das du mit einem 
gekauften Programmer besser dran bist, als mit einem Selbstbau. Wenn du 
schon bei so einer AVR-Funktion die Panik bekommst ...

> Und wenn ich an den AVR einen externen takt geben möchte, muß ich dann
> immer den maximal takt für den AVR nehmen ? oder kann der auch geringer
> sein?

Was steht im Datenblatt? Da steht die Antwort, wirklich!


> Wie arbeite ich eigentlich mit den ein- und ausgängen ?
> Wenn ich nun 1 ausgang schalte, bekomme ich dort 5V drauf
> geschaltet und kann dann weiter damit arbeiten oder ?

Was steht im Datenblatt?

> Und kann der eingang dann auch werte einlesen, also den wert eines
> widerstandes abfragen oder wie geht das?
> z.b.: bei einem analog. temp. sensor ? oder tasten impulse abfragen?

Was steht im Datenblatt?

> Möglicherweise sind das dumme fragen...

Nein, es sind die Fragen von jemandem, der mir nicht gewillt oder in der 
Lage erscheint sich ernsthaft mit dem Thema auseinanderzusetzen und 
statt dessen mit dem goldenen Löffel gefüttert werden möchte.

Lesen, lesen, lesen, und ein bisschen Durchhaltevermögen zeigen.

von die ??? (Gast)


Lesenswert?

Hätte er sich nicht vorher gelesen, würden seine Fragen anders gestellt 
sein.

Patrick, tu' dir selber den Gefallen und nimm ein aktuelles Datenblatt 
eines AVR's (z.B. ATmega16) in die Hand und suche nach Antworten für 
deine Fragen. Zu 90% wirst du dort fündig, mit ein wenig Recherche und 
Brain 2.0 sind weitere 9% möglich. Und für den Rest gibt es Foren wie 
dieses wo man dir hilft wenn du aufzeigst was du schon versucht hast 
(Datenblatt, G**gle, SuFu hier im Forum, Artikel hier auf der Seite) und 
es dennoch nicht klappt.

von Patrick L. (networxx)


Lesenswert?

Hallo,

nochmals danke für die Hinweise. (-:

Und teils auch Tritte in den Po. )-:

Aber was solls...

Ich bin jedenfalls für ernstgemeinte und sachlich formulierte Antworten
sehr dankbar !

Das Thema ansich ist ja schon sehr umfangreich. Da kann man schon mal in 
die falsche Richtung rennen.
Gerade als Anfänger !

Des weiteren kommt es mir so vor, als müßte ich mich dafür 
entschuldigen, das ich es gewagt habe zu fragen. Warum nur...?

Also wenn sich hier im Forum jemand genervt fühlt, weil er immer die 
gleichen Antworten geben "muß" ist es ja jedem selbst überlassen dieses 
dann auch zu tun.

Ist es denn nicht erstrebenswert, freundlich miteinander umzugehen ?


In diesem Sinne...

gruß
NeTwOrXx

von Rudolph R. (rudolph)


Lesenswert?

Also für den Einstieg kann ich auch nur empfehlen, einen Progger zu 
kaufen.

Aber eher nicht den Dragon sondern vielleicht erstmal nur einen AVR-ISP 
MK2, die gibt es wenigstens bei Reichelt.

Mit den original Proggern von Atmel kann man auch sicher sein, dass die 
mit dem AVR-Studio spielen.

Wofür man High-Voltage Programming braucht ist mir auch nicht klar.
Wenn man mal die Fuses falsch setzt hat und der Stein nicht mehr 
ansprechbar ist, dann nimmt man halt einen neuen - wenn das zu teuer 
wird, macht man ernsthaft was falsch.

Und wenn man sich mit dem Thema vertraut gemacht hat kann man die 
Controller auch irgendwann wiederbeleben.

von Alex B. (Firma: Ucore Fotografie www.ucore.de) (alex22) Benutzerseite


Lesenswert?

>Wenn man mal die Fuses falsch setzt hat und der Stein nicht mehr
>ansprechbar ist, dann nimmt man halt einen neuen - wenn das zu teuer
>wird, macht man ernsthaft was falsch.

Dumm nur, wenn es sich bei dem "Stein" um einen TQFP- oder MLF-Typ 
handelt, der dann bereits mit diverser anderer Hardware auf einem Board 
verlötet ist...

Ich finde so generell kann man nicht sagen, dass HV-Programming sinnlos 
ist. Ich brauchte es zwar persönlich auch nicht nicht, aber es hat schon 
eine Daseinsberechtigung...

von Rudolph R. (rudolph)


Lesenswert?

Wenn es sich bei dem Stein um einen TQFP oder gar MLF Typ handelt wird 
das HV-Programming doch ohnehin schwer, oder etwa nicht?

Und sinnlos habe ich nicht geschrieben. :-)

von Michael E. (Gast)


Lesenswert?

Vom AVR Dragon würde ich dir abraten, aus eigener Erfahrung.

Er hat zwar sehr viele Features (HV-Programming, JTAG, DebugWire) und 
ist nicht sehr teuer, aber erstens muss man noch viel herumlöten um alle 
Funktionen komfortabel nutzen zu können, und zweitens ist der Dragon 
sehr schlecht gegen falsche Verpolung usw. geschützt.
Für Anfänger eher nicht zu empfehlen.

Nimm lieber den schon angesprochenen USBprog (kann man auch fast fertig 
aufebaut für ca 32 Euro kaufen) oder gleich das STK500 von Atmel. Ist 
zwar doppelt so teuer aber stabil und bewährt.

Grüsse,

Michael

von Thilo M. (Gast)


Lesenswert?

Ich habe mir zum Anfang ein STK500 geleistet. Kostet momentan 79€, 
glaube ich. Ich habe die Investition bis heute nicht bereut, viele 
Grundfunktionen von Schaltungen progge ich immer noch darauf. Vorteile: 
es unterstützt Parallel-, ISP und HV-Programmierung, Es kann auch als 
ISP für externe Zielsysteme verwendet werden, hat Taster und Lampen 
drauf, wird vom AVR-Studio unterstützt und hat eine prima 
Bedienungsanleitung dabei.
Auch kann man Zusatzmodule wie das STK501 dazukaufen, für SMD-µC.

Ich habe mir noch einen AVRISP MK-II mit USB für 
'vor-Ort-Programmierung' mit Laptop zugelegt.

von Bensch (Gast)


Lesenswert?

>Ich finde so generell kann man nicht sagen, dass HV-Programming sinnlos
ist.

Zumindest im Hobbybereich ist das sinnlos.
Ich hab mehrere Designs gemacht und auch zusammen mit dem Programmierer 
per Telefon und Email die Programme entwickelt und getestet. Zusätzlich 
sind pro Woche etwa 50 Boards zu programmieren.
Noch nie hätte ich einen HV-Programmer gebraucht. Dessen Sinn liegt IMO 
in der Programmierung von grossen Stückzahlen auf einem externen 
Programmer VOR dem Einlöten bzw. Bestücken.
Was ich gebraucht hab, ist der Quarzoszillator, um verfuste Chips 
wiederzubeleben. Jeder zerschiesst sich mal durch seine eigene 
Dussligkeit die Fuses.

von Rudolph R. (rudolph)


Lesenswert?

Am Dragon muss man garnicht herumlöten, wenn man den nur für ISP und 
JTAG benutzt.

Als Nachteil vom Dragon fällt mir jetzt nur ein, dass der ohne Gehäuse 
kommt.
Aber der passt perfekt in Audio-Kassetten-Hüllen. :-)


Edit: schlecht gegen Verpolung geschützt?
Kann ich nicht bestätigen, schon oft genug verpolt. :-)
Könnte aber auch daran liegen, dass ich die Atmel ISP-Belegung verwende.
Und wenn man bei der den Stecker verdreht, vertauscht man eben nicht VCC 
und GND.

Und soweit ich weiss gibt es doch vom Dragon gar keinen Schaltplan?
Woher also die Aussage, dass der schlecht geschützt sei?

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Hi Patrick,

lass Dich nich unterkriegen. Ich antworte mal unabhaengig von den 
anderen Posts.

Patrick L. r. wrote:
> Hallo,
>
> ich möchte mich mit der AVR Programmierung beschäftigen.
> Leider bin ich ein totaler Anfänger auf diesem Gebiet.
>
> Ich habe zwar zahlreiche Foren und Seiten besucht und gelesen,
> aber das verwirrt mich alles noch mehr.

Was genau verwirrt Dich denn?

>
> Nun habe ich einige Fragen:
>
> Welchen selbstbau Programmer soll ich am besten verwenden?

Muss ich ebenfalls sagen: keinen. Kauf Dir das STK500, damit bist Du gut 
bedient. Gibt es z.B. bei Reichelt.

> Er sollte möglichst viele AVR-Typen brennen können und über usb
> anschliesbar sein.(usb wäre nett, ist aber nicht zwingend erforderlich)

Ist RS232, kann aber per Adapter auch auf USB gebracht werden, wenn es 
sein muss.

> Desweiteren möchte ich gene die möglichkeit haben, verstellte fusebits
> zu re-seten.(tiny13 und mega8)

Kann es alles.

>
> Dann habe ich noch Fragen zu dem High-Voltage Programming.
>
> Wie geht das eihentlich genau ?
> Beim ISP Programming habe ich ja die kontakte:
> MISO,VCC,SCK,MOSI,RESET,GND
> an 5V.
> Sind das beim High-Voltage Programming die gleichen kontakte bloß mit
> 12V statt 5V? Oder verstehe ich da was falsch ? Ich steig da nicht mehr
> durch !

Schau im Handbuch nach, wird dort beschrieben. Wenn Du mehr wissen 
willst, zieh Dir das entsprechende Datenblatt herein, da sind diese 
Dinge detailgetreu beschrieben.

>
> Und wenn ich an den AVR einen externen takt geben möchte, muß ich dann
> immer den maximal takt für den AVR nehmen ? oder kann der auch geringer
> sein?

Du kannst ihn im gesamten Bereich "stufenlos" einstellen. Extrem 
schnelle Aenderungen des Taktes koennen die MCU allerdings aus dem Tritt 
bringen, siehe ebenfalls Datenblatt.

> Wie arbeite ich eigentlich mit den ein- und ausgängen ?
> Wenn ich nun 1 ausgang schalte, bekomme ich dort 5V drauf geschaltet und
> kann dann weiter damit arbeiten oder ?

Wie meinst Du das?

> Und kann der eingang dann auch werte einlesen, also den wert eines
> widerstandes abfragen oder wie geht das?
> z.b.: bei einem analog. temp. sensor ? oder tasten impulse abfragen?

Die Portpins sind als Ein- oder Ausgaenge konfigurierbar und 
unterstuetzen auch Tristate-Logik. Siehe auch hier mal im Tutorial und 
am besten auch im Datenblatt nach, die Sachen sind wichtig.

> Möglicherweise sind das dumme fragen...
> aber ich sehe vor lauter bäume den wald nicht mehr !
> wahrscheinlich endet das mit einem aha,klar !
> aber bis dahin...

Keine Angst, das sind ganz normale Fragen.

> ich bitte um antworten.
>
> gruß
> NeTwOrXx

Lieber Gruss,
Michael

von Rolf Magnus (Gast)


Lesenswert?

Ich verwende den Dragon auch oft, um per debugwire zu programmieren. Da 
braucht man dann nur noch eine Leitung (bzw. inklusive Masse zwei). Man 
muß sich auch keine Gedanken mehr machen, die Schaltung so zu bauen, daß 
die ISP-Leitungen noch tun. Nebenbei kann man über dieselbe Leitung dann 
auch noch gleich debuggen.

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.