Thursday 24 March 2011

DUAL FULL-BRIDGE DRIVER L298

The L298 is an integratedmonolithic circuit in a 15-lead Multi watt and PowerSO20 packages. It is a
high voltage, high current dual full-bridge driver designed to accept standard TTL logic levels anddrive
inductive loads such as relays, solenoids, DC and stepping motors. Two enableinputs are providedto
enableor disablethe deviceindependentlyof the input signals. The emitters of the lower transistors of
each bridge are connected togetherand the corresponding external terminal can be used for the connection of an external sensing resistor. An additional supply input is provided so that the logic works at a lower voltage.



Progress between 18 October to 30 October 2010

The work plan highlighted of the preparation of the Presentation slide, preparation of final year project report which only consists of Chapter 1, 2, and 3 alongside with the preparation of the progress report. During this time period, In the preparation of the Presentation slide, The previous data and research about The miniature robot with Servo-powered legs is reviewed back. The Information gather is been review and extra research is done to gain better understanding about what is going to be presented. For Semester 1 in the final year project, students are required to completed the report of chapter 1, 2 and 3 which represent the Introduction, Literature Review and the Methodology. The progress report is more like a logbook but highlighted on the work being done and what problem that the student face doing the said work with the corrective action taken to counter those problems. The progress report will also enlist the work that must be done in the future and what to expect during the duration of this project.

Problem Faced
The presentation slide had cause a problem in the start as we had no idea on what is being assess in the presentation. The presentation is only 15 minutes and on what manner that this presentation is going to be.

Solution
After consulting with the advisor, the presentation slide as the main components of information transfer and the two accessors is going to be there at Gemilang Hall at the specific time which is being arrange by the final year project committee. The advisor also highlights us on what need to be in the presentation and prepared to answer predicted questions thrown by the accessors.

Progress between 20 September to 17 October 2010

During this time period, discuss with advisor, and make final prototype of robot. It had come during this time that the presentation slide for final year project presentation is also made. Final prototype robot which is have four (4) legs with using two (2) servo motor. The size of robot around 10cm x 7cm.

Problem Faced
The prototype had cause a problem. researcher had no idea on how to build the design of robot

Solution
The problem is handle by see advisor to get see advice from him and get some information from the internet.

Progress between 21 August to 19 September 2010

 During this period, we had focus on the hardware of the project that is the Development of miniature robot with Servo-powered legs. The hardware that are in focus during this period are the servo motor, check degree of freedom (DOF), and prototype of robot. During the research, Servos contain a small DC motor, a gearbox and some control circuitry, and feed on 5 volts at about 100mA maximum, and about 10-20mA when idle. They have a three-wire connector, one common wire (0 volt, usually black), one +5v wire (usually red), and one signal wire. In normal use they are controlled by pulses of about 1 to 2 milli-seconds at a repetition rate of about 50 per second. A short pulse makes the servo drive to one end of the travel, a long pulse makes it drive to the other end, and a medium one puts it somewhere proportionally between. Some servos have gear components that allow them to rotate continuously. Using a Radio Controlled (RC) servo for steering is a good method, because the position of the steering mechanism is determined by the length of the servo drive pulse, which can be generated by a software countdown loop or a hard-ware counter. If an RC servo is used as a drive motor, wheel motion sensors are needed on at least one wheel as in any DC motor system. The use of an RC servo for driving only simplifies the mechanics. In summary, servos are very small and precise motors. Degrees of freedom is a general term used to express dependence on parameters, and implies the possibility of counting the number of those parameters. In mathematical terms, the degrees of freedom are the dimensions of a phase space. Robot arms are often categorized by their degrees of freedom (typically achieving more than six degrees of freedom). This number typically refers to the number of single-axis rotational joints in the arm, where a higher number indicates an increased flexibility in positioning a tool. This is a practical metric, in contrast to the abstract definition of degrees of freedom which measures the aggregate positioning capability of a system.

Problem Faced
The selection of the hardware seems to take more that the proposed timeline. This is due to other assignments need to be carried out other than to focused on the project.
Solution
The problems is handle by speeding up the research pace for such using the common manufactured component available in the market that meet the specific requirement of this project. Cytron Technologies for example offer many sets of component with detail explanation on what can we can expect by their supplied components such as the users manual and the data sheet. They also make a couple of suggestion on what combination that those component fits in.

Progress between 18 July to 20 August 2010

During this time, the first meeting of final year student is held at dewan gemilang to give a brief explanation on the purpose of the final year project by the final year project committee. The meeting also explain the important dates that comes during the semester such as the dateline of the proposal, submission of reports and presentation day. After the meeting, students are required to choose the title of their final year project. The options are either choose the title that had been suggested by lecturers in the final year project portal or come up with the project of their own. After some research on the internet and couple of suggestion by others, development of miniature robot with Servo-powered legs to be a good project to begin with. Selection of advisor is then made and Sir Zukhairi Bin Mohd Yusof is to become their after advisor of the proposed project.A proposal explaining the proposed project is sent to the advisor to be reviewed and approved as a valid project. After getting the approval, the project will be proceeding to the next level that is the research.

Problem Faced
During this period, only one problem is faced, that is the selection of the title of the project. It had come that a room system is common these days and what can we added to the system to make it unique and worth the research for.

Solution
A unique value is found when we had a research in the Final year project portal as we look at the proposed title by the lecturers and title such as Development of miniature robot with Servo-powered legs is available. Therefore development of miniature robot with Servo-powered legs idea is develops.

Block Diagram


Block Descriptions:
·         PIC16F877A
As a brain for controller the robot. All program will be stored here.
·         Servo Motor
Servo is an automatic device that uses error-sensing feedback to correct the performance of a mechanism. The term correctly applies only to systems where the feedback or error-correction signals help control mechanical position or other parameters.
·         SC16A Servo Controller
It is designed to control 16 independent standard RC (Remote Control) servo motors
                  simultaneously in a single board.


Motor Controller

For motor controller using SC16A. SC16A offers reliable yet user friendly RC Servo motor controller to hobbyist and students. It is designed to control 16 independent standard RC (Remote Control) servo motors simultaneously in a single board. Each servo signal pin is able to generate servo pulses from 0.5 ms to 2.5 ms, which is greater than the range of most servos, further allows for servos to operate 180 degrees. Through serial communication, SC16A can be daisy chain in 2 boards to offer independent control over 32 RC servo motors simultaneously. The host of SC16A can either be a PC desktop, Laptop with USB port, or microcontroller with UART interface. Both USB and UART interface present a flexible, fast and easy to use feature. With USB, it is plugand play, user is able to get it running within 5 minutes time. It is designed with capabilities and features of:
16 channels: Servo driven independently
Extendable to 32 Channels: Two controller linked together to drive 32 servos
Optional Position Reporting: User may request position of an individual servo.
Optional Servo Ramping: Choose one of 63 ramp rate (speed rate) for each servo.
Sample GUI for computer*: User may control the servo via sample GUI software.
Resolution: 1.367us.
UART: 9600 baud rate
Servo pulse: 0.5ms to 2.5ms

PIC16F87

chip pinout PIC16F877A      
For use with a higher voltage supply, you will need to use a voltage regulator to convert the higher voltage to 5v.  The pins RB0-RB7, RC0-RC7, and RD0-RD7 are digital I/O pins.  The pins CCP1 and CCP2, which share locations with RC1 and RC2, can be used for a PWM signal (see DC Motor tutorial).  The pins AN0-AN7 are for analog I/O (see Photoresistor tutorial).  TX and RX are for debugging I/O (see Output Messages to Computer tutorial).  The remaining pins deal with power/ground, the clock signal, and programmer I/O.  A PIC is made of several “ports.” Each port is designated with a letter, RB0-RB7 are a port. RC0-RC7 and RD0-RD7 are a port as well. RA0-RA5 and RE0-RE2 are also ports, but with fewer pins. Some of these pins have special purposes, but most can be used as basic input/output pins. For example, you can set pin RB0 to be either an input pin, or an output pin. As an input pin, the digital voltage on the pin can be read in. For example, if RB0 is connected to ground (0v), then you would read a digital 0. If RB0 was connected to power (5v), then you would read a digital 1. On the other hand, if you wanted to set RBO as an output pin, you could choose to make RB0 either be 5v, or 0v. This can be used, for example, to turn off or on a LED, or to turn off or on a motor.

Robot with Servo-powered Legs

A Robot with Servo-powered Legs is basically a device walking with 4 legs. A servo motor is an electromechanical device in which electrical input determines the position of the armature of a motor. The design of Robot with Servo-powered Legs requires many components. The design and construction of it could be divided into 3 main parts, each with their main function. They are:
                                i.            PIC16F877A
                              ii.            Servo Motor
                            iii.            SC16A Servo Controller

Latest design ;)



From this picture, you can see the prototype of robot from side view, top view and front view. this design has get permision from my advisor ;)

Degree Of Freedom

Degrees of freedom is a general term used to express dependence onparameters, and implies the possibility of counting the number of those parameters. In mathematical terms, the degrees of freedom are the dimensions of a phase space. Robot arms are often categorized by their degrees of freedom (typically achieving more than six degrees of freedom). This number typically refers to the number of single-axis rotational joints in the arm, where a higher number indicates an increased flexibility in positioning a tool. This is a practical metric, in contrast to the abstract definition of degrees of freedom which measures the aggregate positioning capability of a system

More about servo motor

RC servos are composed of an electric motor mechanically linked to a potentiometer. Pulse width modulation (PWM) signals sent to the servo are translated into position commands by electronics inside the servo. When the servo is commanded to rotate, the motor is powered until the potentiometer reaches the value corresponding to the commanded position. Due to their affordability, reliability, and simplicity of control by microprocessors, RC servos are often used in small-scale robotics applications.
The servo is usually controlled by three wires: ground, power, and control. The servo will move based on the pulses sent over the control wire, which set the angle of the actuator arm. The servo expects a pulse every 20 ms in order to gain correct information about the angle. The width of the servo pulse dictates the range of the servo's angular motion. A servo pulse of 1.5 ms width will set the servo to its "neutral" position, or 90°. For example a servo pulse of 1.25 ms could set the servo to 0° and a pulse of 1.75 ms could set the servo to 180°. The physical limits and timings of the servo hardware varies between brands and models, but a general servo's angular motion will travel somewhere in the range of 180° - 210° and the neutral position is almost always at 1.5 ms.

The Difference Between Stepper Motors andServos

Stepper motors:
A stepper motor's shaft has permanet magnets attached to it. Around the body of the motor is a series of coils that create a magnetic field that interacts with the permanet magnets. When these coils are turned on and off the magnetic field causes the rotor to move. As the coils are turned on and off in sequence the motor will rotate forward or reverse. This sequence is called the phase pattern and there are several types of patterns that will cause the motor to turn. Common types are full-double phase, full-single phase, and half step. To make a stepper motor rotate, you must constantly turn on and off the coils. If you simply energize one coil the motor will just jump to that position and stay there resisting change. This energized coil pulls full current even though the motor is not turning. The stepper motor will generate a lot of heat at standstill. The ability to stay put at one position rigidly is often an advantage of stepper motors. The torque at standstill is called the holding torque.Because steppers can be controlled by turning coils on and off, they are easy to control using digital circuitry and microcontroller chips. The controller simply energizes the coils in a certain pattern and the motor will move accordingly. At any given time the computer will know the position of the motor since the number of steps given can be tracked. This is true only if some outside force of greater strength than the motor has not interfered with the motion.An optical encoder could be attached to the motor to verify its position but steppers are usually used open-loop (without feedback). Most stepper motor control systems will have a home switch associated with each motor that will allow the software to determine the starting or reference "home" position.


Servo motors:
There are several types of servo motors but I'll just deal with a simple DC type here. If you take a normal DC motor that can be bought at Radio Shack it has one coil (2 wires). If you attach a battery to those wires the motor will spin. See, very different from a stepper already!. Reversing the polarity will reverse the direction. Attach that motor to the wheel of a robot and watch the robot move noting the speed. Now add a heavier payload to the robot, what happens? The robot will slow down due to the increased load. The computer inside of the robot would not know this happened unless there was an encoder on the motor keeping track of its position.So, in a DC motor, the speed and current draw is a affected by the load. For applications that the exact position of the motor must be known, a feedback device like an encoder MUST be used (not optional like a stepper).The control circuitry to perform good servoing of a DC motor is MUCH more complex than the circuitry that controls a stepper motor.

Servo motor

A servo mechanism or servo is an automatic device that uses error sensing feedback to correct the performance of a mechanism. The term correctly applies only to systems where the feedback or error correction signals help control mechanical position or other parameters. For example, an automotive power window control is not a servomechanism, as there is no automatic feedback which controls position the operator does this by observation. By contrast the car's cruise control uses closed loop feedback, which classifies it as a servomechanism. A servomechanism is unique from other control systems because it controls a parameter by commanding the time based derivative of that parameter. For example a servomechanism controlling position must be capable of changing the velocity of the system because the time-based derivative (rate change) of position is velocity. A hydraulic actuator
controlled by a spool valve and a position sensor is a good example because the velocity of the actuator is proportional to the error signal of the position sensor. A common type of servo provides position control. Servos are commonly electrical or partially electronic in nature, using an electric motor as the primary means of creating mechanical force. Other types of servos use hydraulics, pneumatics, or magnetic principles. Usually, servos operate on the principle of negative feedback, where the control input is compared to the actual position of the mechanical system as measured by some sort of transducer at the output. Any difference between the actual and wanted values (an "error
signal") is amplified and used to drive the system in the direction necessary to reduce or eliminate the error. An entire science known as control theory has been developed on this type of system. Today servomechanisms are used in automatic machine tools, satellite-tracking antennas, remote control airplanes, automatic navigation systems on boats and planes, and antiaircraft-gun control systems. Other examples are fly-by-wire systems in aircraft which use servos to actuate the aircraft's control surfaces, and radio-controlled models which use RC servos for the same purpose.

Proposal untuk final year projek

Pada 1 ogos 2010, proposal untuk fyp telah bermula :-) untuk menyiapkan proposal itu mengambil masa lebih kurang 2 minggu untuk ditunjukkan kepada penasihat projek iairu Sir Zulkhairi. Proses untuk membuat proposal itu agak rumit kerana memerlukan beberapa penambahan bagi memenuhi permintaan dari penasihat saya. "its ok sir, saya akan buat mengikut "spesifikasi" yang sir mahukan :-).. ini juga untuk proses pembelajaran saya ;-).