Forum: Mikrocontroller und Digitale Elektronik Keine Verbindung zwischen uISP-Stick und Atmega-8A


von Heini (Gast)


Angehängte Dateien:

Lesenswert?

Guten Abend alle zusammen,

ich versuche mich momentan in die AVR-Mikrocontrollerwelt einzuarbeiten. 
Doch scheitere ich bereits an den Anfängen und bräuchte etwas Rat.

Ich haben einen Atmega8A-PU, wie in dem Schaltplan abgebildet, auf einem 
Steckbrett beschaltet. Ich hoffe dies ist für die Grundbeschaltung 
soweit korrekt. Die Verbindungen habe ich alle auf Durchgang geprüft.

Als Programmer habe ich mir den uISP-Stick von eHaJo bestellt und die 
erforderlichen Treiber nach den Anleitungen installiert. 
(http://dokuwiki.ehajo.de/artikel:libusb-ispstick)

Ebenso habe ich die .config-Datei von avrdude unter „PROGRAMMER 
DEFINITIONS“ wie folgt angepasst:
1
programmer
2
  id    = "ehajo-isp";
3
  desc  = "avr-isp-programmer from eHaJo, http://www.eHaJo.de";
4
  type  = "usbtiny";
5
  connection_type = usb;
6
  usbvid     = 0x16D0;
7
  usbpid     = 0x0BA5;
8
;

Nun gelingt es mir leider nicht eine Verbindung zwischen dem Atmega und 
dem ISP-Stick über avrdude (v 6.2) herzustellen. Die Befehlszeile für 
avrdude und die dazugehörige Fehlermeldung habe ich als Bild angehangen. 
Ich habe auch die Verbindungen auf dem Steckbrett überprüft und den 
Aufbau nochmals neu aufgebaut. Jedoch ließ sich das Problem nicht 
beheben.
Die 5V-Spannungsversorgung, welche vom ISP-Stick bereitgestellt wird, 
sind auf dem Steckbrett messbar.
Nach der Suche im Internet bin ich darauf gestoßen, dass ein zu langes 
USB-Kabel dieses Problem ebenfalls verursachen könnte. Aber auch ein 
direkter Anschluss bzw. die Verwendung unterschiedlicher USB-Ports 
brachte ebenfalls keine Abhilfe.


Ich bedanke mich im Voraus für Anregungen, Hilfe und Lösungsvorschläge.

Mit freundlichen Grüßen
Heini

von Mick (Gast)


Lesenswert?

Versuch mal dieses Tool hier: 
https://sourceforge.net/projects/avrdude-gui/
Kannst du damit die Fuses auslesen? Falls das nicht funktioniert, helf 
ich dir morgen weiter. Habe jetzt leider keine Zeit mehr...

von R. M. (Gast)


Lesenswert?

Versuch es mal ohne C3:
Könnte sein, das der ISP-Stick den Reset nicht schnell genug aktivieren 
kann, oder sich der Reset hinterher nicht schnell genug erholt.
mfG

von Mick (Gast)


Lesenswert?

Noch was: Von wo hast du deinen ATmega? Neu, oder ausgebaut? Falls 
ausgebaut, kann es sein, dass jetzt der Quartz fehlt.

von Stefan F. (Gast)


Lesenswert?

Fall der µC gebraucht ist, dann ist er möglicherweise für den Betrieb 
mit Quarz konfiguriert.

Eventuell musst du die Taktrate der ISP Kommunikation reduzieren, mit 
dem Parameter -B20.

von S. Landolt (Gast)


Lesenswert?

Bei der Meldung "avrdude: error: usbtiny_transmit:" hätte ich eher auf 
einen Installationsfehler geschlossen.

von S. Landolt (Gast)


Lesenswert?

PS: Ich amüsiere mich regelmäßig über dieses "Thank you." - wofür 
bedankt der/die/das sich?

von Heini (Gast)


Angehängte Dateien:

Lesenswert?

Danke für die zahlreichen und vorallem schnellen Rückmeldungen.

Mick schrieb:
> Versuch mal dieses Tool hier:
> https://sourceforge.net/projects/avrdude-gui/
> Kannst du damit die Fuses auslesen? Falls das nicht funktioniert, helf
> ich dir morgen weiter. Habe jetzt leider keine Zeit mehr...

Ich habe dieses Tool mal ausprobiert. Doch leider ließ sich dieser 
Programmer damit nicht einbinden. Habe es daraufhin nochmals mitdem 
AVR-Burn-O-Mat erneut versucht. Diesmal ließ sich der Programmer 
einbinden jedoch erschien nach auslesen der Fuses die gleiche 
Fehlermeldung wie zuvor in der Kommandozeile.


R. M. schrieb:
> Versuch es mal ohne C3:
> Könnte sein, das der ISP-Stick den Reset nicht schnell genug aktivieren
> kann, oder sich der Reset hinterher nicht schnell genug erholt.
> mfG

Auch ohne C3 wird weiterhin die Fehlermeldung ausgegeben.

Mick schrieb:
> Noch was: Von wo hast du deinen ATmega? Neu, oder ausgebaut? Falls
> ausgebaut, kann es sein, dass jetzt der Quartz fehlt.

Habe den Atmega8 mit dem Programmer zusammen neu bestellt.

Stefan U. schrieb:
> Fall der µC gebraucht ist, dann ist er möglicherweise für den Betrieb
> mit Quarz konfiguriert.
>
> Eventuell musst du die Taktrate der ISP Kommunikation reduzieren, mit
> dem Parameter -B20.

Die Reduzierung der Taktrate spuckte eine andere Fehlermeldung aus. 
(siehe Bild)

S. Landolt schrieb:
> Bei der Meldung "avrdude: error: usbtiny_transmit:" hätte ich eher auf
> einen Installationsfehler geschlossen.

Wie ließe sich so etwas beheben? Habe die Treiberinstallation nochmals 
erneut nach der Anleitung durchgeführt und blieb leider auch erfolglos.

Nach der Fehlermeldung mit der veränderten Taktrate entnehme ich, dass 
der Programmer andere Werte erhält die er erwartet. Allerdings verstehe 
ich noch nicht so ganz die Zusammenhänge.

von Jim M. (turboj)


Lesenswert?

Hast du mal zusätzlich die Optionen "-v -v" probiert? Avrdude spuckt 
dann mehr Infos aus, WAS schief gegangen ist. Das kann man übrigens mit 
Ausgabeumleitung in eine Textdatei packen.

von Stefan F. (Gast)


Lesenswert?

Bist du ganz sicher, daß alle 4 Versorgungs-Spannung Pins wie in deinem 
Plan angeschlossen sind?

Ist eventuell das Kabel zwischen Programmer und µC länger als 30cm? Wenn 
ja, dann mache es mal kürzer.

Ein solltest du wissen: Dieser Programm entspricht vom Hardware Aufbau 
dem USBASP. Die Schaltung ist mit der heißen Nadel gestrickt und für 
gewissen Unzuverlässigkeit bekannt.

Es kann durchaus sein, daß dein Programmer nicht funktioniert, obwohl er 
nicht defekt ist. Kannst du einen anderen Mikrocontroller zum Vergleich 
probieren?

> Die Reduzierung der Taktrate spuckte eine andere Fehlermeldung aus.

Gut, dann bleibe erstma dabei, immer den Parameter -B20 zu benutzen 
solange die CLKDIV8 Fuse aktiv ist (so werden sie verkauft).

von R. M. (Gast)


Lesenswert?

Heini schrieb:
> Ebenso habe ich die .config-Datei von avrdude unter „PROGRAMMER
> DEFINITIONS“ wie folgt angepasst:programmer
>   id    = "ehajo-isp";
>   desc  = "avr-isp-programmer from eHaJo, http://www.eHaJo.de";;
>   type  = "usbtiny";
>   connection_type = usb;
>   usbvid     = 0x16D0;
>   usbpid     = 0x0BA5;
> ;

Eigentlich ist diese Änderung auch nicht notwendig, wenn man den AVRDUDE 
mit "c=usbtiny" aufruft.
Ansonsten fällt mir ausser SPI-Takt runtersetzen (B=50 wurde ja schon 
genannt: goße Zahl=langsamer Takt), evtl Anlegen eines externen Taktes 
an PB6, für den Fall falscher Fuses, oder Austausch des µC gegen ein 
anderes Exemplar nicht mehr viel ein. Habe mit dem USBTINY eigentlich 
bisher gute Erfahrungen gemacht, auch wenn er etwas langsam ist.
mfG

von Karl M. (Gast)


Lesenswert?

Hallo,

den ISP - Programmer ist ein TinyUSB, der läuft bei mir mit eigenen 
Aufbauten (Platinen) und den von Ehajo gelieferten Platinen wunderbar.

Ich gehe davon das, dass der Atmega auf einem Steckbrett sitzt und nicht 
korrekt oder vollständig beschaltet ist.

Siehe Atmel Application Notes zu diesem Thema.
#http://www.microchip.com/wwwproducts/en/ATMEGA8A

Bisher sehen wir keinen Schaltplan oder hochauflösende Bilder von 
Aufbau.

von Axel S. (a-za-z0-9)


Lesenswert?

Irgendwie ist der TE verschwunden. Hoffentlich liest er noch mit.

Bis auf C3 an Reset ist die Schaltung im Prinzip erstmal korrekt. Der 
ISP-STick von eHaJo funktioniert bei mir prima (genauso wie ein usbasp 
übrigens) - an dem liegt es mit einiger Wahrscheinlichkeit nicht.

Der Fehler liegt ziemlich sicher in der Verdrahtung. Steckbretter sind 
notorisch dafür, schlechte Kontakte zu haben. Noch eine Falle: die 
durchverbundenen Kontakte für GND/Vcc sind nicht über das ganze 
Steckbrett durchverbunden, sondern immer nur in 25er Gruppen!

Also, nochmal prüfen:

- liegen alle GND-Anschlüsse des µC auf GND?
- liegen Vcc und AVcc auf +5V?
- sind die Abblockkondensatoren C1 und C2 direkt an den Pins des µC 
eingesteckt?
- sind die 6 ISP-Leitungen kurz und korrekt angeschlossen?

und weil der µISP-Stick ein "Bausatz" ist: sind die Lötstellen am 
ISP-Stecker sauber? Ist das Kabel sicher und in der richtigen 
Orientierung aufgepreßt? Steckt es richtig herum am Stick?

Noch eine Frage: wird der µC eigentlich vom µISP-Stick versorgt oder hat 
er seine eigenen 5V? Falls das erste: ist der Jumper auf den zwei 
separaten Pins des Sticks gesteckt?

von S. Landolt (Gast)


Lesenswert?

> Steckbretter sind notorisch dafür, schlechte Kontakte zu haben.

So pauschal darf man das sicher nicht sagen, meine Erfahrung ist eine 
andere: ich arbeite mit zwei sehr alten Steckbrettern ("K AND H") und 
hatte damit bei Digitalschaltungen noch nie Probleme.

von Heini (Gast)


Lesenswert?

Hallo zusammen.

Hatte gestern leider keine Zeit zu antworten oder weiter die Sachen 
auszuprobieren.
Werde mich heute Abend nochmal melden und die Lösungsvorschläge 
ausprobieren.

von Heini (Gast)


Angehängte Dateien:

Lesenswert?

So jetzt arbeite ich hier das mal Schritt für Schritt ab.

Jim M. schrieb:
> Hast du mal zusätzlich die Optionen "-v -v" probiert? Avrdude spuckt
> dann mehr Infos aus, WAS schief gegangen ist. Das kann man übrigens mit
> Ausgabeumleitung in eine Textdatei packen.

Habe ich mal gemacht. Die Textdatei habe ich mal beigefügt. Lässt die 
Ausgabe "avrdude: programmer operation not supported" vielleicht darauf 
schließen, dass ich bei der Installation einen Fehler gemacht habe?


Stefan U. schrieb:
> Bist du ganz sicher, daß alle 4 Versorgungs-Spannung Pins wie in deinem
> Plan angeschlossen sind?
>
> Ist eventuell das Kabel zwischen Programmer und µC länger als 30cm? Wenn
> ja, dann mache es mal kürzer.

Ich habe mal ein Foto von dem Steckbrettaufbau beigefügt. Das Kabel 
zwischen dem µC und dem Programmer ist unter 15cm lang.

R. M. schrieb:
> Heini schrieb:
>> Ebenso habe ich die .config-Datei von avrdude unter „PROGRAMMER
>> DEFINITIONS“ wie folgt angepasst:programmer
>>   id    = "ehajo-isp";
>>   desc  = "avr-isp-programmer from eHaJo, http://www.eHaJo.de";;;
>>   type  = "usbtiny";
>>   connection_type = usb;
>>   usbvid     = 0x16D0;
>>   usbpid     = 0x0BA5;
>> ;
>
> Eigentlich ist diese Änderung auch nicht notwendig, wenn man den AVRDUDE
> mit "c=usbtiny" aufruft.

Habe es mit dem anderen "c"-Parameter ebenfalls mal versucht und die 
alte (nicht abgeänderte) config-Datei verwendet. Allerdings bekomme ich 
da die Meldung, dass er den Programmer nicht kennt.

Karl M. schrieb:
> Ich gehe davon das, dass der Atmega auf einem Steckbrett sitzt und nicht
> korrekt oder vollständig beschaltet ist.

 Ja genau, so habe ich es gemacht. Das Bild vom Aufbau ist im Anhang. 
Wenn ich da jetzt keinen Fehler gemacht habe sollte die Beschaltung wie 
in dem zuvor gezeigten Schaltplan sein (mit C3 entfernt).

Axel S. schrieb:
> Der Fehler liegt ziemlich sicher in der Verdrahtung. Steckbretter sind
> notorisch dafür, schlechte Kontakte zu haben. Noch eine Falle: die
> durchverbundenen Kontakte für GND/Vcc sind nicht über das ganze
> Steckbrett durchverbunden, sondern immer nur in 25er Gruppen!
>
> Also, nochmal prüfen:
>
> - liegen alle GND-Anschlüsse des µC auf GND?
> - liegen Vcc und AVcc auf +5V?
> - sind die Abblockkondensatoren C1 und C2 direkt an den Pins des µC
> eingesteckt?
> - sind die 6 ISP-Leitungen kurz und korrekt angeschlossen?
>
> und weil der µISP-Stick ein "Bausatz" ist: sind die Lötstellen am
> ISP-Stecker sauber? Ist das Kabel sicher und in der richtigen
> Orientierung aufgepreßt? Steckt es richtig herum am Stick?

Habe den Aufbau auch gerade nochmal neu aufgebaut und die 
Steckbrettverbindungen durchgemessen. Brachte leider auch keine 
Besserung mit sich.
Die Versorgungsspannung von 5V lässt sich auf dem Steckbrett messen. Am 
Programmer ist das Kabel wie im Bild gezeigt angeschlossen.

Axel S. schrieb:
> Noch eine Frage: wird der µC eigentlich vom µISP-Stick versorgt oder hat
> er seine eigenen 5V? Falls das erste: ist der Jumper auf den zwei
> separaten Pins des Sticks gesteckt?

Ja genau so war es geplant gewesen. Habe den Jumper auch aufgesteckt.




Ich habe noch einen zweiten, baugleichen, Atmega und werden diesen jetzt 
nochmal ausprobieren. Melde mich später nochmal.
Vielen Dank für die viele Hilfe schon mal.

von Heini (Gast)


Lesenswert?

Mit dem anderen Controller hat es ebenfalls nicht funktioniert.
Bin irgendwie ratlos...

von Heini (Gast)


Lesenswert?

Was mir gerade noch aufgefallen ist.

Sobald ich über avrdude die Befehlszeile ausführe geht die Leuchte an 
dem ISP-Stick aus und kurz danach wieder an. Dabei kommt die Tonmeldung 
für "ein entferntes USB-Gerät" und anschließend die für ein "verbundes 
USB-Gerät"

von Hannes J. (Firma: eHaJo.de) (joggl) Benutzerseite Flattr this


Lesenswert?

Heini schrieb:
> Was mir gerade noch aufgefallen ist.
>
> Sobald ich über avrdude die Befehlszeile ausführe geht die Leuchte an
> dem ISP-Stick aus und kurz danach wieder an. Dabei kommt die Tonmeldung
> für "ein entferntes USB-Gerät" und anschließend die für ein "verbundes
> USB-Gerät"

Wenn das passiert, ist der Lötjumper bei RST gesetzt.

In dem Bild:
http://dokuwiki.ehajo.de/_media/bausaetze:uisp-003.jpg

der Lötjumper oben, der sollte nicht verbunden sein.

vg,

von Heini (Gast)


Angehängte Dateien:

Lesenswert?

Hannes J. schrieb:
> Heini schrieb:
>> Was mir gerade noch aufgefallen ist.
>>
>> Sobald ich über avrdude die Befehlszeile ausführe geht die Leuchte an
>> dem ISP-Stick aus und kurz danach wieder an. Dabei kommt die Tonmeldung
>> für "ein entferntes USB-Gerät" und anschließend die für ein "verbundes
>> USB-Gerät"
>
> Wenn das passiert, ist der Lötjumper bei RST gesetzt.
>
> In dem Bild:
> http://dokuwiki.ehajo.de/_media/bausaetze:uisp-003.jpg
>
> der Lötjumper oben, der sollte nicht verbunden sein.
>
> vg,

Das ist die Lösung gewesen!

Vielen Dank dafür.

von Hannes J. (Firma: eHaJo.de) (joggl) Benutzerseite Flattr this


Lesenswert?

Todo: Warenausgangskontrolle verbessern.

: Bearbeitet durch User
von Heini (Gast)


Lesenswert?

Kurze Interessensfrage: Wofür ist dieser Jumper da ?

von Hannes J. (Firma: eHaJo.de) (joggl) Benutzerseite Flattr this


Lesenswert?

Heini schrieb:
> Kurze Interessensfrage: Wofür ist dieser Jumper da ?

Der verbindet den Reset der Stiftleiste mit dem Reset des 
Mikrocontrollers. Wenn der gesetzt ist, kann man den Attiny4313 über den 
ISP-Stecker programmieren. So flashe ich die Bausätze vor Auslieferung. 
Und nach dem flashen öffne ich den Jumper... theoretisch...

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.