LEGO NXT Issues with Motors Ramp Up Command
Question
I am working on a project that is a game using two Lego
NXT 2.0.
I came across a strange behavior, whenever I send the ramp-up command:
1. Motor are not reacting;
2. There is a strange high pitch noise;
The command that I send to Lego NXT brick is:
0x0C 0x00 0x00 0x04 0x0FF 0x64 0x04 0x02 0x00 0x10 0x01 0x00 0x00 0x00
Answer
It sounds like an interesting project. We are looking forward to publishing your game on the RobotAppStore.
Regarding your question, when using a ramp-up or ramp-down command, the minimum tacho value (the last 4 bytes of the command) should be 0x00 0x00 0x19 0xFF.
In generally, in order to successfully ramp-up or ramp down the motors, make sure that:
- Both motors have the Motor mode byte set to regulated either 0x05 for Motor ON + Regulated, or 0x07for Motor ON+ Regulated + Break;
- Both motors have the Regulation motor byte set to 0x02 for motor synchronization;
- Both motors have the Running state set to 0x20 as running;
- Both motors set the motor power set point to 75% (0x4B) or higher or -75% (0xB5) or lower;
- The absolute value of Motor power set point should be higher than the current speed for ramping up, or lower than the current speed for ramping down;
- Running state argument is set to either 0x10 (Ramp up) or 0x40 (Ramp down);
- Tacho limit argument should be higher or equal 0x00 0x00 0x19 0xFF and lower or equal 0x4B 0xFF 0xFF 0xFF;
The syntax of the SetOutputState command is:
[0x0C] [0x00] [0x00 or 0x80] [0x04] [0x00-0x02 or 0xFF Motor output port] [Motor power set point] [Motor mode byte] [Regulation mode] [Turn ratio] [Run state] [Tacho limit LSB] […] […] [Tach limit MSB]
For more information about this command and its arguments check the
How to Control Lego NXT Motors tutorial
For more information about the usages of this command check the
How to make LEGO NXT drive tutorial
abortion cost without insurance
site post abortion