0
\$\begingroup\$

First, I am not an expert in the electrical field:)

In a real-time control system (in LabVIEW), for actuating a piezoelectric, I use the generated signal (sine signal 20khz and 10<V<100 Vpp) from a function generator.

Since I need a fast response of sending the signal to piezoelectric, I usually set the function generator with the specific frequency and amplitude and then I trigger it by LabVIEW (on-off by sending digital signals from LabVIEW, I can send digital and analog signals by National Instruments USB-6002 DAQmx.)

Now I need to change the voltage in real-time.

Is there any way that I can change the amplitude electrically? I've seen it is possible for DC by using PNP or NPN, but what about AC? Is there any solution?

\$\endgroup\$
1
  • 1
    \$\begingroup\$ In the analog world you would change the amplitude of a signal with a voltage controlled amplifier if you need continuous amplitude control. If you just want to turn it on and off very fast, you would want to "gate" the signal with a MOSFET switch (or analog switch). As Marcus states in his answer, most signal generators have these functions, but if you are using the NI DAQ card to generate the signals you have to write the code to make it happen. LabVIEW has VIs with those functions in the Signal Processing Palette of the Block Diagram. \$\endgroup\$ Commented Feb 26, 2021 at 11:14

1 Answer 1

0
\$\begingroup\$

This is exactly what a function generator is meant to do. The obvious solution is to figure out what takes time when sending a command to the function generator – it really should take milliseconds.

If it's some stupid driver issue in labview: most function generators that can be controlled from a PC listen to SCPI commands, and there's libraries to generate these. It's really easy and quick to just change the amplitude of a function generator.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.