Difference between revisions of "Electric Bobby Car Build"
Line 59: | Line 59: | ||
The plate was prepared by outlining the design on surface. The holes were first counter-sunk, then drilled. Sharp edges were deburred using the counter-sunk drill bit. | The plate was prepared by outlining the design on surface. The holes were first counter-sunk, then drilled. Sharp edges were deburred using the counter-sunk drill bit. | ||
[[Image:electric_bobby_car_build_wheels_rear_plate_holes1.jpg|400px]] [[Image:electric_bobby_car_build_wheels_rear_plate_holes2.jpg|400px]] | [[Image:electric_bobby_car_build_wheels_rear_plate_holes1.jpg|400px]] [[Image:electric_bobby_car_build_wheels_rear_plate_holes2.jpg|400px]] [[Image:electric_bobby_car_build_wheels_rear_plate_holes3.jpg|400px]] | ||
The plate was cut to length with a jig saw, at 205mm. | The plate was cut to length with a jig saw, at 205mm. |
Revision as of 17:29, 8 December 2019
This is the electric motor upgrade build (not a chronological log) of a Bobby Car using parts from two Hoverboards/Swagboards. The end result will have four motors, one per wheel, two Xbox 360 potentiometers as throttle and brake triggers on the stock steering wheel, and two push buttons to turn on and off each controller separately (e.g. FWD, RWD, AWD). Inside the Bobby Car all the equipment resides, e.g. the controllers, battery, and cabling. In addition to elements to improve the strength of the base.
Most of the front wheel steering assembly had to be replaced by new 3D-printed parts. The same is true for the rear wheel base as it was replaced with an aluminum mounting plate.
The controllers was flashed to with a new alternative firmware developed by Larsmm, which is a fork of NiklasFauth original base. This firmware provides different four driving modes with different speed, acceleration and features, and smooth acceleration and breaking ramps, an a cool turbo ramp!
- Electric Bobby Car Hoverboard Upgrade - research page
- Electric Bobby Car CAD package - all the parts in Inventor IPT, STEP and STL formats
Base preparation
Main equipment bay
A slot had to by cut out of the bottom to allow internal access and functions as the main equipment bay. It measures 78 x 148 mm, just enough to fit the controllers and battery. Rounded corners to minimize stress areas.
In the final stage it is covered by a see-through Lexan plate.
Rear wheel slots
Two rear indentations were cut out to make space for a wooden structure which later would be used to mount a 12mm aluminium wheel plate. These were cut just at/below the stock axle hole and are at the same height as the new front wheels when installed, so the base would be level.
To judge the right cut height, it is an advantage to first prepare the rear wheel base and use it for make an educated approximation.
To remove sharp edges and to release stress areas, the edges were treated with a heat gun.
Rear wheel structure
The internal rear wood structure consists of one cross beam and six smaller wood pieces stacked on top of each other. The load of the driver will be nicely distributed to the wheels and ground, easily increasing the max. driver weight to over 100kg!
Each wooden piece was fastened to the parent piece using wooden screws, making sure to use a different screw pattern for each layer to avoid conflicts.
Mounting the wooden structure to the plastic base wall was done by nine 4 x 30mm wooden screws (pilot holes pre-drilled), linking each layer of the internal structure. Using washers to distribute the load as wide as possible. If the wheel touches the head of the screws, file them down a bit.
Rear wheels
All the stock parts of the Bobby Car front and rear wheels was removed, only a few parts of the steering was reused. Two Hoverboard wheel brackets and screws were also reused.
- Rear wheel parts included in the CAD package - all the parts in Inventor IPT, STEP and STL formats
Wheel base plate
As much of the driver's weight will be over the rear wheels, the wheels had to be mounted on an strong 205x70x12mm 6061 aluminium plate. Slots and screw holes were routed and drilled/tapped out, respectively, using regular home/garage gear. Additional screw holes were added for future expansions, like a hook for a trailer, photo interrupter sensor, and lights.
The plate was prepared by outlining the design on surface. The holes were first counter-sunk, then drilled. Sharp edges were deburred using the counter-sunk drill bit.
The plate was cut to length with a jig saw, at 205mm.
To cut out the wheel axle slots, a Bosch router with a HSS straight two flute Ø8mm milling cutter was used (see drawing for dimensions). I did 1-2mm cutting depth at each pass and multiple finer passes to end up at the final smooth finish. Used WD40 and low RPM on the router to avoid overheating the cutter.
The screw holes needed to be drilled with a pilot hole of Screw Diameter x 0.9 = Drill bit size, e.g. M8 x 0.9 = 7.2mm, or the closest one available (7mm). Then using a taper tap to gradually cutting out the required threads.
Holes to fasten the plate to the wood structure was counter-sunk for a flush finish.
Installing plate
Once the wooden structure and plate was ready, pilot holes were drilled (to avoid cracking) and the plate was installed using 6 x 45mm counter-sunk screws. This provided a very stabel platform to mount the wheels.
Mounting wheels
Both wheels are mounted to the base plate by sandwiching the axle between the stock Hoverboard bracket using the existing four M8 x 30mm screws.
Axle cover
The axle and motor wires are directly exposed and could be damaged. A 3D-printed cover (include in the CAD package) screws in place over this area. Water drainage holes provided.
File:Electric bobby car build wheels rear cover2.jpg
Wiring
The wiring coming from the motor was feed through the base plate and then inside the base through a small hole just underneath the front end of the wheel plate.
The wires were protected from abbreviation by a cable sleeve.
Front wheels
The front wheel assembly was modeled and new parts designed to incorporate the motors into the stock front wheel structure. Wheel clearance height was increase/raised by 10 mm to all the bigger radius Hoverboard wheels to fit (155mm vs 170mm).
All parts were designed/3D-printed (ABS) with strength as one of the main principles, primarily using long through screws and 70% infill to compress and distribute, respectively, much of the stresses experienced on the parts.
- Front wheel parts included in the CAD package - all the parts in Inventor IPT, STEP and STL formats
Full aluminium CNC parts or metal support inserts would be a future upgrade here.
Steering wheel assembly
The assembly consists of four main parts and six screws along with six nuts to keep it all together. See the BOM for full break-down of the screw selection. A skateboard bearing lessens some of the pressure and tear on the upper steering join.
File:Electric bobby car build wheels front assembly5.jpg
Cross bracket
Both wheels are kept in alignment by the stock front cross bracket. This is screwed onto the base frame. The bracket had to be reinforced using eight M4 x 30mm screws which connect to a counter plate with the nuts inside the base, instead of the stock two threaded plastic screws. No washers on the four corner screws, for space reasons.
Wiring
The wiring coming from the motor was feed through a small hole just in the middle of steering range motion to minimize cable stress/bending.
The wires were protected from abbreviation by a cable sleeve.
Steering
Much of the steering assembly was redesigned from ground, except for the steering wheel itself. Much work went into figuring out how the throttle and brake trigger would mount and wiring would be routed. Addition base reinforcement was also needed.
Rod bending
The new rod was based on the stock dimension and bend, just longer on one end to put the steering wheel at a comfortable position.
Using a Ø10mm stainless steel rod, one end was heated using a simple butane camping gas stove to make it pliable. Stuck it in vise and bent it to the approx. radius. Then put the entire bend into the vise and squeeze it into the right dimension, using the stock as a template. Took almost 2 hours.
File:Electric bobby car build steering rod3.jpg
Rod length and holes
To make the steering comfortable, the steering rod had to be lengthened by approx. 20 cm.
Try the rod on the Bobby Car with the steering wheel next to it to find the correct steering height. Mark the spot and cut the rod. To allow for different steering wheel heights, I made three different mounting holes. This also requires a through hole in the plastic on the steering wheel.
To keep the rod from falling through on assembly, an outer Ø32 x 140mm white PVC tube keeps the steering wheel at the correct position and protects the wiring going to the controller.
Base rod support
As there will be a lot of load on the steering rod, additional support had been added to the top and bottom side where the rod protrudes through the plastic base.
The top and bottom support brackets were fastened to the base using slotted M4 x 25 mm mushroom screws and nuts. Inside the bottom bracket there is also a ID Ø10mm ball bearing to make the axial steering motion smoother.
File:Electric bobby car build steering rod support1.jpg File:Electric bobby car build steering rod support2.jpg File:Electric bobby car build steering rod support3.jpg
Throttle and brake
Using Fisch's method for the throttle and brake levers by mounting them on the front end (ten and two o'clock) on the steering wheel. A special 3D-printed holder keeps the trigger mechanism, potentiometer and support board in place. All put in place on the steering wheel using hot glue. An upgrade here would be a through screw.
Wiring the potentiometer is simple, 3V3 (red), analog out (yellow, mid-pin), and ground (black). The wires are tucked away underneath the steering cup. This connects to the break-out board located inside the steering wheel column. When pressing the trigger the voltage rises gradually to 3V3.
Electronics
Break-out board
This is board makes it easier to finish the build. It has easy to connect JST XH B4B plugs for the throttle and brake, analog signal filtering, master and slave throttle isolation - where one driver board can be turned off without interfering with the other. It tucks away inside the steering wheel under the red beeper cap.
Inspired by the Jan Henrik break-out boards.
Motor wiring
Connecting the front motors to controller is straight plug and play, but the rear main motor wires needed to be extended 10 cm to reach the controller. Simple cut-and-solder in 16 AWG extension wires, keeping the existing bullet connectors.
The thinner motor hall-effect wires were easily extended using custom made 15cm JST SM extension wires with connectors on each end.
File:Electric bobby car build motor wiring3.jpg
Mounting controllers
The controllers are essentially identical, except for slightly different caps, power transistors, and wiring method. Both are from Hoverboard productions in 2015. Both rock the same STM32F103 ARM Cortext-M3 MCU.
Both controllers are mounted back-to-back using four M4 x 30mm screws and nuts with a stand-off spacer in-between, and installed vertically using a custom 3D-printed bracket and two slotted M5 x 16mm mushroom screws and nuts.
Battery
This build is using the stock 18650 10S2P 36V Lithium-ion battery with BMS built-in, from the Hoverboard. Although a 12S2P 44.4V battery is supported by the controllers, for future upgrades.
The battery is kept secure by a hook-and-look strap around the battery and through two slots in a Lexan cover plate.
File:Electric bobby car build battery2.jpg
Power buttons
As this is a four motor, two controller setup, I wanted to have the possibility to power-on each controller separately. This would allow for FWD or RWD, depending on the occasion. This requires the custom design break-out board in order to isolate the two controllers so they would not power each other or block/pull-down the throttle/brake signal when one of the controllers were powered down.
Two momentary LED push non-latching buttons were prepared with a four-pin JST XH B4B connector. The corresponding socket were connected to the 15V regulator on the controller and power-on pins. A 2k resistor were put on the button LED power pin to lower the illumination. A Ø12mm hole was prepared and the buttons installed next to the steering rod.
Disconnect plug and charging
A 3D-printed bracket holds the disconnect plug (cuts all power) and charging port in place just rear of the equipment bay slot, by Fisch's inspiration. Fastened using three shortened M4 x 25mm screws and nuts.
Flash firmware
The Hoverboard controller board expose the programming port, requiring only three wires or a header to be soldered.
Make sure the power-button is connected as this is required to put the MCU into DFU flashing mode. Connect the ST-Link V2 Mini programmer to the mainboard.
GND -> GND SWDIO -> DIO SWDCLK -> CLK 3V3 unconnected, powered by board
Power off, restore power, press and hold the power-button while executing the following commands.
Unlock MCU:
openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg -c init -c "reset halt" -c "stm32f1x unlock 0"
Flash MCU:
openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg -c "reset halt" -c "stm32f1x mass_erase 0" -c "flash write_bank 0 firmware.bin 0" -c "reset run"
BOM
General parts
Quantity | Description | Destination |
---|---|---|
1x | Big New Bobby Car | Main base |
1x | Xbox 360 Game controller | Throttle and brake potentiometer |
2x | Hoverboard with STM32 MCU | Wheels, controllers, batteries and misc. |
1x | ST Link V2 compatible programmer | Flash new firmware |
1x | Aluminium 6061 205x70x12mm plate | Rear wheel plate |
1x | Several two-by-four wood pieces | Rear wheel structure |
1x | Round Stainless Steel Rod Ø10mm x 100cm | Steering wheel rod |
1x | Plastic PVC Ø32mm x 50cm tube | Steering wheel height and wire protection |
4x | JST SM-2.54 22AWG Wire Male and Female Connectors | Hall-effect extension cable |
1x | XT60 60A connectors | Power plug and power cable |
1x | Silicone Wire 14AWG red | Power cable |
1x | Silicone Wire 14AWG black | Power cable |
2x | Deep Groove Ball Bearing 608ZZ ID Ø8mm | Front upper wheel join load distribution |
1x | NMB Steel Bearing Motor Grade Bearing ID Ø10mm | Steering rod lower load distribution |
Screws
References
- Larsm Allrad e-Bobby Car - great write up and custom firmware fork
- Niklas Fauth Hoverboard firmware hack - original firmware
- CCC GPN18 HowTo: Moving Objects - great talk
- Build Instruction: TranspOtter - Another build, lots of helpful pictures
- Fisch's detailed E-Bobby Car build log - great documentation of the assembly
- Fisch's trailer build - trailer for the Bobby Car
- Jan Henrik breakout boards - PCBs for easy connection to serial and Nunchuck
- Peter Pötzi Electric Bobby-Car - Blue Bobby Car with LCD steering display