All Wired Up And The Case Is Done
So all three driver boards are now completely wired and tested for dual motor control. One Arduino gave up and let out the magic smoke, for no apparent reason. Lucklily, I had bought a spare right from the start, so that was no issue.
I also finished the foam inlay so the robot is now supported from all sides, lid included. But I also cut out all of the foam that wasn’t doing any work so I have some space for other stuff that I want to pack along.
Big Push At The Makerspace
So this week I had scheduled a serious push to really make some progress and I have been to the space every day of the week so far. Yesterday, unfortunately, I got a bit of a cold, so it looks like I will have to cut things short and work from home tomorrow. But I think I have all of the pieces that I needed from there, anyways.
The first success of the week was when I, after a few failed attempts that were all my fault for not ensuring there was proper support, managed to dial in how to print the front cover. As you can see in the image, the only supports were along the purely flat edges. All the rest worked as simple overhangs (They are about 70 degrees). I finally had to draw a super-detailed support blocker which completely determined where there was to be support and where there was not to be support. But once I admitted that this had to be done, the results were spectacular.
New Low Profile Electronics
So the Raspberry Pi Pico could not handle the flow of interrupts. So it is back to Arduino.
Also, I realized that I can make the electronics slimmer if I solder the pins and remove the plastic bar. So this is basically back to what this looked like long back.
But it is modular now and that will be such a relief. Motors work, but the encoder is misbehaving. Will have to figure that out.
A Lesson In Tolerances
So it seems that the 3D printer consistently prints about 0.1mm thicker than the design.
Oh well, a bit of carving and some adjustments to the model for the next print and it should be fine.
Putting Together The Sides
So today I picked up the pieces. Lots and lots of support, yes. But after some effort, all of the support was gone.
While I cleaned up the support, I made a simple mock of the center plate, just to get a feel for it. I went with a mesh patterns to reduce the ammount of material and time. But for some reason, Cura thought it should do each square invidivually rather than do an infill-stype cross pattern. But the print still took only 50 minutes.
Back To The Space
So back to the Makerspace for the first time in a while. The plan was to start a print of the mechanical parts and possibly experiment a bit with CNCing in plywood.
The 3D print looks like it is off to a good start. I could only find a 0.6mm nozzle that wasn’t broken but that is close enough.
As for the CNCing it seems that the router is still not done. Oh well, looks like I will have something to do this summer. 😀
Off To The Races Again
So a bit of experimentation with the modular motor controller gave some very promising results. So I have now orderd all of the material and hopefully I can now rebuild the model using the new and improved designs.
And here we have the 3d-printed parts all set up in Cura
Oh, and here is the motor driver module with all the cables for one motor.Way cleaner than the old design. Also, The Raspberry Pi Pico is a joy to work with. Sure, it is cheating to have that much Power and RAM, but it really does make the programming a breeze. I mean, just the fact that you have dynamic memory….. 😀
Modular Motor Controller
A raspberry pi pico and a dual motor driver. Just connect USB and 12V and it should be able to control 2 legs…
Start From Scratch
So I was doing rather well on the algorithms. But then I wanted to check that all six legs worked well. Suddenly stuff started behaving strangely with motors and encoders not working. Probably some form of short circuit or something.
I have had a hunch for a while that my design contained two many onprotected open wires that could lead to any and all forms of strange behaviour and busted components. So I decided to give up on that design and rethink things from scratch.
Unit Tests Ftw
So after spending a whole lot of (Very enriching!) time building a dynamic system to be able to control the drivers and run test with configurable parameters over the serial, I realized that that was just completely hopeless on such a tiny device as the Arduino. With no dynamic memory to speak of, trying to build a flexible dynamic system is just doomed to fail.
And then it hit me. I am trying to build testable code… and in extension a testable electro.mechanical system. There is a tool build for this: Auto testing. And that is one of my favourite software development tools of all time. And given that I don’t have access to a proper debugger, basically the only tool I have access to other than trial and error.