Using Meastro servo outputs as a DAC and signal generator

I have a Maestro micro servo controller and I’d like to use 3 of the 6 channels as a DAC to generate signals of varying frequency (preferably between 40Hz to 70Hz). Having variable amplitude would also be beneficial but is a lower priority.

My idea is to generate the PWM and then use a simple low-pass filter to obtain a reasonable output waveform. Hopefully a simple RC filter will suffice.

I might also be able to set the target values, along with speed and acceleration, in a loop within a script to get a smoother signal?

I note I can change the update period to 1ms, but I can’t seem to get the pulse to stretch beyond 272us and below 64us.

Is there anyway to force the min and max values to the extremities (i.e. 0 and 1000us) for full 0%-100% duty cycle?

Is it possible to set the update period to 100us (for 10kHz update rate) and have min/max values of 0-100 for full 0%-100% duty cycle?

Is there different firmware that can be downloaded for this type of application (or source code to download and modify for custom variation)?

Maybe there is another way?
e.g. could I use digital output and do a manual PWM via scripting, etc?
Can I get enough control accuracy and update rate?

Thanks for any help or suggestions.

Hello, Brendan.

The servo outputs on the Micro Maestro cannot send pulses faster than 1 kHz and they cannot achieve the full range of duty cycles (0% to 100%).

The Mini Maestro servo controllers each have one general-purpose PWM output with a frequency from 2.93 kHz to 12 MHz and access to the full range of duty cycles. You can find more info in the “Status and Real-time Control” section of the Maestro user’s guide. However, there is only one PWM output and the speed and acceleration settings do not apply to it.

You might consider getting a programmable controller and programming it to output the PWM signals you need. Most of the programmable controllers we offer have more than 3 general-purpose PWM outputs.