I am looking for an alternative Microcontroller. I would like it to be really easy to use, have alot of support, and I would also like it to be programable with ADA or Microsoft Robotics Studio. Could you sugest some?
ThanX in advance!
I am looking for an alternative Microcontroller. I would like it to be really easy to use, have alot of support, and I would also like it to be programable with ADA or Microsoft Robotics Studio. Could you sugest some?
ThanX in advance!
In the future VexLabs will have the VEX Arm9 Microcontroller (preliminary). But for now, are you looking for a 16 Bit or 32 Bit or 64 Bit Microcontrollers??
There are a lot of Robotic Systems from various Manufactures, like the ones represented at Active Robots, but they are mostly 8 Bit Microcontrollers, which for most applications is all the power that you need. To move beyond that you will need to look further, into other sorts of Control Systems, like the newer Programmable Logic Controllers (PLCs).
Any Micro Processor that supports ADA, could be used for your Robotics Controller. It would the matter of finding a Small Development Board that could be interfaced with the necessary I/O for what is needed. I have a Proto-Board from NEC with a 16 Bit 78K0R on it, which might make a good choice for more advance capabilities, but it is still Programmed in ‘C’ and Assembler. You might look in to the post by “tswift1”, Re: Any Online-Code Control From PC Examples? (Post 19), for info on Microcontrollers that can be targeted by the GNAT ADA.
As far as Micro-Soft Robotics Studio is concerned, the current version will work with the Kondo KHR-1 Humanoid Robot, which has a fairly small Microcontroller and a RS-232 Serial Interface, and I have enough of the RCB-1 Command Protocol to start making a Kondo Emulator for the Vex Controller… I hope that my expansion of the Vex On-Line Code, will get someone at Micro-Soft to include Vex Support in future Versions of The Micro-Soft Robotics Studio. It might also be possible to add the Extensions to Robotics Studio by Ourselves…
Beyond that, you can not always pick your Programming Language or Development Platform. You will need to be flexible in Programming Environments, because each system that you encounter will be supported in a different way, with different Tools, and different Capabilities. For example, I find the MPLAB IDE “quite backward”, compared to the Kiel IDE, but both are primitive for editing capabilities compared to an editor that will let you do Column Editing.
I am struggling with learning Visual Studio 2008 programming, with the C# and VB Languages, but I am carrying on, because the availability for all of you to build PC Programs with it, makes it a good “short term” choice. Some of what the Editor in Visual Studio does for me automatically, really makes me say some bad words. To the point where I will Edit the Files, by Hand with the Crimson Editor.
Read my post, Vex Projects that I am working on…, to see what I have planned. I am not working alone, I know others who have contributed Major parts and pieces to extending Vex beyond the Basic Functionality… I am in the Process of Revamping Hobbyvex.org to support those goals.
I’m a fan of the Arduino family. It is based on the Atmel AVR family of 8b microprocessors, which is comparable in performance to the PIC processors used in the VEX microcontroller.
Arduino is open source and has a thriving community of developers. They’ve established a standard “shield” PCB layout so you can get all sorts of accessories including wireless, ethernet, LED controllers, motor controllers, etc. Go have a look at SparkFun or MakerShed, and you’ll see a wide variety of Arduino processors and upgrade cards.
Of particular interest to us VEX enthusiasts is the Roboduino. It has I/O ports that are largely compatible with the VEX accessories. It has 6 PWM motor ports, 6 analog in ports, 6 digital I/O ports (up to 14 if you repurpose the PWM and serial pins), and a serial port. The only thing to watch out for is the motor ports are interleaved with the digital ports, so you have to be very careful to plug your accessories into the right ports! If you plug an accessory expecting only 5V into a motor port, you may fry it:
If you buy it in Kit form, you can solder on female header strips instead of the standard male ones, which will let you plug VEX accessories directly into the board with no extra cabling.
So, Arduino has a large (and growing) community to support you and is easy to use. It does not have MSRS support, and I don’t see any evidence that anybody has Ada working on it yet. So it meets only some of your criteria, but I thought I’d share anyway.
Hope this helps,
The Mindstorm NXT Controller can be programmed using a special version of GNAT Ada GPS. You can also strap a small laptop to a Vex robot platform as I did in my Hero 2009 Robot shown in the Vex Gallery. It can be programmed using Ada GPS for Windows or Ada GPS for Red Hat Linux.
I second Arduino, their support forums are by far the most community driven microcontroller forums on the net.
I have used many different microcontrollers and arduino has far surpassed expectations with tremendous amounts of sample code that almost always works as described.
Just a small cautionary note regarding Arduino.
THe VEX controllers are specifically designed for use as educational (and hobbyist) robotic controllers. As such they have important safety and protection features that you might not find in a more “general purpose” hobbyist controller.
A couple that come to mind:[LIST=1]
*]Integrated resetabe fuse on the control board to limit battery current drain and the consequent safety hazards of fires and battery overheating from short circuit situations.
*]Protection (resistors) on the digital I/O lines to (hopefully) minimize failures from static electricity discharge.
[/LIST]Useful convenience features include:
[LIST=1]
*]Integrated battery voltage monitoring and alarm indications.
*]Polarized connectors so its harder to insert backwards.
[/LIST]Many electronics hobbyists are willing to forego above or naive enough to not know that they need them.
I’m not sure that Arduino supports above. The fuse is particularly important safety feature.
Most Arduino boards do not seem to provide much in the way of such protections. Many seem to have reverse-polarity protection on the power input, but that’s about it.
I believe this is true of nearly all hobby-class microcontrollers and is not a particular shortcoming of Arduino, though. There appears to be nothing preventing somebody from making an “education hardened” version of Arduino, since it is a fully open platform. Such a beast may already exist, but I haven’t run across it.
My general rule of thumb is that if it is enclosed, I expect it to have practical protections in place; If it is an exposed board then I assume “no life guard on duty”.
Cheers,
An interesting note on the safety protections of the VEX; when it comes to the RJ connections, all bets are off.
We now have 2 brickified VEX microcontrollers in our robotics class from people who couldn’t tell that the serial port was too big for the receiver cable, so they plugged it in, turned it on, and now the controller is permanently locked in program mode because something got the +5v that’s on the third pin. And they’re so light, they’re not even good paperweights…
However, the point does stand that VEX has much higher protection for such abuse than does almost any other system. Coming from a robotics program that has 5 first-year classes, none of which really seems to care about robotics, they just want the tech credit, I can tell you that I would NEVER put an Arduino in their hands unsupervised. The microcontroller would be burnt up and the board snapped in half by the end of the period.
However, this being a personal project, any other board will work fine, as long as YOU take the time to take care of it, which by the sounds of it will not be a problem. I would have to give one more vote for Arduino, as it’s cheaper than most any other microcontroller board, the basic $30 version has specs just under those of the VEX for 1/5 the price, but offers much more flexibility in terms of compatibility with other devices. It can be programmed in C, C++, or Assembly, and some versions of AVR support Java, Lua, python, and, as you were asking for, ADA, however I haven’t been able to find any references specifically relating to Arduino other than C, C++ and Assembly. But those three still offer quite a bit of flexibility, and the default Arduino code has a wonderfully simple and functional API which is easy to use, quick to pick up, and works very well.
If you’re mainly looking for community support, there is no other microcontroller board that comes close.
I hope you didn’t buy too many extra controllers! All you have to do to fix this problem is reload the master code and it’s good as new. This accidently happened to me at Worlds and was easily fixed with a master code reboot.
Regards
Technic-R-C