Beste mensen,

Ik wil graag met behulp van een Raspberry de verlichting in me aquarium kunnen dimmen. (Merk: Solar stinger, Sunstrip)

De verlichting kan door middel van een 0-10v dimmer aangestuurd worden.

Daarvoor heb ik een LM358N gebruikt met diverse weerstanden. Om het PWM signaal uit de Raspberry om te zetten naar het 0-10v signal. En dat is gelukt!

Met een simpel script; een DutyCycle van 20 bij 50Hz is de verlichting netjes gedimd, je ziet wel kleine piekjes/schokjes in het licht. En zodra de CPU omhoog schiet (door de muis snel te bewegen) word het erger. Is de LM358N hier niet voor geschikt?

Ook ben ik bezig geweest met diverse condensatoren, ook dit lijk het probleem alleen maar erger te maken.

Het geheel is aangesloten zoals op de afbeelding is aangegeven.

Wat is nou een juiste manier om deze 0-10v dimmer te creëren zonder deze flikkeringen die ik door deze schakeling krijg?

Vriendelijk bedankt!

Het lijkt me nuttig dat je je code zou posten, aan de hardware kan ik niets miszien. Hoogstens zou je de voeding van de opamp nog meer kunnen opschonen met een MKM of zo parallel aan de elco - en zo dicht mogelijk bij de opamp.

[Bericht gewijzigd door big_fat_mama op (46%)]

Zelfs bij deze simpele code, bij een constante waarde.


import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)

# use pin 18 as an out put
GPIO.setup(18, GPIO.OUT)

# use pin 18 at 50 Hz
p = GPIO.PWM(18,50)

# start dutycycle 0%
p.start(0)

p.ChangeDutyCycle(20)
time.sleep(10000000)

GPIO.cleanup()

Is de frequentie van 50 Hz niet heel laag voor PWM en is dat misschien de oorzaak??

Het heeft weinig met de hardware te maken; de Pi draait een heel OS dus de timing van i/o is niet automatisch gegarandeerd zoals bij een simpel stukje code in een microcontroller. Als er iets anders moet gebeuren gaat hij dat doen en wordt er niet ge-PWMd.
Ik weet zelf niets van de Pi, maar over dit onderwerp is vast vanalles te vinden op internet. Ik meen (op basis van het feit dat er een werkende Neopixel library is) dat er wel omheen te komen is.

[Bericht gewijzigd door Aart op (13%)]

de manier van aansturen van de GPIO pinnen kan op een heleboel manieren.
op de ene haalt die 30kHz, op de andere haalt die in de MHz

http://codeandlife.com/2012/07/03/benchmarking-raspberry-pi-gpio-speed…

ik zou dus voor een andere manier kiezen, want de huidige heeft al problemen als je muis beweegt

[Bericht gewijzigd door fcapri op (19%)]

In den beginne met mij PI ook een projectje gedaan, als je meerdere processen op je pi hebt lopen en deze load is rond de 80-100% dan gaat de pwm er onder leiden. Ik heb verder niet gezocht waarom ik gebruik nu een andere module dan een Pi.

Ipv pwm kun je ook een http://www.adafruit.com/products/935 module kopen deze praat i2c. Hier is een uitleg daarover.

Om i2c te laten werken staat hier

Als je dimmer alleen met 0-10 volt werkt dient er nog een opamp achter gezet worden welke afhankelijk van de keuze 3,03 x of 2 x dient te versterken.

Of deze http://www.voc-electronics.com/a-38646546/sensors-breakout-kits/unipi/ heeft echter 1 analoge uitgang.

http://www.mylanderpages.com/usb-io/usb-io-module-data-acquisition lijkt mij redelijk kant en klaar voor 109 euro ex verzendkosten.

Veel controllers hebben een PWM module. Die zorgt voor een continue PWM waarde, ook als de CPU iets anders te doen heeft.

ALS je zo'n module zou gebruiken, dan komt het flikkeren doordat je voeding van je 'pi inzakt als je wat doet.

Mogelijk speelt mee dat je erg lage frequentie gekozen hebt.

Als de library vanzelf "software PWM" gaat doen als er geen hardware module op die pin beschikbaar is, dan zit je inderdaad met: kan je niet beter een andere pin zoeken waar wel hardware pwm is?

RPi heeft dacht ik maar 1 hardware pwm, en waren daar geen problemen mee vanuit het OS? Dacht dat je niet direct met de hardware kan praten en er altijd api laagje tussen zat met gevolgen van dien, maar kan het mis hebben hoor, gebruik nooit een RPi maar lees er wel geregeld over en vang dus hier en daar wat op.

Bedankt voor alle reacties. Ik ga ermee aan de slag!

Een multitasking OS is niet echt de beste oplossing voor dit soort hardware besturingen.
Het hangt ook nog van de Linux kernel af. Deze schijnt er voor de RPi pre-emptive en ook non pre-emptive te zijn...

**Topic kaap**

[Bericht gewijzigd door Henry S. op (93%)]