This project simulates a smart conveyor system using an ARM Cortex-M microcontroller.
It combines motor control, speed measurement, object detection, and safety features in a fully integrated simulation.
The system:
- Measures conveyor speed using Timer Capture and a simulated function generator.
- Controls motor speed via PWM based on a potentiometer input.
- Detects passing objects using software-based edge detection.
- Includes an emergency stop triggered by an external interrupt.
- Displays real-time information on a 16x2 LCD:
- Conveyor speed
- Motor speed (as % PWM)
- Object count
- Emergency status
-
Speed Measurement
- Timer Input Capture mode, no interrupts for edge detection.
- Function generator simulates the pulse signal.
-
Motor Speed Control
- Potentiometer connected to ADC channel.
- PWM output regulates motor speed.
-
Object Detection
- IR sensor simulated as digital input.
- Falling-edge detection implemented in software (polling).
-
Emergency Stop
- Push button triggers an external interrupt.
- Motor stops and LCD displays "EMERGENCY STOP".
-
Display Interface
- 16x2 LCD displays all relevant system data.
- Proteus Simulation File (.pdsprj) with all subsystems integrated.
- C Source Code, modular and well-documented.
- Brief Report (PDF):
- Project overview
- Block diagram
- Subsystem explanations
- Simulation screenshots