Showing posts with label PIC16xxx. Show all posts
Showing posts with label PIC16xxx. Show all posts

Saturday, March 30, 2013

Control Single Chip Temperature Data Logger

A data logger is a device that records measurements over time. The measurements could be any physical variable like temperature, pressure, voltage, humidity, etc. This project describes how to build a mini logger that records surrounding temperature values. This is the figure of the circuit;
Temperature will be measured with a DS1820 temperature sensor. DS1820 is a one wire digital temperature sensor from Dallas Semiconductor (now MAXIM). The operating temperature range of the device is -55°C to +125°C with an accuracy of ±0.5°C over the range of -10°C to +85°C. The temperature sensor output is 9?bit Celsius temperature measurement, and so the temperature resolution corresponds to the least significant bit, and which is 0.5°C. But in this project we will use only the most significant eight bits. Therefore, the temperature resolution will be 1°C. The measured temperatures will be recorded into the internal EEPROM memory of PIC12F683. 


The first location of the internal EEPROM will store the sampling interval of data logger. Sampling interval defines the time gap between two successive measurements. This project will have 3 options for sampling time: 1 sec, 1 min, and 10 min. These are user selectable. The second location of EEPROM will store the number of measurements recorded so far. And the remaining 254 EEPROM locations will store 8?bit temperatures. So, using 10 min sampling interval, 254 bytes of EEPROM will provide data logging for 42 hours. The recorded measurements can be sent to PC at any time through a serial link at 9600 baud.

read more "Control Single Chip Temperature Data Logger"

Friday, January 25, 2013

Control Making a Binary Clock Using a PIC Microcontroller

This is a design circuit for binary clock circuit. This circuit is the same hardware as the led matrix project using a 16F88 PIC microcontroller and an LED matrix.  Its worth taking a look there as the same hardware description applies on how to multiplex the display. This is the figure of the circuit;


To display hours, minutes and seconds (2 digits each) you need 6 binary digits in total (depending on whether you use a 24 hour clock the top digit needs only 1 or 2 LEDs).
read more "Control Making a Binary Clock Using a PIC Microcontroller"

Thursday, January 17, 2013

Control PIC Frequency Counter Operating Up To 50 MHz

This is a design circuit for general theory of operation of this circuit and notes on frequency counting. This circuit is based on PIC microcontrollers for the main control unit of the circuit. This is the figure of the circuit;
 

The LCD is used in 4 bit mode interface so you only need 4 data lines and three control lines and it then fits into a single 8 bit port.

The crystal oscillator is simply a crystal and two capacitors connected to the PIC oscillator port at OSC1 and OSC2. The capacitors can both be fixed at the same value unless you want to tune it using a frequency reference. If you don't have an accurate reference then use fixed capacitors. The PIC micro can be any type that has a Timer 1 hardware and and has enough memory to hold the program. The LED is toggled at the end of every gate time to indicate that the processor is alive - so if there is no input signal you can tell that the software is working.

read more "Control PIC Frequency Counter Operating Up To 50 MHz"

Thursday, August 2, 2012

Control Dual Channel 70V Voltmeter Using PIC


This is a circuit for dual channel voltmeter. This circuit is based on PIC microcontroller. This is the figure of the circuit;


PIC voltmeter can measure 0-70 Volts which should be more than enough for most of electronic projects providing excellent reading accuracy and resolution. It has two input channels for measuring two voltage sources at the same time. This PIC voltmeter project uses PIC16F876 microcontroller with built-in ADC (Analog to Digital Converter) and 2x16 back lighted LCD display.
read more "Control Dual Channel 70V Voltmeter Using PIC"

Sunday, July 29, 2012

Control Dual Digital Voltmeter Circuit Using PICXXX


This is a circuit for digital voltmeter that can use for two channel. This thermometer is a simple thermometer using DS1820 thermal probes that have a tolerance within 0.5°C. This is the figure of the circuit;


The three holes seen to the left of the 14pin SIP are for a potentiometer if the display you use requires a contrast control. My display did not have this function so I did not have to put a potentiometer on it. However all the connections are there, so if you need a pot for your display one just needs to be soldered in. This circuit is the display running with probe 1 sitting next to it monitoring ambient house temperature, and the second probe left in the fridge for a couple minutes.
read more "Control Dual Digital Voltmeter Circuit Using PICXXX"

Control Digital Clock Timer Circuit


This is circuit for clock timer uses a PIC16F628 microcontroller to display digital time and control an external load. Timer output duration can be programmed from 1 to 59 minutes and can be manually switched on and off. This is the figure of complete circuit;


The clock has a correction feature that allows an additional second to be added every so many hours to compensate for a slightly slow running oscillator. The oscillator uses a common 32.768 KHz watch crystal and the frequency can be adjusted slightly with the 24pF capacitor on the right side of the crystal. The clock will also adjust itself for daylight savings time and add or subtract an hour on the first Sunday in April and last Sunday in October. The daylight savings feature is disabled at boot up and needs to be enabled after turn on.  

Setting the time of day and other features is done with 3 momentary single pole, double throw switches and one non-momentary single pole, double throw. The switch functions are shown in the chart below with the letters A-H indicating the switch combination for each function. Some entries can be made with one momentary switch closure while others require toggling 2 switches at the same time.
read more "Control Digital Clock Timer Circuit"

Friday, July 27, 2012

Control Simple VGA Adapter Circuit


This is a design circuit for vga adapter. This circuit have some characteristic. This is the figure of the circuit;


Initial calculations showed that the the AVR 8-bit microcontroller from ATMEL, with its 16Mhz clock speed providing approximately 16 MIPS was a good candidate for further research. Also note that newer AVRs such as the Mega48, Mega88 and Mega168 will officially support clock rates upto 20 Mhz. Therefore I concluded that with a clock of 16 Mhz I could achieve something in the order of 8 Mhz speed of data being transferred out of a port. I also chose the AVR as I had already built up quite a body of experience with it and so I began work of the project. To avoid distortion of the image, when receiving data through the UART, for VGA, it is recommended to make the data exchange with the terminal in approximately 300-600 us after a signal of vertical synchronization (VSYNC). The available internal RAM of the Mega8535 (only 512 bytes) is not enough for the formation of a Video signal with a resolution of 38x20 symbols.
read more "Control Simple VGA Adapter Circuit"

Wednesday, June 27, 2012

Control Free Microcontroller and Interface Programming 2010-06-27 08:36:00

Telephone Operated Remote Control Using PIC16F84A
This design controls up to 8 devices using a PIC microcontroller (PIC16F84A) connected to the phone line. The unique feature here is that unlike other telephone line based remote control, this device does not need the call to be answered at the remote end so the call will not be charged. This device depends on number of rings given on the telephone line to activate/deactivate devices. This is the figure of the circuit.


Instructions for the telephone operated remote switch:
A) While constructing the main circuit, make sure you use 18pin sockets (base) for the PIC16F84A. Do not solder the IC directly to the board since you may have to remove it for programming. Before you use the PIC on the main circuit, you have to first program it.
B) To program the PIC16F84A microcontroller:
C) Remove the PIC from the programmer socket and put it into the main circuit socket.
 Set the DIP SWITCH as follows:
Switch3   Switch4      No. of initial rings to Switch ON(activate half of the board)
OFF        OFF             5
ON         OFF             4
OFF        ON              3
ON         ON              2
The number of initial rings to Switch OFF is one more than the number of rings to switch ON. For example, if you have set switch3 OFF & Switch4 ON then number of initial rings to activate half of the board to switch ON the relays is 3 and number of initial rings to activate half of the board to switch OFF the relays is 3+1 = 4

Switch1  Swtich2        Delay before making the second set of rings
OFF        OFF             20sec
ON         OFF             15sec
OFF        ON              10sec
ON         ON              5sec
This is the maximum delay the board can take after it is half activated. It will reset after this delay.

D) Now connect the circuit to the phone line and switch on its power supply.
E) You can test the board now. For example set the DIP switch to Switch1 ON, Switch2 OFF (15 sec delay) & switch3 ON, switch4 OFF (4 rings to activate half for switching ON). If you want to switch ON relay 1 (connected to RB0 of main circuit) then you have to do the following:

1.    Give 4 rings and put down the receiver
2.    Wait 5 seconds (this 5 seconds wait is required to prevent the board from detecting continue rings)
3.    then within 15 seconds give 1 ring (1 ring for relay1, 2 rings for relay2 and so on) and put down the receiver
4.    then within 5 sec the relay1 will switch ON
To switch off relay1:
1.    Give 5 rings and put down the receiver
2.    Wait 5 seconds (this 5 seconds wait is required to prevent the board from detecting continous rings)
3.    then within 15 seconds give 1 ring (1 ring for relay1, 2 rings for relay2 and so on) and put down the receiver
4.    then within 5 sec the relay1 will switch OFF
read more "Control Free Microcontroller and Interface Programming 2010-06-27 08:36:00"

Saturday, June 23, 2012

Control Light Controller Using PIC 16F873


This circuit is a light controller with PIC 16F873. On this circuit, the control voltage is controlled by the variable resistor, and then by ADC on PIC16F873 converted to digital signals. To set the duration of the PWM pulse. This is the figure of the circuit;


This circuit is used to control the range of 100W.  Because the operating voltage of the PIC is 5 V, the transistor is used to control the 12V MOS FET.
read more "Control Light Controller Using PIC 16F873"

Saturday, March 10, 2012

Control Telephone Operated Remote Control Using PIC16F84A


This design controls up to 8 devices using a PIC microcontroller (PIC16F84A) connected to the phone line. The unique feature here is that unlike other telephone line based remote control, this device does not need the call to be answered at the remote end so the call will not be charged. This device depends on number of rings given on the telephone line to activate/deactivate devices. This is the figure of the circuit.


Instructions for the telephone operated remote switch:
A) While constructing the main circuit, make sure you use 18pin sockets (base) for the PIC16F84A. Do not solder the IC directly to the board since you may have to remove it for programming. Before you use the PIC on the main circuit, you have to first program it.
B) To program the PIC16F84A microcontroller:
C) Remove the PIC from the programmer socket and put it into the main circuit socket.
 Set the DIP SWITCH as follows:
Switch3   Switch4      No. of initial rings to Switch ON(activate half of the board)
OFF        OFF             5
ON         OFF             4
OFF        ON              3
ON         ON              2

The number of initial rings to Switch OFF is one more than the number of rings to switch ON. For example, if you have set switch3 OFF & Switch4 ON then number of initial rings to activate half of the board to switch ON the relays is 3 and number of initial rings to activate half of the board to switch OFF the relays is 3+1 = 4
Switch1  Swtich2        Delay before making the second set of rings
OFF        OFF             20sec
ON         OFF             15sec
OFF        ON              10sec
ON         ON              5sec
This is the maximum delay the board can take after it is half activated. It will reset after this delay.

D) Now connect the circuit to the phone line and switch on its power supply.
E) You can test the board now. For example set the DIP switch to Switch1 ON, Switch2 OFF (15 sec delay) & switch3 ON, switch4 OFF (4 rings to activate half for switching ON). If you want to switch ON relay 1 (connected to RB0 of main circuit) then you have to do the following:

1.    Give 4 rings and put down the receiver
2.    Wait 5 seconds (this 5 seconds wait is required to prevent the board from detecting continue rings)
3.    then within 15 seconds give 1 ring (1 ring for relay1, 2 rings for relay2 and so on) and put down the receiver
4.    then within 5 sec the relay1 will switch ON
To switch off relay1:
1.    Give 5 rings and put down the receiver
2.    Wait 5 seconds (this 5 seconds wait is required to prevent the board from detecting continous rings)
3.    then within 15 seconds give 1 ring (1 ring for relay1, 2 rings for relay2 and so on) and put down the receiver
4.    then within 5 sec the relay1 will switch OFF
read more "Control Telephone Operated Remote Control Using PIC16F84A"

Friday, December 2, 2011

Control 3 Channel IR Remote Control Controlled by Microcontroller


This is a project circuit for infrared remote control with 3 output relay and easy to build. This circuit has 3 channel. This is the figure of the transmitter and the receiver circuit.

 

This remote control circuit is control by microcontroller PIC12F629 at 4MHz crystal for the transmitter and receiver. The transmitter use sleep mode for saving battery power, Use Phillips RC5 protocol, distance more than 7 m, this circuit is easy circuit to build and assembly and small amount of components. Uses RC5 protocol which is probably the most used by hobbyists, probably because the wide availability of cheap remote controls and easy to understand.
read more "Control 3 Channel IR Remote Control Controlled by Microcontroller"

Wednesday, October 19, 2011

Control Air Flow Sensor Circuit Using PIC16C781

This circuit is describes about sensing air flow using microcontroller PIC16C781. In this circuit is using Programmable Switch Mode Controllers (PSMC) that combination between the Integrated Operational Amplifier, Digital-to-Analog Converter (DAC), and gated timer to construct a thermally operated air flow sensor with minimum external components. This is the figure of the circuit.


Air flow is detected by the cooling effect of air movement across a heated resistor. R5 and R7 are thin film platinum Resistance Temperature Detectors (RTD). These are essentially thermistor with a very linear temperature response. The flow sensor is comprised of R6 and R7. Changes in ambient temperature conditions are compensated by two voltage dividers, R2-R5 and R1-R7. R2 and R5 form a voltage divider between the Op Amp output and the Op Amp inverting input. Similarly, R1 and R7 form a voltage divider between the variable DAC reference and the non-inverting Op Amp input. Since R5 and R7 are identical RTD's, resistance variations due to self heating, as well as changes in the ambient conditions, cancel out at the Op Amp inputs.

This technical brief demonstrates how temperature changes resulting in milliohm differences can be measured quickly and accurately using only the built-in peripherals of the PIC16C781. This is the first of the mixed-signal PICmicro® microcontrollers with integral DAC, operational amplifier, comparators, PSMC and gated timer inputs which, when used in harmony, make such measurements possible. [Schematic source: Microchip Technology Inc].
read more "Control Air Flow Sensor Circuit Using PIC16C781"

Thursday, May 19, 2011

Control PIC for Multiplexer

Recently, I had to design a circuit real quick that transmitted 4 parallel TTL data bits over 350m of twisted pair cable. I needed to feed in four parallel data bits at one end, and get 4 parallel data bits out the other end, completely transparent to the transmitting and receiving circuits. I decided to implement this using a PIC 16F84 for both an encoder and decoder, and use RS-485 drivers (DS26C31 and DS26C32) to drive the 350m cable. I only needed five I/O pins per PIC, so this could have been implemented using the smaller 8pin 12C508 device, but the 16F84 has the advantage of being reprogrammable, and PCB size or cost wasn't an issue anyway. The design presented here can be easily modified for any number of bits and any desired interface RS-232, Fiber optic, almost anything. In fact, the software is interfacing independent, you only need to change the interface chips. This is the diagram figure;


As you can see, there isn't much too it. I have omitted the power pins and XTAL inputs which are also used. The MCLR line must also be tied HIGH on both chips. Port A is not used The software is written for an external crystal running at 1MHz, although the actual speed isn't important, but you must have both the encoder and decoder at the same speed. The watchdog has been enabled. There is a burst of five bits every 100ms. The start bit is 0.5ms, and the data bits are 1ms each. This is assuming a 1MHz crystal clock is used. This gives an update rate of 10Hz, which may not seem very fast, but was more than sufficient for driving the relays in my application. The timing could be easily changed in software. The decoder simply waits in a loop for the start bit, and then times for 1ms before sampling the first data bit. This sample then occurs exactly in the centre of the data bit to ensure a reliable reading. The subsequent data bits are then read every 1ms as well. The timing diagram figure;



read more "Control PIC for Multiplexer"

Monday, January 24, 2011

Control Microcontroller Chip PIC16F84 Introduction

PIC16F84 belongs to a class of 8-bit microcontrollers of RISC architecture. Its general structure is shown on the following map representing basic blocks. Program memory (FLASH)- for storing a written program. Since memory made in FLASH technology can be programmed and cleared more than once, it makes this microcontroller suitable for device development. EEPROM - data memory that needs to be saved when there is no supply. It is usually used for storing important data that must not be lost if power supply suddenly stops. For instance, one such data is an assigned temperature in temperature regulators. If during a loss of power supply this data was lost, we would have to make the adjustment once again upon return of supply.

Thus our device looses on self-reliance. RAM - data memory used by a program during its execution. In RAM are stored all inter-results or temporary data during run-time. PORTA and PORTB are physical connections between the microcontroller and the outside world. Port A has five, and port B has eight pins. FREE-RUN TIMER is an 8-bit register inside a microcontroller that works independently of the program. On every fourth clock of the oscillator it increments its value until it reaches the maximum (255), and then it starts counting over again from zero. As we know the exact timing between each two increments of the timer contents, timer can be used for measuring time which is very useful with some devices. CENTRAL PROCESSING UNIT has a role of connective element between other blocks in the microcontroller. It coordinates the work of other blocks and executes the user program.

PIC16F84 perfectly fits many uses, from automotive industries and controlling home appliances to industrial instruments, remote sensors, electrical door locks and safety devices. It is also ideal for smart cards as well as for battery supplied devices because of its low consumption.

EEPROM memory makes it easier to apply microcontrollers to devices where permanent storage of various parameters is needed (codes for transmitters, motor speed, receiver frequencies, etc.). Low cost, low consumption, easy handling and flexibility make PIC16F84 applicable even in areas where microcontrollers had not previously been considered (example: timer functions, interface replacement in larger systems, coprocessor applications, etc.).


read more "Control Microcontroller Chip PIC16F84 Introduction"

Wednesday, January 5, 2011

Control ICSP (In-Circuit Serial Programming) PIC16F84

PICMicro can be program in system the application of its. A kind of this programming called as ICSP (In-Circuit Serial of Programming). By Using ICSP, application bases on microcontroller PICmicro is to earn in up-grade easily at version firmware which newest. ICSP would very useful for mass produce that is stock can be produced in number many beforehand and programming is done by after there are consumer or momentary before sent at user. Firmware can be adapted for consumer importance.



There is 3 main component to implement programming with ICSP. Component is application network, programmer, and programming area. Network the application is designed to enable all programming signal to earn direct connecting to PICmicro. Things required to is gave attention to scheme of application network for ICSP inter alia:



1. insulation of Pin MCLR/Vpp from main network.

2. insulation of Pin RB6 and RB7 from main network.

3. Capacitance at pin Vdd, Vpp, RB6 and RB7.

4. Operation tension a minimum and maximum.

5. Oscillator PICMICRO.

6. Interfacing to Programmer.



Pin Vdd usually connected to network RC. a resistor applied as pull-up to Vdd and a capacitor is attached to ground. This capacitor value can influence operation ICSP. a diode type Scottky also must be applied in this network. At the time of PICmicro is program, tension Vpp must around 13,5 volts. Thereby application network must be isolated from this tension. Pin RB6 and RB7 applied by PICmicro for programming serially. RB6 is bus clock and RB7 is data bus. RB6 controlled by programmer, while RB7 is pin having the character of bidirectional. Pin RB7 controlled by programmer when programming happened and controlled by PICmicro at the time of verification. Need to be paid attention that Vdd need to be stabilized at the range of finite 4,5V of 5,5V.



Programming of ICSP is done to applies programmer and software programmer. Programmer functions to provide specification of tension required for programming for level Vpp, Vdd and also signal programming at pin RB6 and RB7. While software programmer will arrange delivery of programming signal and gives interfacing with user.

read more "Control ICSP (In-Circuit Serial Programming) PIC16F84"

Tuesday, January 4, 2011

Control Interrupts Sources Microcontroller PIC16F84

Microcontroller PIC16F84 recognizes there are 4 kinds of source of interrupt. In general every source of the interrupt is alliances 2 interrupt bit. Firstly to enable interrupt and other detects the happen of interrupt. Side that is there is 1 public bit named by bit GIE (Global of Interrupt Enable bit).



Bit GIE very useful when program writing, because this bit is entitled to don't permit the happening of all interrupts at specified period causing execution at program key parts is not annoyed. When GIE is reset (GIE="0"), all interrupts will not be permitted. But, if this bit specified its the value becomes 1 interrupt will be considered. At the time of an interrupt is processed, bit GIE is cleaned so that existence of supplement interrupt will not be served.



Microcontroller PIC16F84 has existence of 4 source of interruption, that is:

1. External Interrupt at pin RB0/INT.

2. TMR0 does interrupt because timer overflows.

3. Interrupt at RB4, RB5, RB6 is at port B.

4. When writing of data at EEPROM completed.

read more "Control Interrupts Sources Microcontroller PIC16F84"