AVR MEGA 1280 schaltet sich mit 50Hz an und ab

Gast #1396634
Lesenswert?

Hallo Leute,
ich habe ein Problem mit meinen AVR Mega 1280. Ich wollte meine 
Schaltung für eine Ätzanlage in Betrieb nehmen, und da ist ein kleines 
Problem aufgetreten.   Ich habe das Programmiergerät AVR  ISP MK2 
angeschlossen und auch gleich eine Rückmeldung erhalten. Danach habe ich 
die Fuses-Bit eingestellt. Als Taktquelle dient  16MHz Quarz betreib.

CKDIV8 :   aus
JTAGEN:     aus
CKSEL:     Ext. Crystal  Osc.  8,0 – MHz   Start up Time 16K CK + 0ms

Dies klappte auch ganz gut. Ich musste nur noch die ISP Frequenz 
einstellen und ich hatte gleich  wieder Zugriff auf den µC. Dann habe 
ich ein kleines Programm  eingespielt was eine LED einfach ansteuern 
sollte  und festgestellt das die LED mit rund 50Hz blinkt. Danach habe 
ich noch ein bisschen an den Fuses-Bit rum gestellt  aber nur mit dem 
Ergebnis das die Frequenz von der LED sich geändert hat.

#include <avr/io.h>
int main (void)
{
 DDRG  = 0b11111111;
 PORTG = 0b00000011;  //LED an

  while(1)
  {

  }
return 0;
}

Spannung  5,1V und Uss 100mV
Stromaufnahme beträgt 0.04A also kein Kurzschluss

Woran liegt das und wie kann ich das änder das die LED dauerhaft 
Leuchtet.

Danke
Gast #1396700
Lesenswert?

Die Relais habe eine Schottky-Diedoe SB140 und eine Z-Diode ZF15 als 
Schutz. Die Versorgungsspannung ist die Selbe wie beim µC. Die Relais 
werden über Transisoren geschaltet und sind zur Zeit spannungs los ( 
nicht durchgeschalten).
Beim schalten der Relais ist in der Versorungsspannung keine 
Spannungsspitze zusehen.

Nach dem Gleichrichter ist ein 4700µF Elko + 2x100nF nach dem 
Spannungsregler sind noch 100 µF Elko und 2x100nF Kondensatoren. Bei dem 
µC ist bei jedem Eingang für die Spannungsversorung ein 100nF 
Kondensator.

ARef ist mit 100nF mit GND verbunden.
AVCC mit einer Spule mit 5V und einen 100nF Kondensator mit GND 
verbunden.


Ich habe noch mal meine Messung konntroliert und die 160mV fängt die 
Messleitung irgent wo auf.
Angehängte Dateien:
Gast #1396722
Lesenswert?

Wenn das wirklich dein ganzes Programm ist kommen
nur Resets in Frage. Watchdog oder Brownout Detection
oder deine Resetleitung fängt sich was ein. Also
Osci nehmen und den Reset Pin begutachten.

>Danach habe
>ich noch ein bisschen an den Fuses-Bit rum gestellt  aber nur mit dem
>Ergebnis das die Frequenz von der LED sich geändert hat.

Ich persönlich bevorzuge da nicht ständig was zu ändern,
sondern definierte Einstellungen vorzunehmen:

Brownout auf den höchsten Wert.
Watchdog aus.
Oscillator mit längster Anlaufzeit. Bei dir Crystal Osc.
Bootloader hast du ja nicht, also BOOTRST auch nicht brennen.
JTAG aus. OCD aus.
Gast #1396737
Lesenswert?

Wotchdog ist aus, JTAG ist aus, Brownout auf 4,7V, Bootloader ist aus
Ext. Crystal  Osc.  8,0 – MHz   Start up Time 16K CK + 65ms
eingestellt. Mit dem Ergebnis die LED blinkt jetzt mit 11Hz.

Ich habe das Oszi die Reset-Leitung angeschlossen. An dieser war 
permanent eine Spannung von 4,8V zu Messen. Dann habe ich mit AVR Studio 
eine Reset durchgeführt und konnte diesen Resetimpuls auch mit dem Oszi 
gemessen.
Gast #1396794
Lesenswert?

Hmm.

>Start up Time 16K CK + 65ms

1/16000000 * 16000 ergibt 1ms
65ms + 1ms = 66ms

Dazu die Zeit für den Brownout Reset. Könnte 11Hz geben.
Die Vermutung liegt nahe das dein Programm beim einschalten
der LED abschmiert. Vorwiderstand vergessen?

>Bei dem
>µC ist bei jedem Eingang für die Spannungsversorung ein 100nF
>Kondensator.

Sind die VCC,GND auch alle angeschlossen?

Es wird höchste Zeit für einen Schaltplan!

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