https://github.com/lasithaamarasinghe/analog-wall-follow-robot
This analog wall follow robot is developed for the semester 3 project under EN2091: Laboratory Practice and Projects.
https://github.com/lasithaamarasinghe/analog-wall-follow-robot
altium-designer analog-electronics l298-motor-controller n20-motors pid-algorithm sharp-ir-sensor smd solidworks tl084cn wall-following
Last synced: 5 months ago
JSON representation
This analog wall follow robot is developed for the semester 3 project under EN2091: Laboratory Practice and Projects.
- Host: GitHub
- URL: https://github.com/lasithaamarasinghe/analog-wall-follow-robot
- Owner: LasithaAmarasinghe
- License: mit
- Created: 2024-01-17T00:12:21.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-06-23T07:13:47.000Z (about 1 year ago)
- Last Synced: 2025-01-10T03:39:27.987Z (6 months ago)
- Topics: altium-designer, analog-electronics, l298-motor-controller, n20-motors, pid-algorithm, sharp-ir-sensor, smd, solidworks, tl084cn, wall-following
- Language: HTML
- Homepage:
- Size: 49.8 MB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: MIT-LICENSE.txt
Awesome Lists containing this project
README
# Analog Wall Following Robot
This is a group project done under the module EN2091 - Laboratory Practice and Projects, Semester 3, Department of Electronic and Telecommunication Engineering, University of Moratuwa.## Introduction
* Wall following robot is a robot that follows a wall and travels keeping a constant distance from the wall.
* Wall following is a common task in many robotics competitions.
* But the interesting point is our project was to build a robot that travels on the centerline between two walls using only analog electronics.
* That means we couldn’t use microcontrollers according to the [guidelines](https://github.com/LasithaAmarasinghe/Analog-Wall-Follow-Robot/blob/main/Project_Guidelines.pdf).
## Working Concept
* Two sharp IR sensors measure the distance from the robot to the side walls.
* The difference between the sharp IR sensor values is taken as the error signal and fed into a PID control circuit.
* The PID output signal is fed to the adder and subtractor circuits.
* The PID output and a comparator circuit generate two PWM signals with varying duty cycles.
* Then using the motor driver, PWM signals are fed to the left and right wheels.
* The robot tracks the walls and travels on the centerline between walls.
* Additionally we added another sharp IR sensor to the front of the robot to control the speed of the robot.
* The measured distance is compared with a predefined distance and the difference is taken as the error signal.
* The error signal is fed to a PID control circuit.
* A PWM signal is generated using the PID output and a comparator circuit.
* This PWM signal acts as the Base speed of the robot.
* Consequently the additional sharp IR sensor will vary the car's speed accordingly.
## Sub Circuits and Tasks
* [Instrumentation Amplifier](https://github.com/LasithaAmarasinghe/Analog-Wall-Follow-Robot/blob/main/Circuits/Instrumentation%20Amplifier.jpg)- Reduce noise in Sharp IR sensor outputs and amplify signals
* [PID circuit](https://github.com/LasithaAmarasinghe/Analog-Wall-Follow-Robot/blob/main/Circuits/PID.jpg)- Control the error signal smoothly using feedback
* [Adder & Subtractor](https://github.com/LasithaAmarasinghe/Analog-Wall-Follow-Robot/blob/main/Circuits/Adder%20%26%20Substractor.jpg)- Generate two PWM signals with varying duty cycles according to PID output
* Motor 1= base speed + PID output
* Motor 2= base speed - PID output
* [PWM circuit](https://github.com/LasithaAmarasinghe/Analog-Wall-Follow-Robot/blob/main/Circuits/PWM.jpg)- Generate two different comparator voltages for the two motors
* Motor 1 duty cycle ∝ base speed + PID output
* Motor 2 duty cycle ∝ base speed - PID output
* [Voltage Regulator](https://github.com/LasithaAmarasinghe/Analog-Wall-Follow-Robot/blob/main/Circuits/Voltage%20Regulator.png)- To get 3.3V and 5V for required parts accordingly
* [Speed Selector](https://github.com/LasithaAmarasinghe/Analog-Wall-Follow-Robot/blob/main/Circuits/Speed%20Selector.png)- Manually control the base speed## Hardware Specifications
* [TL084CN ICs](https://github.com/LasithaAmarasinghe/Analog-Wall-Follow-Robot/blob/main/data%20sheets/TL084CN_GeneralPurposeAmplifier.pdf)
* Two [Sharp IR Sensors](https://github.com/LasithaAmarasinghe/Analog-Wall-Follow-Robot/blob/main/data%20sheets/Sharp%20IR%20Sensor.pdf)
* Two [N20 Motors](https://github.com/LasithaAmarasinghe/Analog-Wall-Follow-Robot/blob/main/data%20sheets/GA12-N20%20Motor.pdf)
* [L298N Motor Driver](https://github.com/LasithaAmarasinghe/Analog-Wall-Follow-Robot/blob/main/data%20sheets/L298%20Motor%20Driver.PDF)
* Wheels
* [Surface Mount Resistors](https://github.com/LasithaAmarasinghe/Analog-Wall-Follow-Robot/blob/main/Components/resistors.png)
* [Surface Mount Capacitors](https://github.com/LasithaAmarasinghe/Analog-Wall-Follow-Robot/blob/main/Components/capacitors.png)
* [Other Components](https://github.com/LasithaAmarasinghe/Analog-Wall-Follow-Robot/blob/main/Components/other%20components.png)## Software Specifications
* Solid Works
* Altium Designer
* Multisim

## Enclosure Design

## PCB Design

## PCB

## Team Members

## License
* This project is licensed under the MIT License. See the [LICENSE](MIT-LICENSE.txt) file for details.
## For More Information - [Project Report](https://github.com/LasithaAmarasinghe/Analog-Wall-Follow-Robot/blob/main/Project_Report.pdf)