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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.