Hallo Habe eine 3x4 Matrix Tastertur über ADC angeschlossen Das funktioniert auch so weit so gut. Aber mit AREF als VCC Nun wollte ich die interne 1,1 nehmen da mein Attiny13 mit einer 3V Batterie betrieben wird. Und dadurch sich die Werte immer wieder etwas verschieben. nach diesem Schema angeschlossen http://www.avr-asm-tutorial.net/avr_de/keypad/keyboard.html Muß ich da nun einen C an Aref anschließen (gibs ned beim 13??) Was muß ich ändern. ADC PB3 Bitte um Hilfe
> Habe eine 3x4 Matrix Tastertur über ADC angeschlossen > Das funktioniert auch so weit so gut. Aber mit AREF als VCC Das ist auch ok so. > Nun wollte ich die interne 1,1 nehmen da mein Attiny13 mit einer 3V > Batterie betrieben wird. Das halte ich für keine gute Idee. > Und dadurch sich die Werte immer wieder etwas verschieben. Nein, die verschieben sich nicht. Wenn sich die Betriebsspannung (also auch die ADC-Referenz) ändert, dann ändert sich die Ausgangsspannung des Tasten-Spannungsteilers in gleicher Weise. Das System korrigiert sich also selbst. > nach diesem Schema angeschlossen > http://www.avr-asm-tutorial.net/avr_de/keypad/keyboard.html > Muß ich da nun einen C an Aref anschließen (gibs ned beim 13??) Laut Datenblatt Tiny13, Seite 2, Pinout-Skizze trägt keiner der Pins den Namen AREF. Demzufolge ist AREF nicht von außen zugänglich und es kann auch kein C angeschlossen werden. > Was muß ich ändern. Eigentlich nichts. > ADC PB3 Das sollte kein Problem darstellen. Es könnte allerdings sein, dass Dein Tasten-Spannungsteiler durch Bauteiltoleranzen etwas andere ADC-Werte ergibt und dadurch die LUT etwas angepasst werden muss. Voltmeter, Dreisatz und Taschenrechner sollten da helfen. ...
Also Danke erst mal, Das soll ein Codeschloss werden für Garagentore Da läuft mit Batterie. - ATtiny13V ist im sleep Modus - Wenn geweckt (PB5 RESET) dann über Relais auf Spannungversorgung über 220V --> 3,3V --> damit nicht immer Strom Verbraucht wird. Was ich nicht verstehe ich geh doch dann mit 0V-3,1V in den ADC rein. Rechnet es dann Intern das UM. (Datenblatt Seite81) Also ich habe da irgendwo einen Denkfehler drinn. 1,1V -->1023 0V --> 0 Aber bei 2V eingang ?? --> 2000?? Danke
> Aber bei 2V eingang ?? --> 2000??
2V --> 1023
Wenn du die 1,1V-Referenz nimmst, kannst du keine Spannungen über 1,1V
messen.
Aber du wolltest doch nach dem Beitrag von Hannes die Referenzspannung
auf VCC lassen, weil nur dann der digitale ADC-Messwert unabhängig von
Versorgungsspannungsschwankungen ist, oder?
Hallo. Jetzt mal etwas grundsätzlicher, damit der Gerd A. (Hallo Gerd) das versteht. Der ADC im Tiny13 nimmt als Vergleichsspannung die Betriebsspannung: die Spannung am Input wird damit verglichen. Der Spannungsbereich von 0 bis 3 V entspricht dann linear den Werten 0..1023. Mit den Vergleichswerten, die für die einzelnen Tasten angegeben sind, werden daraus die Tasten ermittelt. Die Schaltung und die Software funktionieren bei allen Betriebsspannungen, wenn VCC als Referenz verwendet wird. Ein ADC misst nämlich eigentlich keine absolute Spannung sondern immer nur das Verhältnis einer Spannung zur Referenzspannung. Und die Verhältnisse des Spannungsteilers zur Versorgungsspannung bleiben immer dieselben. Was passiert nun, wenn Du die interne URef nimmst? Alle Eingangsspannungen oberhalb von 1,1 V ergeben 1023. Das erklärt sich recht einfach aus der Funktionsweise eines ADC. Damit kannst Du alle Tasten vergessen, die mehr als 1,1 V erzeugen (bei 12 Tasten und 3 V sind das ca. 8 Tasten), die kriegst Du dann prinzipiell nicht erkannt. Ich kann auch nur davor warnen, mit der internen URef zu arbeiten und die R-Kombinationen am Keyboard dem anzupassen. Jede kleinste Änderung der Betriebsspannung wirkt sich dann schon ziemlich auf das Netzwerk aus und Du wirst verzweifeln, wenn die Taste 8 immer eine 9 liefert, wenn es draußen warm ist. mfg gerd
Also DANKE euch. Danke Gerd für deine ausführliche Antwort, Stimmt ja (lange ist es her) Die Teilungsverhältnis im Widerstandsnetzwerk bleiben ja immer gleich. Das heiß bezogen auf VCC wird immer aufgeteilt in im ADC 1023 Teile Dadurch fällt auch im Verhältnis zu VCC immer der gleiche Anteil ab, pro Tastendruck, Nur zur Verständnis : Wenn ich Interne Ref nehmen würde müsste ich extern dafür sorgen das beim Widerstandsnetzwerk nie mehr wie 1,1V ankommen (Zehnerdiode oder Regler) Danke NOCHAML Gruß Gerd A.
> Wenn ich Interne Ref nehmen würde müsste ich extern dafür sorgen das > beim Widerstandsnetzwerk nie mehr wie 1,1V ankommen (Zehnerdiode oder > Regler) Nur im Bereich von 0V bis 1,1V können sinnvolle Messungen durchgeführt werden. Spannungen zwischen 1,1V und VCC machen den Kontroller aber nicht kaputt. Sie liefern einfach nur den maximalen Digitalwert (1023) am ADC, können also nicht von 1,1V unterschieden werden. Eine Spannungsbegrenzung brauchst du nur dann, wenn Eingangspannungen größer als VCC oder kleiner als 0V auftreten können. Oft genügt dafür ein einfacher Serienwiderstand vor dem ADC-Eingang, da die Spannung bereits durch die internen Schutzdioden im Controller nach oben und unten begrenzt wird. Der Widerstand dient dazu, den Strom durch diese Dioden zu begrenzen, der nicht höher als etwa 1mA sein sollte.
Hallo Habe gerade auch ein ADC- Ref.-Spannungs- Problem mit dem Tiny 13: In Bascom wird mit "Config Adc = Single , Prescaler = Auto Start Adc" der ADC aktiviert, wobei dann 5 V als Referenzspannung für den AD- Wandler verwendet werden. Funktioniert auch. Da ich sehr kleine Spannungen messen muss (< 200mV) , möchte ich gerne die interne 1,1 V Referenzspannung aktivieren. Könnte mir bitte jemand sagen, wie das mit Bascom geht ? Gruß Beginy
Danke, erledigt,hab´s gefunden! ADC muß in Bascom mit: "Config Adc = Single , Prescaler = Auto, Reference = Internal " konfiguriert werden, damit die interne Ref._Spannung von 1,1 V verwendet wird.
Wenn Du unbedingt über den Config_Befehl gehen willst, schau mal in der Bascom Hilfe bei "Config ADC" nach. Dort gibt es nämlich auch noch die Option "Reference". Du kannst aber natürlich auch die entsprechenden Register "von Hand" laden und im Datenblatt nachsehen, welche Bits gesetzt sein müssen, um die interne Referenzspannung zu benutzen. Das empfiehlt sich unter Anderem deswegen, weil man über die diversen Config-Befehle gar nicht an alle Möglichkeiten herankommt, die man hat. MfG Paul
Ja, danke Paul für den Tip . In der Bascom- Hilfe hatte ich dann die Lösung auch gefunden. Früher oder später wird Bascom nicht mehr genügen und ich werde mir doch noch Assembler aneignen müssen. Schönes Wochenende ! Beginy
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.