Design #3: Initial concept

A project log for MORPH : Modular Open Robotics Platform for Hackers

An affordable modular platform for open robotics development for hackers. Provides a jump start to build your own robot.

Roald LemmensRoald Lemmens 07/17/2017 at 08:300 Comments

At this stage I had a simple proof-of-concept, but with some flaws I wanted to address:

So it was time to start over and try a new design. Instead of just a test frame, I started building a first version of the concept I had in mind. Things were changing at a rapid pace and I should have documented better to have something more to show for it.

Frame design
I drilled 6mm holes in an 6x2cm T-slot profile beam and mounted the wheels with M6 bolts with the mounting blocks which were harvested from the hoverboard. The frame was made smaller and taller.

Laptop replacement

I replaced the old HP laptop with a Yoga 510-14ISK laptop. This has an I5 processor, 4GB memory, SSD and a full HD touch screen with the option to flip the keyboard behind the screen (360 degree hinge). This makes it possible to have a screen in the robot and save the cost of a separate tablet.

Soft start
The large inrush current not only tripped the safety of the BMS, but also created sparks at the XT-60 connector eroding the contacts of the connector. To remedy this, I used some car relays to power on the VESC's one at the time triggered by an Arduino Nano.

FOC mode

In BLDC mode the phases are switched on and off at a high frequency, causing a high pitched noise. With Field Oriented Control the phases are driven in a sinusoidal pattern, reducing almost all switching noise. Low noise was one of my primary design goals. I didn't want any gear noise, which was why I opted for brushless hub motor. So the switching noise was also annoying and should be avoided. Hence I had to switch to FOC mode. Unfortunately switching to FOC mode caused some more issues than I anticipated. Apparently in FOC mode the PID control loop for speed control in the VESC firmware is much slower then it is for BLDC mode. This caused the motor to oscillate back and forth. With some PID tuning I was able to get the control stable for a certain ERPM (for instance 500), but it would still oscillate at lower ERPM and I couldn't get it stable within the range I needed. So after reading through the forums and suggestions I switched to duty cycle control instead of speed control. This solved the control issue for the VESC, but required the robot driver to be rewritten in order to convert the required speed command to a duty cycle parameter.

End result

The end result was a huge improvement from before. I really like the absence of noise in FOC mode. Also the height of the robot is much better. But there were still some issues remaining: