Instruction Guide: Motor Block
This lesson introduces the students to the rich help files system within NXT-G through a self taught lesson on the Motor Block (the first icon in the "Action" sub-menu on the "Complete" palette). The Motor and Move blocks are often confused and this lesson/challenge attempts to distinguish them.
Have students work through the Motor Block Task Assignment Sheet for this lesson.
Some key points to look for during sign-off:
-
Understanding of all the parameters in the Motor Block - particularly the Action and Control parameters which they have not seen before in any block:
- Action allows for a Ramp Up, or Ramp Down setting (in addition to Constant) to avoid an abrupt start or stop to the Motor movement
-
Control (when Motor Power is checked) will ramp up the Motor power to 100% when the motor encounters resistance.
-
This can be demonstrated by running both Motors with Motor Blocks set to 30% power and a fixed number of rotations, and then gently pinching one of the motors until it stops turning. If Control is not set the Motor will stop easily, and when released after couple of seconds will resume turning - but will stop a couple of seconds after the unconstrained motor.
If Control is set the pinched motor will be harder to stop as it ramps up power to resist the constraint. When released after a couple of seconds, the motor will maintain its higher power setting for a time (spinning faster than the unconstrained motor) and will stop closer to the same time as the unconstrained motor. - This is a good point to make the distinction between these Motor Block functions and the Move Block's built-in motor synchronization - this is briefly mentioned on the NTV2 Moving Straight lesson (part 3), but often does not register with students since they are overwhelmed with all new information in this first "Behavior" lesson. Similar to the above demo, write a simple program with a Move Block that moves both motors forward at 30% power for a fixed number of rotations. This time, when you pinch one motor to a stop, the other motor will also stop - this built-in synchronization is not included in the Motor Block since it only controls one motor as a time.
-
This can be demonstrated by running both Motors with Motor Blocks set to 30% power and a fixed number of rotations, and then gently pinching one of the motors until it stops turning. If Control is not set the Motor will stop easily, and when released after couple of seconds will resume turning - but will stop a couple of seconds after the unconstrained motor.
-
Have student describe the differences between Motor and Move blocks in term of their relative advantages/disadvantages and where they could come into play:
-
Motor Block Advantages:
- Ramp Up/Ramp Down - avoids abrupt stops and starts with a single block (would take multiple Move blocks to step up/down power)
- Finer grain control on steering - with one Motor block on each wheel, the "straightness" of travel can be adjusted with 100 power steps; the steering control on a Move block gives only large increments of change
- Control parameter lets the motor automatically adjust for unknown/unpredictable loads - especially handy for 3rd motor applications with arms, levers, etc.
- Motor blocks use less than half the memory of a Move blocks - so for one motor operation they are much more efficient, but even using two Motor blocks to replace one Move block is more efficient use of memory where possible.
-
Motor Block Disadvantage
- For robot movement, it takes two Motor blocks for every Move block - although this takes less memory space on the robot, it is still twice as many blocks to place and set parameters for (and twice as many to change when modifying a program), and twice as many blocks on the size-limited NXT-G screen
- No automatic motor synchronization (like in the Move block)
-
Motor Block Advantages:
Challenges
The Motor Block Task Assignment Sheet also contains two challenges, the Maze Challenge and the Third Motor Challenge.
The Maze Challenge has students redo the "Turning" lesson Maze Challenge using Motor blocks instead of Move blocks.
The Third Motor Challenge has students create a robot of their choice which uses the Motor block to control a third motor in their design. Encourage students to incorporate a sensor into their design too.