Light Sensor Robot
This project was to create a microcontroller circuit and the program to read at least one input that will affect the behaviour of the circuit and outputs accordingly using a microcontroller PIC18F4550 chip and PicKit2.
The main function of the circuit is to use the infrared sensor to measure the distance between the robot and objects with LEDs flash according to the distance being read, when there is no object detected the green LED is on, as the object gets closer the green LED flashes, then it goes to a red LED flashing as the object gets closer and finally the red LED remains on, at this point the motors will stop and one motor will move to make the robot turn and the process begins again. |
The Sharp GP2D12 is an analogue sensor that measures the distance between two objects using infrared, with a range of 10cm – 80cm, produces a non-linear voltage output in relation to the distance between two specific objects and can be interfaced with the circuit using an analogue to digital converter.
Overall this project worked as expected, it measured the distance using the sensor and the motors and LEDs reacted accordingly to the values read by the sensor. There are a few improvements that could be made to this project to make it better in many ways, first is the addition of more outputs, such as speakers or a 7-segment-display showing the distance, also to use an ultra-sonic sensor instead as it will allow for more precise readings and a wider cm range, also different motor speeds or positions could be incorporated with the 4 different LED states or even more could be included. More advanced features that could be added such as a camera with image processing or USB interfacing and maybe Bluetooth connections so the data could be sent to another device
Pioneer Robot using Linux and C
It was required for this group project to program the Pioneer robot to move forwards and with the robot arm attached to the front, move any object within the robots path aside, making a clear path for the Pioneer to move through.
The images below show the Pioneer robot with arm attached
The images below show the Pioneer robot with arm attached
Programmable Logic Controller (PLC) Project
This project was to develop an automation solution using PLC, vision and a robot arm to place items in the correct bucket once they have been through the PLC system for an industrial application. Working in a team of three, I was responsible for the creation of the PLC control system, to read the material of the item and send it down the correct path, controlling the conveyor belt, the path arms/barriers and all other required aspects of the PLC system. The other two members worked on the vision system and the robot arm.
The process for this PLC system is as follows:
- Network 1: Press the green start button and turns on the conveyor. Sets dispenser onto top conveyor and starts 1 second timer. starts bottom conveyor.
- Network 2: Waits then turns of dispenser motor.
- Network 3: 6 on and 5 off means there is metal under the material sensor and sets the dispenser to let another piece onto the top conveyor. Will close the metal shute and start coundown timer to turn it off.
- Network 4: Resets the top converyor dispenser motor after timer.
- Network 5: Turns off metal shute motors after timer. Dispenses the previous metal piece into waiting area and sets variable for the DAQ card.
- Network 6: Turns off the metal meotr after it has gone into waiting area.
- Network 7: Rests the metal piece dispenser and dispenses the peg onto the bottom conveyor.
- Network 8: Rests peg conveyor.
- Network 9: 6 off and 5 on means there is a plastic bit under the material sensor, turns on plastic shute and starts timer. Resets the DAQ card output.
- Network 10: Turns off theplastic shute.
- Network 11: Turns off the dispenser.
- Network 12: Resets the plastic dispenser and dispenses a peg onto the bottom of the conveyor.
- Network 13: Resets the peg motors.
Cybernetics assignment - P.I.D Control
A second order system is a simple system that calculates and shows oscillations and the overshoot of the system. The simplest way to describe the workings of a second order system is to use an example of a plane manually controlled by a pilot, if the plane is flying at a steady altitude and the pilot suddenly changes this altitude, the plane will have a steep change in altitude before it gradually steadies out again. The new steady state of the altitude will be higher than the previous steady state. The second order system is also most commonly used in mechanical systems when there is a requirement to find the relation between the force and mass.
It was required for this assignment to experiment the second order system through the use of a motor, whose speed is determined through a computer system, the motor must be able to move to a desired position and use the feedback to verify its position.
It was required for this assignment to experiment the second order system through the use of a motor, whose speed is determined through a computer system, the motor must be able to move to a desired position and use the feedback to verify its position.
This circuit works in the following way, when the input signal has been set via the computer through the DAQ card, to the desired angle, it is amplified and the motor runs to the required angle, this will make the output potentiometer move to show the same speed as the input signal on the computer.
In conclusion it seems that the circuit reacted and produced the expected results, the results graph showed a fairly high percentage of overshoot, however, that was decreased on the Matlab graph after the transfer function was taken into account. Even though the damping was greatly increased from the first results taken from the oscilloscopes to the results of the graph in Matlab, if this was a real time systems, it would be encouraged to add a dampening to enable the overshoot to be next to completely eliminated, this would cause the system to run much smoother and give a much smoother result, this as previously stated would be done via the Ziegler-Nichols theory.
The images below show some of the results gained, before and after the implementation of the Ziegler-Nichols calculation.