I’ve connected a Firgelli L12P actuator to a Firgelli LAC (via X2) and powered it through an external power source (via X6). I’ve connected a GPIO pin from a Raspberry Pi 2 B to the RC port (via X6) of the LAC. I’m using simple python servo code to extract and detract, but I want to now implement some sort of Positional Feedback and get data BACK from the actuator and know either what percentage of maximum extension it is in and or what position it is in, is there a way to do this?If you have suggestions of a set up not necessarily a raspberry pi or even a different type of firgelli L12 actuator those welcome as well. Thank you.
X# references this data sheet: firgelli.com/pdf/LAC_datasheet.pdf
data sheet for L12: firgelli.com/pdf/L12_datasheet.pdf
Hi,
The P version of the Firgelli Actuators (like the Firgelli L12P actuator that you have) has an analog position feedback signal (potentiometer) that can be input to an external controller.
Here is the pinout of position feedback :
Orange : Feedback potentiometer negative reference rail
Yellow : Feedback potentiometer positive reference rail
Purple : Feedback potentiometer wiper (position signal)
The controller with which you obtain the actuator position feedback, needs to have an analog input. However, the GPIO inputs on the Raspberry Pi 2 B are purely digital.
If you want to obtain the position feedback, you probably have two solutions :
-
Perform analog sampling on the Raspberry Pi 2 B. Then you’ll need to construct an ADC circuit in a GPIO pint of the Pi or to use an existing Raspberry Pi HAT.
Like this one : robotshop.com/en/liker-base- … rface.html
-
Or use an external controller (with the Raspberry Pi) that has an analog input like an Arduino Uno board :
robotshop.com/en/arduino-uno … rev-3.html
We hope this helps.
Hi Brahim,
Thank you so much for getting back to me. I’m a mechanical engineer with little mechatronics experience so your suggestions were extremely helpful. I’ll be purchasing what you suggested and will wire my actuator to lac and my lac to the shield.
Hi,
If you are planning to use the RB-Lin-122, you can connect all your actuator’s wires to the X2 connector on the LAC as follows :
1 Potentiometer Reference Negative (yellow)
2 Motor Terminal (black)
3 Motor Terminal (red)
4 Potentiometer Feedback (wiper) (purple)
5 Potentiometer Reference Positive (orange)
Then, you can connect the P,P+ and P- pins from the X4 connector on the LAC to the A0,5V and GND pins on the JP1 connector on the RB-Lin-122 shield.
This way, you won’t have to split your actuator’s wires.
X2 and X4 connectors on the LAC are physically connected.
Regards,
Hi Brahim,
One last follow up question. So I see that the RB-lin-122 uses a MCP3004 instead of an MCP3008. If I were to want to control 6 actuators with 6 LAC’s in a sort of stewart platform configuration could an MCP3004 do that? On the datasheet (adafruit.com/datasheets/MCP3008.pdf) it says MCP3004 does 4 input channels and I think I would need 6. Thank you!
Saw the schematic, there are only 4 analogue inputs.
Although it adds a step or two, you could use the pins on an Arduino-based Raspberry Pi hat:
robotshop.com/en/arduberry-r … apter.html
robotshop.com/en/arduino-exp … -pi-b.html
Hi my parts have come in and I’ve created the set up that was suggested but slightly different I’m using an MCP3008 chip because my need for 6 actuators. For now I have a raspberry pi connected to an mcp3008 analog to digital converter chip essentially identical to this set up (learn.adafruit.com/reading-a-an … -a-mcp3008) except my potentiometer is the linear actuator with P,P+,P- going to ch0 of adc, 5v, GND respectively. I’ve set up my raspberry pi and now it’s time to write code. I want to code in python, how would I take the inputs from the actuators and use it in my code. For example, if the potentiometer says actuator is at position < 5 then I want to run code to make position=5 (or equivalently for % extension). Thank you.
Unfortunately teaching Python is beyond the support we can provide here, but there are some excellent tutorials online, as well as printed material.