I have 13 meanwell LED lighting ballasts that I am trying to control dimming. Can a Adafruit 16-Channel 12-bit PWM/Servo Driver - I2C interface - PCA9685 ( https://www.adafruit.com/product/815) be used to generate a 0-10v pwm signal by connecting a 10v power supply to its external power connector (I think it’s called V+)?
Here is the information from the meanwell ballast data sheet:
- Output constant current level can be adjusted by applying 10V PWM signal.
- Dimming source current from power supply: 100μA (typ.)
- frequency range 100Hz ~ 3KHz
Generating 10v PWM with PCA9685 servo driver
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
- TechSmartSolutions
- Posts: 9
- Joined: Sat Jan 28, 2023 12:15 pm
- adafruit_support_bill
- Posts: 88154
- Joined: Sat Feb 07, 2009 10:11 am
Re: Generating 10v PWM with PCA9685 servo driver
The maximum input voltage for the device is 5.5v: https://cdn-shop.adafruit.com/datasheets/PCA9685.pdf
The TLC59711 would probably be a better choice. It can handle up to 17v supply voltage: https://www.adafruit.com/product/1455
The TLC59711 would probably be a better choice. It can handle up to 17v supply voltage: https://www.adafruit.com/product/1455
- TechSmartSolutions
- Posts: 9
- Joined: Sat Jan 28, 2023 12:15 pm
Re: Generating 10v PWM with PCA9685 servo driver
Thank you @adafruit_support_bill.
Do I just wire it as shown below (i'm using a wemos mini which I think is 3.3v logic) and connect the 10v psu to the VCC pin? Is it that easy?
Would I need any other components or would this configuration be a safe way to hook everything up?
Do I just wire it as shown below (i'm using a wemos mini which I think is 3.3v logic) and connect the 10v psu to the VCC pin? Is it that easy?
Would I need any other components or would this configuration be a safe way to hook everything up?
- adafruit_support_bill
- Posts: 88154
- Joined: Sat Feb 07, 2009 10:11 am
Re: Generating 10v PWM with PCA9685 servo driver
Your 10v would go to the V+ pin. Other wiring details depend on whether you are using a 3.3v or 5v processor. See the wiring and power options in the guide: https://learn.adafruit.com/tlc5947-tlc5 ... 11-2151217
- TechSmartSolutions
- Posts: 9
- Joined: Sat Jan 28, 2023 12:15 pm
Re: Generating 10v PWM with PCA9685 servo driver
Thank you again, so presuming I'm using a 3.3v logic board this is how I would wire it up, and it would give me 10v pwm channels?
Is my picture below correct?
Is my picture below correct?
- adafruit_support_bill
- Posts: 88154
- Joined: Sat Feb 07, 2009 10:11 am
Re: Generating 10v PWM with PCA9685 servo driver
Yes, that should do it.
- TechSmartSolutions
- Posts: 9
- Joined: Sat Jan 28, 2023 12:15 pm
Re: Generating 10v PWM with PCA9685 servo driver
Thank you very much Bill. I think that there are a lot of people out there with Meanwell / LED Drivers/ballasts that would be very interested in an easier way than messing with resistors, optocouplers, etc. (I built a 16 channel breadboard with optocouplers and resistors only to have it not work correctly, looking to leave that behind me and find a better solution like this one).
Last edited by TechSmartSolutions on Sat Jan 28, 2023 7:33 pm, edited 1 time in total.
- TechSmartSolutions
- Posts: 9
- Joined: Sat Jan 28, 2023 12:15 pm
Re: Generating 10v PWM with PCA9685 servo driver
I have little understanding of electronics in detail but I can wire things together (that's why I'm here trying to figure out how to use this stuff), so my next question might sound stupid to someone that understands this, please bear with me:
- The product video for the TLC59711 says that by default this outputs a constant current of 16 mA (milliampere).
- The Meanwell Driver datasheet says Dimming source current from power supply: 100μA (typ.), or 0.1 mA (milliampere).
- adafruit_support_bill
- Posts: 88154
- Joined: Sat Feb 07, 2009 10:11 am
Re: Generating 10v PWM with PCA9685 servo driver
The constant-current circuit in the TLC59711 will increase the output voltage until it reaches that 16mA maximum current - or until the output voltage equals the input voltage. (10V in this case) The actual current drawn at 10V is a function of the load that it is driving. (The Meanwell in this case)The product video for the TLC59711 says that by default this outputs a constant current of 16 mA (milliampere).
This means that with a 10v input, the PWM input to the driver will draw about 0.1mA.The Meanwell Driver datasheet says Dimming source current from power supply: 100μA (typ.), or 0.1 mA (milliampere).
- TechSmartSolutions
- Posts: 9
- Joined: Sat Jan 28, 2023 12:15 pm
Re: Generating 10v PWM with PCA9685 servo driver
Hi @adafruit_support_bill, I ordered the 24 channel controller with a 10v power supply and some other parts to put it together. I'm really excited to see how this will work.
I am documenting the build on github so that others can also benefit from this project.
Home-Assistant-0-10v-PWM-LED-Dimming-Controller
Thank you for providing support!
I am documenting the build on github so that others can also benefit from this project.
Home-Assistant-0-10v-PWM-LED-Dimming-Controller
Thank you for providing support!
- TechSmartSolutions
- Posts: 9
- Joined: Sat Jan 28, 2023 12:15 pm
Re: Generating 10v PWM with PCA9685 servo driver
Hello @adafruit_support_bill, this did not work. This board doesn't generate a 10V + pwm signal when connected to an external power supply, it sinks an existing 10V signal to ground. I needed a +10V pwm signal generator.TechSmartSolutions wrote: ↑Sat Jan 28, 2023 6:55 pm Thank you again, so presuming I'm using a 3.3v logic board this is how I would wire it up, and it would give me 10v pwm channels?
Is my picture below correct?
leds_just433v.png
- adafruit_support_bill
- Posts: 88154
- Joined: Sat Feb 07, 2009 10:11 am
Re: Generating 10v PWM with PCA9685 servo driver
Connect the negative input of your Meanwell to GND. And connect the positive input to one of the outputs of the TLC59711. Then connect a 10K 'pullup' resistor between the output and V+.
The pullup resistor will pull the voltage up to 10v when the TLC59711 is not pulling it down to GND. You will need to invert your duty cycle logic (100% = 0%) But it should give you a 10v PWM signal.
The pullup resistor will pull the voltage up to 10v when the TLC59711 is not pulling it down to GND. You will need to invert your duty cycle logic (100% = 0%) But it should give you a 10v PWM signal.
- TechSmartSolutions
- Posts: 9
- Joined: Sat Jan 28, 2023 12:15 pm
Re: Generating 10v PWM with PCA9685 servo driver
That worked perfectly, thank you.
Is there an easy way to put a resistor between the v+ pins and output pins? I tried fitting it into a DuPont connector and it’s really messy / cramped. Are all the v+ pins common? Could I get away with not needing to solder / connect a resistor for each output channel, like one resistor for all outputs? Or does each output need a resistor?
Is there an easy way to put a resistor between the v+ pins and output pins? I tried fitting it into a DuPont connector and it’s really messy / cramped. Are all the v+ pins common? Could I get away with not needing to solder / connect a resistor for each output channel, like one resistor for all outputs? Or does each output need a resistor?
- adafruit_support_bill
- Posts: 88154
- Joined: Sat Feb 07, 2009 10:11 am
Re: Generating 10v PWM with PCA9685 servo driver
All the V+ pins are common. But you will need a separate resistor for each channel.
- TechSmartSolutions
- Posts: 9
- Joined: Sat Jan 28, 2023 12:15 pm
Re: Generating 10v PWM with PCA9685 servo driver
Thank you, that worked.
What is the optional capacitor used for?
This board does not have an DAC correct?
What is the optional capacitor used for?
This board does not have an DAC correct?
Please be positive and constructive with your questions and comments.