By Philip Drew • Published on Tuesday 7 February 2017, 3:37pm
Pete Evans and I have recently purchased MECControl hardware and software kits from Tim Surtell and have been trying out the various hardware options which this software supports. I thought it might be time to share our experiences.
The software runs on a PC under Windows 7 or later and controls an Arduino Uno micro-controller through a USB port. The software sends instructions to the Arduino which are then executed in real time. The Arduino and additional hardware can control a good range of motors, switches, solenoids, Meccanoid servo motors, etc. as shown below. The hardware and software is very well described on the MECControl website and support is provided from Tim when things go wrong.
The Software
Firstly, let me make clear that the software is essentially used for writing scripts which control sequential operations without much in the way program flow logic — it simply performs a sequence of instructions more or less one after the other. This means that at this stage of software development there are very few program logic instructions available — you can increment a variable and make the sequence loop for a particular number of times, you can wait for an event to happen or time to pass before you continue and you can run a subroutine which makes the program structure more compact and easier to understand.
What is missing is the type of logic whereby you can keep looking for any one of several events to happen and act accordingly when one of those events is triggered (event driven programming). A simple example might be a pin table with switches under the different holes which would allow you to increment a total score by varying counts. There is also no output interface on the PC other than showing the progress of the control sequence [N.B. A display window feature has been added since this review] so you need to make things happen on your model if you want to show progress — maybe using a sequence of LEDs or a motorised pointer. However, the facilities provided do work well and are a great improvement on the type of electromechanical control I’ve used before.
The Hardware
So far we have built a variety of cranes to test out many of the hardware devices supported and all have worked well with the exception of stepper motor control which is probably my fault or a faulty motor — Tim has worked hard to help and we hope to fix it at RMG.
DC Motors can be either one-way or two-way, with either constant speed or variable speed with acceleration/deceleration capability. We’ve used both to get around restrictions of connectivity — we needed four reversing motors and a solenoid so we connected three reversing motors, one one-way motor and a double pole switching relay to make our model reverse. The two L298 H bridge modules that control the motors, seen stacked to the right of the photo above, have mounting holes at nearly standard Meccano spacing and were mounted using M3 nylon spacers purchased from eBay. The Arduino can be mounted slightly skewed as shown on my model as its mounting holes do not align with Meccano holes.
Relays are supported which opens up a whole new world — reversing currents, on/off for heavy duty control, etc.
Potentiometers allow the modeller to position a boom or similar to a specified point before the next action.
Buttons and switches can be used start, stop or limit travel, etc.
Meccanoid servo motors (from the GS robots) are supported but I had some issues mounting them at standard spacing and with a slight slackness in the operating arm. They do have their uses though as you can instruct them to move to a precise position and they then work independently once the command has been issued. One possible use would be to link them to on/off/reverse switches to control lots of reversing motors (48 maximum looks possible).
LEDs and Meccanoid LEDs can be controlled in a variety of ways but we haven’t used them yet.
Stepper motors are supported but as I say above, not running yet for me.
There are limits of connectivity: Basically you have 12 pins on the Arduino which gives you three stepper motors at four pins each, two reversing DC motors at three pins each, 12 one-way DC motors or relays at one pin each, or lots of Meccanoid servo motors as four can connect to a single pin. Any combination of the above which uses 12 pins or fewer can be used. You can also connect up a maximum of six potentiometers, buttons or switches to a set of analogue inputs.
Conclusions
We’ve enjoyed working with this product as we can now show off the full range of movements of our cranes in a smooth and repeatable way, a wonderful capability at any show where movement is a great asset.