Difference between revisions of "ActuatorPage"

From Elcano Project Wiki
Jump to navigation Jump to search
(Drive System)
(Rotary servos)
Line 62: Line 62:
=== Rotary servos ===
=== Rotary servos ===
The ELF uses a rotary actuator.
The ELF uses a i00600 Torxis rotary servo.
== Braking System ==
== Braking System ==

Latest revision as of 16:04, 10 July 2019

Actuators and Motor

Description and Function

Elcano uses a linear servo (actuator) to control steering hardware. Brake control had used a linear servo, but in Spring 2018, brake control was replaced by a Solenoid system. An electric bicycle controller drives the rear wheel.The recumbent Catrikes use a hub motor. The ELF uses an electric motor that drives a chain on the left side of the vehicle. The ELF uses a rotary servo for steering.

Parts and Materials

  1. Two solenoids and assembly for braking. See "Creating and assembling a solenoid mount")
  2. 4 inch or 6" linear steering servo (Catrikes) or rotary servo (ELF)
  3. servo mounts
  4. linkage hardware to connect servos to brakes and steering
  5. electric bike conversion kit
  6. power subsystems (batteries, connectors, wiring) for servos and motor

Detailed bill of materials: https://github.com/elcano/elcano/blob/master/Documentation/Elcano_BOM.xls

Drive System

The Catrikes have no pedaling or chain. The vehicle is powered by a hub motor.

The ELF has two chains. One is driven by pedaling and the other by an electric motor. Both chains have freewheels, so they do not interfere with each other.

The electric motor is powered by an e-bike controller. The ELF uses a Kelly controller. The Catrikes are scheduled to be upgraded to the same controller: https://www.kellycontroller.com/shop/kbs-e/

The e-bike controller converts the main voltage (36 or 48V) from DC to three phase to power the motor. The power can draw 25 or 30 Amp and is potentially lethal. Interface to the e-bike controller is an analog signal from the low-level board that gives the throttle.

The Kelly e-bike controller has some additional functionality that has not yet been used:

-- There are phase signals from the hub motor that offer finer speed and position control since the signal occurs about 20 times per wheel revolution instead of the current once per revolution.

-- It is possible to do regenerative braking.

-- The controller supports driving the wheel in reverse.

Steering System

There are two main steering signals:

1. Signal Out is a 1 to 2 ms pulse sent from the Arduino to control the steering actuator.

2. Signal In is a 5 V analog feedback signal that gives the pointing angle of the wheel. There is one such signal for each of the two front wheels. More details on SteeringSensor.

Linear servos

The linear steering servo on the Catrikes https://www.servocity.com/hdls-6-2-12v has 25 lb. thrust with 6" throw. In the past we have used 4" throw. A more suitable part may be https://www.servocity.com/motors-actuators/linear-actuators/heavy-duty-linear-actuators. The servo is powered by a pulse signal. The actuator would be powered by a relay to give it either +12V or -12V and use angle feedback to stop motion. Using the actuator requires hardware and software changes.

The steering servo or actuator is powered by 12V DC. It produces 5V DC which can be used by other equipment. Steering is controlled by sending a pulse to the actuator. A pulse width of approximately 1 ms will cause the actuator to fully extend (right turn on Catrike). A pulse of about 2 ms will fully retract the actuator. A pulse of 1.5 ms will keep the vehicle pointed straight ahead. There is some variation in these voltages; thus the Catrikes have a mechanical adjustment for fine-tuning the position for going straight. Typically there are about 30 pulses per second; the exact rate does not matter. At 12V, servo operating speed is 56mm/s with no load or 35 mm/s at maximum load.

The actuator interfaces to the Arduino over a three wire servo connector that is standard for RC planes and cars. The three wires are Signal Out, Ground, and Power. The power wire is not used since both the actuator and Arduino have their own sources of power. The actuator is fused for 5 Amps and has blown fuses. Be careful not to drive it beyond physical limits.

Servo Problems

It is important to note that under certain circumstances the servo can critically damage itself. It is a $300 part and we have had ten of them fail. Most of the failed servos were used for braking; this poor performance was the motivation for changing to the solenoid braking system. It appears that the servo needs its power turned on only AFTER providing it a PWM signal. Further, providing it a signal corresponding to its current position will prevent it from trying to move during startup. The low-level firmware (early 2019) has been adapted to perform this, with an optional external relay board.

Ben Rockhold (December 2018) wrote:

So, worth noting that the linear actuators claim a duty cycle of 25%. I’ve just identified the driver chip, which has a duty cycle of 20% at 2A — with no thermal shutdown or safety. If you use the actuator continuously, it will just die. The driver is the Toshiba TB6612FNG, available from digikey.com TB6612FNG,C,8,EL Toshiba Semiconductor and Storage | Integrated Circuits (ICs) | DigiKeyMotor Driver Power MOSFET Parallel 24-SSOP

Thinking about this some more; once we’re using a PID we can use the deltas — cap them to prevent long distance moves, and add them to an accumulator to keep track of total distance commanded. If the accumulator fills, we enter an error state and can’t steer. Then reduce the accumulator at a fixed rate, so that steering availability returns over time … or, probably easier… we could just use a different motor driver. Wire the driver to the DC motor in the servo that failed, and use the external feedback instead of the potentiometer inside the actuator.

Rotary servos

The ELF uses a i00600 Torxis rotary servo.


Braking System

Two solenoids (Johnson Electric 150 174432-024; available from Newark/Element14) connected directly to the brake cables control braking. This system has some advantages and disadvantages over connecting the brake cables to a servo. Advantages are that a solenoid provides full braking force in milliseconds. Disadvantages include a lack of control over braking force and brake failure on loss of power: a solenoid alone will not hold position without adequate current from the batteries. Using a solenoid instead of a servo also requires additional hardware and software to control the solenoid.

Building a solenoid mount for braking

Creating and assembling a solenoid mount

  1. Select a solenoid according to required braking force and throw. Information like force as a function of throw is provided in product data sheets
    1. measure how much force is required to initially pull the brake cable from rest (against spring tension and friction) and to completely close the brake, stopping the loaded vehicle
    2. measure the distance the brake cable travels from rest to closed position; this is the required throw
    3. select a solenoid that provides adequate force over the entire throw
    4. be aware that a solenoid provides less force when heated by environment and electrical load
  2. Because solenoids generate heat, select metal stock with enough area to radiate heat from the solenoid; this information may be contained in the solenoid's data sheet
  3. If needed: use measurements from the solenoid or solenoid data sheet to modify the drilling template provided below to fit the mounting plate on the selected solenoid. Make sure holes are not too close to the edge of the material so there is enough room to drill
  4. Adhere the printed drilling template to the metal stock using rubber cement. Work quickly (< 30 seconds after application of rubber cement) to apply the paper template smoothly on the surface before the adhesive dries
  5. Drill holes where shown on the template. Drill pilot holes using a small bit before using large drill bits
  6. Check that all parts (including the solenoid) fit the drilled screw holes and use screws and nuts to attach the two angle bracket stops and the solenoid base plate to the solenoid mount
  7. install the brake shield ends (threaded metal parts) to the brake shield end mount and thread the brake cable through
  8. Screw the three bridle pieces together around the barrel end of the brake cable and attach to the solenoid arm with a screw and nut (or other hardware, depending on the solenoid arm end)
  9. Check that the solenoid arm moves freely along its entire throw with the bridle and brake cable attached
  10. Attach electrical connectors to the solenoid and attach the solenoid to the solenoid controller to test that brakes open and close when the solenoid is switched off and on


  1. existing bicycle braking system using barrel-ended brake cable (to use our brake cable bridle)
  2. one solenoid for each brake (it may be possible to alter the design included on this page to use one solenoid for two brakes, but make sure it has enough force for two brakes)
  3. metal stock large enough to create an entire mount for each solenoid; this mount doubles as a heat sink and should have enough total area to radiate heat
  4. metal stock to create a bridle attaching the solenoid arm to the brake cable
  5. metal stock to create a stop for the bridle on the solenoid arm and a mount for the brake cable end

(have extra metal stock to recreate each drilled piece in case of mistakes)

  1. material such as screws, plates, or u-bolts to attach the solenoid mount to the vehicle
  2. screws and nuts to hold all solenoid mount parts together
  3. a printed drilling template, modified to fit your hardware if needed, one for each solenoid mount (neatly cut out individual pieces)
  4. rubber cement or other adhesive for adhering the drilling template
  5. hand drill or drill press
  6. clamps and disposable wood block(s) for drilling
  7. files or other abrasive for removing metal burs and sharp edges
  8. personal safety equipment such as gloves and eye protection for when cutting, drilling, and filing

Wiring the solenoid

The solenoids are connected in parallel to the LowLevel board's relay outputs. This is a height current connection, and is mean to switch between 24v (for striking) and 12v (for maintaining). The solenoids only have a 25% duty cycle at 24v, so be careful not to leave them connected to power for too long. It is also critically important to include a snubbing diode in parallel with any inductive load. As of version 3.0 the LowLevel board includes one on its brake output. We are using a pair of 1N400x series diodes rated for >50v and 1A (specifically 1N4001). This prevents extreme high voltage transients generated by switching the inductor from finding an inconvenient path to ground via our sensitive electronics. Quite a few relay shields have lost their driving transistors prior to the addition of these diodes.

Links and Resources

See the attached solenoid data sheet for its specific characteristics. Other linear servos: https://www.servocity.com/servos/heavy-duty-linear-servos

NEXT > Board Diagrams