Results 1 to 9 of 9

Thread: Arduino controlling position of L12 Firgelli Actuator

  1. Arduino controlling position of L12 Firgelli Actuator

    Hi,

    Has anyone tried to interface an Arduino with a L12 Firgelli linear actuator?

    http://firgelli.com/products.php

    http://firgelli.com/pdf/L12_datasheet.pdf

    I got the option with Controller "I"
    Integrated controller with Industrial and RC servo interfaces

    Anyone have an arduino code to control the exact position of the L12 actuator?

    Thanks

  2. #2
    Join Date
    Apr 2008
    Location
    Sacramento, CA, USA Area
    Posts
    5,341
    Rep Power
    174

    Re: Arduino controlling position of L12 Firgelli Actuator

    It can be used as a linear servo - so in effect, yes, almost everyone who has ever used an arduino has...

    Red to the power supply, black to ground, white to a digital out. Then drive it using the servo library.
    I Void Warranties´┐Ż

  3. Re: Arduino controlling position of L12 Firgelli Actuator

    I'm sorry but I'm not having any success with that method.

    I have a duemilanova.
    digital pin 3 is connected to the yellow wire on the actuator.
    12v+ (from a laptop power supply) is connected to red.
    12v- is connected to black.

    The servo extends immediately, even if pin 3 is set with servo.write(0).

    I have also been trying to use the control board (LAC)
    I get no movment at all, though I've followed the directions in the manual and double checked that the on-board tuning pots are set correctly.

    Please advise.

  4. #4

    Re: Arduino controlling position of L12 Firgelli Actuator

    The base Firgelli actuator for feedback control is the P version. The motor is connected to the red/black and a potentiometer to the orange/purple/yellow. Connecting power to red /black will as you say extend the actuator. Reversing the power will retract it. This is why you need the LAC board (never reverse the power to the LAC board!)

    To control without the LAC you will need an H bridge driver capable of reversing the power connections to the actuator, plus you will need to power and read the potiometer.

    The LAC board should allow you to control the Actuator using the servo library. The motor should be connected to the X2 connector on the LAC board. The LAC board is driven like any high power servo. The power and ground supplies are provided by a PSU capable of driving the actuator. The Arduino cannot supply enough power for the actuator. The servo control signal to the LAC is provided from the Arduino with a common ground connection with the supply ground.

  5. Re: Arduino controlling position of L12 Firgelli Actuator

    never reverse the power to the LAC board!
    I might have done that at some point, I'm not sure. Will that destroy the board?

  6. #6

    Re: Arduino controlling position of L12 Firgelli Actuator

    You should connect the actuator to the LAC connector X2 and apply your 12V power to the + and - of the LAC connector X6?

    The arduino can connect to X3 using only the - and the RC pin (don't connect the + pin of X3 or X6 to the arduino). - goes to arduino ground and RC to whatever pin you designated for the servo output on arduino.

    Are you confident your arduino sketch is OK ? You should be able to move the actuator with a voltage on the VC pin of X6 between 0 and 3.3V. You will find 3.3V on the p+ pin of X4. Does your LAC have USB ?

    http://www.firgelli.com/Uploads/LAC_...figuration.pdf

    Is there any burn damage to the board ?

  7. Re: Arduino controlling position of L12 Firgelli Actuator

    Quote Originally Posted by Adrenalynn View Post
    It can be used as a linear servo - so in effect, yes, almost everyone who has ever used an arduino has...

    Red to the power supply, black to ground, white to a digital out. Then drive it using the servo library.
    Do the more recent comments disprove this statement then? I just want to control a L-12 with PWM directly from arduino.

  8. Re: Arduino controlling position of L12 Firgelli Actuator

    Hello,
    this is my setup: Arduino Mega 2560 + Adafruit v.2 + L 12 Firgelli -P Linear Actuator

    How can I attach the picture of the setup???

    I can only power up the actuator via the terminal block (shown with a RED arrow). How could I make it move back and forth?
    Many Thanks in Advance,

  9. Re: Arduino controlling position of L12 Firgelli Actuator

    Hello,

    I am hoping this is not redundant; I am trying to actuate a few linear actuators IN A SEQUENTIAL manner.
    I am using motor shield v2 and arduino mega 2560 with firgelli L12 -P.
    I am using the following:

    Code:
    #include <Wire.h>
    #include <Adafruit_MotorShield.h>
    #include "utility/Adafruit_PWMServoDriver.h"
    
    
    Adafruit_MotorShield AFMS = Adafruit_MotorShield(); 
    
    
    Adafruit_DCMotor *my1stMotor = AFMS.getMotor(1);
    Adafruit_DCMotor *my2ndMotor = AFMS.getMotor(2);
    Adafruit_DCMotor *my3rdMotor = AFMS.getMotor(3);
    
    
    void setup() {
      Serial.begin(9600);          
      Serial.println("Adafruit Motorshield v2 - DC Motor test!");
    
    
     AFMS.begin(1000); 
      
      
      my1stMotor->setSpeed(150);
      Serial.print("Speed Set 1st Motor\n");
    
    
      my1stMotor->run(FORWARD);
      Serial.print("Turn On 1st Motor\n");
      delay(30);
      my1stMotor->run(RELEASE);
      Serial.print("Turn Off 1st Motor\n");
        
      my2ndMotor->setSpeed(150);
      Serial.print("Speed Set 2nd Motor\n");
    
    
      my2ndMotor->run(FORWARD);
      Serial.print("Turn On 2nd Motor\n");
      delay(30);
      my2ndMotor->run(RELEASE);
      Serial.print("Turn Off 2nd Motor\n");
      
      my3rdMotor->setSpeed(150);
      Serial.print("Speed Set 3rd Motor\n");
    
    
      my3rdMotor->run(FORWARD);
      Serial.print("Turn On 3rd Motor\n");
      delay(30);
      my3rdMotor->run(RELEASE);
      Serial.print("Turn Off 3rd Motor\n");
      
    }
    
    
    void loop() 
    {
    
    
      uint8_t i;
      
      Serial.print("tick");
    
    
      my1stMotor->setSpeed(150);
    
    
      my1stMotor->run(FORWARD);
       
      for (i=0; i<255; i++) 
      {
        my1stMotor->setSpeed(i);  
      }
    
    
      for (i=255; i!=0; i--) 
      {
        my1stMotor->setSpeed(i);
      }
      
      Serial.print("tock");
    
    
      my1stMotor->run(BACKWARD);
    
    
      for (i=0; i<255; i++) 
      {
        my1stMotor->setSpeed(i);
      }
      
      for (i=255; i!=0; i--) 
      {
        my1stMotor->setSpeed(i);
      }
    
    
      Serial.print("tech");
      delay(30);  
      my1stMotor->run(RELEASE);
    
    
      delay(1000);
      
      Serial.print("tick");
        
      my2ndMotor->setSpeed(150);
      
      my2ndMotor->run(FORWARD);
    
    
      for (i=0; i<255; i++) 
      {
        my2ndMotor->setSpeed(i);
      }
    
    
      for (i=255; i!=0; i--) 
      {
        my2ndMotor->setSpeed(i); 
      }
      
      Serial.print("tock");
    
    
      my2ndMotor->run(BACKWARD);
      
      for (i=0; i<255; i++) 
      {
        my2ndMotor->setSpeed(i); 
      }
      
      for (i=255; i!=0; i--) 
      {
        my2ndMotor->setSpeed(i);  
      }
    
    
      Serial.print("tech");
      delay(30);
      my2ndMotor->run(RELEASE);
      
      delay(1000);
      
      Serial.print("tick");
        
      my2ndMotor->setSpeed(150);
      
      my3rdMotor->run(FORWARD);
      
      for (i=0; i<255; i++) 
      {
        my3rdMotor->setSpeed(i);  
      }
      
      for (i=255; i!=0; i--) 
      {
        my3rdMotor->setSpeed(i);  
      }
      
      Serial.print("tock");
    
    
      my3rdMotor->run(BACKWARD);
      
      for (i=0; i<255; i++) 
      {
        my3rdMotor->setSpeed(i);  
      }
      
      for (i=255; i!=0; i--) 
      {
        my3rdMotor->setSpeed(i);  
    //    delay(10);
      }
    
    
      Serial.print("tech");
      delay(30);
      my3rdMotor->run(RELEASE);
      
      delay(1000);
      
    
    }


    I am not sure where to put the delays (or not sure if putting delay is conventional when trying to make sequence of motions!?
    any help would be appreciated very much! This does not seem to be so difficult but I am not getting the kind of motion I want:

    Initially I am hoping to get a sequential movement of three actuators within (lets say) half a second delay. Then I was hoping to get this type of sequence:

    1st 2nd 1st 3rd 1st 2nd 1st 3rd ...

    It is worth saying that I do realize the actuators move all the way to the fully extended length and I am hoping to, at some point, control that distance but I am thinking this is not an issue at this point as I believe for position control I need to use the potentiometer feedback.

    Regards,
    Karim.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Videos of Firgelli L12 Actuators needed
    By badboi in forum DYNAMIXEL & Robot Actuators
    Replies: 5
    Last Post: 08-09-2009, 01:27 AM
  2. Firgelli L12 versus Hitec 5990TG
    By Vsions in forum DYNAMIXEL & Robot Actuators
    Replies: 27
    Last Post: 12-23-2008, 02:22 AM
  3. Project Wii nunchuck + Arduino controlling a Pan and Tilt Camera
    By Alex in forum Robotics General Discussion
    Replies: 15
    Last Post: 04-29-2008, 10:06 AM
  4. Kondo web page translated.
    By Droid Works in forum Humanoids, Walkers & Crawlers
    Replies: 4
    Last Post: 10-06-2007, 05:49 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •