Go Down

Topic: What Adurino do I need for Meccanoid? (Read 32916 times) previous topic - next topic

Darwin7

Dec 30, 2015, 03:30 pm Last Edit: Dec 30, 2015, 03:50 pm by Darwin7
Hello guys. I'm Darwin, and I am new to the Adruino hardware and how to program it (aside from other ways I know how to program). I brought and finished building the Meccanoid G15 KS robotics kit, and the Meccano site has gave me a way to program it on the computer, but I need help in deciding which Arduino I should get for Meccanoid. Are all the Adurino boards the same thing, (input, output), or is there something specific I need to program Meccanoid on the computer? And also, could you tell me how it would hook up to the MeccaBrain?

CrossRoads

Do you have links to any of the Meccanno stuff?

I saw some Meccanno in the store the other day. Erector sets used to be all metal, used screws & nuts to hold it together, later little hex-head screws & nuts. Stuff I saw recently was all plastic!
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

keeper63@cox.net

Erector sets used to be all metal, used screws & nuts to hold it together, later little hex-head screws & nuts. Stuff I saw recently was all plastic!
A lot of it has gone to plastic, but you can still get metal pieces - they still make them, and the large Meccano/Erector community virtually need such for their creations - they'll take nothing less!

That said - it looks like this robot is mostly or all plastic (given the size and such - the motors would have to be huge to move steel):

http://www.meccano.com/meccanoid-about

The KS is the larger 4-foot tall robot.

Meccano - in something that is rarely seen today (?) - gives all the specs needed to control the smart servos (or LEDs) using another microcontroller - see their PDF here:

http://cdn.meccano.com/open-source/Meccano_SmartModuleProtocols_2015.pdf

They show the circuit diagram needed to hook up to a smart servo - and the communication protocol is laid out nicely. It should be very straightforward to create a library - if someone else hasn't already done so. The servos and LEDs only need a 5 volt supply - a simple Uno would be a fine starting point; you'd have to experiment with how many you can daisy chain off a single I/O pin on the Arduino (that, or measure the current consumption for the servo data line, then divide that into 20 or 30). Likely you could use a couple of pins on the Arduino and control at least 4 of the servos daisy chained.

It's not clear what kind of connectors are being used - but a cursory glance seems to suggest standard R/C servo extensions would work OK.
I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

keeper63@cox.net

#3
Dec 31, 2015, 04:51 am Last Edit: Dec 31, 2015, 06:33 am by cr0sh
Whoa!

Check this:

http://www.toysrus.com/buy/robotics/meccano-meccanoid-expansion-pack-6027006-75961386

For $20.00 USD you can get one of these servos! Now - read that PDF I posted. You'll find that these motors can both be controlled via a daisy-chained serial connection - AND they can relay back position information!!!

$20.00 gets you a low-cost version of Robotis or Herculux "smart" digital servo! I was just lamenting the other day on that I wished a servo manufacturer would do something like this - I never expected Meccano would do it! They should sell these in multi-packs!

That robot of theirs is pretty expensive - about $190.00! But $160.00 of that is in the 8 servos. If you bought two of these robots (16 servos) - plus a couple of expansion packs (a total of about $400.00) - you could build yourself a very low-cost humanoid bipedal robot. You might have to 3D print some parts (plus you'd have to add a controller, and sensors, and such) - but for around $500.00 you could have a very cheap humanoid robot to play with - and smart servos.

You can only approach this price currently using standard servos and bracket kits from Chinese suppliers. I'm not sure what the bearings or gearing is in those smart servos - likely plastic bushings and gears - but they are so darn cheap!

I just wish I didn't have a ton of other backburner projects on my list - or I would tackle this in a heartbeat!

Edit: I just realized I made a mistake - the 8 servo robot isn't $190.00, but rather closer to $500.00 retail! Darn! Still - 18 of those servos alone would only cost $360.00, which is still very low cost. You would probably have to 3D print certain brackets (though they do come with some brackets that might work ok for part of the project)...
I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

Darwin7

They show the circuit diagram needed to hook up to a smart servo - and the communication protocol is laid out nicely. It should be very straightforward to create a library - if someone else hasn't already done so. The servos and LEDs only need a 5 volt supply - a simple Uno would be a fine starting point; you'd have to experiment with how many you can daisy chain off a single I/O pin on the Arduino (that, or measure the current consumption for the servo data line, then divide that into 20 or 30). Likely you could use a couple of pins on the Arduino and control at least 4 of the servos daisy chained.
So I need to get a Arduino Uno and daisy-chain the servos to control it through the Arduino? It sounds easy, but I have to figure out how to do it while the robot is at its humanoid state. Also, where would the I/O pin be, and is there anything else that I might need to know before hooking all the servos up to program?

ncrusty

I think the problem is that you need a library to allow control of these meccano smart servos, and as far as I can tell, there isn't one out there yet. I don't think that's a simple thing though. The library would need to be written to understand the specific mecanno smarr servo protocols described at http://cdn.meccano.com/open-source/Meccano_SmartModuleProtocols_2015.pdf

ckielcave

Hello

Im kinda lost in this universe.. Couple years ago i did build a 3D printer ( DIY RepRap Prusa i3 ).
Am a machinist.. so all the mechanical construction of it was pretty easy .. i had access to all the material to make the frame.. and did fallow a BOM list for all the electronics needed.

Thats where i got bad lol.. I mean electronic is not my playground.. i like it.. but i have no formation in it and no relation to it ..

Short story .. i took me 3 weeks to make the arduino communicate with marlin firmware and understand how to set up it ... And 2 month after i sold it (story of my life)

Now i just bought my son a Meccanoid G15 (the smaller version). And i cant connect the bluetooth on it.. so it make it kinda boring for the moment.. I taught i could program stuff on it ...

But just realize Meccano only let you program it with the help on the app or manually .

So i taught maybe i could try to access the code .. just like my 3d printer ...

So far i did install arduino ..

And im stuck LOL what is the trick to see whats in it .. ? i mean hoe do i retrieve to code ? i cant program from scratch ... i need the original code and from there i will try and error :P

Also .. what is the difference between the motor ? the 20$ upgrade one is not the same as the original ?

tank you if you can help a bit lol

ncrusty

Actually there is this arduino library offered by meccano: http://www.meccano.com/meccanoid-opensource

keeper63@cox.net

Actually there is this arduino library offered by meccano: http://www.meccano.com/meccanoid-opensource
Good job finding that - that site isn't very intuitive to find stuff, that's for sure!
I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

keeper63@cox.net

And im stuck LOL what is the trick to see whats in it .. ? i mean hoe do i retrieve to code ?
I'm not sure what you mean - if your mean the code that's in the controller that came with the robot - you can't. The best you can do is download the library that Meccano makes available for the Arduino, install it, then start writing code to use it.

i cant program from scratch ... i need the original code and from there i will try and error :P
Then you're going to have to learn, if you want to get anywhere with this. While Meccano has created an Arduino library for you to download and use (once you get the servos connected to the Arduino - which doesn't look very difficult) - you are still going to have to do a bit of work to get things "moving". There doesn't seem to be many (or any?) people who have purchased this robot kit - and who have gotten it to work with the Arduino - outside of maybe Meccano, and/or whomever they contracted with to get the library written.

In other words - you may be a pioneer, along with @Darwin7...!

Also .. what is the difference between the motor ? the 20$ upgrade one is not the same as the original ?
I don't think there is a difference - but without the original kit motors, and the upgrade motor in hand, I can't say for certain. But I honestly doubt that they are different. They just offer the upgrade so you can expand the original functionality. That, and they offer a four motor version of the robot, but the "brain" can support eight motors - so there's that expansion possibility. For the robot kit that already has 8 motors, if you wanted to use more you would need to either use an Arduino or other microcontroller - or maybe the controller from the kit allows you to daisy chain multiple motors (up to some limit based on current consumption) per each of the eight ports. I don't know.
I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

goodinventor

Actually, I did some research, and motors can be daisy-chained to the controller. The main limit is current consumption. By the way, I am considering getting the Meccanoid G15 myself as a cheap mobile robot platform (added with my various sensors and controllers, this should be interesting).

DuaneDegn

I couldn't find torque information on the TRU page.

$20 seems reasonable for a smart servo but I'm not very impressed with the communication protocol used by this system. If I'm reading the protocol correctly it has a very slow transmission rate. I'm pretty sure you can't take advantage of the Arduino's UART to communicate with the servos. I think you'll end up with each transmission blocking the program.

I think determining if these smart servos are worth the bother and money will depend on the servos' performance. What sort of torque to they produce?

goodinventor

Well, this shouldn't really be a problem if you are using Meccano-Erector parts for the mechanical hardware.

DuaneDegn

#13
Jan 04, 2016, 09:13 pm Last Edit: Jan 04, 2016, 09:18 pm by DuaneDegn
I'm pretty sure you can't take advantage of the Arduino's UART to communicate with the servos.
I was right about the transmission rate being slow, but wrong about not being able to use the Arduino's UART.

The "MeccaBrain" transmits the data out at 2400bps. It looks like this is the usual 8-bit serial data. While this is still really slow, at least you can use the Arduino's UART to send the data.

In comparison, Dynamixel's smart servos can use transmission rates up to 2Mbps. I think 250kbps is a common baud (it's what I generally use).

What's really strange about the Smart Modules is they don't transmit data back using normal serial communication. Instead the data coming back from the module is closer to the protocol used to control NeoPixels, with ones and zeros being defined by the length of the pulse.

There's got to be an error in Mecconoid's documentation. The following is from page 10 of the protocol datasheet.

Quote
The bits of Smart Module data bytes are about 1.1ms long. Each byte has a start bit that is
~2ms LOW. There is no stop bit.
Unlike the bits from the MeccaBrain™ which are just HIGH and LOW for 1 and 0, the bits
from the Smart Modules are based on high pulse widths. A "1" bit is when a High pulse is
> 400ms; a "0" bit is when the High pulse is < 400ms.
The last sentence uses milliseconds when it should have used microseconds. You can't have a 400ms pulse produce a data bit which only take 1.1ms. If "us" is used instead of "ms" then the "400" value makes sense.

So the outgoing data uses a bitrate of 2400bps and the incoming data has a bitrate of 909bps.

These slow data rates would make using many of these servos in a robot very difficult to control.

Well, this shouldn't really be a problem if you are using Meccano-Erector parts for the mechanical hardware.
I'm not sure what you mean by this. What shouldn't be a problem? The torque or the communication rate?

Knowing what sort of torque these servos produce would be important to know no matter what parts were being used.

The same goes for the communication rate. If you want to control lots of servos based on sensor input, the communication rate will play a significant part in determining what sort of update rate you can maintain in your control algorithm. All robot parts, no matter who manufactured them, have to obey the laws of physics.  :)

goodinventor


Go Up