Blutiger Anfänger bruacht hilfe beim ATMEGA32

#3813775
Lesenswert?

Hallo liebe Leute. Ich bin nun schon den ganzen Tag am versuchen eine 
LED zum leuchten zu bringen. Am Samstag war ich im Conrad und dachte ich 
versuche es mal aus etwas Spass mit einem Mikrocontroller zu haben 
leider bis jetzt vergebens.
Folgendes Bauteile besitze ich:
1. ATMEGA 32 Mikrocontroller
2. MySmartUSB light Programmer
3. LEDs und Widerstände

Ich gehe nach dem Youtube Tutorial "Microcontrollers - A Beginner's 
Guide - Intro to the AVR Atmega32" von Patrick Hood-Daniel

Folgendes habe ich bis jetzt gemacht:
Die Hardware miteinander verbunden
1. Einen Adapter für den 6er Stecker zum Steckbrett verlötet
2. den Mikrocontroller eingesteckt
3. LED eingesteckt
4. Widerstand eingesteckt
5. Verdrahtet

Software heruntergeladen und ggf. installiert
1. usb treiber myavr
2. myAVR ProgTool
3. WINAVR Softwarepaket heruntergeladen und installiert

MFile bearbeitet
1. MCU Type = atmega32
2. Programmer = STK500
3. Port = COM10

nun habe ich das kleine Programm geschrieben:
1
#include <avr/io.h>
2

3
int main(void)
4
{
5
DDRB = 0b00000001;  
6
PORTB = 0b00000001;  
7

8
while (1)
9
  {}
10
}

es passiert nichts!

Erstmals dachte ich es bestände keine Verbindung mit dem Microkontroller 
aber mithilfe des Programms "myAVR ProgTool" kann ich die Diode an und 
aus schalten.

Was habe ich falsch gemacht? Woran liegt es?

Für viele mag das lustig sein, dass ich nicht mal das hin bekomme doch 
dafür ist man ja Anfänger.

Würde mich sehr über eine Erlösung freuen... Merci schon mal im 
voraus!!!

LG Simon
Angehängte Dateien:
Gast #3813786
Lesenswert?

> 4. Widerstand eingesteckt

Was für einen Wert hat der? (Falls der Wert nicht bekannt ist: Welche 
Farben haben die Ringe? braun-schwarz-schwarz-grün-irgendwas? Falls ja: 
der ist um ein paar Größenordnungen zu groß, falls nein bitte ich um 
Nachsicht, Murg ist doch ein bisschen weit weg als dass man das von hier 
genauer erkennen könnte)
#3813787
Lesenswert?

sieht so aus als wenn dein Adapter ab Pin5 steckt, müsste aber ab Pin 6 
stecken weil du sonst mit nur 6 Kontakte nie auf GND kommst

http://circuits.datasheetdir.com/18/ATMEGA32-pinout.jpg

gebraucht wird mosi miso sck reset vcc und gnd = 6 Pins

esfehlen noch ein Abblockkondensator 100nF zwischen VCC und GND und 
besser noch ein 1k von RESET nach VCC
#3813792
Lesenswert?

LostInMusic schrieb:
> zwei GND-Pins. IIRC müssen beide auf GND verdrahtet
> werden. Sieht auf dem Foto nicht danach aus...

jau besser wäre das sowie den Adapter ab Pin 6 stecken damit der letzte 
an GND ankommt

und

ich hoffe der Widerstand vor der LED ist 150 Ohm oder größer.
Auch würde ich keine 20mA LED dafür wählen, warum den MC mit Strom 
quälen wenn es eine low current 3mA oder eine uh ultra helle mit 1mA 
auch tut ?

rot oder grün um 2,0V - 2,5V bleiben am Widerstand auch so 2,5V und mit 
2mA als gemeinsamer Nenner wären das zwischen 680 Ohm und 2,4k

und vor dem m32 testen ist auch eine gute Idee statt an B0 man an VCC 
legen
#3813801
Lesenswert?

Hey, tausend dank für die schnelle Antwort.

Zu "g457 (Gast)" der Widerstand ist ein 150Ohm, also meines wissen nach 
sogar zu schwach. Ich müsste doch einen 300Ohm Widerstand haben. Die LED 
leuchtet ja via Aktivierung der Stromversorgung über myAVR ProgTool.

Zu "Joachim B. (jar)" Der Adapter geht von Pin 6 bis 11.

Zu "Marc Vesely (Firma: Vescomp) (logarithmus)" Fuses... Leider weiss 
ich nicht genau was du meinst.
Angehängte Dateien:
#3813815
Lesenswert?

g457 schrieb:
> ..dann passt doch alles(tm)..?

Leider nicht. In meiner Logik sollten die physikalischen Verbindungen 
bestehen und auch funktionieren. Leider funktioniert aber das kleine 
Programm nicht, welches die LED anschalten soll.

Simon O. schrieb:
> nun habe ich das kleine Programm geschrieben:
1
#include <avr/io.h>
2
 
3
int main(void)
4
    {
5
    DDRB = 0b00000001;
6
    PORTB = 0b00000001;
7
 
8
    while (1)
9
        {}
10
 }
#3813821
Lesenswert?

Du solltest dir mal die Grundbeschaltung eines jeden AVR angucken, was 
deiner Schaltung auf jedenfall fehlt ist ein Pullup am Reset Pin, so wie 
ich das sehe geht dein Controller nicht mal an, da der Reset nicht auf 
Vcc gezogen wird.
Auch ein 100n Kondensator würde dir dein Mega32 mit Sicherheit nicht 
verübeln...
Sieh dir dazu am besten mal das hier: 
http://www.mikrocontroller.net/articles/Einstieg_in_die_Mikrocontrollertechnik_mit_AVR_ATmega

und ganz besonders dieses Bild hier:
http://www.mikrocontroller.net/articles/Datei:Mc_min.png

an

lg
ISP
(Firma: Vescomp) #3813833
Lesenswert?

IS P. schrieb:
> Du solltest dir mal die Grundbeschaltung eines jeden AVR angucken, was
> deiner Schaltung auf jedenfall fehlt ist ein Pullup am Reset Pin, so wie
> ich das sehe geht dein Controller nicht mal an, da der Reset nicht auf
> Vcc gezogen wird.
 Pullup ist eingebaut, sollte auch ohne gehen.

Simon O. schrieb:
> Zu "Marc Vesely (Firma: Vescomp) (logarithmus)" Fuses... Leider weiss
> ich nicht genau was du meinst.

 Vielleicht TAB mit "Auslesen" und dann irgendwo nach "Fuses" oder
 "Sicherungen" suchen ?
 Ich kenne deinen Programmer nicht.
#3814051
Lesenswert?

Joachim B. schrieb:
> war das der Fehler ? Adapter ab Pin 5 gesteckt ? und geht jetzt alles ?
>
> deine Antwort habe ich nicht verstanden

Nein, leider nicht.
Ich bekomme die LED über das Program myAVR ProgTool zum leuchten. Über 
einen Befehl der Stromversorgung.
Mithilfe von Programmers Notepad und meinem kleinen Programm die die LED 
zum aufleuchten bringen soll funktioniert gar nichts.
Das ist was mich verwirrt.
Wenn die LED aufleuchtet, müsste ja eigentlich alles in Ordnung sein und 
es müsste irgendwie auf dem Weg vom Programmers Notepad zur LED 
irgendetwas schief gehen. Andrerseits kann ich auch die Fuses nicht 
auslesen also kann es vielleicht auch sein, dass der Mikrocontroller 
kaputt ist. Hab mir gerade einen neuen bestellt um das zumindest als 
Fehlerquelle ausschließen zu können.
#3814074
Lesenswert?

hast du dir mal die Fuse-Einstellungen im AVR Studio angesehen.

Da siehst du im Klartext was deine Einstellungen bedeuten und musst 
nicht mit Hex-Werten rumhantieren. Ein weiterer Vorteil die Fuses werden 
automatisch erst ausgelesen und angezeigt so das man wirklich nur das 
passende ändert und nicht bei einer änderung prlötlich 5 andere Fusebits 
auch geändert werden, die man garnicht berührt hat.

Ansonsten schau dir das mal
http://eleccelerator.com/fusecalc/fusecalc.php?chip=atmega32
Angehängte Dateien:
(Firma: Vescomp) #3814094
Lesenswert?

Bernhard Schröcker schrieb:
> Aber wenn die Fuses nicht zu lesen sind, sollte doch mit der
> Schnittstelle zum Atmega32 was faul sein. Wie groß ist denn die
> Geschwindigkeit deines Programmers zum Atmega eingestellt? Einfach mal
> ganz runter stellen, dann sollte zumindest die ID und die Fuses lesbar
> sein.

 Lass es doch gut sein mit der Schnittstelle.
 Hexfile ist richtig geflasht, also ist Schnittstelle in Ordnung.
#3814120
Lesenswert?

Joachim B. schrieb:
> vielleicht hat er den m32 auch zerschossen, nach seinen Bildern war der
> vorher falsch gesteckt ohne GND ! und Power an anderen Pin

Ich verspreche dir, dass das nicht der Fall ist. Aufgrund der 
Perspektive scheint es als wäre der Adapter ab pin 5 gesteckt. 
Tatsächlich war er schon immer ab pin 6 gesteckt. Das zweite Bild ist 
nur aus einer anderen Perspektive. Fraglich wäre auch, warum die LED 
leuchtet, aber nicht mit dem Progrqmmers Notepad.
#3814195
Lesenswert?

Wenn ich das richtig sehe hast du als Programmer den AVR 911 gewählt. 
Standardmäßig steht der myAVR auf STK500-kompatibilität. Also entweder 
den myAVR auf den 911 Flashen oder aber in Notepad irgendwie STK500 
einstellen (keine Ahnung wie das geht, nutze immer AVR Studio)

lg
ISP

PS: ich glaube, dass die Versorgungsspannung nach jedem mal 
programmieren sowieso wieder aus ist. Du kannst im myAVR Support Tool 
allerdings einstellen, dass zumindest beim brennen immer Spannung 
anliegt. Auf daher würde ich dir ein externes NT empfehlen.
Gast #3814552
Lesenswert?

Kauf dir etwas in dieser Art

http://www.ebay.de/itm/like/111194978334?lpid=106&_configDebug=ViewItemDictionary.ENABLE_PAYMENTS_IN_HLP:true&hlpht=true&ops=true&viphx=1

und versorge den Atmega32 korrekt mit VCC und GND. Noch ein Pullup an 
Reset  und die Versuche können starten.

Ich wette, dann leuchtet die LED auch wie gewünscht.

In dem von Dir verlinkten Video wird der MC ja auch korrekt mit Strom 
versorgt - oder?
#3815183
Lesenswert?

Jim schrieb:
> und versorge den Atmega32 korrekt mit VCC und GND.

Ihr seit meine Helden. Vielen Dank für den Rat. Im Video funktionierte 
es auch ohne externe Stromversorgung... wird wohl an den Programmer 
liegen. Nun mit einer externen Stromversorgung funktioniert auch das 
Programmieren und ausführen des Mikrocontrollers.

Das passt jetzt nicht direkt zum Thema aber gibt es eine Formel um die 
Größe von Kondensatoren zu bestimmen Es geht jetzt konkret um den 
Kondensator zwischen GND und VCC, den zwischen Ausgang und GND des 
Spannungsreglers, und den zwischen Eingang und GND des 
Spannungsreglers...
Grundsätzlich wäre es gut zu wissen wie ich mit Kondensatoren vorgehe.

Lieben Dank
Simon

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren