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.
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.
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
@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.
>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.
> 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.
>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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.