This is an old revision of the document!
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.
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
List of components:
Electrical Schematic: To be uploaded after the circuit design is finalized.
Development Environment:
Libraries and 3rd-party sources:
Algorithms and Structures:
This section will be updated after the hardware assembly and software implementation
This section will be updated at the end of the project
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.
Hardware Resources:
Software Resources: