Active vibration control with hardware in the loop: microcontroller code
Arduino "sketch" (program) for Arduino Due: a tapped delay line for active vibration control.
It goes through two nested loops:
• download delayline tap coefficients from supervising PC via USB
• measure uncontrolled vibration level from sensor
o shift recorded sensor data queue one place right
o input an instantaneous value from the sensor (accelerometer)
o insert it at start of queue
o convolute queue with delay line to generate an output value
o output this value to an actuator via a power amplifier
• calculate the measured vibration reduction c.f. the uncontrolled vibration
• send the vibration reduction to the supervising PC via USB
The inner loop runs long enough to allow the structure to settle to steady state (approximately 0.4s for the structure under test) .
The outer loop runs until terminated by the supervising PC.
For use with Matlab program GenAlgor4_1_5Arduino.m running on the PC.