Forum: Mikrocontroller und Digitale Elektronik avr macht reset wegen netzteil


von flo (Gast)


Angehängte Dateien:

Lesenswert?

wenn ich das myavr board mit einem netzteil betreibe messe ich an den 
atmega pins die tristate eingestellt sind eine spannung um die 1,2 volt.
verwende ich nun statt eines netzteils eine batterie als stromversorgung 
sind die tristate pins auf 0 volt statt ca. 1,2 volt.
aber in beiden fällen sind die pins wenn sie als ausgang high 
eingestellt sind 5 volt und bei low 0 volt.

wenn ich das netzteil verwende und das myavr ist an den pc per rs232 
angeschlossen, messe ich an den tristate pins plötzlich 0 volt.
beim anschliesen des d-sub 9 kabels an den pc ist mir auch aufgefallen 
das dabei einen mini funken an stecker und buchsen aussenseite gibt.
trifft man mit dem kabel nicht gleich und kommen die aussenseiten 
öffters zusammen macht der avr sogar einen reset.

bei batterie betrieb sidn diese probleme nicht.
wie läst sich das erklären?
anbei der schaltplan des myavr.

von Ich (Gast)


Lesenswert?

Liegt an den Störschutzkondensatoren im Netzteil, die zwischen 
Phase/Null zum Schutzleiter gehen bzw. auch zur Ausgangsseite gehen. 
D.h. es fließen kleine Ströme dadurch, die diese Störungen verursachen.

von flo (Gast)


Lesenswert?

danke für die antwort.
gibt es vielleicht ein möglichkeit das problem zu beheben?
es handelt sich um folgendes netzteil:
http://www.reichelt.de/?;ACTION=3;LA=2;GROUP=D41;GROUPID=590;ARTICLE=37127;START=0;SORT=preis;OFFSET=16;SID=27D-usPawQARsAAFjePMIa3e1600b94428c492544a754526c2d4a

von Hmm... (Gast)


Lesenswert?

@Ich:

Und wie kommen die Störungen von den Elkos im Netzteil durch den 
Spannungsregler im Controller-Board?

Zwischen welchen Punkten misst du denn die 1.2V? Ist das eine Gleich- 
oder eine Wechselspannung?

Ich tippe mal auf eine Potential-Verschiebung. Das kann bei 
Trafo-Netzteilen schonmal vorkommen, da sich die Ausgangsspannung von 
z.B. 12V nur auf die Spannung zwischen Plus und Minus am Netzteilausgang 
bezieht.

Welche Spannung zwischen dem Netzteil Minus-Pol und der Betriebs-Masse 
deines PCs liegt, ist jetzt undefiniert. Lösen kann man so etwas durch 
Erdung der Schaltung, z.B. indem du die Masse vom Board ans PC-Gehäuse 
oder die Heizung legst.

von flo (Gast)


Lesenswert?

>Zwischen welchen Punkten misst du denn die 1.2V?

nach dem gleichrichter und 7806 von minus nach atmega pin der tri-state 
ist = 1,2 volt gleichspannung.
berühre ich mit dem finger eine masse stelle auf dem board bricht die 
spannung auf 0,4 volt ein und bei loslassen dann wieder auf 1,2 volt.


auch der atmega macht nicht das was er machen sollte.
sobald der atmega strom bekommt wird an einem pin der interne pull up 
eingeschalten und danach abgefragt auf low oder high.
wenn ich nun das netzteil einstecke ist es eher glückssache welcher 
zustand an dem pin eingelesen wird.
ist hingegen das myavr mit der rs232 vom pc verbunden funktioniert alles 
wie es soll ebenso im batterie betrieb.

von Hmm... (Gast)


Lesenswert?

> nach dem gleichrichter und 7806 von minus nach atmega pin der tri-state
> ist = 1,2 volt gleichspannung.

Jap, das passt. Im Tri-State treibt der AVR seinen Portpin nicht und der 
'floated' munter herum. Aktivier per Software den internen Pullup am Pin 
und du hast Ruhe. Oder nimm einen externen Pullup (10k..100k) um einen 
definierten Ruhepegel zu erzeugen.

> auch der atmega macht nicht das was er machen sollte

Ähm...ok....

> wenn ich nun das netzteil einstecke ist es eher glückssache welcher
> zustand an dem pin eingelesen wird.

Is klar....es liegt ja auch kein definierter Pegel an

> sobald der atmega strom bekommt wird an einem pin der interne pull up
> eingeschalten und danach abgefragt auf low oder high.

Bist du sicher, dass der interne Pullup aktiviert wird? Poste doch mal 
dein Programm bitte...

> ist hingegen das myavr mit der rs232 vom pc verbunden funktioniert alles
> wie es soll ebenso im batterie betrieb.

Poste doch mal deine Taster-Beschaltung.

von flo (Gast)


Lesenswert?

>Is klar....es liegt ja auch kein definierter Pegel an

das erste was der atmega nach dem einschalten macht ist den internen 
pull-up zu aktivieren, erst danach wird der zustand eingelesen.

>Bist du sicher, dass der interne Pullup aktiviert wird? Poste doch mal
>dein Programm bitte...
1
.INCLUDE "m8def.inc"
2
3
sbi  PORTC, 0        ; pull-up einschalten
4
nop                  ; synchronization
5
6
sbis  PINC, 0        ; überspringe nächsten befehl wenn taster nicht gedrückt
7
rjmp  null  
8
...
9
...
der befehl "sbis  PINC, 0" wird nicht immer richtig eingelesen.

>Poste doch mal deine Taster-Beschaltung.

vom atmega PORTC 0 zu einem taster auf dem myavr board. (im schaltplan 
S1)

aber wie gesagt, im batterie betrieb oder mit netzteil aber dann muss
das myavr mit der masse vom pc verbunden sein, liest "sbis  PINC, 0" den 
zustand immer richtig ein.

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.