OMRON Forums

# MaxDac on Pfm output

## Recommended Posts

Hi,

I am currently using a PowerPMAC to control an amplifier with pulse and direction signals. My amplifier allows a maximum input frequency for pulses of 800kHz.

I set Gate3[0].PfmClockDiv to 5 in order to have a PfmClock of 3.125MHz.

I also set Gate3[0].Chan[0].PfmWidth to 5, which makes my pulses 5/3.125 = 1.6µs.

The problem is I don't know what value to set for Motor[1].MaxDac in order to limit my pulses output to 800kHz.

What I did for now is observe pulses on an oscilloscope and adjust MaxDac value so that "#1 out 100" command gives me 800Khz, #1 out 50" command gives me 400Khz etc...

I found that Motor[1].MaxDac = 10 000 fits what I want but I would like to understand where this value comes from.

Best Regards,

Chafik

##### Share on other sites

• 3 weeks later...
• Replies 1
• Created

#### Popular Days

In the SW Reference Manual, under the description for the output register Gate3.Chan[j].Pfm, it gives the formula for the output frequency as:

Fout = (Gate3.Chan[j].Pfm / 4,294,483,648) * Fpfmclk

This treats the Pfm element as a full 32-bit register. The servo algorithm only considers the high 16 bits to be integer values, so the effective formula becomes:

Fout = (ServoCmd / 65,536) * Fpfmclk

With your PfmClock frequency of 3.125 MHz (3125 kHz), a servo command of 10,000 would produce:

Fout = (10,000 / 65,536) * 3125 = 476.9 kHz

This is exactly what my system produces in this setting.

Note that a pulse width of 1.6 usec cannot support a frequency of 800 kHz, as it would always saturate by 667 kHz. I would set the PfmWidth to 2 for a 0.64 usec pulse width, which would be about 50% duty cycle at 800 kHz.

##### Share on other sites

This topic is now closed to further replies.

### Announcements

×
• Forums

• Events
• #### Browse

×
• Create New...