MCP robot

MCP Rear motor subsystem Documentation


1. Introduction


The most important subsystem on the MCP and the one that posed the most problems was the Rear motor subsystem. Without this system the MCP is useless as it would be unable to move and yet this is nearly what happened to the MCP as this subsystem was developed many problems were faced, and then overcome.

2. Overview


A Power Wheels Jeep Wrangler toy that the MCP, was built on has a 12V 10Ah battery that drives two 12V 20A DC motors. After we use factory built speed controller, we made it stable and powerful. Fred Martin suggested using factory made speed controller when the circuit was burned.It was 5th burned. After using this speed control servo, we can merge steering and motor interface. Now we just need 1 serialSense board to controll MCP Rear motor and steering subsystem.

3. Main Discussion

Finally MCP uses a speed controller from MULTIPLEX, Fred Martin suggested. That makes easy life for MCP. Motor subsystem was unstable. I had a hard time to controlling high current. Now Motor subsystem uses factory made speed controller system which is made by MULTIPLEX. This speed controller is basically the same as servo. It goes between 1.5ms to 2.5ms. Between this cycle, speed controller just increase or decrease the speed. Input signal is normal servo signal. So it is simple to make a control program. Motor subsystem gets 2 kinds of signals from serialsense board that uses with steering subsystem. One is for speed controller the other is forward and backward.

3.1 Forward Backward -- Relay circuit  

Figure 3.1: motor relay circuit

Fig. 1: motor relay

Note: This relay circuit is simple. There are 3 inputs 12V input, 5V logic input and 5V signal. output goes to relay. Logic input comes from servo board.

Code listing 3.1: Code Sample for forward - backward

SerialSense *ss = new SerialSense("/dev/ttyS0");
    ss->setupIO(7,0);        #setup port7 as an output
    ss->set(7);              #set port7 high --> forward
    ss->clear(7);            #set port7 low  --> backward 

3.2 Speed control circuit and wiring diagram 

Figure 3.2: motor circuit

Fig. 2: all connection

Code listing 3.2: Code Sample for speed control

# define speed10   120
# define speed20   140
# define speed30   160
# define speed40   180

SerialSense *ss = new SerialSense("/dev/ttyS0");
    ss->servo(1,0);		#Left speed controller init
    ss->servo(3,0);		#Right speed controller init
    sleep(3);			#Wait for power protection



MULTIPLEX ESC Pico-Control 400

Continous current 30A

Peak current 40A ( max 2 min)

Figure 3.3: Multiplex and relay circuit photo

Fig. 3: Photo-multiplex

Warning: The power-on protection circuit will prevent the motor bursting into life when you switch the system on. We have to keep at least 2 sec for speed 0 when turn on the system.

4. Interface

MCP Rear motor subsystem and Steering substem use a SerialSense board. Theses two systems use one serial communication port. And UDP Deamon program merged with steering system.

SerialSense Board and Servo Board 

SerialSense Board is the main part of interface in Rear motor subsystem and steering subsystem. This gives us to control speed contorller and relay. Servo Board gets signal from SerialSense board and convert to servo signal.

Figure 4.1: SerialSense Board and Servo Board

Fig. 1: Photo-serialsense

Note: For more information about SerialSense Board

Note: For more information about Servo Board

5. Appendix

Reference Steering system. Controll program source code shares whit steering sybsystem

6. Contribution

Andrew Wirshborn-Lucker (MOSFET + relay ckt)

Stephen Ward (version of this driven by LogoChip)

Updated 2005-05-15
Kyewook Lee

Summary:  The original design for the circuit on the UML-MB came from Fred Martin who suggested using a MOSFET and relay to control the motors. Now we use a speed control circuit by MULTIPLEX. That controlls more powerful and stable for MCP Rear motor subsystem.
Developed by students of the Engaging Computing Group in the Department of Computer Science at the University of Massachusetts Lowell