This action might not be possible to undo. Are you sure you want to continue?
AJMAL BlN MUHAMAD SAZALI
This Report Is Submitted In Partial Fulfillment of Requirements for the Bachelor of Electronic Engineering (Industrial Electronic) with honours.
Fakulti Kejuruteraan Elektronik dan Kejuruteraan Komputer Universiti Teknikal Malaysia Melaka
Conventional methods of displaying images to public are using LCD display and dot-matrix LED board. Propeller LED display is a device that project an image or time as if the images are floating in the air. The floating image is received because of human eye limitation. Actually the floating images emerge by synchronizing LED'S blink to form an image at particular time and rate.
The programming of PIC is using Assembly Language. This project consist two main circuit; motor controller circuit and LED circuit. 9VDC will be used to supply the power for motor controller circuit. Then the motor controller circuit will provides power to LED circuit and DC motor. When DC motor is rotating, the floating image will appear. The synchronization of DC motor speed and LED blink cause the image visible to human eyes. So the desired image such as clock, date or symbol can be programmed and displayed.
Projek ini terbahagi kepada dua litar utama. Bahasa pengaturcara Assembly digunakan untuk diprogramkan kedalam PIC. tarikh dan simbol boleh diprogramkan dan dipaparkan. Imej yang terbentuk ini dapat diterima kerana batasan mata manusia. . imej yang terapung akan terhasil. Sebenarnya.ABSTRAK Antara kaedah konvensional untuk memaparkan imej adalah menggunakan papan LCD dan papan LED dot-matrik. iaitu litar pengawal litar motor dan litar LED. imej seperti jam. Keselarian di antara kelajuan motor DC dan kelipan LED akan mengakibatkan imej yang nyata untuk dilihat oleh mata manusia. Apabila motor DC berpusing. imej ini timbul kerana keselarian kerlipan LED untuk membentuk imej pada masa dan kadar yang khusus. Oleh itu. 9VDC digunakan untuk membekalkan voltan kepada litar pengawal motor. Paparan Berputar LED adalah alat untuk menayangkan imej atau masa seolah-olah imej tersebut terapung di udara.
7 millions true colows). To replace the memory capacitor. The circuit also have to use photo transistor to generate precise index pulse. These projects are cheaper. It is different than a conventional method such as poster. cheap and light 3V lithium battery is used as a replacement. A VCR motor has to be used as a motor in order to prevent noise. a small.1 PROJECT SYNOPSIS Nowadays. there are so many way to displaying a message such as using 7 segment. Frosted Light Bar (RGB 16. it bigger and heavy.2 PROBLEM STATEMENTS From other article and project. The main problem is concerning the motor. These kind of device are used to advertise or displaying some sort of message in order to attract people. 1. there are some problems which are effected the outcome of the image displayed. The memory capacitor is expensive plus. A voltage regulator also has to be used . digital clock and etc. banner and etc. the circuit must have memory capacitor to keep the clock ticking even when the power is not supplied to the circuit.CHAPTER I INTRODUCTION 1. In order to display the date and clock. easier and even carry out the same purpose as any display apparatus.
PICF84A is used to control and transmit the signal and utilizing the Assembly language. 1.in order to allow rotation speed change without effecting the circuit and displayed images.5 CHAPTER SUMMARY CHAPTER I will describe the definition of this project will be explained in this chapter. 1. Also in this chapter there will be summary the project progress.3 OBJECTIVES The objectives of this project are: To design a display system using LEDs which rotate on a motor. LED'S are used to display clock. ii. date and symbol. date and symbol using LEDs.4 SCOPES OF PROJECT The scopes of this project are: i. 111.. 1. Every fact and information are gained from different references will be discussed so that the best technique and method can be implemented on this project. To design a program using Assembly language. To display clock.. To develop software that can generate LEDs display with accurate synchronization and timing. iv. . . i. CHAPTER I1 will discuss about research and information which are related to this project. The circuit is mounted on DC motor. iii. ii.
The elements which are used to build each circuit are described by concept and theory. CHAPTER V will be explaining about the conclusion of the whole project which includes project finding. . The project outcome discovery will be presented from the many data analysis results. achievement analysis and conclusion about the research implementation which have been used. CHAPTER IV is describing about the project result and outcome discovery. The final chapter. figures are provided to ensure the understanding.CHAPTER I11 will be describing how this project is separated to small partition. Plus. The project suggestion for enhancement also discussed.
. The theory understanding is crucial as a guidance to start any project. This shows how the theory and concept have been implemented in order to solve project problem.CHAPTER I1 LITERATURE REVIEW 2. The result of a project cannot be assessed if it's not compared to the theory.1 INTRODUCTION This chapter is all about discussing the theory and concept from the past projects. The objective is to explain the perspective and method which has been used in the past projects and to observe how this project can be related with existing research and theory.
1 : Displaying Clock And Date.2 HENK'S PROPELLER CLOCK ON A MIRROR PROJECT Figure 2. With the disc shaped display it is also possible to simulate analog hands. Due to the slow response of the human eye. This gives the impression that there are several hundred LEDs making up a complete display. Scanning in this clock is mechanically. very rapidly. The visible things are the lighted dots from the LEDs making a readable display that seems to float. The arm spins at 1500rpm (or more) and the LEDs are turned on and off at very precise times and places. Depending on the form of the arm. A limited number of LEDs are placed in a row and attached to a rotating arm. The electronics is used to drive the LEDs and to keep time are located on the rotating arm. one after another. the display is either a cylinder or a disc. The cylinder shaped display can only show digits. the electronics and the arm itself are hardly visible.2. The fact that the arm is spinning at 1500rpm the LEDs. . Early versions used buttons on this arm. the impression that the lights are on all together is obtained and the display can be read. The LEDs turn on and turn off.
It can also be used to set different display modes.Other designs use a reed-switch that can be actuated by holding a magnet near the rotating arm. This made settings the time a lot easier.1. to create a two-button system. one infrared. The remote can be used to set time and date. But Henk wanted to display time and date. This opened up a lot more possibilities. . So an infrared sensor is connected to the CPU and programmed it to decode signals from a remote control. The successful project is shown in Figure 2. To set time and date with just two buttons would not be very efficient. Chester Lowrey's Propeller Clock using one visible light.
3 BOB BLICK'S PROPELLER CLOCK PROJECT Figure 2. because 120 ohms works fine. . so it must be rectified back to DC.2. Use an 18-pin socket for the 16C84 is used because it needs to be programmed before putting it in the circuit. Bob Blick used perfboard (Vectorboard) and handwired the circuit together. though it puts the peak current right at the limit for the 16C84. leaving a big hole. For the 7 current-limit resistors a DIP resistor array is used. the bearing is removed from one end of the motor. The result is shown in Figure 2.2: Seven Light Emitting Diodes Spin. He settled on 120 ohms. because it made it easy to experiment with LED brightness.2. The power is provided from the spinning armature of a plain DC motor. There are three terminals inside most small DC motors. In order to run the wires out of the motor. and it acts a lot like three-phase alternating current. Bob Blick made the clock spinning on a piece of perfboard. The LED'S gets power separate from this circuit. To keep the clock running after turning it off a 47000uf is used. Seven regular resistors also can be used. A nice side effect of this is that the position of the motor can be detected by taking one of the phases straight into the microprocessor. so the time can be set.
After that. At early stage. Finally after the programming is finished. circuit designs are being done. both circuit simulation are implemented. After the simulation process is proceeded. If the circuit malfunction. There are motor controller circuit and LED circuit. Next. . designing and modifying circuit process has to be done to ensure both circuits working properly. both circuit will be designed to be printed in PCB board using 'Proteus-ARES'. circuit construction and testing are using multimeter. The programming language design process is using MPLAB-IDE.CHAPTER I11 PROJECT METHODOLOGY 3. the program is burned into PICF84A using WinPic800. using a software called 'Proteus-ISIS'.1 INTRODUCTION This project consist two different circuits.
If the displayed image is not clear. As output. In order to display the images.2. Motor Controller circuit is controlling the DC motor speed and the speed is adjustable.32 . . DC motor will rotate the circuit board. a line of LED is used to transmit the desired signal. the 9V DC is supplied to Motor Controller Circuit. In order to rotate the circuit.Motor Shaft - Motor + Controller Circuit DC Motor Figure 3. the DC motor speed is adjusted until the displayed image is visible.2: Block Diagram of Propeller LED Display From the Figure 3. PIC microcontroller purposed is to execute the program and transmit the signal to LED. DC motor is used. BLOCK DIAGRAM LED Circuit PIC A A 4 LED A 9v .
3: Project Activities Flow Chart .3 ACTIVITY FLOW CHART With the aim of completing this project on time. all activities have been planned as shown in the activity flow chart with the intention that everything is completed step by step.3. Discussing the scope Literature research Circuit Design Simulation 1 Construct Circuit PIC Programming No Finalized PCB Figure 3.
which execute in single cycle (400 ns at lOMHz clock) except for programbranches which take tow cycles (800ns). per pin 20 mA source max.Security EPROM fuse for code-protection . The PIC16C84 has four interrupt sources and an eight level hardware stack. per pin 8-bit real time clock/counter (RTCC) with 8-bit programmable prescaler Special Microcontroller Features .Power up timer . 20 mA max source) of the I10 pins help reduce external drivers and therefore.4.4 COMPONENT AND SOFTWARE EXPLANATION The PIC16F84A is a high-performance.bit prescaler (effectively a 16 bit timer) and 13 bi. system cost.directional I10 pins. These tools are supported on the IBM PC and compatible machines. It is the second member of an enhanced family of PICl6CXX microcontrollers.1 Peripheral Features 13 110 pins with individual direction control High current sinklsource for direct LED drive 25 mA sink max. low-cost.3. The high current drive (25 mA max. CMOS. fully-static 8-bit microcontroller with 1K x 14 EEPROM program memory and 64 bytes of EEPROM data memory. The PIC16C84 product is supported by an assembler. sink.Power-on reset . The peripherals include an 8-bit timerlcounter with an 8.1. Its high performance is due to instructions that are all single word (14-bit wide).Oscillator start-up timer . 3.Watchdog timer (WDT) with its own on-chip RC oscillator for reliable operation . an in-circuit emulator and a production quality programmer.
.Serial. In-System Programming (ISP) of EPROM program memory using only two pins 3.User selectable oscillator options: RC oscillator: RC Crystallresonator: XT High speed crystallresonator: HS Power saving low frequency crystal: LP .Power saving SLEEP mode .2 Pin Diagram of PIC16F84A POIF.4. SOIC RAZ R83 WPaMCICKI MCLR vs flmm m a R52 WB3 - .1.
. Figure 3.The PIC16F84A belongs to the mid-range family of the PICmicroB microcontroller devices. A block diagram of the device is shown in Figure 3.4.4: PIC 16F84A Block Diagram.
This is because the electrics motors directly affect its speed and pushing capability. it is necessary to use 6V-12V range motor.4. subway trains. CD players. The performance of the motor is very important in circuit design. but their basic function is the same. 3. fans. . toys. and it will spins. Voltage is directly related to motor torque. The larger ones are often 24V or more but for the purpose of this project.5. By referring Figure 3. air conditioners.3. watches. The DC motor is popular in a number of drive applications due to its simple operation and control. The more voltage supplied.4. automobiles. robots. Specifications of most DC motors show high revolutions per minute (rpm) and low torque. forward and backward. elevators.2 MOTOR Motors come in many sizes and types. Rotor is the rotary part in the motor and contains block of core and wire loops. refrigerators. and many other places. Typical DC motors are rated from about 6V-12V. space ships.1 DC Motor DC motors seem quite simple. Stator is the part where the permanent magnet situated and used to generate the magnetic field and it is static. It also called the armature. The current requirements from the motor will dictate what type and size batteries will need and they are also a factor in determining the minimum current requirements for motor speed controllers. Apply a voltage to both terminals. Motor performance information is needed to select the required speed. the higher the torque will be produce. They can be found in VCR's. it has 2 main parts which is rotor and stator. Motors of all types serve to convert electrical energy into mechanical energy.2. DC motors are non-polarized which means that it can reverse voltage so the motor will rotate in two directions.
Figure 3. Current is applied to the commutator by stationary graphite blocks. but the inertia of the loop keeps it going a little more. The current is applied to the loop through the commutator. both sides of the wire loop will have a force on them. until the DC supply reconnects to the commutator segments. At this point. and the loop continues to rotate. which rub against the commutator ring. By referring to the situation that shown in Figure 3. called brushes.5: DC Motor The rotor is placed inside the magnetic field caused by two permanent magnets.Figure 3. the stationary brushes won't be applying current around the loop any more because they will be contacting the gap between the commutator segments.6: The Operation of DC Motor . which is shown as two pieces of metal formed into a ring in the figure. The force though is still in the same direction. The loop will continue to rotate anticlockwise until it is vertical. trying to make the wire loop rotate. and the current then goes around the loop in the opposite direction.6.
The other current rating which one needs to pay attention to is the stall current. But do not surpass 12V motors unless the torque is required badly.3. If very few volts are applied.4.3 DC Motor Current As with all circuitry. This is the average amount of current the motor is expected to draw under a typical torque. the motor will meltdown. Too much. Also.4. So the general rule is to apply as close to the rated voltage of the motor. So. or run it higher than the rated voltage. Typical DC motors are rated from about 6V-12V.2. This is the maximum amount of current the motor will ever draw. High voltage produces higher torque.2. Multiply this number by the rated voltage and the average power draw required to run the motor is obtained. But for the purposes of this project. A DC motor is rated at the voltage it is most efficient at running. it just won't work. one must pay attention to current. When buying a motor. and hence the maximum amount of power too. and enough torque is put to force it to stop rotating. The first is operating current. if the motor is constantly run.2 DC Motor Voltage DC motors are non-polarized . one must design all control circuitry capable of handling this stall current. do stay in the 6V-12V range. and it just won't work. it is wise to heat sink to keep the motor's coils from melting. If too much is applied. Too little.meaning that one can reverse voltage without any bad things happening. there are two current ratings one should pay attention to. . it will overheat and the coils will melt. The larger ones are often 24V or more. This is when the motor is power up. 3. It is stated that voltage is directly related to motor torque.
The other rated value is stall torque. So the manufacturers of motors know how much wattage will cause motor failure.3. There are two torque value ratings which must been pay attention to. number of lines of force per pole current = field = armature When buying a DC motor. and post this on the motor specification sheets.4. The equation is: Power (watts) = Voltage * Current Increase voltage and measure current until the power is about -90% below the given power rating.2.2. This is the torque the motor was . all motors are rated at certain wattage. Usually it is the listed torque value. he torque which is developed by the motor can be determined using Equation: T = KQI. Too much heat. = torque =a constant depending on physical size of motor flux.4 DC Motor Power Rating Basically.5 DC Motor Torque Torque is defined as that force which tends to produce and maintain rotation. Wattage is energy. the motor coils melt. 3.4. The first is the operating torque. there are two torque value ratings which must be Pay attention to. The function of torque in a DC motor is to provide the mechanical output or drive the piece of equipment that the DC motor is attached to. The first is operating torque. where T K Q 1. Inefficiency of energy conversion directly relates to heat output. This is the torque the motor was designed to give. This is the torque required to stop the motor from rotating.
The general rule is motors run the most efficient when run at the highest possible speeds. going 20% above the rated motor voltage value is fairly safe. Proteus-ISIS is suitable to simulate a circuit which consist PIC or motor. But. Obviously however this is not possible. The voltage and applied torque resistance obviously also affects speed. It can simulate the blinking LED and the rotating motor as shown in Figure 3.designed to give.7.2. that this is less efficient. and the motor should be heatsinked. Proteus-ISIS is used. 3. it won't to keep the car constantly at high speed.4. Just like car. Usually it is the listed torque value. This is the torque required to stop the motor from rotating.6 Velocity Velocity is very complex when it comes to DC motors. Instead using a Multisim as a simulator. The other rated value is stall torque. . The analyses are done from this software which is very useful to verify the circuit. If one need a little more speed. There are times to run the motor slowly.
Proteus-ARES is used to design the PCB board. So a user has to well familiar with proto board and component size. there's no scale indicator. a user has to know the scale of the product because in ARES. Using this software. The layout of Proteus-ARES is shown in Figure 3.7: Layout of Proteus-ISIS.8.Figure 3. .
.8: Layout of Proteus-ARES.9.4.Figure 3. This software is crucial to verify the programming language. the program can't be burned into PIC.5 MPLAB IDE MPLAB IDE is software to construct and compile the programming language as shown in Figure 3. If there's error while compiling. 3.
J R C'IW c p a-7 mv. 9 ' rqu H ' Z 3 ' T c.::: p:::: clrf ronz5' clrf ?2IDC hcf r K r . WinPic800 layout is shown in Figure 3. .9: Layout of MPLAB IDE. erd II'lP' H'le' H ' l l S U'l?' H'13' Em1 H ' U L ' c8y H ' Z . All the programming language will be converted to Hex file before burning into PIC. TTE h s f KhTJIN. C++. C and etc. 511 Figure 3.*2111Z3' r->HIZI~' -VIW n8rn7nnnnn4 tris ink15 t:'LULUUl-1' DPTIOF ImVlW 'lU"1" B'CoLooUOU' i. Visual Basic. WinPic800 are capable to burn a complete programming language such as Assembly.10. WinPic800 is used to burn the complete program language into PIC.m .
and time consuming. An assembly language program is translated into the target computer's machine code by a utility program called an assembler. effort of directly programming in a target computer's numeric machine code that had been used with the very first computers.4. . while still retaining full control over the machine. as well as various other constants. The assembler performs a (more or less) one-to-one (isomorphic) translation from mnemonic statements into machine instructions and data.10: Layout of WinPic800. 3.7 ASSEMBLY LANGUAGE An assembly language is a low-level language used in the writing of computer programs. abbreviations or words that make it easier to remember a complex instruction and make programming in assembly an easier task. Assembly language uses mnemonics. The purpose is to free the Programmer from tedious tasks such as remembering codes. The goal of using mnemonics in the writing of assembly language programs is to replace the more error prone.Figure 3. calculating addresses and offsets.
it will proceed to the next process. If it does. After that it will go to "Count 50 cycle". a translator that takes a program written in a high-level language and translates it to an equivalent executable machine code (andlor assembly code) is called a compiler. control the assembly process. A "translator" that directly execute (i. When this process finished the final block. and aid debugging. Typical uses are device drivers. . it will loop back to "Displaying Message 1". These applications benefit from the increased speed of processing assembly program instructions. When the program started. and real-time systems. u-hich are generally platform-independent.e. Assembly language programs are tightly coupled with (and specific to) a target computer architecture - as opposed to higher-level programming languages. The programming flow chart is shown in Figure 3. More sophisticated assemblers extend the basic translation of program instructions with mechanisms to facilitate program development. but today it tends to be used more narrowly. it will go to "Displaying Message 1". perform) the sequence of declarations and actions in a written (high or low-level) program is called an interpreter. it will start again at "Displaying Message 1". low-level embedded systems. This process continues until the power is off.1 1. Assembly language was once widely used for all aspects of programming. If the cycle doesn't count finish till 50. primarily when direct hardware manipulation or unusual performance issues are involved.On the other hand.