[chbot] Lego NXT question

Charles Manning manningc2 at actrix.gen.nz
Sun Jan 4 22:34:47 GMT 2009


On Saturday 03 January 2009 01:12:12 Richard Jones wrote:

> Now I have a little problem that an NXT expert may be able to advise on.
> When I program the dual motor control to turn fully at 50% power unlimited
> time, the motors turn at half rate for a few seconds and then run up to
> about full speed. The robot still turns on the spot so I suspect that the
> speed is still accurately controlled, just at the wrong rate. Anyone have
> any ideas? I've simplified the program to a single motor control block and
> changed my NiMh cells for alkaline cells. My nxt kit is less than 2 months
> old so I'm not keen to void the warranty yet by taking it apart. When I
> load the same program into a different NXT with different motors, the
> motors turn indefinitely at the slow rate as expected. Any suggestions much
> appreciated.

Hi Richard

I assume that by 50% power you mean 50% speed. 

If it starts at the correct speed then slowly ramps up, it sounds like PID 
loop integrator wind up. The software thinks the motor is turning slower than 
the target speed and is increasing the power to compensate but for some 
reason is never reaching  the target speed.

I would expect that this could be a result of either loss of counting feedback 
or a software issue.

You can easily check that the counting feedback is working by checking that 
the motor accurately performs a precise operation such as a 90degree 
movement. If it does that accurately then the motor feedback is working and 
it is most likely not a hardware fault.

Are you using the latest firmware & software? There might be some bugs that 
have been fixed.

Also try turning off Bluetooth etc in case the extra CPU loading is messing up 
the counting.

Also try using, say, 20% or 25%. Does the same happen?

Still, this does seem vaguely familiar. On the Science Alive session, Matthew 
tried running one motor at 50% and the other at 100% and there was 
insufficient difference to make the robot turn properly. He had to change the 
mechanism to stopping one when to make enough difference.

-- CHarles



More information about the Chchrobotics mailing list