336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

http://www.mcuexamples.com/PIC-Relay.php

 

마이크로컨트롤러를 이용한 릴레이 제어

(사용칩 : PIC18F2520, 사용언어 : C언어)

 

A relay is a switch which is operated by electricity.

릴레이는 스위치이다. which is 동작되는 by 전자에 의해.

It is usually electromagnetic device which has coil.

전자기 디바이스

When this coil is supplied with power, a magnetic field is created and will operate mechanical switch.

코일이 공급될때 with 파워와함께, 자기장은 만들어진다.                동작시킬것이다. 기계적 스위치를.

 

There are solid state relays which do not have moving parts

but are very expensive compared to small mechanical relays.

솔리드_스테이트_릴레이가 있다. which do not 갖고있지않는 움직이는 부품들을

but are 매우 비싸다. compared to 작은 기계적 릴레이들에 비해

 

Pictures in this page shows typical small electro mechanical relay.

그림은                     보여준다. 전형적으로 작은 전자_기계적 릴레이를.

 

Relay is used when we need to handle high voltages and currents

through microcontroller operated system.

릴레이는 사용된다. when 우리가 다룰필요가있을때 고전압 & 고전류를

through 마이크로컨트롤러 운영체제를 통해.

 

Relay coil's current requirement is usually more than 100mA (for small relay about 100mA)

and microcontroller cant supply this much of current to relay by it self.

릴레이 코일의 전류 요구사항은 보통 more than 100mA이상이다.

and 마이크로컨트롤러는 공급할 수 없다. 이렇게 많은 전류를 to 릴레이에 by 그자체로.

 

 

So as shown in following schematic diagram,

we have to use transistor to handle this current requirement.

그래서 as 보이는 바와같이

우리는 사용해야만한다. 트랜지스터를 to 다루기위해 이 전류 요구조건을.

 

Base pin of NPN transistor used here

is connected to ground pin via resistor to make sure that relay will stay off

when microcontroller does not output +5V to transistors base.

베이스 핀

은 연결됬다. to GND핀에 via 저항을거쳐서 to확실히하기위해 that 릴레이가 머물것인지 OFF상태로

when 마이크로컨트롤러가 does not 출력하지않을때 +5V를 to 트랜지스터 베이스에.

 

This will make sure only logic 1 on microcontroller pin will activate relay.

이건 확실히할것이다. 단지 논리"1"은                            will 활성화시킬것이다. 릴레이를    

It is better to use Darlington transistor to handle current requirement for relay,

because darlington transistor can handle more current than single transistor.

더낫다. to  사용하는게 달링톤-트랜지스터를 to 다루기위해 전류요구조건을 for 릴레이를위한.

because 달링톤-트랜지스터는 can 다룰수있기때문이다. more전류를 than 싱글 트랜지스터보다.

(달링톤 트랜지스터)

 

It is essential to connect a diode

across relay coil in reverse bias

to protect transistor form back EMF created

when relay is released from energized or ON state.

이건 필수이다. to 연결하는게 a 다이오드를

across 릴레이 코일은 지나서 in 반대쪽 바이이스안에서

to 방지하기위해 트랜지스터를

from back EMF로부터 만들어진

when 릴레이가 풀릴때 from 활발하게 되는것으로부터 or ON상태로부터

 

If this diode is not used,

transistor and/or microcontroller which is driving relay

may be damaged upon releasing energized relay.

이 다이오드가 사용되지않으면,

트랜지스터 and/or 마이크로컨트롤러 which is 드라이빙하는 릴레이를

는 아마 데미지받을것이다. upon 풀자마자 활성화된 릴레이를.

 

The diode will short out the back EMF produced by coil when it turned OFF from ON state.

다이오드는 쇼트시킬것이다.  back EMF 만들어진 by 코일에의해 when 그게 꺼질때 OFF상태로 from ON상태로부터.

 

Following example shows schematic diagram and source code written in Mplab C18 to operate a bulb connected to AC power line. Program will blink the AC bulb.

MPLAB project source available here and OrCAD project is available upon request. (USE forum)

 

 

 

 

 

PIC18F2520(for Relay).DSN

 

 

 

//
// Designed by www.MCUExamples.com
// rasika0612@gmail.com
//

#include <p18f2520.h>

#pragma config OSC         =    XT     // 4MHz Crystal, (XT oscillator)
#pragma config PBADEN    =    OFF // PORTB<4:0> pins are configured as digital I/O on Reset)

void delay_ms(unsigned int duration);

void main()
{
    TRISC=0; //Make PORTC out put
    while (1)
    {
        LATCbits.LATC0=0;     //Set all pins of portC to logic high
        delay_ms(500);     // delay 500mS
        LATCbits.LATC0=0;        //Set all pins of portC to logic low
        delay_ms(500);    // delay 500mS
    }
}

void delay_ms(unsigned int duration) // delay in miliseconds for 4.0MHZ crystal
{
    unsigned int i;
    for(;duration!=0;duration--)
    {
        for(i=0;i<=50;i++)
        {
            _asm
                nop
                nop
                nop
            _endasm
        }
        _asm
            nop
            nop
        _endasm
    }
}

'MCU Examples (PIC 기반)' 카테고리의 다른 글

Controlling Stepper Motor in FDD(=플로피디스크 드라이브)  (0) 2013.02.24
Parallel Dot Matrix  (0) 2013.02.01
USB  (0) 2013.01.11
SD Card  (0) 2013.01.11
Posted by ElectricShock
:
BLOG main image
잡동사니들(지극히 개인취향인...) (다른글에도 댓글 부탁해요♥) You May Leave English Messages on GuestBook. by ElectricShock

공지사항

카테고리

분류 전체보기 (782)
Programming(=프로그래밍) (3)
MiDi (2)
Animation (4)
Blender (3D Graphic Program.. (10)
Blendtuts.com (Series) (1)
Blender 기초 팁들 (2)
Processing (디지털미디어과) (2)
Music (1)
Books in the world (0)
Communication(CAN, UART, et.. (12)
MCU Examples (PIC 기반) (7)
Transistor (1)
Mikro C Pro (11)
Mikro Pascal (1)
Proton IDE (0)
Robot (0)
Swift 3D (1)
Dummies Series (1)
All about Hacking (0)
제2 외국어 (1)
PIC 해외서적들 (3)
AVR (25)
PIC (MikroC) (MPLAB) (4)
Assembly (2)
ARM (3)
Arduino (26)
PSpice (1)
Proteus ISIS (14)
CodeVision (2)
FPGA (15)
MPLAB (24)
PCB (the Procedure) (15)
3D Printer (5)
PICKIT3 (6)
Matlab (11)
RaspBerry PI (15)
BeagleBone (1)
Android Studio (17)
졸업작품 (172)
Korea History (0)
Issue(사회) (73)
Multimeter 리뷰 (1)
Oscilloscope (1)
A (34)
B (19)
J (6)
C (32)
P (12)
T (37)
H (12)
I (12)
M (44)
R (5)
E (5)
F (2)
D (9)
O (2)
L (7)
S (9)
W (2)
V (6)
G (14)
Visual C++ or Visual Studio (2)
Android App Development (0)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백