Difference between revisions of "ActuatorPage"

From Elcano Project Wiki
Jump to navigation Jump to search
(Created page with " = 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 Sp...")
 
Line 22: Line 22:
 
1. Signal Out is a 1 to 2 ms pulse sent from the Arduino to control the steering actuator.
 
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.
+
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.
  
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 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 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. It is important to note that under certain circumstances the actuator can critically damage itself. A full understanding has not be ascertained as of Spring 2019, but it is hypothesized that the actuator 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 (Winter 2019) has been adapted to perform this, with an optional external relay board.
  
 
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.
 
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.
Line 68: Line 69:
  
 
=== Wiring the solenoid ===
 
=== Wiring the solenoid ===
It is critically important to include a snubbing diode in parallel with any inductive load. 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.
+
The solenoids are connected in parallel to the [[LowLevel]] board's relay outputs. This is a hight 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.
A few different solenoid drivers have been used, including the DF Robot Relay Shield v2.1. Other external relay breakouts have also been used. For the DF shield, the default connections are as follows:
 
* Arduino digital pin 2 connects to relay 1
 
* D7 to relay
 
* D8 to relay 3
 
* D10 to relay 4
 
The board also allows changing the pin to relay connections via jumpers. 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 ==
 
== 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
 
Other linear servos: https://www.servocity.com/servos/heavy-duty-linear-servos
 
-- Main.JosephBreithaupt - 2018-04-05
 

Revision as of 20:24, 3 June 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. 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. There is one such signal for each of the two front wheels.

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. It is important to note that under certain circumstances the actuator can critically damage itself. A full understanding has not be ascertained as of Spring 2019, but it is hypothesized that the actuator 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 (Winter 2019) has been adapted to perform this, with an optional external relay board.

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)

  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 hight 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