I am trying to control position of a linear actuator w/ potentiometer feedback by using the SMC03A controller board.
I am able to send speed control commands using the serial port and the circuit given in the manual. But I am not able to achieve position control.
Here are the settings I currently have:
Analog Feedback from Potentiometer --> Pin 9 of SMC03A
Feedback Select Jumper J2 --> Analog Position
Input Select Jumper J1 --> Serial Position (No Jumber)
Serial Communication --> Pin 3 of SMC03A
The question I have is, how is the position control achieved? Specifically what command format should I send to the board?
Here is what I have already tried based on the manual instructions. The controller responds only to the following commands
Control commands in HEX
|Start Bit|Control|Motor Direction|Motor Speed|
| 80 | 00 | 01 | 7F | actuator shaft moves from minimum position to max length (forward)
| 80 | 00 | 00 | 7F | actuator shaft moves from maximum position to min position (reverse)
The controller does not respond to commands with intermediate speeds in either direction such as : 80 00 01 3F
(The motor makes a click sound when the command is sent but doesnt respond.)
I have already tried to switch the polarity of the potentiometer wires to check if that was the problem. The feedback is working fine. Its a 10K potentiometer. I probed the potentiometer and its output varies from 5V to 0V, as the shaft moves from MIN to MAX position.
Not sure where I am wrong here. Have followed the procedures closely. Would appreciate any help.
Here is the LED Status as I send the following serial control commands:
Green : ON
Red : OFF
0x 80 00 01 50 (No response)
Green : OFF
Red : ON
Green : ON
Red : OFF
0x 80 00 01 7F (linear actuator shaft moves out to max position)
Green : OFF
Red : ON
In a feedback mode, red LED on means the motor is at full power, and green means that the error is within 1 count. When the actuator moves out to the maximum position, does the red LED turn off?
As I mentioned on the phone, it might be helpful to run at a lower voltage to see if the motor is a little past the limit of the controller. It might also be helpful to use the analog control mode so that you can use one potentiometer to set the position, and you can move it back and forth to see what the controller does.
Also, are you the person that initially was seeing too much oscillation in a feedback mode? If so, what did you change your PID settings to?
Thanks for you earlier suggestions.
I have a few questions, in position control mode (i.e. SERIAL MODE with POSITION FEEDBACK),
i) How does the board interpret the position feedback voltage?
What Voltage is interpreted as ZERO position?
What Voltage is interpreted as MAX position?
(I have measured the voltage on the feedback with a voltmeter. As the actuator moves from min position to max position the voltage varies from 4.8V to 0.7V. The potentiometer is being supplied +5V from pin 2 on the SMC03A board.)
ii) As per your suggestion to lower the voltage supply to the board:
I applied a lower voltage to SMC03A boards this time. The max rating on the motor is 12V and I am now supplying 7V to the SMC03A.
The Board is set to SERIAL MODE with ANALOG FEEDBACK.
GREEN LED : ON
RED LED : OFF
0x 80 00 01 7F (Move Actuator in forward Direction to max position)
response : as actuator moves to max position
GREEN LED : OFF
RED LED : ON and stays ON after reaching the max position.
I am also monitoring the amount of current the motor is drawing. It is 0.5A, which is consistent with the
no-load current specified by the actuator data sheet.
ii) We haven’t adjusted the PID settings yet. Still using the default values, what effect will that have?
0 volts is the minimum position; 5 V is the maximum position. Given that your feedback will never get there, it’s expected that the motor controller keeps driving the motor in an attempt to get the error to 0. What is turning the motor off at the mechanical limit, or does it stall when it gets there?
I’m also concerned about the current since under load, the current can easily be 10 times the no-load. Do you have a spec. for the stall current of the motor?
Can you try some other target positions?