Op 5 juni 2023 20:58:24 schreef MMSoft:
Geen Idee ik was er nog maar net mee bezig toen het al mis ging (ik had de waarde 1000 ingevuld (met de bedoeling de freq op 1000 te zetten), en heb niet meer verder gezocht (het vertrouwen in een Raspberry voor dit doel is weg).
Ik vind dit ook vrij omslachtig moet ik zeggen.
code:
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
# Setup GPIO Pins
GPIO.setup(12, GPIO.OUT)
GPIO.setup(32, GPIO.OUT)
GPIO.setup(33, GPIO.OUT)
GPIO.setup(35, GPIO.OUT)
# Set PWM instance and their frequency
pwm12 = GPIO.PWM(12, 0.5)
pwm32 = GPIO.PWM(32, 0.75)
pwm33 = GPIO.PWM(33, 0.66)
pwm35 = GPIO.PWM(35, 0.87)
# Start PWM with 50% Duty Cycle
pwm12.start(50)
pwm32.start(50)
pwm33.start(50)
pwm35.start(50)
raw_input('Press return to stop:') #Wait
# Stops the PWM
pwm12.stop()
pwm32.stop()
pwm33.stop()
pwm35.stop()
# Cleans the GPIO
GPIO.cleanup()
Bij Basic is het wel iets simpeler, bijvoorbeeld een potmeter inlezen via een analoge poort en via HPWM uitsturen.
PWM frequentie is hier 10kHz.
Potmeter waarde van 0 tot 255.
pic basic code:
Declare CCP1_Pin PORTC.2
Dim POTMETER As Byte
ANSEL = %00000001
ADCON0 = %00000001
RUN:
POTMETER = ADIn 0
HPWM 1, POTMETER , 10000
GoTo RUN
End
Ik heb geen sluiting gemaakt, de Led's zaten netjes aangesloten en de Raspberry in een Kastje.
Dat kan haast niet fout gaan.
Het grote voordeel van een Raspberry is dat ik deze vanuit huis kan programmeren en aansturen. De besturing komt in een klein schuurtje te hangen waar ik redelijk moeilijk bij kan komen en daar niet kan zien wat er gebeurd, dat kan vanuit het huis wel.
Dat kan met een pic ook natuurlijk. Daar kun je bijvoorbeeld RX en TX voor gebruiken. Ik doe dat via de usb poort met een usb serieel converter met een FTDI chipset.
Ik denk er ook aan om over te stappen naar een PIC controller, als het nu al mis gaat bij een PWM signaal.
Ik heb ooit dit gemaakt, gebruik dit al 20 jaar denk.

Alle bruikbare poorten komen naar buiten, poort D4, 5, 6 en 7 zijn voor een display en zit op één connector. Poort C1 en 2 zijn de HPWM poorten.
In principe past hier iedere 40 pin controller in die pin compatible is met de 16F887, dus bijvoorbeeld ook een 18F4520.
Maar ik zit alleen met het probleem om deze vanaf een afstand te kunnen programmeren en te besturen.
Kun je de besturing niet in een aparte kast zetten bij de installatie, dan hou je de motorbedrading, enz. ook kort.
En mogelijk moet er een Display en een paar knopjes bij, en dat was allemaal niet te bedoeling.
Ik vind een display persoonlijk alleen maar makkelijk. 