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. 4in or 6" linear servo (steering)
  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

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. This is covered under Sensors.

The linear steering actuator on the Catrikes https://www.servocity.com/motors-actuators/linear-actuators/heavy-duty-linear-actuators has 25 lb. thrust with either a 4 or 6 throw.

The steering 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.

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

Supplies

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

Wiring the solenoid

For at least the test phase, we use DF Robot Relay Shield V2.1. Default connections are: Arduino digital pin 2 connects to relay 1; D7 to relay ; D8 to relay 3; D10 to relay 4. However the board allows changing the pin to relay connections. Wiring connections are on the diagram. C++ Code in RelayBrake.ino compiles as of 4/22/18. Wiring diagram and code were changed on 5/8/18 to put less stress on relays and solenoids. Since D2 is used by the brake click, hardware and software have been changed to use D4. The middle pin of the connector on the relay board (silk-screened D2 IO3) needs a jumper from the middle pin to D4

Links and Resources

Other linear servos: https://www.servocity.com/servos/heavy-duty-linear-servos

-- JosephBreithaupt - 2018-04-05

Topic attachments
I Attachment Action Size Date Who Comment
PNGpng DFRobotRelayShield.png manage 8.3 K 2018-04-30 - 00:03 TylerCFolsom Depricated; Use Relay2.png
PNGpng Relay2.png manage 8.8 K 2018-05-10 - 23:35 TylerCFolsom Wiring for solenoids to 4 relays
Unknown file formatino RelayBrake.ino manage 6.3 K 2018-05-08 - 17:19 TylerCFolsom Arduino code for relay-driven brakes
Unknown file formatino RelayBrake2.ino manage 10.0 K 2018-05-17 - 22:15 PatriciaTressel This version of RelayBrake.ino uses the loop structure from C2_LowLevel, so the modified brake code can be directly incorporated into C2_LowLevel.
Unknown file formatbrd solenoid-drilling-diagram.brd manage 19.1 K 2018-04-05 - 03:55 JosephBreithaupt  
PDFpdf solenoid-drilling-diagram.pdf manage 15.8 K 2018-04-05 - 03:48 JosephBreithaupt  
Topic revision: r13 - 2018-06-03 - TylerCFolsom
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback