slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Motor control drive in circles PowerPoint Presentation
Download Presentation
Motor control drive in circles

Loading in 2 Seconds...

play fullscreen
1 / 27

Motor control drive in circles - PowerPoint PPT Presentation


  • 96 Views
  • Uploaded on

Motor control drive in circles. Pragmas configure motors. Turning right in function of time. Turning left in function of time. Main program starts from here. Motor control drive in circles. Increase right motor speed. Decrease left motor speed. Testing right and left turns.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Motor control drive in circles' - baakir


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
motor control drive in circles
Motor control drive in circles

Pragmas configure motors

Turning right in function of time

Turning left in function of time

Main program starts from here

slide3

Motor control drive in circles

Increase right motor speed

Decrease left motor speed

basic motor control commands plus some fine tuning commands
Basic motor control commands, plus some fine-tuning commands.
  • motor[output] = power;
  • NXT Turn the referenced NXT motor output either on or off and also sets the power level of the motor outputs.
  • The NXT has 3 motor outputs: motorA, motorB, motorC
  • The NXT can handle power levels from -100 (full reverse) to 100 (full forward). A power level of 0 will cause the motors to stop.

motor[motorA] = 100; //Output A - full speed forward motor[motorB] = 100; //Output B - full speed forward

bmotorflippedmode output 1 or 0
bMotorFlippedMode[output] = 1 or 0;
  • NXT
  • This feature is used to reverse the direction the referenced motor travels.
  • Once this setting is changed, the reference motor will be reversed for the entire program (unless manually changed a later point in the program)
  • This is useful for when working with motors that mounted in different directions and the programmer wants to keep the power setting the same for both motors.
  • There are two settings: 0 - normal, 1 - reversed
bfloatduringinactivemotorpwm true or false
bFloatDuringInactiveMotorPWM = true or false;
  • NXT
  • This switch is used to choose whether the motors on the NXT will float or brake when there is no power applied. By default, the motors will float.
  • The reason to switch this is if you're trying to make precise turns with the NXT and the motors are drifting causing the change in direction to be off.
  • There are two settings for this switch: false - motors will brake when inactive true - motors will float when inactive

bFloatDuringInactiveMotorPWM = false;

//motors will brake when power is set to "0"

timers
Timers
  • The NXT allows you to use Wait commands to place delays in your program.
  • It also supports Timers, which work like stopwatches - they count time since the last reset, and you reset them again when you want to start or restart.
  • wait1Msec(wait_time); NXT
  • This function will cause a program to wait a specified number of milliseconds before executing the next instruction in a program.
  • Wait_time is an integer (1 = 1/1000th of a second).
  • Maximum wait time is 32.768 seconds when using this function.
wait10msec wait time
wait10Msec(wait_time);
  • NXT
  • This function will cause a program to wait a specified number of hundredths of a second before executing the next instruction in a program.
  • Wait_time is an integer (1 = 1/100th of a second).
  • Maximum wait time is 327.68 seconds when using this function.

motor[motorA] = 100; //Output A - full speed forward wait10Msec(200); //Wait 2 seconds

motor[motorA] = 0; //Output A - off

slide12
time1[timer] = time; NXTThis timer function returns the current value of the referenced timer as an integer in a specific resolution. The resolution for "time10" is in milliseconds (1 = 1/1000th of a second).
  • The maximum amount of time to be recorded is 32.768 seconds (~1/2 minute)
  • The NXT has 4 internal timers: T1, T2, T3, T4
  • int x; //Init variable x x = time1[T1]; //assign variable x value of Timer #1 (1/1000th seconds)
slide13
time10[timer] = time; NXTThis timer function returns the current value of the referenced timer as an integer in a specific resolution. The resolution for "time10" is in hundredths of a second (1 = 1/100th of a second).
  • The maximum amount of time to be recorded is 327.68 seconds (~5 minutes)
  • The NXT has 4 internal timers: T1, T2, T3, T4
  • int x; //Init variable x x = time10[T1]; //assign variable x value of Timer #1 (1/100th seconds)
slide14
time100[timer] = time; NXTThis timer function returns the current value of the referenced timer as an integer in a specific resolution. The resolution for "time100" is in tenths of a second (1 = 1/10th of a second).
  • The maximum amount of time to be recorded is 3276.8 seconds (~54 minutes)
  • The NXT has 4 internal timers: T1, T2, T3, T4
  • int x; //Init variable x x = time100[T1]; //assign variable x value of Timer #1 (1/10th seconds)
slide15
ClearTimer(timer);NXTResets the referenced timer back to zero seconds.
  • The NXT has 4 internal timers: T1, T2, T3, T4
  • ClearTimer(T1); //Clear Timer #1
slide16
SensorsSensor commands for configuration and usage are listed below. Most sensor setup should be done through the Robot > Motors and Sensors Setup menu for best results.
  • SetSensorType(sensor_input,sensor_type);NXTThis function is used to manually set the mode of a specific input port to a specific type of sensor. We recommend, however, that you use the "Motor and Sensors Setup" wizard in RobotC.
  • The NXT has 4 sensor inputs: S1, S2, S3, S4
  • The NXT supports 8 different types of sensors:
slide18
SensorValue(sensor_input)NXTSensorValue is used to read the value of the referenced sensor port. Values will correspond to the type of sensor set for that port (see set_sensor_type page).
  • The SensorValue function can be accessed like a variable, as it returns an integer value.
  • The NXT has 3 sensor inputs: S1, S2, S3, S4
slide20
nMotorEncoder[motor] NXTThis function is used to access the internal encoder from the NXT's motors.
  • A value is return with the number of degrees the motor has traveled (1 = 1 degree), with the value as an integer.
slide21
ClearSensorValue(sensor_input)NXTThis function is used to reset the value of the referenced sensor port back to zero. This is only neccessary with specific sensor types that retain their values (e.g. Encoder Sensor).
  • The NXT has 4 sensor inputs: S1, S2, S3, S4
  • SetSensorType(S1, sensorRotation); //Input #1 now is set to be a Rotation Sensor ClearSensorValue(S1); //Reset Input #1 back to a value of 0
slide22
SoundsThe NXT can generate tones, or play back stored waveform sound data.
  • PlayTone(frequency, duration)NXTPlays a sound from the NXT internal speaker at a specific frequency (1 = 1 hertz) for a specific length (1 = 1/100th of a second).
  • PlayTone(220, 500); //Plays a 220hz tone for 1/2 second
slide24
PlaySoundFile(file_name);NXTThis function is used to play a sound file that is on the NXT. NXT sounds files have the extension .rso.
  • PlaySoundFile(Whoops.rso); //Plays the sound file "Woops.rso"
slide25
LCD DisplayCommands for the NXT's LCD Display.
  • nxtDisplayTextLine(line_number, text, var1, var2, var3); NXTDisplays a text line on the LCD screen of the NXT. Up to three variables are passable to the function.
  • line_number - The line the text line will appear on the NXT. There are 8 lines of text avaiable to the users, and valid arguments for this parameter are 0-7, which correspond to lines 1-8 on thte NXT's screen.
  • text - The text parameter is what shows up on the screen. This will be a string enclosed in quotes up to 16 characters. You may also display variables with this parameter by using the "%d" to display a variable definined in later parameters. You may use up to 3 "%d" characters to display 3 seperate variables. Remeber that you can only display 16 total characters, so the value of the variables will take up some of those 16 characters.
slide27
eraseDisplay();NXTClears the NXT's LCD screen of all text and GUI images.
  • eraseDisplay();

MiscellaneousMiscellaneous useful commands that are not part of the standard C language.

random(value);NXTReturns a random number (integer) between 0 and the 'value' of the function.

int x; //declares x as an integer x = random(100); //Returns a random value between 0 and 100