The Internship
Few days ago 'Internship at Ejaadtech' popped up in my Facebook memories. And I realized that it has been now a year, since I completed my short internship at EjaadTech. Its one of those experience where I felt that I was doing engineering.
When my 2nd Year of engineering was near to an end, I was searching for 'robotics' in Karachi, and it was then when I found the Facebook page of EjaadTech. I found it quite impressive that there was at least someone in the city actually calling themselves a Robotic Company other than those offering Robotics courses.
Without a second thought, I messaged on it's Facebook page inquiring about any internship and mentioning my very few skills and the projects I had done. And I was offered one !
On my first day at Internship, Sir Zaid, CTO of EjaadTech discussed with me the projects they were working on and what interested me. Almost, all the projects were quite complicated for the skills I had. So it was decided that I will be working on a Line Following Robot, that will help me develop my skills and any other experimental stuff could be done on it.
Line Following Robot
The first task was to get the hardware ready. I was introduced to the fiberglass Veroboard, which is comparatively quite tough compared to the normal Veroboard
Fiberglass Veroboard |
Instead of using a ready made chassis, we used the Veroboard for the base. Doing all the circuitry on the Veroboard and attaching the components to it.
The brain of the robot was an Arduino Nano, I had seem Arduino Uno's before but it was my first experience working with the Nano. Why Nano ? Because it has same number of pins and can all the tasks as Uno, and yet it is small to allowing the design to be compact.
Arduino Nano and Motor Driver Soldered |
This was my very first experience at soldering and it took me hours just to hook up the components and wires. In the picture above you can see an Arduino Nano, (L9110)-Dual Channel Motor Driver Module and few thin wires soldered on the board. Those thin wires are called stripping wire and are quite useful when working on low voltages. They give quite a clean look and are much easier to solder than making the whole connection with soldering wire itself.
One of the most important part are the motors off course ! How else would the robot move. Instead of using the commonly available yellow motors in the market we used micro metal geared motors. Which were comparatively much smaller,faster and smooth but also expensive.
You can't hook a DC motor directly to your Arduino, unless you want to burn it ! And therefore a motor controller is required to prevent the electronic circuitry to be damaged. We used L9110, details on how to do it are available in the link below.
Motor Holder 3D Printed |
Hooking the controller was easy and so was connecting the motors to it . But the problem was how to attach the motors to the robot. Solution : 3D printer !!!. Working with the 3D printer for the first time was one of the most coolest thing at Ejaadtech.
Not only did we printed motor holders but wheels were also 3D printed.
Now for people who can not make 3D models like me are dependent on websites like https://www.thingiverse.com for designs.
Baking ! |
3D Printed Wheel |
Once all the parts were attached, the robot was able to move in all directions.
Next step was to attach a sensor to detect the black line. The sensor is based on simple logic.
A number of bright LED are shone on the surface and LDR, Photo diode or Photo Transistor is used to detect the brightness. When the light falls on black surface, light is absorbed and hence less brightness recorded. Hence, by using an array of LDR or other one can detect the position of black line under the sensor.LDR gives a slow response and Photo-transistors are accurate but expensive and complex. Leaving photo diodes as most feasible option.
Sensor |
We also hooked up an IR sensor with our robot. This allowed us to control our robot manually, especially during our testing stage when you can start and stop it, instead of chasing a crazy robot.
Link to IR Library : https://github.com/cyborg5/IRLib
The Robot |
Our first approach was to convert the values from all sensor into a single value ranging between -100 to 100 or 0 to 100. And use that value to determine the position of the robot on the line. However, this did not work out quite well. So we then instead used values from the fewer transistors individually to determine the location of the robot and used that information to control our robot. This attempt was much more successful and we ended up with the working robot.
Special thanks to Sir Zaid Pirwani for his amazing mentor-ship and guidance. And for providing a great learning experience and a 'cool' internship opportunity.
Comments
Post a Comment