Earlier this year I tried to reduce the human element that is part of my pen and paper tests, e.g. those tests with violin plots. The aim was to make these tests more accurate and reproducible. Plotters are expensive, so I thought I try the :Move mini, an add-on for the micro:bit.
The micro:bit is a small ‘computer’, half the size of a credit card and is used in computer education in the UK. The :Move mini is a robot with two wheels that can be controlled by the micro:bit and that comes with a pen holder.
When I programmed the :Move mini I found it quite difficult to get it to draw a straight line and to have the same reproducible movements on paper, so I contacted the manufacturer Kitronik. Michael Lockhart, who works for their customer service got back to me and asked me to send my :MOVE mini in.
You might have seen this video on my YouTube Channel a few months go.
He told me that they
performed tests at a range of speeds, running at full speed the buggy runs straight and doesn’t suffer with one wheel turning at a different rate. You can reduce the speed to slow the buggy, however the more you slow the speed the more likely the buggy is going to drift to one side. Unfortunately this isn’t a fault with the buggy and more with the way the micro:bit is coded.
By using PWM you define how long you want the pulse to be and the gap between this pulse, as the micro:bit isn’t real time, this causes a slight differences in what the two pins are being told, and this always remains with the same pin. As such this results in one of the pins receiving a slightly different pulse to the other and as such at slow speeds there will be a drift. We had this set to pin 1 at 80 and pin 2 at 100, this is obviously just above/below the stop position for a 360 degree servo.
The longer the pulse is made the smaller the issues with the micro:bit is made, as such you may be able to counter out the issue with the micro:bit by setting the servo’s to half speed[…].
The bad news is that I can’t drive slowly or things go wrong, but if I drive fast things go wrong, too – see the video. Maybe if I could get rubber wheels for the :MOVE mini things would work better with higher speeds.
I also had a question regarding reproducibility as I was wondering whether the charge level of the battery will make a difference. Michael told me that..
In short yes that battery voltage would affect the servos, however it is a little more complex than that. So it works like this:
The servo board has a 3.3V regulator on it which then means the servos are provided with a constant voltage from the 4.5V battery pack. This means that the speed of the servos can be more accurate as when you use PWM you are varying the amount of voltage the servo’s are receiving for a given time. So while the combined voltage of the 3 batteries is between 3.3 and 4.5V the servos will run and you shouldn’t notice any change in there operation.
However once it drops below 3.3V’s the regulator will just pass the battery voltage straight through, this means that whatever the voltage is it will be passed to the micro:bit/Servos. This then means that the voltage that the servos will be provided with can alter and won’t be a regulated voltage. As such this could result in them operating slightly differently, this would normally affect the speed of the servos.
Well, it was interesting to find all these things out, but I am still not any closer to a reproducible pen and paper tester (with the use of a plotter, they cost £200 or more). I noticed that there are R2D2 toys that can draw lines. They are slightly cheaper than a plotter but still expensive.
I guess it might take another few years before I find a good solution…