Hi all,
I am a beginner with the use of linear controllers so I apologise if I have any oversight.
I am using Actuonix P16 50 256 12 P with the LAC control board using a separate power supply, and arduino UNO for programming. I plan to do closed loop control with a load cell so that ideally I can command the actuator to extend until a certain force is sensed by the load cell, and then the actuator should stop in position at that desired force.
Unfortunately, I have been finding it hard to precisely control the P16 actuator. Currently I am trying to command with PWM mode as defined in the datasheet, however it does not seem sensitive enough to minor increases in dutycycle. For example i try to command it to go to 2 specific locations as below, it has a lot of jitter and cannot stay stationary at the 57 duty cycle point until a minute after it is commanded.
const int pwmPin = 5; // Choose the PWM pin on your Arduino board
const int ledPin = 10; // Choose the PWM pin on your Arduino board
void setup() {
// Initialize the PWM pin as an output
pinMode(ledPin, OUTPUT); // Set the LED pin as an output
pinMode(pwmPin, OUTPUT);
Serial.begin(9600);
digitalWrite(ledPin, LOW); // Turn the LED off (LOW level)
delay(3000);
analogWrite(pwmPin, 50);
digitalWrite(ledPin, HIGH); // Turn the LED on (HIGH level)
Serial.println("duty):50 ");
delay(5000);
analogWrite(pwmPin, 57);
digitalWrite(ledPin, LOW); // Turn the LED on (HIGH level)
Serial.println("duty):60 ");
delay(5000);
}
void loop() {
}
Hypothetically, I want to be able to command the actuator to descend in increments of 10N minimum, which means millimeters of movement at a time if possible. With the current PWM method, I cannot get this precision of movement.
Does anyone have a thought on a better way to control this actuator? Some way to control it like a DC motor so that it just extends until the feedback from the load cell tells it to stop? Thank you for advice.