Since the Bobbycar
now works I wanted to implement more features like differential steering, esp, abs etc.
Because two hoverboardcontrollers are used to drive the four wheels and I didn't want to mess around with critical parts of the software I am probably going to use a separate controller to control both baords via serial.
The bobbycar is rather compact on the inside and it gets really difficult to change things around a lot.
Together with the fact that it surely wont't work the first or second time a new vehicle as a platform to experiment and test out different things seemed like a useful idea.
Using a plank and attaching wheels to it was already implemented in the "TranspOtter"
Like the TranspOtter my Hoverbrett can be used as a vehicle to transport things, but also to test out concepts of control systems engineering and robotics.
It can't get much simpler than mounting the aluminium frame together with the two wheels/motors under a plank.
With the swivel casters in the front the mechanics are finished. Later I will evenually rebuild this, but for this is has to be able to drive first.
The mainboard of the hoverboard, which contains both motor drivers, was put in a case of an old arcor router. The elkos didn't quite fit, thats why they now stick though the top cover.
It will be controlled by a STM32F103C "Bluepill" in a D-Link accesspoint case.
First I successfully used a FrSky RC Receiver, but I then went for a NRF24 because I wanted to build a very small radio.
The battery is the one from the Hoverboard (10S2P) which had to go on top because it didn't fit underneath.
Under "hoverboard firmware hack"
I described how the STM32 on the hoverboardmainboard can be reprogrammed. The Software can be found here: Github NiklasFauth/hoverboard-firmware-hack
The afore-mentioned radio should be as small as possible.
On the search for a small joystick I noticed the lenovo "nipple" (I think they're called Trackpoint).
I got one from a broken Thinkpad, thanks to Fionera.
Obviously I'm not the first to reuse this superb input device: Github feklee/usb-trackpoint
The module was not exactly the same. I got the correct pinout from martin-prochnow.de
Data for x and y movement are transmitted as 8 Bit values each over some proprietary serial protocol.
To read the data from the trackpoint and send then wirelessly via a NRF24L01 module I used an Atmega328 with Arduino as a Pro Mini at 16Mhz.
With its needed additional components, a selfholding power on circuit (like the one I used for the lightmeter
) and two transistors forming a touch sensor it got tight with the layout.
I wanted to etch the PCB myself and because the bottom side needed to be flat I designed some bridges to use enameled copper wire.
Together with some footprints that didn't quite fit it is only about 10% botchy.
Coating raw copper with photoresist and expose and etch them is really easy. Documentation here: wiki.ctdo.de
For the Atmega328 the arduino bootloader was needed. For this I soldered on some wires to connect an usbasp. Further software changes can be flashed as usual via serial. For this there is an header on the side. Link to the repository for software and pcb at the bottom of the page.
The trackpoint and the NRF24 module were then attached. A 820mAh lipo with the ubiquitous 1S lipo charger module are connected from beneath.
Next a case was needed, on which I haven't spent any thoughts yet.
The result was a bottom part out of pcb material with two separated copper parts. These will be used as touch sensor to sense, if the remote is still held.
2mm plexiglas was lasered to make up frame parts which got stacked and glued together with superglue.
With the battery at the bottom and the circuit board on top the top cover came at last. To attach it to the rest hotglue was used so it can be removed later by heating it up a bit.
At last I sanded the sided carefully on the belt sander and finished them with fine sandpaper manually.
The radio has two buttons. The lower one turns the thing on. The upper button can be used for changing modes and for turning off.
Everyone who has tried it until now confirmed that it is really intuitive.
Code and Kicad files: repos.ctdo.de/interfisch/nippleremote