Weil ich mit dem Servo Befehl von Bascom Schwierigkeiten habe, biete ich Dir hier eine Alternative (Ohne Gewähr)
Vor Einschalten das Poti ungefähr in Mittelstellung bringen.
GrußCode:'Modellbauservo einstellen mit Poti 'BASCOM-Demo Version 2.0.5.0 sollte auch auf höheren Versionen laufen. 'Servopulsfrequenz = 50Hz 'Servopulslänge von 821 µs bis 2181 µs in 256 Stufen einstellbar (Auflösung 5,333 µs) 'ADC Meßwertschwankungen werden abgefangen 'Servosignalausgabe an PB1(OC1A) 'Potischleifer an PC0(ADC0), die anderen beiden Anschlüsse an GND und VCC (Referenz für ADC ist intern VCC) $regfile = "m48def.dat" $crystal = 12000000 $hwstack = 32 $swstack = 32 $framesize = 32 $baud = 9600 Dim Adc_result As Word Dim Alt_wert As Word Dim Differenz As Integer Config Portb.1 = Output 'Servo MUSS an PB1 !!! '*** Timer1 Konfiguration auf "Fast PWM", prescale = 64, top = ICR1, clear OC1A on compare match *** Icr1 = 3749 Tccr1a = Bits(com1a1 , Wgm11) Tccr1b = Bits(wgm13 , Wgm12 , Cs11 , Cs10) '*************************** Timer1 Konfiguration ENDE *********************** Config Adc = Single , Prescaler = Auto , Reference = Avcc Do Adc_result = Getadc(0) 'Potiabgriffanschluß an PC0(ADC0),die anderen je an GND und VCC Differenz = Adc_result - Alt_wert Differenz = Abs(differenz) If Differenz > 3 Then Alt_wert = Adc_result Shift Adc_Result , Right , 2 Ocr1a = 154 + Adc_Result End If Loop End 'end program
Searcher







Hoffentlich liegt das Ziel auch am Weg
Zitieren

Lesezeichen