Atmega 168PA - USBASP - 3,3V

Gast #2445723
Lesenswert?

Hallo,

ich hatte am Wochenende Probleme einen Atmega168PA mit einem Arduino 
Bootloader zu beschreiben. Versorgungsspannung der Schaltung sind 3,3V, 
16 Mhz Quarz und ein USBASP (5V) zum Programmieren.

Nach den ersten Versuchen den Booloader zu flashen hatte ich immer 
wieder Probleme den Atmega über den USBASP anzuspreichen, immer wieder 
war die Checksumme falsch, daraufhin habe ich den Atmega168PA mit 5V 
versorgt und alles funktionierte auf anhieb.
Was kann dieses Verhalten bei 3,3V verursachen.? Der PA ist von 1,8 – 
5,5V bis 20mhz spezifiziert. Ich mache mir nun sorgen das der Atmega bei 
3,3V nicht ordnungsgemäß arbeitet….

Gruß
Manfred
#2445751
Lesenswert?

Wichtig ist dass du die Vcc Eingängen ordentliche mit Kondensatoren 
bestückst, ein paar 100nF und ein paar µF Kerkos ganz nahe an den 
Eingängen und 100µF noch irgendwo auf der Platine.

Wenn es dann immer noch so ist dass dein ATmega168PA mit dem 3.3V und 
12MHz nicht läuft, solltest du erst mal probieren ab welcher Spannung 
genau er nicht läuft.
Verbinde ihn mit einer verstellbaren Spannungsversorgung und dreh die 
Spannung von 0V bis auf 5V.
Als Software kannst du eine nehmen die einfach einen Portpin Togglet 
oder per UART Daten sendet.

Mit dem P-Varianten habe ich nur gute erfahrungen gemacht.
Beispiel ATmega644P:
 - läuft mit 2.8V und 26MHz
 - bei 12V kann man runter bis auf 1.9V gehen
Gast #2445812
Lesenswert?

Manfred schrieb:
> ok, habs gefunden. Jetzt die Frage kann es sein das er auch mit 16mhz
> bei 3,3 läuft?

Das ist ein grosses Fragezeichen. Du uebertaktest die CPU damit 
effektiv. Es steigt auch nicht alles gleichzeitig aus. Z.B. braucht 
flash-rom schreiben viel Strom, das EEPROM ist sehr empfindlich.
Lies dir zum Einstieg einen dieser avr-auf-26MHz und vga-signal-aus-avr 
threads durch. Dann kannst du die Probleme und den Nutzen gegeneinander 
abwaegen.

Mein Fazit: Man kann auch Abblock-Kondensatoren weglassen. Macht aber 
keinen Spass und es gibt keinen Grund, warum man es machen sollte.
#2445830
Lesenswert?

Mike J. schrieb:
> Als Software kannst du eine nehmen die einfach einen Portpin Togglet
> oder per UART Daten sendet.
Das ist völlig ohne Wert. Solange man nicht ALLE Komponenten testet.

avion23 schrieb:
> Das ist ein grosses Fragezeichen. Du uebertaktest die CPU damit
> effektiv
Ganz genau. Scheint beim 168 und 168P auch weniger Probleme zu bereiten. 
Obwohl der Timer 2 mit Uhrenquarz und internen 8 MHz unter 3 Volt auch 
Probleme bei der Rückkehr aus dem Sleepmode macht.

Die PA/A scheinen anspruchsvoller zu sein. Zeigen auch ein anderes 
Verhalten beim Aufwachen aus dem Sleep (längeres Einschwingen).

Letztlich outet sich der Arduino als Gurke, die ausserhalb der 
Spezifikation betrieben wird und mit 168P nur zufällig läuft.

mfg.
#2446191
Lesenswert?

Okay, ich kann nur sagen dass ich wohl immer die Chip Chargen abbekomme 
die besonders gut sind und daher bin ich privat ein "Undervolting-Fan" 
geworden, es macht einfach Spaß.
Die AVR scheinen einen recht großen Spielraum (nach unten) zu haben, 
besonders die P-Varianten.

Es wäre natürlich fatal wenn er es industriell so nutzt.

Meiner Meinung nach ist der Betrieb bei 5V (quasi kurz unter dem Abs. 
Max. Rating) auch nicht so sehr schlau.

Wenn sein Target-Board mit 16MHz betrieben wird und 3.3V zur Verfügung 
stehen sollte es aber funktionieren.

Es kann natürlich sein dass sein ISP-Kabel zu lang ist, entweder er 
senkt die Programmierfrequenz (Slow-ISP-Clock-Jumper) oder er verkürzt 
das Kabel.

avion23 schrieb:
> Man kann auch Abblock-Kondensatoren weglassen.
Wenn der Spannungseinbruch beim schalten der Logik so gering ist dass er 
nicht aus geht (Brownout bei 2.6-2.9V) okay, aber wer kann da schon 
abschätzen.

Er kann ja mal ein Bild seines Target-Boards zeigen, es gab z.B. schon 
Problem beim Betrieb des USBisp von Christian Ulrich, als Lösung wurde 
dann ein  47µF Kondensator an den 5V vom USB als Abblockkondensator 
angeschlossen.

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