Setting GRV-ODCI-12 TPO Parameters

We have some LED light drivers that accept 0-10v PWM for dimming control, and would like to control them with our GRV-ODCI-12 unit by setting the TPO period for PWM. We do not have access to PAC control, so is there any Groov View, Node-RED API, or python/C++/shell mechanism to manipulate the TPO settings for our GRV-ODCI-12?

This is a capability we would desire for the RIO unit as well, so the question applies to RIO as well as our Groov Epic.

Thank you

Hi Loren.
Can you help us all out by clarifying a few things before we get too far down the TPO rabbit hole…

First up, you say ‘0-10v PWM’… PWM is usually expressed in frequency. Not voltage.
Does the dimmer accept zero to ten volts DC (ie analog) and it then uses PWM to drive the LED? This would be pretty common. If not, if it really is PWM, then there is no real voltage requirement. It is more of a switching frequency requirement which we need some data on so we know what we are trying to get our TPO to hit.

Ok on not using PAC Control. Understood. Since you want this to work on RIO, Python/C++ is out because RIO does not have shell access. So Node-RED it is.

To be clear. TPO is not PWM. I tried a few years ago to drive a PWM servo motor for a customer using TPO and it did not work, so I have been there with PAC Control in the past. That’s not to say that we could not try and get something working for the dimmer with Node-RED, I’m just saying that they are two very different signals.

Both RIO and the EPIC module have a turn on/off spec.
For EPIC;

For RIO:
image

So RIO is a bit slower. That is going to impact things a bit.

Lets leave it at that before we get into Node-RED MMP address fun and games.
Please clarify the LED Dimmer input specs and we can go from there.

This likely had more to do with the Turn On/Off time of the module and the minimum period allowed on Opto equipment (6ms on an R1 is the shortest, unless EPIC can do better??). Servos want a short period (couple ms or so). As far as I can figure, TPO and PWM produce the same output wave form.

Edit: duh I should read more carefully. Your specs shows the EPIC module min period at 5ms. Got it. RIO doesn’t make sense though, 4ms min period, but 20ms nominal turn on/off time?

Its a preliminary data sheet that I took the screen shot from. Things like this still need to be fixed.
I just wanted to point out the difference between the groov EPIC module and the RIO.

EDIT. After talking with the engineers, this spec is correct, just not worded all that clearly.
The TPO period can have a 4msec minimum period since its driven by a hardware IO processor, but the poll time of the software can be up to 20 msec.
So a ‘set and forget’ process would be fine, but if you are updating your TPO period a lot, you would need to account for software polling jitter.

The LED driver supports both 0-10v input for dimming (which I believe the RIO can drive with resistive AOUT) as well as PWM input. The relevant part of the LED driver datasheet is captured in the image below.

I realize that PWM is usually an approximation of voltage whereas TPO is similar, but makes no representation about the outcome. I can live with that difference and am willing to have you lead me down the Node-RED MMP rabbit hole :slight_smile:

You’ll need to use an analog voltage module for this - the required PWM frequency is too high for the EPIC digital module. The good news is, the RIO should be able to do this too (0-10V analog).

Gotcha. Thanks for the feedback.

Loren, thanks for posting the dimmer data sheet, makes all the difference when looking at options like this.
As Philip said, its just not going to work in TPO/PWM mode.
Analog out for the win.
Its going to be super easy to drive the module from Node-RED via its dashboard or groov View.
It will also be very smooth and fine control.

We’ve been waiting for an excuse to get our hands on a RIO, and based on the cost of the analog voltage module for Epic (and the lack of slots in our demo Groov) we’ll put this demo together on a RIO.

Quick question - do the same Node-RED Opto22 I/O nodes work for the RIO as they do for the groovEPIC?

Yes. (The forum wont let me post one word answers…)
The groov IO nodes were built for RIO, nice side effect is that that of course they also work with EPIC.

1 Like

@Beno how exactly are TPO and PWM different?

I’ll try my hand here so the people that really know can jump in and correct me.

If you turn on/off (modulate), say a 10vdc signal fast enough, it can look to some devices like a 5vdc signal. The pulses tend to be pretty quick with PWM and I’ve seen it used for estimating an analog voltage with a digital device - like say a raspberry pi.

Time Proportional Output, on the other hand, isn’t about estimating voltage. It’s more about modulating the thing that the voltage drives. Take an oven heater, give it full voltage and it may reach 400 degrees. Apply that full voltage on for 10 seconds then off for 5 seconds, and it may be closer to 300 degrees. Arrange the time factor of TPO and you’re effectively modulating temperature.

My understanding is they’re both about a digital device simulating an analog device. PWM doing it really fast to make it look like variable voltage, and TPO turning the device on and off to achieve an output between full on and full off.

1 Like

My misunderstanding when starting this thread was in thinking that TPO could work like PWM if you jacked it up fast enough. That was silly, because why would you settle for PWM when you can have real analog.

mmmmmmmmmmmmm smooth analog.

1 Like

But @loren1 , does analog work on LED lights?

You wouldn’t think so, but yes. I feed an analog signal from my signal generator directly into an LED light, and watch as the LED changes intensity as the voltage increases.

Until it fries. It’s kinda smelly, but pretty cool to watch.