Escolar Documentos
Profissional Documentos
Cultura Documentos
Date:
A PROJECT REPORT ON
BHARATI VIDYAPEETHS COLLEGE OF ENGINEERING FOR WOMEN PUNE 411043 APRIL 2011
ACKNOLEDGEMENT
First, we would like to express our best regards to our project guide Prof. M.S.Kasar, whose valuable guidance, encouragement, and provision of necessary facilities made this work possible. We are also thankful to our respected Head of the Department Mrs. S.T.Khot whose help and shared knowledge was the main support to complete our project. Many thanks are owed to our classmates for their useful discussion and timely suggestions. Their technical support and encouragement helped us to finalize our project. Our special thanks to Mr. S.H. Deshmukh who helped us a lot through the problems we came across. We are absolutely grateful to all non-teaching staff for their assistance which is key factor behind our success. We would also like to express our gratitude towards the college for providing us with the best facilities and proper environment to work on our project. Finally we offer our great thanks and regards to our family for their support which helped us through the difficulty and hardships of life to earn this achievement.
Project Team Ms. Nawale Tejashree L. Ms. Shinde Supriya S. Ms. Tiwari Neha D.
CONTENTS
TITLE INTRODUCTION SPECIFICATIONS CIRCUIT SPECIFICATION ELECTRICAL SPECIFICATION MECHANICAL SPECIFICATION LITERATURE SURVEY BLOCK DIAGRAM BLOCK DIAGRAM DESCRIPTION MODULE WISE DESIGN INTERRUPT MODULE SPEED OF LEDS MICROCONTROLLER REACTANCE TIME
PAGE NO. 1 2 2 2 2 3 5 6 7 9 10 11
5.4 6. 7. 7.1 8. 9. 10. 11. 11.1 11.2 11.3 12. 13. 14.
POWER SUPPLY MECHANICAL ASSEMBLY CIRCUIT DIAGRAM WORKING ALGORITHM FLOWCHART PROGRAM PCB LAYOUT PCB MAKING STEPS FOR PCB DESIGNING ASSEMBLY OF COMPONENTS ON PCB TROUBLESHOOTING MANNUAL BILL OF MATERIALS ADVANTAGES
12 13 14 15 16 17 18 25 26 27 27 27 28 30
30 31 34 35
INTRODUCTION
This project is a special kind of circular LED display. With the help some mechanical assembly, LED count, hardware requirement, and hence overall cost is cut to very affordable price. Also, maintenance and repairing of the display is so easy, that anyone having a little electronics knowledge can take care of this. All the synchronizing can be implemented through software. First of its kind, made using the 40-pin 8051 series microcontroller, this project use the principle of Space Multiplexing. This propeller display is mechanically scanned and displays the characters in digital format. Made from scrap it can be used anywhere and everywhere and the most amazing fact about this display is its crystal clear display. This display consists of just 8 bright LEDs which are rotated to show the display. For building this project, requirement is just a small 40 pin microcontroller, a position encoder, and LEDs. This display can show the messages, which will require a whopping 525 LEDs. So hardware and cost minimization is achieved.
SPECIFICATIONS
SPECIFICATION OF THE SYSTEM: 8-bit microcontroller AT89V51RD2 with flash program memory. Interrupt sensor MOC 7811. DC motor with 1975 RPM. +5V power supply using IC 7805.
SPECIFICATION: MICROCONTROLLER AT89V51RD2: 64KB flash program memory. 1Kb of data RAM. 5V operating voltage from 0 to 40 MHZ. Four 8-bit I/O ports with three high-current port 1 pins (16Ma each). Support 12 clock or 6-clock mode selection via software or ISP. INTERRUPT SENSOR (MOC 7811): Photo Gap Detector Output Circuit Type=Transistor Mounting hole diameter: 3mm Mounting hole spacing: 19mm Slot width: 3mm Slot depth: 7mm I (F) Max. (A) Forward Current=50mA I(O) Max.(A) Output Current=1.9mA DC MOTOR: Tape recorder motor. Input voltage: + 12v. Current capability: 750mA RPM: 1975/min ELECTRICAL SPECIFICATION : Fixed regulated power supply. Output voltage rating: +12V. Short circuit protection.
MECHANICAL SPECIFICATION: PCB size: 8cm x 5cm Enclosure size: 18cm x 10cm
LITERATURE SURVEY
The reference support that the circuit diagram and other related information taken from
BLOCK DIAGRAM
Basic blocks of PROPELLER LED DISPLAY are: 1. Interrupter Module 2. Microcontroller 3. LED module 4. DC motor 5. DC power supply
Interrupter Module
Interrupter module is our sensor module, consisting of the IR interrupt sensor MOC7811, from Motorola Inc. This sensor was selected from a variety of other alternatives, because of its small size, precise interrupt sensing, and sturdy casing. One great advantage of using this module is, interfacing it with the microcontroller is just a matter of two resistors and a general purpose transistor.
Microcontroller AT89V51RD2
This project is based around the microcontroller AT89V51RD2, which is a derivative of 8051 family, from Atmel Inc. This is a 40 pin IC packaged in DIP package. This small sized IC is used, mainly because of its reduced weight. This improves the performance of the display, because reduced weight gives advantage of increased RPM.
LED MODULE
LED module consisting of 8 bright LED is fixed in another side of the arm of our project. These LEDs are connected with each of the port pin of microcontroller, with a series current limiting resistor of 470 ohm.
DC Motor
Repeated scanning of the display is must for continuous vision. This task is achieved using circular rotation of the whole circuit assembly. So, we used a DC motor as the prime mover.
DC Power Supply
For microcontroller, as well as the DC motor, a regulated DC power supply is required. We have to provide +5V to the microcontroller, while +12V to the motor.
MODULEWISE DESIGN
INTERRUPT MODULE This device has a compact construction where the emitting-light sources and the detectors are located face-to-face on the same optical axis. The operating wavelength is 950 nm. The detector consists of a phototransistor.
FEATURES Compact construction No setting efforts Polycarbonate case protected against ambient light 2 case variations 3 different apertures
CIRCUIT DIAGRAM:
R1:
R1 is dimensioned that on the sender a current of about 15mA flows. R1=5V Vled / I led =5V- 1.6V/ 15mA = 227 An available value is 220.
Rc, Rb: Rb limits the base current of the transistors. Rc sets the output current which this circuit can deliver. On the microcontroller the input resistance of a pin is very high, i take a value of 10k.
Now we can calculate the collector current. I C=5V/Rc =5V/10k =500 A The gain of the transistor 2N3904 with a collector current of 500A is about 300. We can calculate the required base current now. I B= I C/ =500A/200 =1.6A
Basis resistor Rb: Rb=5V/I B =5V/1.6A =3.1 M=310 k To bring the transistor to saturation for Rb we are selecting value of 310 k.
The rotational speed of the LED's affects directly how many pictures can be displayed in a second. This corresponds to the frame rate. On a modern TV, the frame rate is 100Hz. The more frame rate, the less flickering of the picture. Because on the Propeller Display the picture is scanned mechanically, it is not easy to achieve high frame rates. For me it isn't possible to mechanics that can rotate the LED's 100 times a second.
The propeller has to be very well balanced to keep vibrations as low as possible and keep the speed of the rerating LED's as high as possible. How fast are the LED's when a picture is displayed with a frame rate of 25Hz? Here is the Calculation.
Acceptance: f = 25Hz (Frame rate) r = 20cm (Radius from centre of rotation to the LED's) u=2 r =20.2m3.141=1.256m v= f u3600=251.256m3600=113.040 m/h =113.04 Km/h.
Acceptance: f = 25Hz (Frame rate) r = 6 cm (Radius from centre of rotation to the LED's) u=2r =20.06m3.141=0.3769m v= f u3600=250.3769m3600=33921m/h =33.921km/h
We see that already a slow frame rate of 25Hz generates very high speeds on the LED's. The bigger the radius of the display, the bigger is the speed and more vibrations accure.
Depending of the rotational speed of the LED's and the resolution of the display the Microcontroller has to be quick enough to switch the LED's on and off in an acceptable time. Here is a calculation of the minimum, the microcontroller has to react.
Acceptance: f = 25Hz (25 frames in a second) r = 6cm => u = 0.3769m ILED = 5mm (Vertical distance between the LED's) In order that a nice clean picture is originated, the horizontal and vertical distance from pixel to pixel or LED to LED should be the same.
We calculate the number of displayable pixels on the horizontal axis. PixelCountHorizontal = u/lLED =0.3769/0.005m =75.3 76 The most speed of the microcontroller is needed when a LED is toggled every time. This Corresponds to a bit pattern of 101010101... When this bit pattern can be displayed, every Other bit pattern/picture can be displayed without problems.
POWER SUPPLY:
5V Regulator For the 5V supply i took a LM7805 fixed 5V regulator. Beside the regulator itself some Capacitors at the input and output are required. The values of the capacitors are taken from the datasheet. Maximal output current is 1A.
Min Input for 7805 is = Drop across IC 7805 + Required Output voltage = 3 V+ 5V =8 So at Input of 7805 we required 8 V with margin. So we are using +9V battery to supply power to the circuitry.
MECHANICAL ASSEMBLY
Mechanical assembly plays a vital role in proper functioning of this project. The display is scanned each time, by rotating the whole assembly in a circular path. The basic idea we developed is on our own, by implementing and modifying different ways to do this. Following diagram shows the most reliable way, that we finally selected.
Here, one major challenge was how to bring +5V supply to the spinning circuit. We tried the same by adopting two-three different methods, but finally concluded on the method, as shown in the figure. As seen in the diagram, one supply connection (GND) is provided through the motors shaft. Other terminal (Vcc) is connected, by arranging a friction disc-brush arrangement. The brush keeps its contact with the disc, so that current can be supplied. Most critical objective was to achieve pristine balance and overall good mechanical strength. For weight adjustment, we have provided one long screw, and weight can be attached or removed by adding / removing metallic bolts. If the assembly is balanced perfect, then it can achieve stability, and rotate at high RPMs too. This will improve the overall efficiency of this display.
CIRCUIT DIAGRAM
CIRCUIT DISCRIPTION:
The circuit diagram is mainly consisting of three parts and these are as follows: 1. Interrupt module 2. LED module 3. Microcontroller In our circuit diagram interrupt module is used for synchronization purpose, and it requires +5V power supply. We use IC MOC 7811 as a position encoder as its sensing power is high as compare to other IC's. And output of interrupt module is taken from collector of 2N3904 transistor and connected to pin INT0 of microcontroller. The transistor 2N3904 is NPN complimentary type transistor to invert output of MOC7811 sensor.
Microcontroller is heart of our circuitry. The output of interrupt module circuit is given to INT0 pin of port 3. Port 1 is used as output port. LED is connected from port 1.0 to port1.7. We use a foldable metal strip to provide an external interrupt to microcontroller. An interrupt module consists of IR LED and Photodiode mounted facing each other enclosed in plastic body. When light emitted by the IR LED is blocked because of some completely opaque object, logic level of the photo diode changes. As we provide power supply to DC motor, it starts to rotate and when the strip passes through the sensor then it gives the 0V at output. The output of sensor is +5V when there is no interrupt. According to an external interrupt the microcontroller decides to ON and OFF of the LED's.
SOFTWARE DESIGN
ALGORITHM
1. Start. 2. Load proper value in IE register, so that the interrupts INT0 and T0 are enabled. (IE = 83H) 3. Offer higher priority to the INT0 (External) interrupt. (IP = 01H) 4. Configure timer 1 as 16-bit timer, and timer 0 as 8-bit auto reload mode timer. ( TMOD = 12H) 5. INT0 should be configured as edge interrupt. (IT0 = 1) 6. Configure port 3 as input port. (P3 = 0FFH) 7. Measure period of one revolution with T0 8. Stop the timers 9. Move th1 and tl1 into convenient registers. 10. Divide this 16 bit value by our total number of segments 11. Subtract the answer from 256, and load the result in th0. 12. After each timer overflow interrupt, display next value from look up table. 13. Start the timers. 14. Return from interrupt. Go to step 7.
FLOW CHART
CODE
; $include (reg51.inc) ; T0 interrupt Org 000h Ajmp main
Org 230h Lookup: DB 10000010b,01111100b,01111100b,01111100b,10000010b,11111110b,1011110b,000000 00b,11111100b,11111110b,10111100b,01110010b,01110100b,01101100b,10011100b DB 01111010b,01111100b,01011100b,00101100b,01110010b,11100110b,11010110b,10110 110b,00000000b,11110110b,00001100b,01101100b,01101100b,01101100b,01110010b DB 10000010b,01101100b,01101100b,01101100b,11110010b,00111100b,01111010b,01110 110b,01101110b,00011110b,11100000b,00001100b,01101100b,00001100b,11100000b DB 10011110b, 01101100b, 01101100b, 01101100b, 10000010b
DB 00000000b,01111100b,01101100b,01101100b,01100000b,00000000b,11101110b,11101 110b,11101110b,00000000b,11111110b,01111100b,00000000b,01111100b,11111110b DB 11111010b,01111100b,00000010b,01111110b,11111110b,00000000b,11101110b,11010 110b,10111010b,01111100b,00000000b,11111100b,11111100b,11111100b,11111100b DB 00000000b,01111110b,11001110b,01111110b,00000000b,00000000b,10011110b,11101 110b,11110010b,00000000b,00000000b,01111100b,01111100b,01111100b,00000000b DB 00000000b,01101110b,01101110b,01101110b,10011110b,10000010b,01111100b,01110 100b,01111000b,10000000b,00000000b,01101110b,01100110b,01101010b,10011100b DB 10011000b,01101100b,01101100b,01101100b,10110010b,01111110b,01111110b,00000 000b,01111110b,01111110b,00000000b,11111100b,11111100b,11111100b,00000000b DB 00000110b,11111010b,11111100b,11111010b,00000110b,00000010b,11111100b,11110 010b,11111100b,00000010b,00111000b,11010110b,11101110b,11010110b,00111000b DB 00111110b,11011110b,11100000b,11011110b,00111110b,01111000b,01110100b,01101 100b,01011100b,00111100b,11111111b,11111111b,11111111b,11111111b,11111111b,
; Main Function Org 0100h Main: Mov ie, #83H Mov ip, 01H Mov tmod, #12H Mov th0, #00h Mov tl0, #00h Setb it0 Mov p3, #0FFh
Acall ramc Mov th1, #00h Mov tl1, #00h Setb tr0 Setb tr1 Here: ajmp here
Interr: T0 interrupt Cjne r6, #0ffh, sk Mov r6, #00h Acall disp Sjmp sk1 sk: Mov r6, #0ffh sk1: Clr tf0 RET
; EXT0 interrupt interr1: Clr tr1 Clr tr0 Mov a, th1 Mov r1, a Mov a, tl1 Mov r0, a Mov r3, #00h Mov r2, #160 Acall div16_16 Mov a, r2 Subb a, 0ffh Mov th0, a Mov tl0, a Mov th1, #00h Mov tl1, #00h Setb tr1 Setb tr0 Mov r0, #23h Mov r5, #00h Mov r6, #00h RET
ramc: Mov dptr, #600h Mov r7, #30 Mov r0, #40h
loop1: Mov a, r7
Subb a, #01h Movc a,@a+dptr Mov @r0, a Dec r0 Djnz r7, loop1 RET disp: Cjne r5, #5, continue Mov a,@r0 Cjne a, #'[', space Mov p1, #11111111b Sjmp cont Space: Mov p1, #11111110b Cont: Inc r0 Mov r5, #00h Ajmp neglect continue: Mov a,@r0 ; moves ASCII from RAM to R0 Clr c Subb A, #30h Mov b, #05 ; ASCII to address conversion Mul AB Mov dptr, #230h Add a, r5 ; Memory offset Movc A,@A+DPTR Mov p1,a Inc r5 neglect: RET
Org 600h Msg: DB 'PROPELLER [DISPLAY [[[[[[[[[[[[[[[[[[[[',0 div16_16: CLR C ; Clear carry initially
MOV R4, #00h MOV R5, #00h MOV B, #00h bits div1: INC B MOV A, R2 RLC A high-byte
; Clear R4 working variable initially ; Clear R5 working variable initially ; Clear B since B will count the number of left-shifted
; Increment counter for each left shift ; Move the current divisor low byte into the accumulator ; Shift low-byte left, rotate through carry to apply highest bit to
MOV R2, A MOV A, R3 RLC A MOV R3, A JNC div1 div2: MOV A, R3 RRC A MOV R3, A MOV A, R2 RRC A MOV R2, A CLR C MOV 07h, R1 MOV 06h, R0 MOV A, R0 SUBB A, R2 MOV R0, A MOV A, R1 SUBB A, R3 MOV R1, A
;Save the updated divisor low-byte ; Move the current divisor high byte into the accumulator ; Shift high-byte left high, rotating in carry from low-byte ; Save the updated divisor high-byte ; Repeat until carry flag is set from high-byte Shift right the divisor ; Move high-byte of divisor into accumulator ; Rotate high-byte of divisor right and into carry ; Save updated value of high-byte of divisor ; Move low-byte of divisor into accumulator ; Rotate low-byte of divisor right, with carry from high-byte ; Save updated value of low-byte of divisor ; Clear carry, we don't need it anymore ; Make a safe copy of the dividend high-byte ; Make a safe copy of the dividend low-byte ; Move low-byte of dividend into accumulator ; Dividend - shifted divisor = result bit (no factor, only 0 or 1) ; Save updated dividend ; Move high-byte of dividend into accumulator ; Subtract high-byte of divisor (all together 16-bit subtraction) ; Save updated high-byte back in high-byte of divisor
JNC div3 MOV R1, 07h MOV R0, 06h div3: CPL C MOV A, R4 RLC A MOV R4, A MOV A, R5 RLC A MOV R5, A DJNZ B, div2 MOV R3, 05h MOV R2, 04h RET
; if carry flag is NOT set, result is 1 ; otherwise result is 0, saves copy of divisor to undo subtraction
; now count backwards and repeat until "B" is zero ; Move result to R3/R2 ; Move result to R3/R2
END
PCB LAYOUT
PRINTED CIRCUIT BOARD Much modern electronic system would be virtually impossible to package without incorporating printed circuit board. A printed circuit board popularly known as PCB, is a piece of plastic insulating board, on one side of which a complete layout diagram of an electronic circuit consisting of copper as conductive layer is printed by a special photo generation process. On the other side of PCB are mounted electronic components like capacitor, resister, inductor and IC's. The metal conducting part serves as conducting medium for the electronic components that are assembled on the opposite side of board. PCB MAKING Take proper scale of components and according to such scale make component lay out of project circuit, on a paper. This layout is simple as well as small in size. Then draw mirror image of PCB layout. ARTWORK (PAINTING AND DRILLING) Take copper clad board of required size and transfer mirror image layout on board. Drill for the connection on proper track. Using the paints i.e. the mirror images drawn by mirror do the painting. After some time check whether the paintings is in proper alignment with rack and if in case there is any fault then correct it. Take solution of FeCI3 in port and dip PCB in solution for some hours. After some time remove PCB from solution we see that the copper is removed from copper clad board except that copper, which is painted. STEPS FOR PCB DESIGNING The following checklist uses the major area of concern in the process of PCB design: a) Optimum size and shape of board should be ensured.
b) The substrate should be selected properly by taking into consideration its cost, mechanical properties and electrical properties. c) Layout of conductor pattern should be taken care from cross talk, leakage, shielding, numbers of jumpers required and their placement. d) Selection of conductor width, thickness and spacing should be done after analyzing their placement. e) Proper productive coating should be selected. f) Thermal consideration should be analyzed properly. g) Proper mounting of heavy and unstable component should be ensured. h) Easy maintainability should be built in. SIZE AND SHAPE The size and shape of PCB is compromise among the many parameters. The maximum size of board is determined by the available facility, like the wave soldering station, cleaning lank, component assembling unit etc. When the board size is big and many components have to be mounted on it, the probability of the failure of the board increases. Troubleshooting large board increases. Smaller PCB's uses more connector; more back panel wiring, which can be problematic due to bad contacts.
ASSEMBLY OF COMPONENTS ON THE PCB Care has to be taken while soldering the component on the PCB. In a PCB the tracks are quite closely spaced and probability of damaging them is more with inexperienced persons. This demands him to have complete concentration. The risk of damaging the track is most while soldering them off. Use of holder is certainly more advantageous for the soldering the ICs on the PCB. This way we need not decoder the ICs to replace in case of failure.
TROUBLESHOOTING MANUAL
1.
Output voltage of LM7805 is not 5V Test the continuity throughout the wires, as shown in the circuit diagram. Replace appropriate component, if needed. DC motor is not rotating Check the current flowing through the motor. If it reaches above 750mA, then the motor is short, Replace it. In case of jamming, try to grease the bearing and shaft. The display rotates, but not displaying garbage values. Check the red strip (Interrupt) is in proper position or not. If not, adjust it. Some or all LEDs not glowing. Check the relimate connector that connects the LED module to the microcontroller. Otherwise, check the continuity through each wire. If the connections are ok, then replace the particular LED.
2.
3. 4.
BILL OF MATERIALS :
REFRENCE NUMBER
QUANTITY
1. 2. 3. 4. 5. 6. 7.
MICROCONTROLLER AT89V52RD2 REGULATOR IC LED DC MOTOR TAPE RECORDER FLYWHEEL COPPERCLADE PCB CAPACITOR LM7805 RED
1 1
8
55.00 7.00
1.00
55.00 7.00
8.00
2400 RPM
1 1 2
10F,16V 33pF
2 2 1 1
1 3 1 1 1 1 1
8. 9. 10. 11.
4.0952MHZ
12.
1 1 1 1 1
ADVANTAGES:
It uses only 8 LEDs for display so hardware requirement is less. Maintenance and repairing is so easy. All the synchronizing can be implemented through software. Cost is very low. Because of its small size it take small space.
APPLICATION:
These displays are used at following places: 1. Large public Displays 2. Information Systems 3. For advertisement 4. Railway stations 5. Bus stands 6. In multiplex
This project includes testing of three modules as stated below 1. Interrupter module testing 2. DC Motor RPM testing 3. Power supply module testing
FUTURE SCOPE:
Propeller Clock. Message Flasher. Bike wheel LED display. Commercial product Children toy spinner.
REFRENCES:
The reference support that the circuit diagram and other related information taken from
website:
1. http://www.luberth.com/analog.htm 2.
http://www.jogy.ch/files/Circuit_Cellar_Design_Contest_H3210/Propeller_Display.pdf
3. http://www.8051projects.net/comment-n153.html 4. http://www.circuitlake.com/propeller-128-light-contoller.html
5. http://www.gadgetgangster.com/news/45-designer-news/290-led-matrix-displayswiththe-prop.html
Various books have been referred for the designing of the circuit and to understand the circuit in depth: The books referred are:
1. MICROCONTROLLER THEORY AND APPLICATION ----- By M.A.MAZZIDI. Second Edition, Pearson Prentice Hall. 2. BASIC ELECTRONICS -----By B. Basavaraj & H.S.Shivashankar, second edition, Vikas Publication.