hallo forianer, ich versuche gerade, den adc vom tiny45 dazu zu überreden, mit der internen 1,1v referenz im free running mode zu arbeiten. ohne gain oder ähnliches, ganz einfach laufen lassen. da offenbar in der bascom def-datei ein fehler ist, wollte ich die register direkt setzen, aber bei 1,1v eingang kommt als ergebnis immer "18h" heraus: mit der bascom initialisierung (siehe unten) lief der code vorher auf dem tiny13 problemlos.. '**** ADC Starten 'tiny 13 'Config Adc = Single , Prescaler = Auto, reference=internal ' Reference = Internal 1,1V 'Start Adc 'ADC läuft durchgehend 'tiny45 admux=&B10000010 adcsra=&B11000000 adcsrb.7=0 adcsrb.5=0 adcsrb.2=0 adcsrb.1=0 adcsrb.0=0 'hier passiert die umwandlung von 10 in 7bit (wertebereich 0...100(00..64h)), wurde nicht geändert Sollwert = Getadc(2) 'Einlesen Analogwert Shift Sollwert , Right , 3 'Wandeln in 7Bit Sollwert8 = Low(sollwert) 'lowbyte dem 7bit wert zuweisen '0...127 Hilfsvariable = Sollwert8 'Umrechnung von 0...127 auf 0...100 Shift Hilfsvariable , Right , 3 Sollwert8 = Sollwert8 - Hilfsvariable Shift Hilfsvariable , Right , 1 Sollwert8 = Sollwert8 - Hilfsvariable Shift Hilfsvariable , Right , 1 Sollwert8 = Sollwert8 - Hilfsvariable Shift Hilfsvariable , Right , 1 Sollwert8 = Sollwert8 - Hilfsvariable Shift Hilfsvariable , Right , 1 Sollwert8 = Sollwert8 - Hilfsvariable Return jemand ne idee ?!
Falls jemand einen Tip hat, wäre ich sehr dankbar !
Gast
#509740
Hallo! Das bit "ADATE" muss im Free-Running mode auch gesetzt sein, sonst macht der ADC exakt eine Umwandlung. adcsra=&B11100000 Ausserdem ist der Prescaler auf Clock/2 gesetzt - je nach verwendetem Systemtakt ist das deutlich zu schnell sein für eine ADC-Wandlung. Der ADC muss in einem Bereich von 50..200kHz laufen. Bei einem Clock von 8MHz (interner Oszillator oder Quarz) gäbe das einen Prescaler von 64. adcsra=&B11100110 Viel Erfolg!
Hallo, vielen Dank für die Info, das Bit ADATE habe ich gestern Abend dann auch entdeckt, den Prescaler habe ich jetzt auch auf 64 und nun klappt es, danke nochmal !! Gruß Alex
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.