-
-
AVR kaptt? Keine ausgabe an 3 pins...
Ich habe ein programm in avr-studio entworfen um bei einer spannungsmessung mit adc das ergebniss an eine LED-anzeige auszugeben. die led-anzeige ist natürlich durch widerstände mit dem controller verbunden, um eine LED anzuschalten muss eine 0 ausgegeben werden (da es eine CA anzeige ist).
3 leds aber wollen nicht leuchten, es scheint so dass der controller sie nicht ansteuert (an dennen IMMER eine 1 liegt!). in avr-studio-simulationen funktionierte aber alles gut!
ist davon auszugehen das der AVR kaputt ist oder habe ich evtl etwas übersehen?
PS es ist ein ganz neuer ATTiny26, er wurde bisher weder benutzt noch irgendwie sonst gefährdet..
-
Erfahrener Benutzer
Roboter Genie
Servus,
schau mal ob du den Debug dekativiert hast in en Fuses, der ist vermutlich ab Wek aktiviert.
Grüße Wolfgang
-
ich werd mir nochmal die einstellungen des programmers anschauen (bin neuling mit avr)
mir fällt gerade auf dass eins der nicht-laufenden pins der PB7 ist, der ja auch das reset-pin ist.. kann man diesen pin überhaupt für output benutzen?? eigentlich erlaubt die software ja das schreiben in diesen port..
-
Erfahrener Benutzer
Robotik Einstein
Den Rest kann man nur benutzen, wenn man die normale Reset-Funktion deaktiviert. Dazu braucht man aber einen HV-Programmer (STK500 o.ä.), weil dann mit nem normalen seriellen ISP (MOSI/MISO/SCK/RESET) nichts mehr zu machen ist.
Welches sind denn die beiden anderen Pins?
-
Korrektur, außer Reset geht nur noch einer nicht, ich glaube aber ich weiß jetzt warum - es ist AREF, ich wollte den ADC so einstellen dass er ADCC als referenzspannung nimmt und AREF nicht benutzt, es sieht aber so aus dass ich in der Programmierung einen fehler gemacht habe und ADC auf AREF geschaltet ist - ich werd es mir heute nochmal ansehen
-
Erfahrener Benutzer
Robotik Visionär
AREF nicht auf VCC oder GND legen sondern nur mit einem 100n Kondensator abschließen. Ausgenommen du legst eine externe Referenzspannung an. AVCC oder 2,56V kannst du intern schalten.
Hubert
-
OK, ich hab diese Fehler nun korrigiert und das ist dabei rausgekommen:
(es ist ein sehr einfacher Voltmeter mit 2 7-Seg-Anzeigen, Messbereich wählbar zwischen 5V und 10V)
Bild hier
Die Zener-Diode gilt dem überspannungsschutz - damit eine große spannung am eingang den controller nicht beschädigt. Es ist eine 5.1V z-diode..
es gibt aber ein weiteres problem: bei spannungen unter ca. 2.5V ist das messergebniss ok, aber dann wird immer eine viel zu niedrige spannung angezeigt.. ich vermute, dass die z-diode daran schuld ist, weil sie langsam zu öffnen anfängt und da der vorwiderstand ganze 560k beträgt die spannung dadurch zu früh absenkt.
wenn ich aber den widerstand zB durch 10k ersetze, dann wird beim anschalten des spannungsteilers die eingangsspannung auf 20kOhm fallen und das wäre ja viel zu wenig.
Hat jemand eine idee wie man dieses problem lösen könnte? eine höhere z-diode setzen wäre meine idee, aber die musste schon über 10V sein um die ergebnisse bei so einem verhalten nicht zu verfälschen - wieviel hält den so ein AVR aus? (irgendwie finde ich diese limits nicht in dem datenblatt, es ist ein attiny26)
PS Jaaaa, ich hab AVCC nicht gefiltert, das wird aber dadurch kompensiert, dass in der programmierung die spannung ca 64mal gemessen wird und mittelwert ausgerechnet - dadurch ist das rauschen minimal
-
Erfahrener Benutzer
Robotik Visionär
Datenblatt ab Seite 126 Electrical Characteristics
Du kannst eine Schottky-Diode nach VCC schalten.
Hubert
-
Erfahrener Benutzer
Robotik Einstein
Wenn du über 560K an den Pin gehst, kannst du auch auf die Z-Diode verzichten. Der AVR hat schon interne Schtzdioden (wie von Hubert.G vorgeschlagen vom Pin nach VCC). Damit kann man über eine großen Widerstand sogar 230V~ auf den Pin geben. Das wird sogar von Atmle in einer AppNote beschrieben!
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen