PicoBorg Reverse - Linear actuator and Hall Sensor feedback

Hi there.

Can I control a linear actuator with the PicoBorg Reverse and get control with the Hall Sensor feedback that are already integrated with the linear actuator?
The linear actuator has 6 wires: 2 wires for the motor; 4 wires for the Hall Sensor feedback.

Kind regards,
wizard2010

By the way, can the PicoBorg Reverse get the current (A) information about the motor?
I mean, it's possible to know how much current the motor are consuming?

piborg's picture

The short answer is that you can drive a linear actuator from a PicoBorg Reverse, however it cannot use the feedback signals as intended.

Basically the motor will be a normal DC motor as it only has the two wires, this can be controlled normally using the standard motor control functions.

In terms of proper control, the PicoBorg Reverse cannot use the four hall effect signals as intended.

One of the signals could be connected to the relevant taco input and used as a 'counter'
This would at least allow the PicoBorg Reverse to drive the motor until X counts have been registered.

I imagine that two of the feedback signals are for end-stop sensors.
It should be possible to connect them to GPIO pins and detect they have been reached in software.
Be sure to get the correct voltage when connecting directly to GPIO pins, 3.3V maximum for a Raspberry Pi.

With regards to current monitoring, the PicoBorg Reverse does not have the necessary circuitry to measure the current which the motors are using.

Hi there again.

Can you tell me if with the PicoBorg Reverse I can do a soft start/stop of the Linear actuator?
The actuator don't have feedback, I only have two wires, to put the actuator open and close.

Kind regards,
wizard2010

piborg's picture

You should be able to ramp the power up and down to achive a soft start and stop.

For example:

#!/usr/bin/env python
# coding: Latin-1

# Simple example of a motor sequence script

# Import library functions we need
import PicoBorgRev
import time

# Setup the PicoBorg Reverse
global PBR
PBR = PicoBorgRev.PicoBorgRev()
PBR.Init()
PBR.ResetEpo()

# Soft speed change settings
timeForFullPower = 2.0          # Number of seconds to go from 0% to 100%
timeBetweenSteps = 0.01         # Number of seconds between changes
changePerStep = timeBetweenSteps / timeForFullPower

# Soft speed change function for motor 1
def SetMotor1Soft(newSpeed):
    global PBR
    currentSpeed = PBR.GetMotor1()
    change = abs(newSpeed - currentSpeed)
    if newSpeed > currentSpeed:
        nextSpeed = currentSpeed + changePerStep
        while nextSpeed < newSpeed:
            PBR.SetMotor1(nextSpeed)
            time.sleep(timeBetweenSteps)
            nextSpeed += changePerStep
    else:
        nextSpeed = currentSpeed - changePerStep
        while nextSpeed > newSpeed:
            PBR.SetMotor1(nextSpeed)
            time.sleep(timeBetweenSteps)
            nextSpeed -= changePerStep
    PBR.SetMotor1(newSpeed)

#### EXAMPLE USAGE ####

# Soft start to 25%
SetMotor1Soft(0.25)

# Leave at 25% for three seconds
time.sleep(3.0)

# Soft stop
SetMotor1Soft(0.0)

# Stay still for five seconds
time.sleep(5.0)

# Soft start to 50% in reverse
SetMotor1Soft(-0.5)

# Leave at 50% for 1.5 seconds
time.sleep(1.5)

# Soft stop
SetMotor1Soft(0.0)
Subscribe to Comments for &quot;PicoBorg Reverse - Linear actuator and Hall Sensor feedback&quot;