Introduction: How to Make a Custom Electric Go-Kart and Brushless DC Motor
This Instructable details the design and fabrication of my electric go-kart. However, the principles and methods I used can be applied to similar vehicles.
Eli-Kart grew out of an interest of mine to create a simple, reliable, personal electric vehicle that would be practical off the racetrack. By using an electric motor and running everything off batteries, Eli-Kart doesn’t add directly to air pollution (so I don't feel bad using it indoors). Unlike most go-karts, it only has three wheels: two in the front and one in the back. At the expense of a little cornering speed, Eli-Kart has decent ground clearance and extra space for another passenger or extra cargo.
I began to design to formulate ideas for an electric go-kart around the beginning of my senior year in college. I was able to devote a good deal of time to the project in my last semester by working on the project as my undergrad thesis. In my design and analysis, I used computational tools to aid my calculations. These tools allow for realistic simulations of a variety of conditions. I used these to double-check things such as shaft yielding and aerodynamics, along with motor torque and magnetic flux for my motor.
Step 1: CAD
Eli-Kart existed on my computer in Solidworks long before it had a physical form. I spent a lot of time doing virtual tinkering and fine tuning the design. I've found that the more time you spend on the computer, the less time you spend actually building it. Attached are some final renderings I generated just before I began building.
You may have noticed the motor in the renderings is different from the custom motor I designed. This is because I originally designed Eli-Kart to be used with a commercially available brushless motor. In the vein of similar EV power systems, it was about a 3kW peak hobby aircraft motor. However, it was relatively simple to devise a new mounting system for my new motor.
The motor design I came up with much later. I based everything off of motor parts I found online, which I'll get into later. I attached some pictures of the motor for the Solidworks file as well.
Step 2: Eli-Kart: Frame
I wanted the frame to be strong because Eli-Kart would need to carry at least 500 pounds safely to account for two passengers. From my previous projects I was familiar with box extrusions, which are strong beams that are suitable for structural applications. I chose steel because it is much tougher and easier to weld than materials such as aluminum. Uprights for steering and mounting other components could be welded to the main structure. For example, I welded four uprights under the back and bolted on a platform to hold the electronics.
On top of the frame there needed to something more substantial to sit on. I decided on a platform of ½” thick acrylic for several reasons. It would be clear, allowing for a view of the components underneath, and also be structural enough to allow for direct mounting of seats and the steering wheel. I chose the dimension of the cart to fit within current handicap accessible areas, allowing it to go through doors and fit in a bike lane. I also wanted it to be just long enough to fit two people sitting one behind the other. A 24” by 48” platform fulfilled these criteria and had a convenient size and a rectangular 1:2 ratio.
Step 3: Eli-Kart: Steering
Steering is another very important mechanical aspect of any vehicle. I decided to use a steering linkage similar to that on a colleague's go-kart. It works by attaching each wheel to a steering rod, and connecting each rod to a part on the end of the steering wheel. When the steering wheel turns, the part on the end rotates, pushing one steering rod away while pulling the other rod closer. For two wheel steering, an Ackermann steering geometry accounts for the different turning radius of each wheel. The basis of the geometry is shown here.
I used my CAD model in Solidworks to simulate the steering. By adjusting the angle to the back wheel and changing the distance between the front wheels, I was able to set up the Ackermann geometry precisely and get an approximation of how the steering would work. I could then use the dimensions from the CAD model when fabricating the parts. I made the steering wheel out of a waterjet 1/4" plate of aluminum and two tubes of aluminum for the throttle and brakes.
Once assembled, I found that there were several problems with the steering. At first, the steering worked smoothly because it was unloaded. However, once the go-kart was loaded with my weight, the flange bearing holding the steering wheel shaft in place began shifting because it had an adjustable housing. To correct this, I made a large bushing to be mounted to the bottom of the go-kart to help support the steering shaft. I bored out a round of delrin, which is a soft, low friction plastic, to fit over the steering shaft and also cut an angle into the profile so that it would press flush against the bottom of the main platform. I then counterbored holes in a mounting plate and bolted the plate to the angled face. Once flush, I drilled and tapped holes into the main platform to secure the bushing.
Another problem was that the ball joints I had for the steering linkage were hitting their maximum angle before the wheels could turn enough for a decent turning radius. Even switching to high strength ball joints with a larger allowed angle wasn't enough. To fit this, I shortened the spacer seen in the CAD picture. This adjusted the angle of the ball joints favorably, allowing them to rotate further.
The last problem was that when the wheel was turned too far, one wheel would start retracting. This is a problem of my particular steering configuration, which directly connects the steering column to the wheels, allowing for only a small maximum rotation of the steering wheel. To correct this I made a new, longer connector that resulted in a higher horizontal displacement for the same rotation, which you can see in the last picture. This reduced the turning precision slightly, but allowed for a larger turning radius.
Step 4: Eli-Kart: Drivetrain
The drivetrain is a fundamental engineering problem for all vehicles. The drivetrain consists of the motor, transmission, and any drive wheels. Drivetrain components need to be mounted robustly and operate efficiently to be safe and effective. For Eli-Kart, I designed the frame so that a motor could be easily mounted to the steel tubing. For the brushless hobby aircraft motor I had, a single mounting plate would be sufficient to secure it. After directly bolting a ¼” plate of aluminum to the frame, I drilled mounting holes that matched with the motor, and milled slots into the plate to allow for tensioning of the drive belt.
For simplicity and ease of operation, there would only be one speed or gear. I decided to use a 15-5 HTD belt to transmit power from the motor shaft to the drive wheel. I chose belts because they are slightly more efficient and quieter than their main competitor in small electric vehicles, chains. I wanted a maximum speed of around 20mph (or 9 m/s), so I calculated the gear ratio I needed to hit this speed while maximizing torque using the equation below.
This works for any unit of distance assuming speed is in a per second formula speed. For example, you can plug in 9m/s like I did and .2m for an 8" D_wheel. Alternatively, once you know what the gear ratio will be you can solve for your maximum speed. I calculated that I needed a gear ratio of almost 12 for a 10,000 rpm motor. Given that the wheels I used already had a 72-tooth pulley built into the hub, this would mean using only a 6 tooth pulley. However, the smallest pulley that I could find had 12-teeth, which doubled my top speed at the cost of cutting torque at the wheel in half. Once I had my custom motor working, it spun at a maximum RPM of 1740, so a gear ratio of 2 worked out perfectly for about 20mph.
Keep in mind that I call this maximum speed for a reason. At high speeds, there will be a surprising amount of load on your motor so it won't be spinning at its ideal or no-load RPM. For this reason it's also important to have a realistic idea of the limits of your motor. If torque is lacking, you will never get up to speed and your motor won't be operating efficiently. This is an important consideration when choosing a motor. Hobby aircraft motors are often rated with a Kv in the units of RPM/Volt. You might think that the lower this number is the worse the motor is, but a low Kv means that it will be easier to gear your vehicle and it will produce more torque at the same current. If you're not careful you could end up drawing a lot of current at low speed and suffer from slow acceleration or even burn out your motor. If you already have a motor in mind, you could always rewind your motor so that it produces more torque and spins at a lower speed (I'll go into detail on how this works later).
Don't forget about the brakes either! I used disc brakes and I would recommend them for bigger or higher speed vehicles such as Eli-Kart (plus they look cool). Band or drum brakes are cheaper and easier to install, but don't have the same stopping power so be aware. Make sure to account for room for the brake components around whichever wheel(s) you want to put them on. I had a lot of trouble fitting disc brakes to Eli-Kart because the disc was too thick and the calipers needed to be positioned just right.
Step 5: Eli-Kart: Electronics
At the core of the electronics is the motor controller. For Eli-Kart I used a Kelly controller, the KBS48121 with the high speed option. The high speed option is expensive but allows for the use of higher speed motors. Sadly this turned out to be a waste for me since my custom motor spins extremely slowly, so I would recommend using a slower motor and saving your money unless you are going for extremely high performance.
Anyways, Kelly controllers have connectors for pretty much anything you would ever need. Reverse, regenerative braking, even brake lights and a beeping sound. I neglected to use the connectors it comes with and soldered my own .1" headers onto the connections I would use. I would recommend soldering the connections once you know everything works, but tape works well for making sure they don't fall out until then.
One downside to this type of controller is that you need to have sensors on your motor to allow the controller to detect its position. Read into the custom motor section if you want to know more about this, but you'll essentially need to either take apart your motor and put in sensors or use digital fabrication to make a sensor mounting board. The alternative to this is to use a sensorless controller. These will require a little push-off to prevent your controller from exploding on the inside, so keep that in mind when designing your vehicle. You can pick up cheap sensorless controllers from Ebay. They are surprisingly legit as proved by Charles, though I would recommend this one.
At the bottom of the food chain are brushed DC controllers, which can be cheaper and easy to use. Kelly Controls also sells DC controllers, or you can go with scooter parts. This might be a good option if you want to save money and time but don't want to go sensorless, or if you already have brushed motor lying around.
Batteries are the I made my own custom battery pack out of A123 26650 cells, combining 12 in series and 3 in parallel for a 39.6V 7.5Ah pack. Unless you have your own personal stock of batteries, you'll need to buy some. You can find batteries online at places such as All-Battery, Amazon, and HobbyKing. I would avoid using lead-acid batteries due to their low discharge rate and poor lifespan, but be careful if you go with Lithium Polymer batteries such as the HobbyKing pack I linked. You will also need a battery charger. I have a 0-40V charger with balancing and a generic power supply, but if you know exactly what you will be charging you can get cheaper solutions such as this or simply a power supply.
You'll need a soldering iron to make the wiring connections, and thick wire for the main power connections as well as thin wire for the signal connections. Feel free to color code your wires, and label them if at all possible to avoid potential electrical headaches. Don't forget connectors as well: T-style "deans" connectors, bullet connectors, or XT-60 connectors should be all you need (just don't plug or solder anything in backwards). Digikey is also a good supplier for anything electronics related if you're not ordering parts from HobbyKing since they have free, faster shipping.
Basically, you get what you pay for when it comes to electronics. Brushless systems with a quality controller and Li-Ion batteries will give you the most reliability and best performance, but will run you around $100 per component. Lead acid, brushed components are probably around half that, but the motors aren't any cheaper and offer much less power.
Step 6: Custom Motor Background
Building your own motor is a complex and multifaceted problem. The motor I made for Eli-Kart took much more time and effort than I initially expected. For use in an open space under a go-kart such as Eli-Kart, a commercial motor would be much easier and probably cheaper. Only for truly specific purposes can a custom motor be well justified, such as with hub motors. Still, designing and building my own motor was a great learning experience.
Several equations govern the properties of an electric motor. The most important variable in these equations is the motor constant, k. The motor constant is made up of a combination of stator size, windings, and magnetic field. I had to keep these in mind when choosing the components for my motor to make sure it would perform well. Torque (τ) and rotational velocity (ω) of a motor are both related to k.
N is the number of turns of wire on each tooth of the stator, B is the remnant flux from the magnets, L is the length or thickness of the stator, and D is the diameter of the stator. k is also related to speed and torque, where V is the voltage and i is the current through the windings. As much as you can, you generally want to maximize these values. Anything else you could want to learn about electric motors can be found in James Mevey's M.S. thesis.
Step 7: Motor: Design Constraints
When choosing components for my motor, the first priority was cost. The most expensive part of a custom motor can easily be the stator. A stator is made up of numerous laminations of steel. These laminations have the same cross-sectional shape and are stacked to create the desired thickness. To reduce cost, I searched on the Internet to get a low price. Luckily, I found four matching stators that were intended to be used for the alternator in a motorcycle. By combining these stators into one, it would give me a relatively large motor for powering a small vehicle.
Magnets are also an important (and often expensive) part of each motor. The stronger the magnets are, the more powerful the motor generally is. Magnet strength is related to the motor constant, with strong magnets resulting in a high B in the motor constant equation. Finding magnets is another challenge for a custom motor. Since my stators had 18 teeth, I needed an even number of magnets that couldn’t be 18 because then the magnetic field would prevent the motor from rotating. After some calculations, I found that I could fit 16 magnets that were ¾” wide and ¼” thick around my stator with minimal space between them.
After cost, I initially wanted to design the motor around my motor controller. The Kelly Controller KBS line, which is suitable for small electric vehicles, only allows for up to 70,000 ERPM with the high speed option. ERPM is the mechanical RPM of the motor multiplied by the number of magnet pole pairs. Given that my stator had 18 teeth, the motor would probably have 8 or 10 magnet pairs, limiting the maximum RPM to well below 10,000 even at high voltages. By using the equations from the previous step and finding the torque through finite element analysis, I could reverse engineer the motor’s speed, making sure that it would be below the controller limit. Alternatively, you can also perform a basic torque calculation on your vehicle to see if you'll have enough torque or power for a desired performance condition.
Step 8: Motor: CAD and FEM
Once the stator, magnets, and can are finalized you can measure the parts with calipers and sketch a 2D profile in CAD. You can see the basics of my CAD file in the pictures. In Solidworks, it's easy to create the geometry by sketching one magnet or one tooth and turning it into a circular pattern.
Once you have the profile, you can see how many turns of wire could ideally fit between each tooth. I knew that I would need a lot of wire for such a big motor, so I decided to base my calculations of 18AWG magnet wire, which is just over 1mm in diameter, making it relatively thick. By close-packing the wire, I found that I could fit about 68 turns around each tooth. However, this turned out to be very unrealistic. While unwinding the motor I only counted 42 turns of 18AWG wire, which was nice because there was no bunching toward the tip. After performing a test wind, I found that I could fit 45 turns of 18AWG wire without much trouble. I also wanted to able to run my motor continuously at high current. One strand of 18AWG wire can sustain about 16 amps, so to make sure it would be safe to operate at the 120A maximum of my motor controller I decided to use 9 wires in parallel to achieve an ampactity of 144A. This would allow for around 5 turns of 9 wires in parallel without cramping the windings too much. Remember that more turns means more torque, but less speed and less ampacity, so you need to balance wires in series and parallel based on your design constraints.
Finite Element Method Magnetics is an FEA program that allow you simulate the performance of an electric motor. By importing a file of the motor cross section into the program and assigning each block material and magnetic properties, the program can provide a variety of information about the operating conditions. You can see the colorful figure that shows a graphic representation of the magnetic flux for my motor.
FEMM calculated a torque of 21.96N*m at 100A, yielding a motor constant k of .11 (N*m)/A. Once I knew k, I found that RPM/volt of the motor would be 43.5, yielding 1740 maximum RPM at 40V. With 16 magnet pole pairs, this would be well below the 8750RPM limit of the controller.
Step 9: Motor: Mechanics and Assembly
Once the electrical side of the motor was figured out, I had to design the mechanical side. I decided to work on the stators first and progress outward.The stators I chose for the motor came pre-wound with magnet wire, ready to be used in a motorcycle. Because I wanted to have my own wire configuration and also combine the stators, I had to unwind each of them. The epoxy used to hold the windings together was tough, so it took a pair of pliers and a good deal of time to unwind them. A heat gun was used to soften the bonds when the wires got stuck and began to break.
To combine the stators into one unit, I designed a part for the stators to slide over. I then bored a hole in this stator assembly with a lathe so that I could press fit bearings into it for rotating around the central shaft. I then designed an end plate to attach the stators to the central hub, holding everything together as you can see in the pictures.
To make the stator assembly just that, stationary, I used the pre-drilled holes in the laminations to attach them to the outside mounting face. The holes for the bolts that would go all the way through the stators would be counterbored, while mounting holes would be drilled and tapped. Because this would be a very structural component, I used a thick round of aluminum alloy. In the center of the face would be a shaft bearing to help support the torque from the pulley on the end. A large bearing was pressed over the outside edge of the aluminum face to isolate it from the spinning can.
I made the can out of 1/8” thick steel to contain the magnetic field from the magnets. I sized the inner diameter of the can to create about a 1mm gap between the stator and the magnets. After a lot of turning on a lathe, I used a jig that was 3D printed to position the magnets properly. Once tacked in place with superglue, I mixed a viscous epoxy to fill the gaps between the magnets (3rd picture).
I decided to use a thick piece of clear polycarbonate to fit between the large bearing and the steel can, tapping radial holes in the polycarbonate to attach it to the can. For the other endcap, I also wanted to use polycarbonate to allow for a clear view of the stator assembly. To attach the drive shaft to the can of the outrunner, I welded a plate of steel to one end of the shaft. I then drilled holes through the plate so that it could be mounted to the polycarbonate. I also cut out an area in the polycarbonate to recess the mounting plate. After turning down the weld bead, I put the pieces together and drilled and tapped the polycarbonate, ensuring that they could transmit the necessary torque.
I decided to use a dLRK winding style. This is the most effective winding style for the type of stator I had, providing slightly higher efficiency than the LRK style. The terminology used for dLRK winding follows the style of “AabBCca…” The letters A, B, and C indicate the motor phase while the upper case letters indicate the turning direction (either clockwise or counter-clockwise). For my stator, which has 18 teeth, I used AabBCcaABbcCAabBCc.
After winding each phase with one strand of 18AWG magnet wire, I ran out of time and had to stop working on the motor. I had also had either machined the inner diameter of the can slightly too small or misaligned the stator slightly because the stator was rubbing against the can. This made it very difficult to spin by hand, and might damage the motor if I tested it electronically. I will likely try to fix this issue by reseating the stator inside the can bearing and/or sanding down the stator until it spins smoothly.
However, to finish the motor, I would have had to insert hall-effect sensors so that I could control the motor with a sensored controller. Sensored control uses the hall-effect sensors to determine the position of the rotor through the magnetic field, and applies current based on the feedback. The other method of control is called “sensorless” which used the back EMF of the motor to control its speed. However, this makes it difficult for the motor to start up from a stand-still, causing potentially harmful current spikes.
To insert the sensors in the correct sensing position, I would need to insert the sensors 120 electrical degrees apart to match the settings for my Kelly controller. To calculate this, you first need to figure out how many electrical degrees are between each tooth. The formula for this is
E°/ tooth=360*(# pole pairs)/(# stator teeth)
For my motor, each tooth came out to be 160 electrical degrees apart. Since you can’t actually place a sensor a fraction of a tooth away, you need to position the sensors such there is separation 120° ± 360° for each sensor. For me motor, this meant placing them in the slots between the teeth with 3 slots between each sensor. Make sure the face of your motor is large enough to account for all of the wires coming out.
Step 10: The End
It's a lot of fun to drive, and I learned a lot in the whole process. I hope I've inspired you to take matters into your own hands and design your own personal vehicle. There's a ton of freedom and liberties you have in designing from scratch, but modifying an existing frame or converting a gas-powered vehicle is another great way to get involved. If I left any important details out or if you have any questions, message me or leave a comment and I'll do my best to answer it. Also, please vote for Eli-Kart in the Instructable contests!
McMaster - Raw materials and mechanical components
HobbyKing - Brushless motors and electronics
Kelly Controls - Motor controllers
Water-jetting - Big Blue Saw can waterjet a CAD file and ship it to you
Charles, creator of Chibikart
Shane, creator of tinyKart
Second Prize in the
Green Tech Contest
Runner Up in the
Participated in the
Make It Real Challenge