• Wheel Direction Control

    Ghani Lawal04/02/2024 at 03:23 0 comments

    • Using Timer2 and Timer3 to the wheel direction and speed with PWM signals
      • Channel 1 for forward rotation
      • Channel 2 for backwards rotation
    • Motor 1:
      • Input A - PA6 - D12 - Timer3_CH1
      • Input B - PA7 - D11 - Timer3_CH2
    • Motor B:
      • Input A - PA0 - A0 - Timer2_CH1
      • Input B - PA1 - A1 - Timer2_CH2
    • Motor Driver - MDD3A
      • PWM frequency up to 20kHz, using 13.125kHz
        • Pre-scaler: 24
        • Counter Period: 256
        • Will probably change above values in the future
    • Important functions:
      • HAL_TIM_PWM_Start()
      • HAL_TIM_SET_COMPARE()

  • Orientation Sensing

    Ghani Lawal04/02/2024 at 03:12 0 comments

    • Accelerometers - Detect linear acceleration of devices along the x, y and z axis
    • Gyroscopes - Detect angular velocity i.e. speed at which a device is rotating along the x, y and or z axis
    • Both accelerometers and gyroscopes usually found inside an Inertial Measurement Unit (IMU)
    • Magnetometer - relies on the Earth's magnetic field to determine the host's object's orientation related to the Earth's Magnetic North
    • When combined with accelerometers and gyroscopes, can stabilize orientation calculations, and determine orientation w.r.t earth
    • Accelerometers can detect the force of gravity by detecting the acceleration due to gravity along its different axes
      • By itself it can measure pitch and roll (tilt) rotations but cannot measure yaw
    • Gyroscope can measure roll, pitch and yaw by integrating its values
      • However, Gyroscopes are prone to drift, which is why data is fused with accelerometer
      • Since accelerometer can't measure yaw, this value will drift still
      • By fusing with magnetometer, yaw drift will stop
      • Some gyroscopes have 'self-correction' feature

  • Sourcing

    Ghani Lawal04/02/2024 at 02:50 0 comments

    • Chassis: found 2 level, w-wheel robot platform -- DigiKey
    • L-shaped motors with encoders -- Digikey
    • Power supply: 30V 5A -- Amazon
    • Bought sensor breakout boards for prototyping:
      • Baromatic pressure and temparature sensor
        • BMP180 no longer being manufactured, will use for prototyping, likely use DPS310 for PCB
      • Ambient Light sensor
      • Humidity Sensor
      • ***Pressure and Humidity need to be far away from heat sources
      • Ultrasonic Distance Sensors
    • Communication will be done using I2C

  • High Level Plan

    Ghani Lawal04/02/2024 at 02:35 0 comments

    • PCB for Robot and the remote Controller will be 4-layer boards (Sig, GND, GND, Sig) based on some version of the STM32 uController
    • Treat mobile robot as a vehicle that is sent into an area to survey the environment
      • proximity sensors
      • temperature, pressure, humidity
      • accelerometer
      • Camera?
    • Remote Controller
      • joysticks for moving linearly and rotationally
      • Screen to display information
        • Current speed
        • Battery level
        • Angle of turn
        • Environment values (temp, pressure, humidity, etc)
        • Menu buttons
    • Robot Should have different "modes":
      • Driver mode (control movement using controller)
      • Explore mode (autonomously drive by itself)
        • Data Collection (record environment, movement values such as speed and orientation)
          • Sub-mode for the 2 above
          • Control what data is being recorded