This project involves designing an ESP32-based control board for autonomous or radio-controlled robots. The board integrates various components, including sensors, encoders, an RC receiver, and an I2C display for configuration. Here is a detailed breakdown:
Project Overview
Controller: ESP32-DEVKIT-V1, a microcontroller with Wi-Fi and Bluetooth capabilities, used for main processing and control.
Motor Drivers: TB6612FNG, which is a dual H-Bridge motor driver that can control two DC motors.
Power Regulation: 7805 voltage regulator, which converts higher voltages down to +5V needed for some components.
Sensors and Encoders: Various sensors and encoders for feedback from the robot's environment and motors.
RC Receiver: Flysky RC receiver for remote control inputs.
Display: I2C display for configuring and monitoring the robot's operation.
Key Components and Connections
Power Supply Nets:
+3.3V: Power supply for ESP32 and other 3.3V components.
+5V: Power supply for motor drivers and other 5V components.
+VBAT: Battery voltage.
Signals for Motor Control:
MotorA_IN1, MotorA_IN2, MotorB_IN1, MotorB_IN2: Control signals for the motor driver.
Connections for U2 (TB6612FNG) to MotorA and MotorB.
Sensor Inputs:
Encoders: Encoder1_ChA, Encoder1_ChB, Encoder2_ChA, Encoder2_ChB: Encoder signals for tracking motor rotation.
Buttons: Button1, Button2, etc., for user inputs.
QTR Sensors: QTR1, QTR2: Typically used for line sensing.
Communication:
I2C Bus: I2C_SCL, I2C_SDA: I2C communication lines for connecting the display and other I2C devices.
IBUS_RX and \text{IBUS_TX}: Signals for communication with the Flysky RC receiver.
Mistakes to Spot
Duplicate designators: For example, multiple entries for MotorA_IN1 and MotorB_IN1.
Undefined properties: Some components like C2 and C4 have missing capacitance values.
Incorrect net assignments: Ensure each component is properly connected to its corresponding nets.
General Flow of Power and Signals
Power Regulation:
Battery voltage (+VBAT) is regulated to +5V using the 7805 voltage regulator (U3).
ESP32 and other 3.3V components are powered directly by a +5V to +3.3V converter onboard the ESP32.
Motor Control:
ESP32 sends PWM signals and directional control signals to U2 (TB6612FNG motor driver).
The motor driver then controls the motors connected to $\text{AO1}$, $\text{AO2}$, $\text{BO1}$, $\text{BO2}$.
Sensor and Encoder Inputs:
Encoders connected to ESP32 for motor feedback.
Buttons for manual inputs.
Communication:
I2C for display configuration.
RC receiver for remote control inputs through $\text{IBUS_RX}$ and $\text{IBUS_TX}$.
nico
copilot
- Controller: ESP32-DEVKIT-V1, a microcontroller with Wi-Fi and Bluetooth capabilities, used for main processing and control.
- Motor Drivers: TB6612FNG, which is a dual H-Bridge motor driver that can control two DC motors.
- Power Regulation: 7805 voltage regulator, which converts higher voltages down to +5V needed for some components.
- Sensors and Encoders: Various sensors and encoders for feedback from the robot's environment and motors.
- RC Receiver: Flysky RC receiver for remote control inputs.
- Display: I2C display for configuring and monitoring the robot's operation.
Key Components and Connections-
Power Supply Nets:
- +3.3V: Power supply for ESP32 and other 3.3V components.
- +5V: Power supply for motor drivers and other 5V components.
- +VBAT: Battery voltage.
-
Signals for Motor Control:
- MotorA_IN1, MotorA_IN2, MotorB_IN1, MotorB_IN2: Control signals for the motor driver.
- Connections for U2 (TB6612FNG) to MotorA and MotorB.
-
Sensor Inputs:
- Encoders: Encoder1_ChA, Encoder1_ChB, Encoder2_ChA, Encoder2_ChB: Encoder signals for tracking motor rotation.
- Buttons: Button1, Button2, etc., for user inputs.
- QTR Sensors: QTR1, QTR2: Typically used for line sensing.
-
Communication:
- I2C Bus: I2C_SCL, I2C_SDA: I2C communication lines for connecting the display and other I2C devices.
- IBUS_RX and \text{IBUS_TX}: Signals for communication with the Flysky RC receiver.
Mistakes to Spot- Duplicate designators: For example, multiple entries for
- Undefined properties: Some components like
- Incorrect net assignments: Ensure each component is properly connected to its corresponding nets.
General Flow of Power and SignalsMotorA_IN1andMotorB_IN1.C2andC4have missing capacitance values.-
Power Regulation:
- Battery voltage (+VBAT) is regulated to +5V using the 7805 voltage regulator (U3).
- ESP32 and other 3.3V components are powered directly by a +5V to +3.3V converter onboard the ESP32.
-
Motor Control:
- ESP32 sends PWM signals and directional control signals to U2 (TB6612FNG motor driver).
- The motor driver then controls the motors connected to $\text{AO1}$, $\text{AO2}$, $\text{BO1}$, $\text{BO2}$.
-
Sensor and Encoder Inputs:
- Encoders connected to ESP32 for motor feedback.
- Buttons for manual inputs.
-
Communication:
- I2C for display configuration.
- RC receiver for remote control inputs through $\text{IBUS_RX}$ and $\text{IBUS_TX}$.
Connections Example