www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik avr macht reset wegen netzteil


Autor: flo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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;G...

Autor: Hmm... (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hmm... (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...
.INCLUDE "m8def.inc"

sbi  PORTC, 0        ; pull-up einschalten
nop                  ; synchronization

sbis  PINC, 0        ; überspringe nächsten befehl wenn taster nicht gedrückt
rjmp  null  
...
...
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.