Pages: 1 [2]   Go Down
Author Topic: Arduino + Lego NXT  (Read 25985 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 1
Posts: 27
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The integration happens inside Arduino.
I preferred not to do hardware integration because I hoped that software could give me more flexibility.

I chose the fastest sampling time I could, which is 4 ms (--> 250 Hz).
I first used the rectangle method for integration but now I've preferred the trapezoid method to minimize the error: what I've found out is that most of the error comes from (1) the sensor and (2) ADC approximation.

Anyone going to replicate this robot should use an angle sensor (maybe I2C based) instead of a gyroscope; integration is bringing avoidable error.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 2
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks,

I'm think I'm going to have to do integration for another project. (control of a flexible link). So nice to see its possible with the arduino. smiley

David
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 1
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

this is awesome.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 3
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Where can i find how to connect this motors to the arduino? or how it works the protocol used by NXT
Logged

0
Offline Offline
Newbie
*
Karma: 1
Posts: 27
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I'm making available my thesis as a free download (CC license) here:
http://trive.dyndns.org/tesi_web.pdf.
(Please report if the link gets broken)

Unfortunately it's in italian (description of NXT connectors is on page 59-60) and it's mostly about the theoretical part of the problem.

What you need to do to drive NXT motors is to:
  • understand NXT connector, which has 6 wires:
  • Motor signal 1 (from 0 to 9V)
  • Motor signal 2 (from 0 to 9V)
  • Ground
  • Encoder power (5v)
  • Encoder signal 1 (0 to 5V)
  • Encoder signal 2 (0 to 5V)
  • hack your NXT connector (you can do that using a RJ-12 connector)
  • use a L293D to give enough amperage to the motors (you cannot drive them directly from Arduino)
  • use a 9V voltage stabilizer to power the L293D: it must handle enough amperes (1 or more reccomended).
  • use an interrupt to handle the encoder signal (if needed): you can download my code and look at the out() function.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

This is exactly what I am planning to do, I am glad I found this as my guide. Thansk for sharing.

And that would be my first robot.  
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 1
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Your link to tesi_web.pdf is broken. Have you published your circuit and other details anywhere else :'(?
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 41
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Great project! Why is it not call Segduino!?

You might be interested in the project I am working on at the moment, simply because its using an Accel (3axis) and a gyro.

http://www.eclipseaudioservices.co.uk/extras/helicopter.html
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1229733416

Using Kalman filtering to remove the jitter, and to correct for the drift of the gyro I used the demo code for my sensors and bits from here: http://tom.pycke.be/mav/71/kalman-filtering-of-imu-data

I will be putting the code for the helicopter online soon, but it needs tidying up first.

You should try making one with just one wheel - that would great!
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 1
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Could you give some more information on how exactly you made the connection from Arduino to the NXT motors?
Logged

Glassport,Pa@ USA
Offline Offline
Full Member
***
Karma: 0
Posts: 150
shoop teh whoop!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

how would you connect a servo to arduino?
i tryin to figure that out ever sience march >_>
Logged

[ch9618][ch9618][ch9618][ch9618][ch9618][ch9618][ch9618][ch9618][ch9618][ch9618][ch9618][ch9618][ch9618][ch9618][ch9618][ch9618][ch9618]

0
Offline Offline
Newbie
*
Karma: 0
Posts: 14
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi,
great job. I'm new to Arduino and I've got to this from Lego NXT. I think Arduino is much more powerful and flexible than NXT, but I love Lego technich to build, and I already have a good assortment of parts. So I was looking for the way to use Lego elements (motors, sensors...) with Arduino. Your work looks great. I'll try it.
By the way, do you have the schematics of the Power Funcitions motors? Have you connected them to Arduino?
Thanks.
Logged

0
Offline Offline
Newbie
*
Karma: 1
Posts: 27
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Here is a document that might interest who wants to connect an Arduino to a LEGO NXT motor.
http://www.scribd.com/doc/24698262/Rj12-and-Lego-Nxt

Also, my thesis on Arduway has been published on Scribd:
http://www.scribd.com/doc/24546913/Progettazione-e-implementazione-del-sistema-di-controllo-per-un-pendolo-inverso

Hope this helps someone out there, bye!
Happy 2010.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 6
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

How did you connect the NXT servos to the Arduino?  I've been looking for a pinout of the NXT parts.
Logged

India
Offline Offline
Full Member
***
Karma: 1
Posts: 131
The Tech Gamer
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

This was Awesome!
I'm new to Arduino, though I'll try to make one of these soon
Kudos!  ;D
Logged

|I love Technology|

Pages: 1 [2]   Go Up
Jump to: