11-05-2018 05:26 AM
Hello,
I have an accelerometer and I want to control a vibration system by constructing a PID controller for my project. I use the PID.vi for this. By controlling the vibration, I mean that I want the vibration to stop. For example I change the frequency or the amplitude of the vibration. When the accelerometer detects this change, with the help of the PIDsame frequency and opposite amplitude are applied to my vibration system(at the output) in order to stop.
My question is the following: In order to make the vibration stop, in the PID.vi, as a process variable must I apply the accelerometer data (m/s^2) and as a setpoint the value (9.81 m/s^2)?
Thank you
11-05-2018 07:50 AM
Think about the problem. Have you considered the frequencies you will be encountering, and the implications of these? Let me take two extreme examples, one of which bears on your last point:
Bob Schor
11-05-2018 11:15 AM - edited 11-05-2018 11:36 AM
Dear GeoPar,
can you share your vi so we could help you better ?
11-05-2018 11:38 AM
Dear Bob Schor,
Thank you for your reply
I thought that if I gave the pid the value 9.81 (like it was the value 0 if there was no gravity) as setpoint I would achieve my goal.So must I create a circular buffer and then apply a filter to remove the dc every n samples and then must I pass the data as process data to my pid?
11-06-2018 04:33 PM
What you really need to do is forget about LabVIEW, forget about PID, and think about Sensors, Actuators, and What You Want To Do. There are so many questions that are completely unanswered (but have a large impact on what and how you do things):
One problem with accelerometers is that they measure acceleration. If we normalize accelerations in g's, there is a constant -1 acceleration in the Z axis. Do you want to control the acceleration, the velocity, or the position of the object? Go back to the drawing board ...
Bob Schor