Forum: Mikrocontroller und Digitale Elektronik AVR Starterkit Probleme


von Sascha_Do (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe vor einigen Tagen das 
AVR-Starterkit(http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=108) 
erworben.
Nun ärgere ich mich leider seit ein paar Tagen schon rum, weil ich das 
Teil nicht zum laufen bekomme.

Habe alles gemacht, was im Handbuch beschrieben wurde und leider findet 
AVR-Studio 5 den AVRISP immernoch nicht.

Habe darauf hin ein bisschen rumgeforscht und ausprobiert und habe jetzt 
AVR-Studio 4.19 installiert.

Wenn ich unter Tools->ProgramAVR->Autoconnect gehe und da den ATmega8 
auswähle und die ISP Frequenz runtersetze auf 250kHz blinkt wenigstens 
schonmal das rote Lämpchen des USBProg.
Wenn ich dann in C folgenden Quellcode einfüge ( der war als Beispiel 
angegeben, um die LED am Board blinken zu lassen)

--------------------------------------------
/*
 * AVRGCC1.c
 *
 * Created: 03.11.2011 11:29:58
 *  Author: eproo
 */

#include <avr/io.h>
#define F_CPU 1000000
#include <util/delay.h>

int main(void)
{
   DDRB  |= (1<<PB2)|(1<<PB3);

   while(1) {
  PORTB |=(1<<PB2)|(1<<PB3);
  _delay_ms(1000);
  PORTB &=~((1<<PB2)|(1<<PB3));
  _delay_ms(1000);
   }
}
--------------------------------------------

und dann auf "Build and Run" klicke, möchte er, dass ich ein Device und 
eine debug-platform auswähle.
Leider steht dort nicht der AVRISP mkII,sondern nur der JTAGICE mkII.
Der wiederum hat aber keinen ATMEGA8,den ich auswählen kann. (der wurde 
mitgeliefiert)
Habe ich irgendwas nicht beachtet?(Bin sozusagen ein blutiger Anfänger 
was µController betrifft)

Betriebssystem ist Windows 7.


Weil ich zwar Elektrotechnik studiere, von Microcontrollern aber noch 
nicht ganz so die Ahnung habe, hatte ich gehofft,dass man bei einem 
Starterkit mehr oder weniger Plug-and-Play für Anfänger geliefert 
bekommt.
:(

Wäre dankbar, wenn mir jemand helfen könnte.

Mit freundlichen Grüßen

Sascha

von Andreas K. (andyk)


Lesenswert?

Hast du den USB-Treiber für den AVRISP installiert, oder braucht man 
dafür keinen mehr?
Wird der Programmer denn von Windows erkannt wenn du ihn anschließt?

Gruss
Andreas

von Sascha_Do (Gast)


Lesenswert?

Also einen USB Treiber braucht man.
Der nennt sich AVR Jungo USB Driver.
Und von Windows wird er richtig erkannt,  wenn ich das Netzteil vom 
Board habe, dann den USB Stecker in den PC stecke.
Ist das Netzteil vorher dran, erkennt er es "nicht ordnungsgemäß"(laut 
Windows).
Ich stecke das Netzteil dann immer danach an das Board.

von Andreas K. (andyk)


Lesenswert?

Probier mal mit AVR simulator weiterzumachen.
Ich habe gerade gesehen, dass der linke Teil des Fensters die 
"Debug-Platform" auswählt. Und das funktioniert mit dem einfachen 
Programmer gar nicht. Programmieren kannst du damit aber schon, nur wenn 
du auf Debug klickst startet die Simulation.
Ich habe auch schon ewig nicht mehr mit dem AVR-Studio gearbeitet, aber 
ich glaube das funktioniert so.

von Hubert G. (hubertg)


Lesenswert?

Du darfst nicht Build and Run anklicken sondern daneben den Icon Build 
Activ Configuration. Damit kompilierst du dein Programm, in deinem 
Ordner wird der Ordner default angelegt, wenn nicht vorhanden, in diesem 
ist dann dein *.hex File.
Dann wieder in das Programmierfenster (Connect to the Selected 
AVR-Programmer)
250kHz Programmierfrequenz ist hart an der Grenze, lieber etwas 
niedriger wählen.
Im Reiter Program Fenster unter Flash das Verzeichnis und Filename des 
*.hex Files angeben und mit Program laden.

von Sascha_Do (Gast)


Angehängte Dateien:

Lesenswert?

Habe jetzt den Simulator und den AtMega8 ausgewählt.

Der Simuliert das jetzt auf dem PC glaube ich, aber blinken tut leider 
immer noch nichts.

Wenn ich unter Connect gehe und AVRSP mkII erkannt wurde und ich auf den 
Button "Read Signatur" klicke erkennt er anscheinend alles.
Das macht er aber auch nur wenn das Netzteil drin ist.
Das müsste doch eigentlich heissen, dass er den ATmega8 erkennt oder?
(So sieht das in Bild 2 aus. Wenn das Netzteil drin ist sagt er: Reading 
signatur from devide 0x 1 E 0x93 0x07.
Wenn kein Netzteil drin ist sagt er: Entering programming mode.. FAILED! 
und er gibt 0x00 0x00 0x00)

Leider kann ich mit diesen Zahlen nichts anfangen, weil ich gerade in 
das Thema einsteige.

von Sascha_Do (Gast)


Lesenswert?

Ok probiere gerade den Hinweis von Hubert G. aus.
War ich ein bisschen zu schnell mit meinen erneuten Eintrag von oben

von spess53 (Gast)


Lesenswert?

Hi

>Leider kann ich mit diesen Zahlen nichts anfangen, weil ich gerade in
>das Thema einsteige.

Brauchst du auch nicht. Hauptsache der Satz darunter sieht so aus.

Allerdings solltest du die ISP-Frequenz (250kHz) verringern.

MfG Spess

von paramac (Gast)


Lesenswert?

Das passt schon (Letzter Screenshot)
Von dort wechselt du auf den Reiter "Prog" und lädst dein zuvor 
kompiliertes hex-File; dann Button Program. Der Fortschrittsbalken zeigt 
das Programming und den Verify. Danach ISP abziehen und einen Reset 
(Power off/on)

Gruß
paramac

von Sascha_Do (Gast)


Lesenswert?

So, hab das jetzt so gemacht wie Hubert G. es beschrieben hat.
Wenn ich auf Compile Active File klicke sagt er mir unten:  Build 
succeeded with 0 Warnings.
Soweit ja ganz gut.
Er gibt mir aber leider keine *.hex Datei aus , die ich dann in den 
Controller laden könnte.
Bekomme in dem Verzeichnis eine aps File, eine .c File.
Im default-Ordner eine Makefile und eine O-Datei.
Im dep-Ordner eine D-Datei.

Die Frequenz hab ich halbiert auf 125kHz.

Danke schonmal für die zahlreiche Hilfe!

von Sascha_Do (Gast)


Lesenswert?

*sry für Doppelpost.

Muss ich den jetzt noch mit WinAVR umwandeln?

von Hubert G. (hubertg)


Lesenswert?

Schau mal unter  Project / Configuration Options ob in dem Fenster links 
unten bei Create Hex-File auch ein Haken ist.

von Sascha_Do (Gast)


Lesenswert?

Ok, die .hex File erzeugt er mir nun.
Bei 125kHz meckert er immer noch rum.
Hab nun auf 6.48 kHz gestellt, damit kommt er anscheinend klar.
Klicke dann auf Program und Verify , der Balken lädt dann 5 Sekunden.
Dann zieh ich USB raus und drück auf Reset (Knopf ist auf dem Board 
enthalten) und es passiert leider nichts.

von Dietrich L. (dietrichl)


Lesenswert?

Sascha_Do schrieb:
> es passiert leider nichts

LED (richtig) angeschlossen? Zur Sicherheit mal mit Messgerät direkt am 
Pin messen!

Gruß Dietrich

von Sascha_Do (Gast)


Lesenswert?

Hoffe ja,dass das Starterkit vernünftig produziert wurde.
Man musste ja lediglich da Verbindung des USBProg löten.
Messgerät habe ich leider nicht.
Ist halt echt immer doof, wenn man da als totaler Einsteiger dran geht, 
bzw. keine Geräte zu Hause hat.

Aber vllt kauf ich mal eine neue LED und einen Widerstand bei 
Schraubenconrad und nehme einen anderen Pin, bzw. nehmen den Controller 
ab und stecke mir mal ne Testplatine mit ein paar LED's zusammen.

Hat vllt jemand noch eine andere Idee?

Und kann ich davon ausgehen, dass der µController jetzt vernünftig 
programmiert ist?
Sonst würde er mir ja einen Fehler in AVR-Studio melden oder nicht?

von Berufseinstieg (Gast)


Lesenswert?

Sascha_Do schrieb:
> Klicke dann auf Program und Verify , der Balken lädt dann 5 Sekunden.
> Dann zieh ich USB raus und drück auf Reset (Knopf ist auf dem Board
> enthalten) und es passiert leider nichts.

Wozu machst du das?

Nimm mal all deine selbstrangesteckten LEDs und Widerstände raus, so 
dass du nur noch das Starterkit hast.

Lade diese Datei herunter:
http://embeddedprojects.googlecode.com/files/700098_AVRStarterkit.zip

Entpacke das Beispielprogramm mit der Blinkenden LED.

Versuch das zum Laufen zu bekommen und schau, ob die mitgelieferte LED 
auf deinem Board blinkt.

So kannst du schon mal ausschließen, dass irgendwas mit den LEDs ist.

Gruß

von Sascha_Do (Gast)


Lesenswert?

Hab da nichts selber drangesteckt.
Benutze die LED, die schon vorgegeben ist.
Die Datei hab ich auch schon ausprobiert.
Geht leider immernoch nicht.

von Berufseinstieg (Gast)


Lesenswert?

Sascha_Do schrieb:
> Hab da nichts selber drangesteckt.
> Benutze die LED, die schon vorgegeben ist.
> Die Datei hab ich auch schon ausprobiert.
> Geht leider immernoch nicht.

Mach mal bitte, für mich, eine Stichpunktliste mit den Schritten in der 
Reihenfolge, wie du das alles machst.


Gruß

von Sascha_Do (Gast)


Lesenswert?

1. AVR Studio 4 starten
2. AVR GCC Projekt anlegen
3. Mit den AVRISP mkII connecten
4. Dann unter Programm die HEX-File blink.hex laden und auf Program 
klicken
5. USB rausziehen und Reset-Button klicken

Das wars.

von Hubert G. (hubertg)


Lesenswert?

Auf diesem Board ist laut meinem Plan aber nur eine Led, und die ist auf 
Port C5.
Oder hast du selbst eine dazu gebaut?

von Sascha_Do (Gast)


Lesenswert?

Jupp stimmt auch.
Bis jetzt hab ich noch nichts draufgelötet. Das Board ist noch Original 
so, wie es geliefert wurde.

War nur ne Überlegung mir zum Testen eine drauf zu löten
Nicht dass die LED vom Board kaputt ist.

Kann ich denn davon ausgehen, dass der µController nun richtig 
programmiert ist, wenn kein Fehler gemeldet wurde?

von Hubert G. (hubertg)


Lesenswert?

Dein Programm ist definitiv falsch. Du sprichst das PortB2 und B3 an, 
die Led ist aber auf PortC5.

von Sascha_Do (Gast)


Lesenswert?

Auch cool .
Das ist die original C-Quelle!
Ich ändere mal eben den Port

von Hubert G. (hubertg)


Lesenswert?

Du kannst ja auf dem Board mal nachsehen wohin die Led am Kontroller 
geht. Laut Schaltplan auf Port C5.

von Hubert G. (hubertg)


Lesenswert?

In dem Link den dir "Berufseinstieg" um 16:13 geschickt hat steht es 
aber richtig drinnen.

von Jo (Gast)


Lesenswert?

Nimm die verlinkte Datei von "Berufseinstieg", die passt

von Sascha_Do (Gast)


Lesenswert?

Jupp,
warum in meinem Quelltext was anderes stand weiss ich auch nicht.

Habe jetzt die blink.hex Datei in den Controller geladen und es geht 
immernoch nicht :/

von Dietrich L. (dietrichl)


Lesenswert?

Hubert G. schrieb:
> Laut Schaltplan auf Port C5.

Und der Jumper muss auch noch stecken (wenn ich den richtigen Schaltplan 
gesehen habe).

Gruß Dietrich

von Sascha_Do (Gast)


Lesenswert?

Habe die drei Jumper nun reingesteckt und es passiert immernoch nichts 
:/

Auch eigenartig.
Auf S.8 steht:
"Die mitgelieferten Jumper werden für die folgenden Beispiele nicht 
benötigt und deshalb nicht gesteckt."

Und auf S. 31 steht:
"Die Boards sollten (sofern die Jumper stecken) blinken."

von Dietrich L. (dietrichl)


Lesenswert?

Sascha_Do schrieb:
> Habe die drei Jumper nun reingesteckt und es passiert immernoch nichts
> :/

Du solltest Dir abgewöhnen, Jumper einfach mal so zu stecken, wenn Du 
nicht weißt, was sie tun. Wenn Du Pech hast, geht was kaputt.
Was die Formulierung auf Seite 8 und 31 genau bedeuten, weiß ich auch 
nicht. Das ist aber auch unwichtig, wenn Du die Funktion der Jumper 
kennst.

Ich habe mal nachgelesen:
- Jumper 3.3V schaltet um auf 3,3V Versorgung. Bei Dir ist 5V OK, der 
Jumper sollte also nicht stecken (es müsste aber auch mit gestecktem 
Jumper gehen).
- Jumper J1 schaltet was an der seriellen Schnittstelle um; das hat mit 
Deiner Funktion nichts zu tun, ist in diesem Fall egal
- Jumper LED_J: schaltet die LED ein: muss also gesteckt sein.

Für weitere Fehlersuche brauchst Du unbedingt ein Messgerät, für den 
Anfang reicht auch ein ganz billiges, z.B.
http://www.pollin.de/shop/dt/NTA4OTYxOTk-/Messtechnik_Uhren/Messtechnik/Multimeter/Digital_Multimeter_PM_110.html

Gruß Dietrich

von Berufseinstieg (Gast)


Angehängte Dateien:

Lesenswert?

Hi Sascha,

wann hast du das Starterkit gekauft? Kannst du ggf. vom Rückgaberecht 
Gebrauch machen?

Ich kann mich daran erinnern, dass ich damals auch arge (andere) 
Probleme mit demselben Starterkit hatte.

Ich empfehle deshalb, das Starterkit ggf. zurückzuschicken und mit 
Steckbrettern zu arbeiten. Persönlich Erfahrung.

Was mir zu deinem Problem eingefallen ist:

Als du denn Port auf PC5 geändert hast, hast du dann erneut 
kompiliert, um eine neue .hex Datei zu bekommen? Vielleicht bezieht 
sich die .hex Datei immer noch auf den alten Code.

Mein Vorschlag:
Lösche den Projektordner komplett. In der von mir verlinkten Datei 
findest du das blink LED Projekt mit der zum Starterkit mitgelieferten 
LED. Starte AVR Studio 4 und verwende den Wizard, um das blink LED 
Projekt zu öffnen. Kompiliere es zur Sicherheit mit F7.

Der Quelltext müsste so aussehen:
1
/*
2
 * AVRGCC1.c
3
 *
4
 * Created: 03.11.2011 11:29:58
5
 *  Author: eproo
6
 */ 
7
8
#include <avr/io.h>
9
#define F_CPU 1000000
10
#include <util/delay.h>         
11
12
int main(void)
13
{
14
   DDRC  |= (1<<PC5);        
15
 
16
   while(1) {              
17
  PORTC |=(1<<PC5);
18
  _delay_ms(1000);
19
  PORTC &=~(1<<PC5);
20
  _delay_ms(1000);
21
   }           
22
}

Klicke auf den "CON" Käfer und wähle den entsprechenden Programmer 
(AVRISP mkII). Klicke dann auf den "AVR" Käfer und lade die .hex Datei. 
Klicke dann einfach auf "Program"

Hat alles geklappt, sollte es so aussehen wie bei mir im Anhang.

Sonst nimm das Starterkit doch mal zu dir an die Uni und miss in der 
Pause mal die Pins im Labor durch. Da habt ihr ja sicherlich genug 
Messgeräte ;)


Gruß

von Berufseinstieg (Gast)


Lesenswert?

Ach ja, und lass alles angesteckt und drücke keinen Button oder sonst 
irgendwas, nachdem du auf "Program" geklickt hast. Das ist bei dem 
Starterkit nicht nötig (ist es überhaupt generell nötig?!?)

von Berufseinstieg (Gast)


Lesenswert?

Ich sehe gerade, dass du ein neues Projekt anlegst. Für den ersten 
Gehversuch mit der blink LED würde ich empfehlen, das Projekt 
schlichtweg nur zu öffnen.

von Sascha_Do (Gast)


Lesenswert?

Ok, bin gerade nicht zu Hause
Werde das nachher mal testen.
Das mit dem Rückgaberecht ist ja schwierig. Ist zwar noch im Zeitrahmen( 
2 Wochen oder?), aber das Problem ist, dass ich ja schon alles gelötet 
habe.
Habe gestern Abend sogar nochmal drübergelötet und es sieht jetzt nicht 
gerade mehr vernünftig aus...

Das durchmessen könnte ich aber wirklich mal ausprobieren!

von Sascha_Do (Gast)


Lesenswert?

JAAAAAAAAAAAAAA
(sorry ;) )

Hab gemacht wie du es gesagt hast @Berufseinstieg

Habe das vorher aber doch genau so gemacht wie du beschrieben hast.

Kommt mir vor wie bei meinen Amateurversuchen mit 12 Jahren den PC zu 
formatieren und mehrere Betriebssysteme zu installieren.
Am ersten Tag ging der PC garnicht mehr, dann ne Nacht geschlafen und 
auf einmal klappte dann doch alles.
Vllt fehlt mir da auch manchmal die nötige Ruhe ;)

Danke dir und allen anderen echt vielmals!
Hätte das wahrscheinlich sonst nie hinbekommen.

Hoffe, dass die nächsten Versuche reibungsloser ablaufen.
Muss nämlich im Studium einen Regler damit entwerfen.
Die C-Quelle steht, aber das auf einen µController zu laden ist ja 
nochmal ne andere Herausforderung ;)

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.