I have two linear actuators (M1 & M2) that are each controlled by a 21v3. One actuator (M1) has a feedback pot on it. For the initial checkout, I connected a 10K pot across 5 volts and ground, with the wiper going to the RX input of the 21v3. The operation is such that, for each pot, a setting of around 2.2 volts will stop motor movement. Turning the pot either direction from that point will make the actuator travel in, or out. This allowed me to know that the electronics was working, with a simple configuration file written to each 21v3.
Now I’d like to modify the setup to get to my next step … the goal is to have M2 move in synch with M1, so that M2 is tracking the movement of M1. What is unclear to me thus far is the best method to set this up. I notice a ‘Feedback’ input on the 21v3, which I suppose could be connected to the wiper of the M1 feedback pot, but then I’m not certain what change I need to make to the configuration file for M2.
The goal is to have these motors operating in a stand-alone fashion, with a pair of push-buttons operating the linear actuators … one will cause the actuator to move in (while depressed) and the other will cause the actuator to move out, while depressed. I envision the push-buttons driving only M1 and M2 tracking M1’s movement.
Being a relative newbie to this type of robotics, I’ve thought it would be nice if Pololu had some sort of ‘Quick Start’ guide, to allow someone to get something going, with the minimal of frustration, then learn what is needed in small steps.
Thanks for any advice!
I have moved your post to its own thread.
Do both of your linear actuators have feedback or only one of them? If they both have feedback, it is probably easiest to command them both simultaneously instead of having one try to track the other. You can use one potentiometer to provide analog input to both boards and they should both respond accordingly. To use pushbuttons to extend and retract the actuators, you might consider using a separate microcontroller to process the button presses and relate that to a target position. If you are familiar with Arduino, you might consider using one of those boards or our A-Star 32U4 Micro.
We will keep your suggestion of a quick start guide for the jrk controllers in mind. You might find the “Setting Up Your System” section of the Jrk USB Motor Controller User’s Guide helpful. There is a lot of useful information there, including tips for tuning your PID constants. We also have a pre-configured jrk settings file for controlling our linear actuators with feedback. This settings file can be seen on the bottom of any of our linear actuator product pages, such as this one for the Concentric linear actuator with 10" stroke, under the “Using a jrk motor controller with a linear actuator with feedback” heading. Even if you are not using one of our actuators, this settings file might be a good starting place.
Thank for the response, Brandon and moving this to a separate thread. I was in a hurry to get something posted and didn’t see how to start a new thread!
Only one of the actuators has feedback. They are both from Progressive Automations. This is a project I’m helping a friend complete.
I had assumed that the push-buttons would best be handled by a microcontroller and since I have some familiarity with the PIC line, that’s where this is headed.
Since a micro will be put to use, how best to talk to the 21v3’s? I can certainly drive them from their own port on the PIC, but thought the master/slave method would be better accomplished using the ‘Feedback’ input. Perhaps not? I can see how the RX input responds to movement of a pot and I suppose that can be emulated by a PIC, but it seems that I’d not be using the full utility of the 21v3 to my advantage. Another thought I’ve had is to have both M1 & M2 ramp up and ramp down as they approach/depart their limits. I’m sure this could be done with PWM, but something tells me it might also be done with the RX pin looking at an analog voltage that’s controlled by the PIC.
As for the PID approach, this is a realm that is new to me and not really sure it’s necessary in this application?
Once I’m on the right track, I think I’ll be fine … getting there has been something of a struggle!
I am not sure if it would work for your particular application, but you might be able to keep your actuators roughly in sync with each other by connecting the feedback from the first actuator to both jrks and controlling their target position simultaneously. Since you are planning on using a microcontroller to control the jrks, you might consider using serial communication and daisy-chaining the jrks. Serial commands can be used to send target positions to the jrks. More information about these commands and command protocols (as well as how to daisy-chain the jrks) can be found in the “Using the Serial Interface” section of the jrk user’s guide.
As for your question about using PID control, if you are using feedback to do closed-loop position control with the jrk, PID tuning is important as it minimizes the error in your system.