Nabend, es sollte ein einfacher Test werden wie gut so etwas funktioniert, ein Servo mit einem Poti bewegen und bei einem Motor die Drehzahl mit einem Poti verändern das war es auch schon.
Das Programm funktionierte leider nicht mit pulseout für den Motor und servo(1) für das Servo, wer da wenn nicht mag weiß ich nicht
. Also wurde das Programm ohne pulseout geschrieben, was für mich die einfachste Lösung war.
Wenn Jemand eine Idee hat wie es auch mit pulseout funktioniert, immer her damit irgendwo muß ja mein Fehler sein.
So sieht das Programm ohne pulseout aus:
Alles anzeigen
Grüßle, Naubaddi
Das Programm funktionierte leider nicht mit pulseout für den Motor und servo(1) für das Servo, wer da wenn nicht mag weiß ich nicht

Wenn Jemand eine Idee hat wie es auch mit pulseout funktioniert, immer her damit irgendwo muß ja mein Fehler sein.
So sieht das Programm ohne pulseout aus:
BASCOM-Quellcode
- ' Compiler: Bascom 2.0.7.5
- '
- ' Dateiname: Potis-Servo-Motor A85.avr
- ' Funktion: mit einem Poti einen Servo ansteuern oder von einem Motor die Drehzahl verändern
- ' Datum: Start 10.03.2020, Stand 10.03.2020
- ' Von: Naubaddi
- '
- ' ATtiny85 (B.0 nur Ausgang, C.3 nur Eingang)
- '
- ' +---v---+
- ' PCINT5/RESET/ADC0/dW B.5 |1 8| VCC
- ' PCINT3/XTAL1/CLKI/OC1B/ADC3 B.3 |2 7| B.2 SCK/USCK/SCL/ADC1/T0/INT0/PCINT2
- ' PCINT4/XTAL2/CLKO/OC1B/ADC2 B.4 |3 6| B.1 MISO/DO/AIN1/OC0B/OC1A/PCINT1
- ' GND |4 5| B.0 MOSI/DI/SDA/AIN0/OC0A/OC1A/AREF/PCINT0
- ' +-------+
- '
- ' --- Mikrocontroler Daten... ----------------------------------------------------------------------------------
- $regfile = "attiny85.dat"
- $crystal = 8000000
- $hwstack = 16
- $swstack = 16
- $framesize = 16
- ' &HFF, &H62, &HDF, &HFF ' 1MHz
- $PROG &HFF, &HE2, &HDF, &HFF ' 8MHz
- ' --- Deklarationen... -----------------------------------------------------------------------------------------
- config servos = 1 , servo1 = portb.0 , reload = 10
- config portb.0 = output ' Servo
- config portb.1 = output ' Motor
- config adc = single , prescaler = auto , reference = avcc
- config portb.3 = input ' Servo-Poti
- config portb.4 = input ' Motor-Poti
- enable interrupts
- ' --- Variablen, Alias... --------------------------------------------------------------------------------------
- dim Poti_Servo as word
- dim Servowert as byte
- dim Servo_alt as byte
- dim Dummer as word
- dim Poti_Motor as word
- dim an as word
- dim aus as word
- ' --- Vorbelegung der Variablen und Alias... -------------------------------------------------------------------
- const Faktor = 11.130 ' Servobereich 53-145 = 92 (1024Bit : 92 = 11.130)
- Motor alias portb.1 ' der Ausgang Nr. 1 für den Motor
- an = 0 ' die an-Zeit für den Motor
- aus = 1023 ' die aus-Zeit für den Motor
- ' --- Programm Anfang ------------------------------------------------------------------------------------------
- do
- Poti_Motor = getadc(2)
- an = Poti_Motor
- aus = 1023 - Poti_Motor
- Motor = 1
- waitus an
- Motor = 0
- waitus aus
- Poti_Servo = getadc(3)
- Dummer = Poti_Servo / Faktor
- Servowert = Dummer + 54
- if Servowert <> Servo_alt then
- Servo_alt = Servowert
- Servo(1) = Servowert
- endif
- loop
- ' --- Programm Ende --------------------------------------------------------------------------------------------
- end
- ' --------------------------------------------------------------------------------------------------------------
Grüßle, Naubaddi