For our final technical project we decided to build an electric go kart using commonly available components. The requirements were to implement project management principles, hardware, and software design. The project build time was about 3 months, but the research started about 4 mounts in advance.

We started to research potential motors that could be suitable for a go kart. Our target motor power output was 3kW. The majority of 3 phase 3kW electric motor are priced around $400, which was too expensive for our budget. We settled on converting a car alternator to a 3 phase synchronous motor. Picked one up for about $30.

Here is the alternator disassembled, bridge rectifier and regulator disconnected. We also soldered 2 wires to the field coil brushes.

Alternator painted and reassembled. Here we tested it using an RC airplane ESC.

Next we tried to build a variable frequency drive using the ML4425CS motor controller. Nice little chip which has a back emf decoding.

This was the test circuit, but unfortunately the controller would switch to closed loop control at about 100 RPM , which was not ideal for an electric vehicle application.

The solution to this problem was to purchase a commercial 3 phase motor controller, intended to be used on electric scooters.

This particular controller has a wide voltage input (48V to 72V) and can handle 1.5kW continuously and 3kW peak. It also has a 40A current cutoff. We tested it with the modified alternator and worked very well.

Next we needed a lightweight battery, up to this point we were using 4 lead acid car batteries, which had a mass of about 80kg. They were not practical.

Decided to go with lithium polymer batteries, they are lightweight, have a high capacity, and insane discharge rate. The specs are: 18 cells in series, 66.6V, 5.8Ah, and 145A continuous discharge.

We also purchased the go kart frame around this time ( about a month into the project build)

This is the rolling chassis that we purchased for about $125, it's in good condition except for the rotted seat and missing throttle pedal.

We took apart all of the rusted components and stripped the paint. Rust removing gel was used.

Next we needed to figure out a way of transferring power to the rear wheels. A chain drive seemed to be the simplest implementation.

14 teeth #35 chain sprocket installed on the motor

Drive sprocket installed on the live axle. This one has 72 teeth. This gives a gear ratio of 5.14 to 1

Motor installed on a temporary wood spacer, as well as the chain was test fitted. The wood spacer was later replaced by 2 aluminum beams.

Next we painted the wheels.

Glossy black with a red pinstripe.

Reupholstered the seat and painted the seat frame.

Custom made throttle, here we are using a linear 5k pot.

Break switch installed. Zip ties are very handy :)

Welding a mounting bracket for the inductive rpm sensor.

Testing the alignment of the sensor, the chain does not seem to affect the performance,

Here is a block diagram of the electrical system

We are using an arduino pro mini for the controller interface circuit, another pro mini for the motor rpm measurement, and an arduino mega. We are using the arduino mega for its' serial ports.

The throttle input on the motor controller expects a DC voltage between 1.1v and 4.1v, since the arduino does not have a DAC, we made a low pass filter, which converts the pwm square wave into variable DC. See the video below for a demonstration.

Testing the throttle control and field coil circuit. Here we are also testing the interrupt driven OS on the arduino pro. We are using output compare for the timing and state machine logic. The communication is over SCI using receive interrupts. We wrote the protocol for exchanging information over the serial port.

Code snippet showing the timer1 and sci setup.

Next we attempted to make a battery management pcb, in order to protect and charge the lithium polymer batteries.

Here we are using the LTC6803-3 multi cell monitoring IC. each chip can...

Read more »