BARC Jeep - en XBOX kontrollerad Power Wheels (2 / 7 steg)
Steg 2: Ladda profiler på domänkontrollanter som Motor
Pololu USB Software Development Kit för att programmera dessa domänkontrollanter. Här är en länk att hämta och använda det SDK så du kan använda koden nedan. SDK fungerar för både motor styrenheter.
Här är profilen för Pololu enkel High-Power Motor Controller 18v25:
<!--Pololu enkel Motor Controller inställningsfil. http://www.Pololu.com/docs/0J44-->
<!--skapade på: 2013-08-31 09:45:35-->
<!--enhetsmodell: Pololu enkel High-Power Motor Controller 18v25-->
<!--enhet serienummer: 3200-7106-3147-3331-1823-1843-->
<!--enhet firmware version: 1,04-->
< SmcSettings version = "1" >
< InputMode > SerialUsb < / InputMode >
< MixingMode > ingen < / MixingMode >
< DisableSafeStart > falskt < / DisableSafeStart >
< IgnorePotDisconnect > falskt < / IgnorePotDisconnect >
< IgnoreErrLineHigh > falskt < / IgnoreErrLineHigh >
< NeverSuspend > falskt < / NeverSuspend >
< TempLimitGradual > true < / 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 > funktionshindrade < / CrcMode >
< UartResponseDelay > falskt < / UartResponseDelay >
< UseFixedBaudRate > true < / UseFixedBaudRate >
< FixedBaudRate > 9600 < / FixedBaudRate >
<!--inmatningsinställningar-->
< Rc1 >
< AlternateUse > ingen < / AlternateUse >
< Invertera > falskt < / Invertera >
< ScalingDegree > 0 < / ScalingDegree >
< fel Min = "2000" Max = "10000" / >
< input Min = "4000" Max = "8000" / >
< InputNeutral Min = "5900" Max = "6100" / >
< / Rc1 >
< Rc2 >
< AlternateUse > ingen < / AlternateUse >
< Invertera > falskt < / Invertera >
< ScalingDegree > 0 < / ScalingDegree >
< fel Min = "2000" Max = "10000" / >
< input Min = "4000" Max = "8000" / >
< InputNeutral Min = "5900" Max = "6100" / >
< / Rc2 >
< Analog1 >
< AlternateUse > ingen < / AlternateUse >
< PinMode > flytande < / PinMode >
< Invertera > falskt < / Invertera >
< ScalingDegree > 0 < / ScalingDegree >
< fel Min = "0" Max = "4095" / >
< input Min = "40" Max = "4055" / >
< InputNeutral Min = "2015" Max = "2080" / >
< / Analog1 >
< Analog2 >
< AlternateUse > ingen < / AlternateUse >
< PinMode > flytande < / PinMode >
< Invertera > falskt < / Invertera >
< ScalingDegree > 0 < / ScalingDegree >
< fel Min = "0" Max = "4095" / >
< input Min = "40" Max = "4055" / >
< InputNeutral Min = "2015" Max = "2080" / >
< / Analog2 >
<!--motor inställningar-->
< PwmPeriodFactor > 0 < / PwmPeriodFactor >
< MotorInvert > true < / MotorInvert >
< SpeedZeroBrakeAmount > 16 < / SpeedZeroBrakeAmount >
< SpeedUpdatePeriod > 100 < / SpeedUpdatePeriod >
< ForwardLimits >
< MaxOmdr > 3200 < / MaxOmdr >
< MaxAcceleration > 100 < / MaxAcceleration >
< MaxDeceleration > 200 < / MaxDeceleration >
< BrakeDuration > 2000 < / BrakeDuration >
< StartingSpeed > 0 < / StartingSpeed >
< / ForwardLimits >
< ReverseLimits >
< MaxOmdr > 3200 < / MaxOmdr >
< MaxAcceleration > 100 < / MaxAcceleration >
< MaxDeceleration > 200 < / MaxDeceleration >
< BrakeDuration > 2000 < / BrakeDuration >
< StartingSpeed > 0 < / StartingSpeed >
< / ReverseLimits >
<!--avancerade inställningar-->
< PulsePeriod Min = "9" Max = "100" / >
< RcTimeout > 500 < / RcTimeout >
< ConsecGoodPulses > 2 < / ConsecGoodPulses >
< VinMultiplierOffset > 0 < / VinMultiplierOffset >
< / SmcSettings >
*/
Och här är profilen för Pololu Jrk 12v12 USB-Motor Controller med Feedback:
INITIERADE 0INPUT_MODE SERIELL
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 ANALOG
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
*/