This shows you the differences between two versions of the page.
|
pm:prj2026:andrei.batasev:122992:start [2026/05/23 18:05] dorian.gilca removed |
— (current) | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Adaptive Cruise Control Vehicle ====== | ||
| - | ===== Introduction ===== | ||
| - | **What it does:** | ||
| - | This project consists of a small autonomous vehicle capable of maintaining a constant safe distance from a target vehicle or object in front of it. | ||
| - | |||
| - | **Its purpose:** | ||
| - | The main goal is to implement a real-time closed-loop control system (Adaptive Cruise Control) on an 8-bit microcontroller. It demonstrates bare-metal embedded programming by utilizing hardware interrupts, hardware timers, and a PID (Proportional-Integral-Derivative) control algorithm. | ||
| - | |||
| - | **The starting idea:** | ||
| - | The idea is inspired by modern Advanced Driver Assistance Systems (ADAS) used in the automotive industry to prevent rear-end collisions and improve driving comfort. | ||
| - | |||
| - | **Why it is useful:** | ||
| - | It serves as a highly practical demonstration of low-level hardware control, bridging the gap between theoretical micro-processor architecture and real-world physical applications. | ||
| - | |||
| - | ===== General Description ===== | ||
| - | |||
| - | The system uses an array of ultrasonic sensors mounted on the front to continuously measure the distance to the vehicle ahead. | ||
| - | |||
| - | Based on the calculated distance error (the difference between the desired safe distance and the actual measured distance), a PID control algorithm calculates the necessary adjustments. These adjustments are sent as PWM signals to a TB6612FNG motor driver, enabling the car to smoothly accelerate or brake. An optical encoder on the rear wheel provides closed-loop speed feedback to ensure accurate motor control. Optionally, the front steering is controlled by a servo motor to follow the target's trajectory. | ||
| - | |||
| - | **Block Diagram:** | ||
| - | //To be uploaded// | ||
| - | |||
| - | ===== Hardware Design ===== | ||
| - | |||
| - | **List of components:** | ||
| - | * Arduino Nano (ATmega328P Microcontroller) | ||
| - | * 3x HC-SR04+ Ultrasonic Sensors | ||
| - | * TB6612FNG Motor Driver | ||
| - | * 1x DC Motor with Optical Encoder (Rear traction) | ||
| - | * 1x Servo Motor (Front steering) | ||
| - | * LM2596 Step-Down Voltage Regulator | ||
| - | * 2x 18650 Li-Ion Batteries with holder | ||
| - | * Breadboard and Dupont connecting wires | ||
| - | |||
| - | **Electrical Schematic:** | ||
| - | //To be uploaded after the circuit design is finalized.// | ||
| - | |||
| - | ===== Software Design ===== | ||
| - | |||
| - | **Development Environment:** | ||
| - | * PlatformIO / Arduino IDE (using pure C/C++ and register-level programming) | ||
| - | |||
| - | **Libraries and 3rd-party sources:** | ||
| - | * Standard AVR libc (<avr/io.h>, <avr/interrupt.h>) | ||
| - | * No high-level Arduino libraries (like analogWrite or pulseIn) will be used for core functionalities, to adhere to the course requirements. | ||
| - | |||
| - | **Algorithms and Structures:** | ||
| - | * **PID Controller:** A mathematical algorithm to smoothly calculate the motor speed based on the distance error. | ||
| - | * **Pin Change Interrupts (PCINT):** Used to read the echo signals from the ultrasonic sensors without blocking the CPU. | ||
| - | * **Hardware Timers:** Configured at the register level to generate the fast PWM signals for the motor driver and the precise signal for the servo motor. | ||
| - | |||
| - | ===== Obtained Results ===== | ||
| - | |||
| - | //This section will be updated after the hardware assembly and software implementation// | ||
| - | |||
| - | ===== Conclusions ===== | ||
| - | |||
| - | //This section will be updated at the end of the project// | ||
| - | |||
| - | ===== Download ===== | ||
| - | |||
| - | //Source code and schematics will be uploaded here in a .zip archive and linked to a public GitHub repository at the end of the semester.// | ||
| - | |||
| - | ===== Journal ===== | ||
| - | |||
| - | * **09.05.2026**: Chosen the project topic, validated the idea with the laboratory assistant, and completed the initial OCW documentation (Introduction, General Description, Hardware List). | ||
| - | |||
| - | ===== Bibliography/Resources ===== | ||
| - | |||
| - | **Hardware Resources:** | ||
| - | * ATmega328P Datasheet | ||
| - | * HC-SR04+ Ultrasonic Sensor specifications | ||
| - | * TB6612FNG Motor Driver datasheet | ||
| - | |||
| - | **Software Resources:** | ||
| - | * AVR Libc Reference Manual | ||