Skip to content

Commit 54f3929

Browse files
Project/vlad stefan.condrea (#1321)
* Finished preliminary documentation * Finished preliminary documentation * Added the schema of the arhitecture * Added the schema of the arhitecture * Updated and corrected documentation * Corrected some details * Updated timeline * Changed the svg * SVG * SVG * SVG * Apply suggestion from @irina-b-dev * Added schematics * Updated components * fixed SVG size * updated the timeline in the documentation * Expanded the architecture description --------- Co-authored-by: Irina Bradu <72762129+irina-b-dev@users.noreply.github.com>
1 parent 45beecd commit 54f3929

1 file changed

Lines changed: 30 additions & 1 deletion

File tree

  • website/versioned_docs/version-acs_cc/project/2026/vlad_stefan.condrea

website/versioned_docs/version-acs_cc/project/2026/vlad_stefan.condrea/index.md

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ A robotic pan-tilt turret capable of detecting targets and launching projectiles
1313

1414
A smart robotic turret made using a STM32 NUCLEO board that acts as the main controller. The system uses a pan-tilt mechanical bracket driven by two MG996R servo motors to aim. An HC-SR04 ultrasonic sensor is mounted on the moving arm to detect the distance to a target. Once the target is within range, the Nucleo board triggers the flywheel launcher, which consists of two high-speed DC motors with rubber wheels that shoot the projectile.
1515
The entire system is powered by a LiPo battery, using an LM2596 step-down module to safely provide 5V to the servos and sensor.
16+
Added a joystick to the project so now I can manually control the turret and shoot the projectile by pressing the joystick button
1617

1718
## Motivation
1819

@@ -26,6 +27,34 @@ The Nucleo board processes the sensor data to determine if a target is present.
2627

2728
Power management is critical: a 7.4V LiPo battery supplies raw power to the motor driver for the DC motors. In parallel, the battery connects to an LM2596 Step-Down converter, which drops the voltage to a stable 5V to safely power the STM32 board, the HC-SR04 sensor, and the servo motors without frying them.
2829

30+
31+
### Main Architectural Components
32+
33+
#### Target Detection System (Input Data)
34+
* **Role:** Continuously monitors the environment to detect potential targets and measure their exact distance from the turret.
35+
* **Components:** 1x HC-SR04 Ultrasonic Sensor mounted on the moving pan-tilt bracket.
36+
* **Logic:** The STM32 board sends a microsecond trigger pulse to the sensor, which then emits a sound wave. The board measures the duration of the returning echo signal to calculate the distance in real-time, feeding this data to the radar sweep algorithm.
37+
38+
#### The Central Logic Controller (Processing)
39+
* **Role:** Acts as the brain of the system, executing the core algorithms, managing real-time hardware interrupts, and computing ballistic alignment (e.g., Center of Mass calculations and trigonometric offset compensation).
40+
* **Components:** STM32 Nucleo-U545RE-Q Development Board.
41+
* **Logic:** Uses the `embassy` framework for asynchronous programming. It simultaneously handles spatial data acquisition, updates motor states, and coordinates the precise timing sequence for the firing mechanism without blocking the CPU.
42+
43+
#### Pan-Tilt Aiming System (Output)
44+
* **Role:** Responsible for the physical orientation of the turret, allowing it to sweep, track, and lock onto targets across both horizontal (X) and vertical (Y) axes.
45+
* **Components:** 2x MG996R High-Torque Servo Motors attached to a metal Pan-Tilt bracket.
46+
* **Logic:** The microcontroller generates precise PWM (Pulse Width Modulation) signals. By altering the duty cycle, the board commands the servos to perform a radar-like scan, adjusting their angles to center perfectly on the detected object.
47+
48+
#### Flywheel Launcher System (Output)
49+
* **Role:** Engages and accelerates the firing mechanism to launch the projectile at the locked target.
50+
* **Components:** 1x L298N Motor Driver, 2x High-Speed DC Motors, and 2x Rubber Wheels.
51+
* **Logic:** Upon confirming a target lock, the STM32 sends digital control signals to the IN pins of the L298N driver to set the rotation direction (wheels spinning inwards to grip and propel the foam dart). The L298N acts as a heavy-duty switch, delivering the high current required by the DC motors for the firing sequence.
52+
53+
#### Power Management Network
54+
* **Role:** Distributes safe and stable operating voltages to all logic and mechanical components, preventing system resets under high mechanical loads.
55+
* **Components:** 1x 7.4V LiPo Battery (Gens Ace 2S), 1x LM2596 Step-Down Module, and 1x LiPo Battery Tester/Buzzer.
56+
* **Logic:** The power distribution is split into two branches. The raw 7.4V from the LiPo battery is routed directly to the L298N driver to provide maximum torque to the DC motors. In parallel, the LM2596 module steps down the 7.
57+
2958
![Architecture Diagram](images/architecture.svg)
3059

3160
## Schematics
@@ -47,7 +76,7 @@ to the step down module and the DC motors. The hardware is ready
4776
and can fully function.
4877

4978
### Week 19 - 25 May
50-
79+
Wrote the code that has 2 modes one for am auto mode which tries to detect an object as precise as possible and a manual mode where I have a joystick to guide the turret.
5180
## Hardware
5281

5382
The project uses the Nucleo board as the brain. It receives echo pulses from the HC-SR04 sensor. After processing the distance, it sends PWM signals to the Pan and Tilt MG996R servos. It also controls a motor driver (L298N/L293D) to activate the dual DC motors for the launcher. The LM2596 acts as a power regulator.

0 commit comments

Comments
 (0)