Wednesday, 18 July 2012

Getting started with microcontrollers

What you will need to program microcontroller
In the late 1970s and early 1980s, the cost of equipment for developing microcontroller-based systems was beyond the reach of most small companies. Now, however, there are many high school students already developing exciting PIC projects.
To get started you will need the following equipment and documentation:
• One or more PIC16C84s or PIC16F84s (the ’83 devices will also suffice)
• A Personal Computer running Windows 3.1 or Windows ’95.
• A copy of the latest MPLAB software available free of charge from Microchip Technology Inc.
• PIC microcontroller data sheets and application notes available free of charge from Microchip Technology Inc.
• A PICStart-Plus programmer. Programmers available from third party manufacturerswhich support the PIC devices will also be suitable.
• A circuit breadboard or similar means of circuit construction.
• A 5V DC power supply.
• Some light emitting diodes (LEDs), resistors and some 32kHz crystals.
• Test equipment such as a digital multimeter and an oscilloscope (not essential).
What makes a microcontroller useful?
PIC microcontroller
A microcontroller (or microprocessor) can be viewed as a set of digital logic circuits integrated on a single silicon ‘chip’ whose connections and behaviour can be specified and later altered when required, by the program in its memory. The great advantage of this, is that in order to change the circuit’s structure and operation, all that is needed is a change in the program – very little, if any, circuit hardware modifications are necessary. An alternative view is that a microcontroller is a state machine whose logic states are defined by its program. A microprocessor is the Central Processing Unit (CPU) of a computer and a microcontroller can be regarded as a microprocessor designed specifically for use in applications where machines such as automobile engines or washing machines are to be controlled. Often the distinction between microprocessors and microcontrollers is quite blurred, as there is considerable overlap these days in the classification of different types of computing devices. A typical microprocessor is a device used in workstation computers, whereas a microcontroller is usually less powerful and has special features such as PWM (pulse width modulation) and timer devices integrated on the IC specifically for use in the applications mentioned above.
Simplified operation of a microcontroller
Humans perform arithmetic using a decimal or base ten numbering system. Computers use a base two system with the digits 0 and 1 and, because there are only two possibilities, they are termed binary digits or bits for short. There are many ways of representing a binary set of states,
for example
• a mechanical or electronic switch with two states — on or off
• opposite directions of current or fluid flow
• two different pressures
• a positive and a zero voltage.
 
In digital electronic circuits, the last choice is the most natural. Circuits implemented using TTL (Transistor-Transistor Logic) technology use 5V to represent the binary value 1 and a zero voltage to represent 0. The circuits discussed in this book, although not TTL circuits, will use the approximately the same representation. To provide some robustness to the representation, voltages above 3.5V will be taken to represent a logical 1 and those below 1.5V to represent a logical 0. Readers new to the subject of digital electronics are urged to consult one of the many excellent books available on the subject,
A simple microcontroller consists of the following modules:
• An Arithmetic Logic Unit (ALU)
• One or more working registers (called accumulators in the past) for temporary storage during computations. A register is a small block of memory, often the size of a byte, where data is stored.
• Program memory (ROM) and data memory (RAM).
• A program counter.
• An instruction register with instruction decoder.
• The control unit.
• A stack.
 
The ALU is responsible for performing all arithmetic operations such as addition, subtraction and Boolean logical operations, including exclusive-or and bit shifting. Multiplication and division is usually accomplished by repeated use of addition or subtraction, but some devices (such as the PIC17CXX series) have hardware multipliers. The working registers are used by the ALU as temporary ‘scratchpad’ memory, for example, for holding intermediate results of arithmetic operations. A program is a set of sequential operations on data. The program memory is an area of memory where the actual sequence of instructions which make up the program is stored. Data memory is an area of memory where data such as the value of constants are kept for use by the program during its execution. The program counter is a register used to store the address of the next instruction to be executed. Because the program consists of instructions stored sequentially in program memory, the address of the next instruction is obtained by simply incrementing the number (that is, the address), contained in the program counter.
 
The instruction register contains the actual binary instruction that needs to be executed. The instruction decoder takes the binary instruction and decodes it to determine what operation the instruction must perform and which data it must use. The control unit controls the timing and sequencing of all operations necessary to correctly schedule and execute instructions. While an instruction is executing, the next instruction is fetched from the program memory and placed in the instruction register with help from the program counter. The instruction decoder then decodes the instruction and it is executed when the next execute cycle occurs.
 
The stack is an area of memory used to keep track of the contents of the program counter when subroutines are called. When data is written to the stack, it is stored at the ‘top’ of the stack. This operation is referred to as pushing data onto the stack. When data is removed from the top of the stack, the stack is said to be popped. A subroutine is a block of program code that performs a calculation or operation that the main program needs to do a number of times. Instead of repeatedly inserting the block of code at each position in the main program where it is needed, the subroutine is called when required. When a subroutine is called, the return address (that is, the address of the next instruction that must be executed when the subroutine terminates), is pushed onto the top of the stack. In other words, the program counter is first incremented to specify the address of the next instruction to be executed after subroutine completion and then its contents are pushed onto the stack. The address of the beginning of the subroutine is then loaded into the program counter so that it can be executed. When subroutine execution is complete, the top of the stack is popped and the address of the next instruction is loaded into the program counter again, so that the program can continue where it left off before the subroutine was called.

Emergency Light circuit

The idea for this circuit came when I was repairing my aunt’s emergency light. Bulb based emergency lighting has a low efficiency and ultrabright l.e.d.s provide greater efficiency and more illumination, with a much extended battery life. It was therefore decided to change from a 12V light bulb to a pack of l.e.d.s. To get constant light, a constant voltage technique was adopted, using the circuit in Fig.2. For more power saving, step-down switching is used in preference to step-up. This function is provided by IC1 in conjunction with diode D3, inductor L1 and capacitors C3 and C4.

Emergency Light circuit
Emergency Light circuit
The resulting output is a stable 5V and powers the 12 ultrabright yellow l.e.d.s D4 to D15. The l.e.d.s are grouped in pairs, each pair buffered by a resistor, R4 to R9. Diode D3 is a high-efficiency type – do not change it to a 1N4000 series type as they are less efficient in this role.
The network consisting of R1 and D1 is a power-on indicator. The network around VR1, TR1, R2, R3 and D2 is a low-battery indicator. Preset VR1 should be adjusted until l.e.d. D2 turns on when the battery voltage is low. Inductor L1 should be a toroid type in order to reduce radiated r.f. interference caused by the switching regulator IC1. It should be glued to the circuit board to prevent it from vibrating. A small heatsink should be fitted to IC1. The circuit efficiency was found to be around 80%, i.e. about 10% better than with the step-up switching technique. The circuit operates for about four times longer than the bulb-based one in respect of battery life.

How to Buy project:

How to Buy project:


1) How will I get the project?
How will the project come to my address?
For Students in Jalgaon: You can collect project by hand from Jalgaon. You can send your friend or relative You can collect project by hand from jalgaon
For Students outside Jalgaon: Project will be sent by courier.

2) When will be project delivered to my address?
How many days will it take to reach project to me?
After how many days of receiving the advance you will send the project?

Courier delivery time depends on your City. If it a metro / major city then you will get it within 3 days. But for other cities it may take upto 5 days.


3)What about courier charges ?
Courier charges are included in the project cost.

4) How should I make the payment
Payment: You have to make payment by depositing cash\cheque in SBI bank.
You have to make payment in advance.

5) What is the Procedure to place order for 8051 based project.
What is the procedure to place an order ?
Answer: You have to make advance payment to book a project.
Advance payment can be done in any branch of SBI bank.
You can deposit cash/cheque in my SBI bank account.

6) Does the project/PCB contain your name or any other branding on its body/PCB?
Does these projects looks like they are made by students?
We don"t print our name or any information on PCB or body of the project. All our projects looks like they are made by students.

7) What will I get in this project?
You will get fully assembled, tested project. Along with circuit diagram, PCB layout and microcontroller program.You will also get a soft copy of Project Report

8) Can you send project by COD(Courier-on-Demand) or VPP Parcel ?
Sorry, we don"t send project by COD or VPP, you have to make the advance payment.


For more information contact me for all project as per ur Demand

contact me :- magicdoll.shinde2@gmail.com              or        ph:-  8421346407

Password Based Door Locking

 
 Description:
Main concept behind this project is of a door-latch opening using a password entered through keypad. As well as sending this data to a computer through serial port. User can change this password anytime he/she wish using a keypad 

 
Description:
It mainly consist of following blocks
1. Microcontroller: This is the CPU (central processing unit) of our project. We are going to use a microcontroller of 8051 family. The various functions of microcontroller are like: I. Reading the digital input from Keypad II. Sending this data to LCD so that the person operating this project should read the password III. Sensing the password using keypad and to check whether it is a correct password or a wrong password and rotate the stepper motor if the password entered is a correct password. IV. Sending the data to the computer using serial port. This data consist of the status of entered password (Correct/wrong)
2. LCD: We are going to use 16x2 alphanumeric Liquid Crystal Display (LCD) which means it can display alphabets along with numbers on 2 lines each containing 16 characters.
3. PC Interfacing: We are going to use max 232 IC for pc interfacing, the values of number of persons inside the room and the status of entered password (Correct/wrong) will be sent to pc.
4. Keypad: User will enter the password using the keypad. Various keys of keypad are as following,
I. 0 to 9
II. Enter
III. Escape
Tags:  Door access system, Digital code lock, Keyless entry to home  

Project Cost :    Rupee 6,000/- 

contact me :- magicdoll.shinde2@gmail.com              or        ph:-  8421346407



Solar Tracking System

Description:
Solar is a non conventional source of energy, considering this we have developed solar panels so that we can fulfill our electricity need. But due to revolution of the earth, solar source i.e sun does not face the panel continuously hence less electricity is produced. The energy panel should face the SUN till it is present in a day.
The problem above can be solved by our system by tracking the solar energy. The block diagram below shows system architecture it consist of a LDR sensor senses max solar power which is being given to the Microcontroller through the ADC which digitizes the LDR output. Controller then takes the decision according to then algorithm and tilts the panel towards the direction of the max energy given by LDR with the help of DC Motor . The Motor is used to rotate the LDR to sense the max solar power.
PC interfacing module is used to give the feedback to the system monitoring unit. 
 Solar Tracking System 

Description in detail:
On the monitoring station which receives the data send by the system. This data is logged into the PC. The RS232 converter is used to connect the microcontroller to PC which convert PC"s CMOS level to Controller"s TTL level n vice versa.
Limit sensors or Touch sensors are provided to sense the starting and ending position of the solar panel.
Keypad is provided to adjust the starting position of the solar panel. 

Project Cost :    Rupee 8,000/- 

contact me :- magicdoll.shinde2@gmail.com              or        ph:-  8421346407

Mobile Control Robot - Cell phone operated Land rover

Description: 
Mobile Controlled Robot 
In Cell phone Robot project, we need two mobile phones. The "mobile controlled robot" is controlled by a mobile phone that makes a call to the another mobile phone attached to the robot. In the course of a call, if any button is pressed, a tone corresponding to the button pressed is heard at the other end of the call. This tone is called "Dual Tone Multiple-Frequency" (DTMF) tone. The robot perceives this DTMF tone with the help of the phone stacked on the robot. The received tone is processed by the microcontroller with the help of a decoder IC. The microcontroller then transmits the signal to the motor driver ICs to operate the motors.










Mobile Controlled Robot

Description in detail:
On Cell phone robot we have mounted a 12V battery as the power supply for the circuit and the motors.
When the user calls the mobile which is mounted on the robot the call is received by auto-answer mode.
As the call continues when the user presses a button on his handset the tone that is generated is decoded by the DTMF decoder and the command is passed to the microcontroller which is pre-programmed.
The Microcontroller then passes the command to the motor driver ICs for motion.

Applications of Cell phone controlled robot

1) "Cell phone controlled robot"can be used in the borders for disposing hidden land mines.
2) The robot can be used for reconnaissance or surveillance.
3) The robot can be used anywhere there is the service provider tower of the connection provided that is mounted on the robot.
4) The robot is small in size so can be used for spying.

Photographs of Cell phone operated land rover Project:

  Mobile Control Robot                   Cell phone Operated Robot


Cell phone controlled Robot                       Mobile Controlled Landrover   




You will get a CD with this project:
CD contains following things:

1) Project Report
2) Circuit diagram
3) PCB layout
4) Microcontroller program in assembley language
5) Hex file of the microcontroller code
6) Datasheets of all the components / ICs used in the project

Project Cost :    Rupee 5,500/- 

contact me :- magicdoll.shinde2@gmail.com              or        ph:-  8421346407

AVR Development Board

Description:
This AVR development board is designed for beginners.
This product is a must for those who are using AVR for first the time and planning to learn the AVR thoroughly.

While using this Kit, you will come to know that learning AVR is a fun.
But for this you will need Programmer, Hardware, Softwares and Sample source codes, this development board covers all of these.

This AVR development board is targetted for ATmega16 and ATmega32.
You will get sample source code in C language for AVRs.

List of modules:
Using this board you can interface AVR with following On-board circuits:
    1) LEDs
    2) 16x2 LCD
    3) Stepper Motor Driver
    4) 8 bit ADC
    5) RS232
    6) Temperature Sensor
    7) EEPROM
    8) 4x4 matrix keypad
    9) DC Motor Driver
And any externally connected interface circuits