Upps, dank deiner freundlichen Unterstützung kann ich mich jetzt erinnern ;)Wenn du dich vielleicht erinnern kannst...
Dann bleiben wir mal beim Bascom. So aus der Hüfte würde ich mal folgendes vorschlagen:
Mit AVCC als Referenzspannung kann das Poti direkt zwischen Vcc und GND angeschlossen werden. Der Schleifer kommt an Pin 1 des Tiny13, der Wert für die gemessene Spannung liegt dann zwischen 0 und 1023. Übel ist nun die Umrechnung des eingelesenen Wertes in die Ausgabefrequenz. Der Ansatz hier geht über die Periodendauer die mit waitms festgelegt wird. Bei ADC=1023 (Potianschlag eine Seite) wären das bei einer ms pro Halbwelle ca. 500Hz, bei ADC=0 (Anschlag andere Seite) ca. 1/2 Hz. Die Wandelzeit des ADC wird dabei ignoriert.Code:'Takt für Schrittmotor erzeugen mit ATtiny13 30.1.2010 mic' 'Achtung! Das ist ein eher theoretischer Code den ich noch nicht getestet habe!' ' Poti zwischen Vcc und GND, Schleifer an Pin 1 (ADC0/PB5) ' Frequenzausgang an Pin2 (PB3) 'Einstellungen -----------------------------------------------------------------' 'Wir verwenden einen tiny13' $regfile = "ATtiny13.dat" 'der mit internen 1,2 MHZ getaktet wird (Fuse Takt/8 gesetzt = Auslieferzustand!)' $crystal = 1200000 'Weitere, von mir noch nicht geprüfte Compileranweisungen:' $hwstack = 32 $swstack = 8 $framesize = 8 Dim I As Integer Config Portb.5 = Input ' Poti Pin1 Config Portb.3 = Output ' Takt Pin2 Config Adc = Single , Prescaler = Auto , Reference = Avcc Start Adc 'Hauptprogramm -----------------------------------------------------------------' Do I = 1024 - getadc(0) Do Waitms 1 Decr I Loop Until I = 0 Toggle Portb.3 Loop
Alles nur Theorie zu später Stunde...
Gruß
mic







Zitieren

Lesezeichen