Kann man den Analog Komparator Eingag des Atmel Attiny gleichzeitig als ADC und Komparator benutzen? Ich meine, wenn die Spannung eine Schwellenspannung überschreitet oder unterschreitet soll interrupt ausgelöst werden. Gleichzeitig möchte ich aber außerhalb der Schwellenwerte die Spannung am Pin über ADC verarbeiten. ADC und Analog Komparator sind auf dem selben Pin.
karim schrieb: > Kann man den Analog Komparator Eingag des Atmel Attiny gleichzeitig als > ADC und Komparator benutzen? Ich meine, wenn die Spannung eine Nein, gleichzeitig geht nicht. Vielleicht schnell im Wechsel aber das bei deinem Attiny eventuell auch nicht.
karim schrieb: > Kann man den Analog Komparator Eingag des Atmel Attiny gleichzeitig als > ADC und Komparator benutzen? Was hindert dich daran, das einfach auszuprobieren? köhler schrieb: > Nein, gleichzeitig geht nicht. Woher weisst du das so genau? Den Reset-Pin kann man bei einigen Attiny auch per ADC einlesen und daran z.B. mittels Spannungsteiler einen Taster abfragen. Warum soll das beim AC-Pin nicht gehen? mfg.
:
Bearbeitet durch User
Thomas Eckmann schrieb: > Taster abfragen. Warum soll das beim AC-Pin nicht gehen? Ja, AC und ADC auf gleichem Pin könnte gehen. Gebe ich zu :( Aber mehr nicht, solange da nichts konkretes bekannt ist. - Gleichzeitigkeit ist immer so eine Sache.
köhler schrieb: > Gleichzeitigkeit ist immer so eine Sache. Das hat ja nichts mit Gleichzeitigkeit zu tun. ADC und AC lassen sich gemeinsam unabhängig voneinander betreiben. Beide Eingänge sind hochohmig. Was hindert einen also daran, den Multiplexer des ADC auf den AC-Pin zu schalten? Aber das steht nicht im Datenblatt. Ist auch so nicht vorgesehen. Man muss es einfach nur ausprobieren. Wie beim Reset-Pin. Das steht auch nirgendwo geschrieben. Würde man die Verbindung aussen über 2 Pins herstellen, würde man auch nicht an der Funktion zweifeln. Warum sollte man das tun, wenn man sie intern herstellt? Wie sagt Gene Cranz im Film "Apollo 13" so schön: " Es interessiert mich nicht, wofür etwas gemacht ist. Ich will wissen, was es kann". mfg.
:
Bearbeitet durch User
karim schrieb: > Kann man den Analog Komparator Eingag des Atmel Attiny gleichzeitig als > ADC und Komparator benutzen? Die Gleichzeitigkeit geht bis maximal Setzen des Interruptflags. Messen mit ADC auf Resetpin habe ich selbst schon gemacht aber nicht gleichzeitig mit Resetzustand.
köhler schrieb: > Die Gleichzeitigkeit geht bis maximal Setzen des Interruptflags. Ja. Wenn der Schwellwert erreicht ist, setzt der AC sein Flag und der Controller geht in die ISR. Wenn der ADC gerade am messen ist, tut er das unabhängig davon weiter und setzt sein Flag, wenn er damit fertig ist. Wenn die ISR des AC abgearbeitet ist, springt der Controller in die ADC-ISR. Das ist die normalste Sache der Welt, wenn mehrere Interruptquellen in Betrieb sind. köhler schrieb: > Messen mit ADC auf Resetpin habe ich selbst schon gemacht aber nicht > gleichzeitig mit Resetzustand. Das ist ja auch Quatsch. Im Reset passiert ausser Reset gar nichts. mfg.
köhler schrieb: > karim schrieb: >> Kann man den Analog Komparator Eingag des Atmel Attiny gleichzeitig als >> ADC und Komparator benutzen? > > Die Gleichzeitigkeit geht bis maximal Setzen des Interruptflags. > > Messen mit ADC auf Resetpin habe ich selbst schon gemacht aber nicht > gleichzeitig mit Resetzustand. Die Gleichzeitigkeit soll auch bis zum Interuptflag des AC gesetzt wird fuktionieren. Ich möchte ja nicht einen zweiten Spannungsteiler für den ADC bauen. Außerdem sind alle pins besetzt. Ein Pin kann man also gleichzeitig im ADC-Register für die ADC-Messung und im AC-Register als Analog Komparator konfigurieren.
karim schrieb: > Kann man den Analog Komparator Eingag des Atmel Attiny gleichzeitig als > ADC und Komparator benutzen? Natürlich. Jedenfalls mindestens immer dann, wenn ein ADCx und ein AINx auf demselben Pin liegen. U.u. aber auch noch in mehr Fällen, das hängt von den konkreten ADMUX-Optionen ab. Ob eines von beidem der Fall ist, steht im (Mod: Obszöniät gelöscht) Datenblatt des konkreten µC. Welcher das ist, hast du uns in der unerfindlichen Weisheit (oder vielmehr deren vollständiger Abwesenheit) ja leider nicht mitgeteilt...
:
Bearbeitet durch Moderator
c-hater schrieb: > karim schrieb: > > Kann man den Analog Komparator Eingag des Atmel Attiny gleichzeitig als > ADC und Komparator benutzen? > > Natürlich. Jedenfalls mindestens immer dann, wenn ein ADCx und ein AINx > auf demselben Pin liegen. U.u. aber auch noch in mehr Fällen, das hängt > von den konkreten ADMUX-Optionen ab. > > Ob eines von beidem der Fall ist, steht im .. Datenblatt des > konkreten µC. Welcher das ist, hast du uns in der unerfindlichen > Weisheit (oder vielmehr deren vollständiger Abwesenheit) ja leider nicht > mitgeteilt... Ich benutze Attiny461. AC und ADC liegen auch auf dem selben Pin. Ich probiere jetzt einfach aus. ich hoffe dass es klappt :)
:
Bearbeitet durch Moderator
Thomas Eckmann schrieb: > Den Reset-Pin kann man bei einigen Attiny > auch per ADC einlesen Das interessiert mich sehr, da die Pins bei den Tinys ja oft nicht reichen. Ich dachte, man könnte den Reset nicht benutzen, solange man ihn nicht per Fuse deaktiviert. Wie ist deine Aussage zu verstehen? Wie du auch sagtest, kann er natürlich nicht auf Low gezogen werden. Aber in welchen Bereich ist er denn nutzbar? Das Datenblatt des Tiny85 sagt für Reset: High-voltage min = 0,9Vcc, und Low darf er nicht sein. D.h. es gibt so gut wie keinen Bereich für die Nutzung nach Spezifikation. Ich kann da nur annehmen, dass du den praktischen Bereich verwendest - also ausprobieren wann er auf Low und damit auf Reset geht. Das ist dann wohl riskant bei Temperatur- und Spg-Änderung und erfordert entsprechenden Sicherheitsabstand. Den internen Pull-up muss man auch noch berücksichtigen. Wie stellst du es also an mit der praktischen Nutzung des Reset-Pins? Und wo sind die Grenzen?
Hermann schrieb: > Ich dachte, man könnte den Reset nicht benutzen, solange man > ihn nicht per Fuse deaktiviert. So steht es auch im Datenbuch (nein, nicht -blatt -bei 242 Seiten!) Zitat: • Port B, Bit 7 – RESET/ dW/ ADC10/ PCINT15 • RESET, Reset pin: When the RSTDISBL Fuse is programmed, this pin functions as a normal I/O pin, and the part will have to rely on Power-on Reset and Brown-out Reset as its reset sources. When the RSTDISBL Fuse is unprogrammed, the reset circuitry is connected to the pin, and the pin can not be used as an I/O pin. • If PB7 is used as a reset pin, DDB7, PORTB7 and PINB7 will all read 0. Ende Zitat. MfG Paul
Hermann schrieb: > Wie stellst du es also an mit der praktischen Nutzung des Reset-Pins? > Und wo sind die Grenzen? Nehmen wir einen Attiny13: RESET = PB5 = ADC0 Auch wenn es nicht explizit im Datenblatt beschrieben steht: Der Multiplexer des ADC lässt sich grundsäzlich immer auf diesen Pin schalten und misst dann artig die Spannung an diesem. Ist dieser Pin, wie es sich gehört, der Reset-Pin, misst er eben die Spannung, die über dem Pullup dort anliegt, also normalerweise Vcc. Senkt man die Spannung mittels passend dimensioniertem Spannungsteiler ein wenig ab, misst der ADC eine etwas geringere Spannung, die man dann als Tastendruck interpretieren kann. Dazu reicht eine Absenkung um 10% vollkommen aus. Womit man dann sogar noch in der Spezifikation für Reset High bleibt. Allerdings wird auch eine wesentlich grössere Absenkung noch nicht als Reset von der Resetschaltung des Controllers ausgewertet. Natürlich ist das keine Option für eine professionelle Anwendung. Aber zum Basteln, insbesondere in der Entwicklung, ist das durchaus eine Möglichkeit, sich einen weiteren Pin zu "beschaffen". Ohne sich mit dem "Wegfusen" des Reset, in Ermangelung eines HV-Programmers, aus dem Controller auszusperren. Es gibt noch andere Sachen, die nicht im Datenblatt stehen, aber trotzdem funktionieren. Z.B. einen freilaufenden ADC als Timer einzusetzen oder mit dem Aref-Pin einen oder sogar mehrere Taster einzulesen. Und spart euch die Zitate aus dem Datenblatt. Das sind Dinge, die man als Hacker-Scheiss oder als besonders pfiffig oder irgendwo dazwischen bezeichnen mag. Fakt ist, dass sie funktionieren und den Controller nicht kaputt machen. mfg.
Paul Baumann schrieb: > If PB7 is used as a reset pin, DDB7, PORTB7 and PINB7 will all read 0. Ja, so steht es beim Tiny861. Beim Tiny85 steht es deutlicher: "Pullup is activated and output driver and digital input are deactivated when the pin is used as the RESET pin." Was auch klar ist: Digital I/O geht nicht. Thomas sprach aber von der ADC-Nutzung. Das ist mir aber auch unklar. Vref=1,1V wird man wohl nicht nutzen können, da dass vermutlich schon RESET auslöst. Vielleicht geht es mit Vref=2,56V und dann evtl. der Bereich von 2,0 bis 2,56V. Damit könnte man gerade noch einen Schalter abfragen.
Hermann schrieb: > Das ist mir aber auch unklar. Vref=1,1V wird man wohl nicht nutzen > können, da dass vermutlich schon RESET auslöst. Vielleicht geht es mit > Vref=2,56V und dann evtl. der Bereich von 2,0 bis 2,56V. > Damit könnte man gerade noch einen Schalter abfragen. Hierbei handelt es sich um eine Messung, bei der keine absoluten Werte, sondern Verhältnisse bestimmt werden. Dazu verwendet man üblicherweise Vcc als Referenz. mfg.
Thomas Eckmann schrieb: > Es gibt noch andere Sachen, die nicht im Datenblatt stehen, aber > trotzdem funktionieren. Mein Post kam zu spät. Ist schon sehr interessant, einen Pin zu gewinnen ist oft wichtig. Also Grenzen testen und doch lieber Vref=Vcc. Aref-Pin nutzen? An welchen µC denkst du da? Wenn es kein Port-Pin ist, also ohne zusätzliche Funktionen (z.B. Mega48) - wie kommt man da dran? Und ADC als Timer? Erzähl mal weiter!!
Beim älteren Tiny26 habe ich es mal probiert den AC und ADC auf einem Pin (gemeinsame Funktion) zu nutzen - hat irgendwie nicht funktioniert. Wenn der ADC aktiv war ging der Komparator nicht. So intensiv habe ich es aber nicht durchgespielt - so wichtig war mir die Komparator-funktion nicht. Der ADC im free running Mode als Timer geht übrigens ganz gut, insbesondere für eine Software UART. Der Teiler 13 vom ADC sorgt gerade dafür um von 2,4,8,16 MHz auf die Standardbaudraten zu kommen.
Hermann schrieb: > Aref-Pin nutzen? An welchen µC denkst du da? Wenn es kein Port-Pin ist, > also ohne zusätzliche Funktionen (z.B. Mega48) - wie kommt man da dran? Beitrag "[Atmega48..328] Ein Pin zu wenig, Taste einlesen?" Hermann schrieb: > Und ADC als Timer? Normalerweise kann man einen Timer natürlich für mehrere Dinge verwenden. Aber, wenn es absolut nicht geht und man einen einigermassen genauen zyklischen Takt braucht, kann man den ADC laufen lassen und betrachtet den Interrupt als Timer-Interrupt. Mit dem ADC-Prescaler kann man den sogar noch einstellen. Bei 1MHz und Prescaler 128 kommt man dabei mit den normalen 13 ADC Clock Cycles auf ungefähr 600Hz. Aber auch, wenn man den ADC bestimmungsgemäss verwendet, liefert er einen regelmässigen Takt, der z.B. zum Muxen allemal ausreicht. Für eine Uhr taugt das natürlich nichts. mfg.
Thomas Eckmann schrieb: > Aber auch, wenn man den ADC bestimmungsgemäss verwendet, liefert er > einen regelmässigen Takt, der z.B. zum Muxen allemal ausreicht. Für eine > Uhr taugt das natürlich nichts. Natürlich geht damit auch eine Uhr. Der CPU-Takt wird exakt geteilt, unabhängig von der Interruptausführung. Bei den ATtiny25..85 und 261..861 ist Reset auch ein Analogeingang. Mit z.B. 1k gegen VCC und 20k gegen eine Taste, 47k gegen eine andere nach GND, lassen sich bequem 2 Tasten einlesen.
:
Bearbeitet durch User
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.