Forum: Mikrocontroller und Digitale Elektronik Atmega328PB benötige flash Hilfe


von John (Gast)


Angehängte Dateien:

Lesenswert?

Einen schönen Abend euch allen,
mein Umstieg auf den Atmega 328PB ist bis jetzt nicht gut gelaufen.
Ich sitze jetzt schon geschlagene 7 Tage vor dem Problem, dass ich mein 
Atmega328PB nicht zum flashen bekomme.
Jetzt benötige ich doch Hilfe.

Die PCB, auf dem der 328PB sitzt, habe ich selber entworfen (siehe 
Anhang)

Meine Werkzeuge:
- Diamex ISP Programmer (siehe Anhang)
- Arduino IDE 1.8.2 (MAC)
- AVR Studio 6
- Multimeter
- Eagle

Arduino IDE Anpassung:
- Watterott "package_m328pb_index.json" besorgt und installiert.
- Arduino AVR Board version 1.6.23



Chronologische Reihenfolge Fehlersuche:

1. ISP Programmer versorgt den 328pb mit Spannung (5V) an den richtigen 
Pins (pass)
2. Eagle Layout überprüft (pass)
3. Pololu "A-Star 328PB Micro" gekauft und geprüft (mit Arduino IDE) ob 
mein setup damit funktioniert (pass)
4. Wieder Pinout (mein Board) vom 328pb überprüft (pass)
5. Pololu "A-Star 328PB Micro" an AVR Studio angeschlossen und "Device 
signature" auslesen (pass)
6. Mein Board an AVR Studio angeschlossen und "Device signature" 
auslesen (failed)
7. wieder mein Board an Arduino IDE angeschlossen und versucht zu flshen 
(failed)


Mit dem gekauften Pololu-Board habe ich keine Probleme gehabt, aber mit 
meinem Board bekomme ich es einfach nicht hin:-( .
Ich habe keine Ahnung mehr was ich machen soll/kann.
Was mache ich falsch?

Danke für eure Hilfe.
Lieben Gruß
John
1
avrdude: Version 6.3-20171130
2
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
3
         Copyright (c) 2007-2014 Joerg Wunsch
4
5
         System wide configuration file is "C:\Users\Desktop\arduino-1.8.7\hardware\tools\avr/etc/avrdude.conf"
6
7
         Using Port                    : COM38
8
         Using Programmer              : stk500
9
         AVR Part                      : ATmega328PB
10
         Chip Erase delay              : 9000 us
11
         PAGEL                         : PD7
12
         BS2                           : PC2
13
         RESET disposition             : dedicated
14
         RETRY pulse                   : SCK
15
         serial program mode           : yes
16
         parallel program mode         : yes
17
         Timeout                       : 200
18
         StabDelay                     : 100
19
         CmdexeDelay                   : 25
20
         SyncLoops                     : 32
21
         ByteDelay                     : 0
22
         PollIndex                     : 3
23
         PollValue                     : 0x53
24
         Memory Detail                 :
25
26
                                  Block Poll               Page                       Polled
27
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
28
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
29
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
30
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
31
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
32
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
33
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
34
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
35
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
36
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
37
38
         Programmer Type : STK500V2
39
         Description     : Atmel STK500
40
         Programmer Model: STK500
41
         Hardware Version: 10
42
         Firmware Version Master : 2.10
43
avrdude: stk500v2_command(): command failed
44
avrdude: stk500v2_getparm(): failed to get parameter 0x9a
45
         Topcard         : Unknown
46
         Vtarget         : 5.0 V
47
         SCK period      : 8.7 us
48
         Varef           : 5.0 V
49
         Oscillator      : Off
50
51
avrdude: stk500v2_command(): command failed
52
avrdude: initialization failed, rc=-1
53
         Double check connections and try again, or use -F to override
54
         this check.
55
56
57
Beim Hochladen des Sketches ist ein Fehler aufgetreten
58
avrdude done.  Thank you.

von M. K. (sylaina)


Lesenswert?

8.7 us sind recht zügig für SCK. Hast du mal 100 us ausprobiert?
Auf der anderen Seite: Es deutet ja alles auf einen Fehler deines Boards 
hin da es ja mit anderen Boards problemlos geht. Lade doch hier mal das 
Eagle PCB Layout hoch. Das sehe ich als minimum an

: Bearbeitet durch User
von MWS (Gast)


Lesenswert?

John schrieb:
> Was mache ich falsch?

ISP-Clock ist zu hoch, der Chip läuft ab Fabrik mit 8MHz & CKDIV8 
programmiert, gleich 1 MHz  Systemclock,  ISP-Clock darf nicht höher als 
ein Viertel des Systemclocks sein, d.h. < 250kHz.

von tommy (Gast)


Lesenswert?

Im 32-Pin-Package hat der doch 3 mal GND.

von John (Gast)


Angehängte Dateien:

Lesenswert?

M. K. schrieb:
>Es deutet ja alles auf einen Fehler deines Boards
> hin da es ja mit anderen Boards problemlos geht. Lade doch hier mal das
> Eagle PCB Layout hoch. Das sehe ich als minimum an

Da bin ich ganz deiner Meinung. Ich finde nur nix :-(.

M. K. schrieb:
>8.7 us sind recht zügig für SCK. Hast du mal 100 us ausprobiert?
probiere ich aus.

tommy schrieb:
> Im 32-Pin-Package hat der doch 3 mal GND.

Hi Tommy, woher hast du die Info? ich habe nur zwei im Datenblatt 
gesehen.


Ich habe den µC bei Mauser bestellt, da stand Atmega328PB-AU und auf dem 
Gehäuse steht nur "-U" wie ich gerade sehe.

Lieben Gruß und danke .

John

von John (Gast)


Lesenswert?

John schrieb:

> Ich habe den µC bei Mauser bestellt, da stand Atmega328PB-AU und auf dem
> Gehäuse steht nur "-U" wie ich gerade sehe.
 Mouser

von Tastenklopper (Gast)


Lesenswert?

Deine Schaltung hat einen Kurzschluss zwischen Vcc und Aref.
Abblockkondensatoren fehlen.

von Sebastian R. (sebastian_r569)


Lesenswert?

Tastenklopper schrieb:
> Deine Schaltung hat einen Kurzschluss zwischen Vcc und Aref.

Geht eleganter, aber Kurzschluss würde ich das jetzt nicht nennen. Daran 
wird es nicht scheitern.

von Hoffe zu helfen (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

der ATmega328 hat in dem TQFP-32 Package in der Tat drei GND-Pins (siehe 
Bild). Es sieht auch danach aus, als ob Pin 3 nicht mit GND verbunden 
ist.

Parallel dazu scheint auch Pin 6 (VCC) nicht verbunden zu sein.

Viel Erfolg.

von Thomas R. (r3tr0)


Lesenswert?

Sicher, dass der Atmega nicht so gefused ist, dass er mit Ext. Clock von 
16MHz läuft?

von Tastenklopper (Gast)


Lesenswert?

Sebastian R. schrieb:
> Geht eleganter, aber Kurzschluss würde ich das jetzt nicht nennen.

Man muss so Sachen beim Namen nennen, sonst kopiert das nur wieder Einer 
vom Anderen, Kuschelpädagogik ist da fehl am Platz...

Wenn man schon so eine Verbindung einbaut, weil man die letzten 20 Jahre 
verschlafen hat, und nicht mitgekriegt hat, dass die AVRs inzwischen 
ihre ADC Referenzspannung per Software umschalten können, dann verbindet 
man Aref und AVcc.

Aber so wie's im Schaltplan ist, schreit das einem förmlich in's 
Gesicht:

>> Ich kenn mich nicht aus, hab aber von Youtube den Super-Tollen Schaltplan
>> "1337-Arduino-Grundschaltung (c) MegaMakerHaxx0r aka Pickelfresse2005"
>> ganz alleine abgemalt.

von Sebastian R. (sebastian_r569)


Angehängte Dateien:

Lesenswert?

Hoffe zu helfen schrieb:
> Hallo,
>
> der ATmega328 hat in dem TQFP-32 Package in der Tat drei GND-Pins (siehe
> Bild). Es sieht auch danach aus, als ob Pin 3 nicht mit GND verbunden
> ist.
>
> Parallel dazu scheint auch Pin 6 (VCC) nicht verbunden zu sein.
>
> Viel Erfolg.

Bitte in das richtige Datenblatt schauen. Der 328P*B* hat ein paar 
Powerpins weniger, darunter auch Pin 6, und nur 2 GNDs, dafür aber ein 
Register, PE, mehr.

Also das passt schon.

von Sebastian R. (sebastian_r569)


Lesenswert?

Tastenklopper schrieb:
> Wenn man schon so eine Verbindung einbaut, weil man die letzten 20 Jahre
> verschlafen hat, und nicht mitgekriegt hat, dass die AVRs inzwischen
> ihre ADC Referenzspannung per Software umschalten können, dann verbindet
> man Aref und AVcc.

Von deiner restlichen Wortwahl mal abgesehen, hatte ich tatsächlich AVCC 
mit AREF verwechselt.

Datenblatt:
> If the user has a fixed voltage source connected to the AREF pin, the user > may 
not use the other reference voltage options in the application, as they > will be 
shorted to the external voltage.

Also ja, es ist eine Fehlerquelle.

von John (Gast)


Lesenswert?

Hi Leute,
bin gerade von der Arbeit zurück.

Tastenklopper schrieb:
> Deine Schaltung hat einen Kurzschluss zwischen Vcc und Aref.
> Abblockkondensatoren fehlen.

Danke für den Hinweis, keine Ahnung was mich da geritten hat, ich habe 
wohl den Wald vor lauter Bäumen nicht gesehen.

Auf jeden Fall, war das der Fehler, danke , jetzt geht alles.

Auf euch ist wie immer verlass danke.

Lieben Gruß
John :-)

von Veit D. (devil-elec)


Lesenswert?

Hallo,

ich muss jetzt nachfragen warum das zwischen Vcc und Aref ein 
Kurzschluss  sein soll? Man kann doch an Aref irgendeine Spannung 
zwischen 0V und Ub anklemmen. Hier war Ub direkt angeklemmt. Damit wäre 
Ub seine Referenzspannung gewesen für den A/D. Mir ist noch nicht klar 
was daran falsch sein soll? Könnte das jemand bitte nochmal näher 
erklären?

Beitrag #5663578 wurde von einem Moderator gelöscht.
von M. K. (sylaina)


Lesenswert?

Veit D. schrieb:
> Hallo,
>
> ich muss jetzt nachfragen warum das zwischen Vcc und Aref ein
> Kurzschluss  sein soll? Man kann doch an Aref irgendeine Spannung
> zwischen 0V und Ub anklemmen. Hier war Ub direkt angeklemmt. Damit wäre
> Ub seine Referenzspannung gewesen für den A/D. Mir ist noch nicht klar
> was daran falsch sein soll? Könnte das jemand bitte nochmal näher
> erklären?

Ja, kann man. Sollte man aber nicht. Wer weis schon wenn man den ADC auf 
interne Referenz stellt und dadurch die interne Referenz mit VCC 
kurzgeschlossen wird.
So, hinzu kommt jetzt auch noch: VCC ist eine sehr schlechte Referenz, 
die sollte man nicht zwingend ohne Filter im analogen Kreis benutzen.

von Veit D. (devil-elec)


Lesenswert?

Ach'so, Mist, jetzt hat es Klick gemacht, erst bei "unpassender" 
Ref-Registereinstellung gibts den Kurzschluss. Alles klar.
Danke sylaina

von Manfred (Gast)


Lesenswert?

Veit D. schrieb:
> Ach'so, Mist, jetzt hat es Klick gemacht, erst bei "unpassender"
> Ref-Registereinstellung gibts den Kurzschluss. Alles klar.

Das änndert nichts daran, dass Ub am Vref nichts zu suchen hat - da 
gehört ein Kondensator nach GND dran.

von Veit D. (devil-elec)


Lesenswert?

Ja.

von M. K. (sylaina)


Lesenswert?

Manfred schrieb:
> Veit D. schrieb:
>> Ach'so, Mist, jetzt hat es Klick gemacht, erst bei "unpassender"
>> Ref-Registereinstellung gibts den Kurzschluss. Alles klar.
>
> Das änndert nichts daran, dass Ub am Vref nichts zu suchen hat - da
> gehört ein Kondensator nach GND dran.

Da gehört halt VRef dran. Will man Ub als VRef benutzen kann man seit 
dem, ich sach mal, Redesign des Atmega8 (Atmega328 und Co) Ub intern auf 
ARef zuschalten, ist aber nix anderes als extern Ub an ARef anzulegen. 
;)

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.