avr macht reset wegen netzteil

Gast #1074572
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.
Angehängte Dateien:
Gast #1074587
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.
Gast #1075511
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.
Gast #1076023
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.
Gast #1076829
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.
Gast #1077125
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.

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