I am trying to make use of the direct duty cycle option of the Lumen light which bypasses the MCU (Tiny) and sends PWM directly to the LED driver (A62111) by soldering the jumper.
" * Direct duty cycle control (with solder jumper)" as mentioned on the github page.
However after soldering the jumper and trying to drive the PWM pin with an Arduino Pro Micro (3.3v) I have no light output. Attaching the scope to the output pin I can see the PWM pin is being pulled low, however when I connect the same PWM line directly to a 3.3v source (replicating 1000% duty cycle) the LED outputs light. My thoughts is something on the board (probably the Tiny) is pulling the 3.3v PWM signal low.
To test this I removed the Tiny from the board and the problem was resolved. I am wondering why this might be the case and if there is a solution where I don’t need to remove the Tiny?
Looking at the code I can see the Tiny pin that is connected to the PWM line is set as an output in the code, I am not sure if this engages a pull down resistor internally that might be doing this. Maybe programming the board to change it from an output would resolve the issue?
Thanks for your help
In the schematic the input “Signal HV” → 15kΩ → “Signal” (/ LED-PWM) → 300kΩ → GND
The output is initialised to 0 duty-cycle, which is equivalent to a digital LOW pull.
A direct 0V output for the LED-PWM signal is presumably stronger than your 3.3V input signal connected to it through a 15kΩ resistor, which likely explains the behaviour you’re observing.
Presumably so, yes.
That said, if you’re needing to reprogram something anyway, it may be preferable to instead change the PWM input limits (to match the pulse-width range of your duty-cycle pulses), or just change the code on your Arduino to output pulses with durations between 1100-1900µs instead of using a full range duty cycle. Both those approaches avoid needing to solder the jumper, and keep the Lumen’s exponential output curve, along with its built in temperature monitoring and protection features.
That makes sense Elitot. Thanks for the explanation.
I might try reprogramming the Tiny45 pin as an INPUT, as I am looking to have high frequency control of the LED as I am experimenting with visual light communications.
It’d be cool if you’re able to share more about that in its own post once you’ve started your experimentation