Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

FPGA- Digital Frequency Control to Run Variable Frequency Driver for Acousto-optic Deflectors

I am currently using an USB-7856 Multifunction RIO, and I am trying to generate a digital signal to send to my Variable Frequency Driver by AAOptoelectronics that will change the angle on my acousto-optic deflector, in order to generate a laser scan pattern. I have a NI SCB-68 HSDIO shielded 68 pin connector block hooked up to the FPGA, which is hooked up to the frequency driver via DB44HD connector, with 15 bit control. I have started a program using the sine wave generator on my fpga, however, I am unsure how I would send that to my board to then send on to the driver. I have attached my code to this post, and any help would be much appreciated! 

0 Kudos
Message 1 of 7
(3,113 Views)

Hi JCard,

 

What type of signal does your VFD actually expect? The Sine Wave Generator function is going to generate analog values. These values can be wired to an analog output channel in order to output a voltage signal that oscillates in a sine wave. In the VI you attached, you are trying to wire the signal from the sine wave generator VI into a digital line, which only accepts boolean inputs.

 

If you VFD expects an analog voltage signal, you should try writing the sine wave to AO0 instead of DIO0. 

 

-Jordan

 

0 Kudos
Message 2 of 7
(3,088 Views)

I'm trying to use a digital frequency control, so its expecting a digital signal. Is there a way to generate a digital signal?

0 Kudos
Message 3 of 7
(3,082 Views)

For a digital signal, you would write boolean values to a digital output line (for example, connector0/DIO0). You can control the pulse width and the frequency of the signal in your FPGA code. By digital frequency control, do you mean that the VFD expects pulse-width module (PWM) signal? It is pretty easy to output a PWM signal on LabVIEW FPGA:

 

Pulse Width Modulation Example

 

Do more with LabVIEW FPGA - This link is for using FPGA on a cRIO, but it also applies to using FPGA on R Series. Take a look at the PWM section.

0 Kudos
Message 4 of 7
(3,079 Views)

That sort of sounds like what I need to do. Here is the explanation from the VFD site about using digital control:

 

 

8 BITS FREQUENCY CONTROL (15, 23, 31b) A byte (8 bit //) controls the frequency of the output RF signal. A D/A converter converts the 8 bits command (N) on an analog signal which controls linearly the output frequency. 256 steps are available : refer to your test sheet for pin connections.

- When N=00000000, RF signal frequency = F minimum

- When N=11111111, RF signal frequency = F maxim

0 Kudos
Message 5 of 7
(3,075 Views)

So this is different than PWM. Your VFD uses 8 different bits to determine what the frequency should be (basically a simple digital encoding method). So now the question is, does the VFD expect these bits all in parallel? In that case, you could write true/false to 8 different DO lines on your board and wire those 8 lines to the drive input. It would help if you could just link the datasheet for the drive.

0 Kudos
Message 6 of 7
(3,064 Views)

It is attached to this post...thanks for the help!

 

 

0 Kudos
Message 7 of 7
(3,056 Views)