Stap 2: Laden profielen op de Motor Controllers
De Pololu USB Software Development Kit is nodig om deze controllers program. Hier is een link over hoe te downloaden en te gebruiken die SDK zodat u de onderstaande code kunt gebruiken. De SDK werkt voor zowel motor controllers.
Hier is het profiel voor de Pololu eenvoudige hoogvermogen motorcontroller 18v25:
<!--Pololu eenvoudige motorcontroller instellingenbestand. http://www.Pololu.com/docs/0J44-->
<!--gemaakt op: 2013-08-31 09:45:35-->
<!--apparaat model: Pololu eenvoudige hoogvermogen motorcontroller 18v25-->
<!--apparaat serienummer: 3200-7106-3147-3331-1823-1843-->
<!--de versie van de firmware van het apparaat: 1.04-->
< SmcSettings versie = "1" >
< InputMode > SerialUsb < / InputMode >
< MixingMode > geen < / MixingMode >
< DisableSafeStart > false < / DisableSafeStart >
< IgnorePotDisconnect > false < / IgnorePotDisconnect >
< IgnoreErrLineHigh > false < / IgnoreErrLineHigh >
< NeverSuspend > false < / NeverSuspend >
< TempLimitGradual >, waar < / TempLimitGradual >
< overTemp Min = "700" Max = "800" / >
< LowVinShutoffTimeout > 250 < / LowVinShutoffTimeout >
< LowVinShutoffMv > 5500 < / LowVinShutoffMv >
< LowVinStartupMv > 6000 < / LowVinStartupMv >
< HighVinShutoffMv > 25000 < / HighVinShutoffMv >
< SerialMode > Binary < / SerialMode >
< SerialDeviceNumber > 13 < / SerialDeviceNumber >
< CommandTimeout > 0 < / CommandTimeout >
< CrcMode > gehandicapten < / CrcMode >
< UartResponseDelay > false < / UartResponseDelay >
< UseFixedBaudRate >, waar < / UseFixedBaudRate >
< FixedBaudRate > 9600 < / FixedBaudRate >
<!--input Settings-->
< Rc1 >
< AlternateUse > geen < / AlternateUse >
< omkeren > false < / omkeren >
< ScalingDegree > 0 < / ScalingDegree >
< error Min = "2000" Max = "10000" / >
< input Min = "4000" Max = "8000" / >
< InputNeutral Min = "5900" Max = "6100" / >
< / Rc1 >
< Rc2 >
< AlternateUse > geen < / AlternateUse >
< omkeren > false < / omkeren >
< ScalingDegree > 0 < / ScalingDegree >
< error Min = "2000" Max = "10000" / >
< input Min = "4000" Max = "8000" / >
< InputNeutral Min = "5900" Max = "6100" / >
< / Rc2 >
< Analog1 >
< AlternateUse > geen < / AlternateUse >
< PinMode > drijvende < / PinMode >
< omkeren > false < / omkeren >
< ScalingDegree > 0 < / ScalingDegree >
< error Min = "0" Max = "4095" / >
< input Min = "40" Max = "4055" / >
< InputNeutral Min = "2015" Max = "2080" / >
< / Analog1 >
< Analog2 >
< AlternateUse > geen < / AlternateUse >
< PinMode > drijvende < / PinMode >
< omkeren > false < / omkeren >
< ScalingDegree > 0 < / ScalingDegree >
< error Min = "0" Max = "4095" / >
< input Min = "40" Max = "4055" / >
< InputNeutral Min = "2015" Max = "2080" / >
< / Analog2 >
<!--motor instellingen-->
< PwmPeriodFactor > 0 < / PwmPeriodFactor >
< MotorInvert >, waar < / MotorInvert >
< SpeedZeroBrakeAmount > 16 < / SpeedZeroBrakeAmount >
< SpeedUpdatePeriod > 100 < / SpeedUpdatePeriod >
< ForwardLimits >
< MaxSpeed > 3200 < / MaxSpeed >
< MaxAcceleration > 100 < / MaxAcceleration >
< MaxDeceleration > 200 < / MaxDeceleration >
< BrakeDuration > 2000 < / BrakeDuration >
< StartingSpeed > 0 < / StartingSpeed >
< / ForwardLimits >
< ReverseLimits >
< MaxSpeed > 3200 < / MaxSpeed >
< MaxAcceleration > 100 < / MaxAcceleration >
< MaxDeceleration > 200 < / MaxDeceleration >
< BrakeDuration > 2000 < / BrakeDuration >
< StartingSpeed > 0 < / StartingSpeed >
< / ReverseLimits >
<!--geavanceerde instellingen-->
< PulsePeriod Min = "9" Max = "100" / >
< RcTimeout > 500 < / RcTimeout >
< ConsecGoodPulses > 2 < / ConsecGoodPulses >
< VinMultiplierOffset > 0 < / VinMultiplierOffset >
< / SmcSettings >
*/
En hier is het profiel voor de Pololu Jrk 12v12 USB-Motor Controller met Feedback:
GEÏNITIALISEERDE 0SERIËLE INPUT_MODE
INPUT_MINIMUM 0
INPUT_MAXIMUM 4095
OUTPUT_MINIMUM 0
OUTPUT_NEUTRAL 2048
OUTPUT_MAXIMUM 4095
INPUT_INVERT 0
INPUT_SCALING_DEGREE 0
0
INPUT_ANALOG_SAMPLES_EXPONENT 5
INPUT_DISCONNECT_MINIMUM 0
INPUT_DISCONNECT_MAXIMUM 4095
INPUT_NEUTRAL_MAXIMUM 2049
INPUT_NEUTRAL_MINIMUM 2046
SERIAL_MODE UART_FIXED_BAUD_RATE
SERIAL_FIXED_BAUD_RATE 9600
SERIAL_TIMEOUT 2
SERIAL_ENABLE_CRC 0
SERIAL_NEVER_SUSPEND 0
SERIAL_DEVICE_NUMBER 11
FEEDBACK_MODE ANALOOG
FEEDBACK_MINIMUM 1450
FEEDBACK_MAXIMUM 3880
FEEDBACK_INVERT 0
1
FEEDBACK_DEAD_ZONE 12
FEEDBACK_ANALOG_SAMPLES_EXPONENT 4
FEEDBACK_DISCONNECT_MINIMUM 40
FEEDBACK_DISCONNECT_MAXIMUM 3900
PROPORTIONAL_MULTIPLIER 35
PROPORTIONAL_EXPONENT 0
INTEGRAL_MULTIPLIER 0
INTEGRAL_EXPONENT 0
DERIVATIVE_MULTIPLIER 60
DERIVATIVE_EXPONENT 0
PID_PERIOD 10
PID_INTEGRAL_LIMIT 1000
PID_RESET_INTEGRAL 1
MOTOR_PWM_FREQUENCY 0
MOTOR_INVERT 1
MOTOR_MAX_DUTY_CYCLE_WHILE_FEEDBACK_OUT_OF_RANGE 600
MOTOR_MAX_ACCELERATION_FORWARD 600
MOTOR_MAX_ACCELERATION_REVERSE 600
MOTOR_MAX_DUTY_CYCLE_FORWARD 600
MOTOR_MAX_DUTY_CYCLE_REVERSE 600
MOTOR_MAX_CURRENT_FORWARD 0
MOTOR_MAX_CURRENT_REVERSE 0
MOTOR_CURRENT_CALIBRATION_FORWARD 37
MOTOR_CURRENT_CALIBRATION_REVERSE 37
MOTOR_BRAKE_DURATION_FORWARD 0
MOTOR_BRAKE_DURATION_REVERSE 0
MOTOR_COAST_WHEN_OFF 1
ERROR_ENABLE 102
ERROR_LATCH 98
*/