0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

將繼電器與PIC微控制器PIC16F877A連接的教程

科技觀察員 ? 來源:circuitdigest ? 作者:蘇拉夫·古普塔 ? 2022-11-14 16:20 ? 次閱讀

在本項目中,我們將繼電器與PIC微控制器PIC16F877A連接。繼電器是一種機械設(shè)備,用于從較低的電壓電平控制高電壓、大電流電器的“ON”或“OFF”。繼電器在兩個電壓電平之間提供隔離,通常用于控制交流電器。從機械繼電器到固態(tài)繼電器,電子產(chǎn)品中有各種類型的繼電器可供選擇。在這個項目中,我們將使用機械繼電器。

在這個項目中,我們將做以下事情-

我們將接口一個開關(guān),用于用戶的輸入。

用 5V 繼電器控制220V 交流燈泡。

為了控制繼電器,我們將使用 BC547 NPN 晶體管,晶體管將由PIC16F877A控制。LED 將通知繼電器打開或關(guān)閉條件。

所需組件:

PIC16F877A

20兆赫晶體

2 個 33pF 陶瓷

3 個 4.7K 電阻器

1k 電阻

1 個發(fā)光二極管

BC547 晶體管

1N4007 二極管

5V 立方繼電器

交流燈泡

面包板

用于連接零件的電線。

5V適配器或任何具有至少200mA電流能力的5V電源。

繼電器及其工作:

繼電器的工作原理與典型開關(guān)相同。機械繼電器使用由電磁線圈制成的臨時磁鐵。當我們通過這個線圈提供足夠的電流時,它就會通電并拉動手臂。因此,連接在繼電器上的電路可以是閉合的,也可以是斷開的。輸入和輸出沒有任何電氣連接,因此它隔離輸入和輸出。

繼電器可以在不同的電壓范圍內(nèi)找到,如5V、6V、12V、18V等。在這個項目中,我們將使用5V 繼電器,因為我們的工作電壓在這里是5 伏。這款5V 立方繼電器能夠在240VAC時切換7A負載或110VAC時切換10A負載。然而,代替巨大的負載,我們將使用一個 220VAC 燈泡并使用繼電器進行切換。

這是我們在本項目中使用的5V 繼電器。額定電流明確規(guī)定了兩個電壓電平,120VAC 時為 10A,240VAC 時為 7A。我們需要連接小于指定額定值的繼電器負載。

pYYBAGNx-mGAViJeAABDlvFHQOE920.jpg

該繼電器有5 個引腳。如果我們看到引腳排列,我們可以看到-

poYBAGNx-mKAA-TyAABjTmil2oY301.jpg

L1 和L2是內(nèi)部電磁線圈的引腳。我們需要控制這兩個引腳來打開繼電器“ON”或“OFF”。接下來的三個引腳是極點、常開和常閉。極與內(nèi)部金屬板連接,當繼電器打開時,金屬板會改變其連接。在正常情況下,極點與常閉短路。NC代表常態(tài)連接。當繼電器打開時,極改變其位置并與常開連接。NO代表常開。

在我們的電路中,我們已經(jīng)與晶體管和二極管進行了繼電器連接。帶晶體管和二極管的繼電器在市場上可作為繼電器模塊使用,因此當您使用繼電器模塊時,您無需連接其驅(qū)動電路(晶體管和二極管)。

poYBAGNx-mSAOvYsAADAGX4P3QE903.jpg

繼電器用于所有家庭自動化項目,以控制交流家用電器。

電路圖:

下面給出了用于將繼電器與PIC微控制器連接的完整電路:

poYBAGNx-diAGm-lAAG_Vy4PQhU427.png

在上面的原理圖中,使用了pic16F877A,其中在端口B上連接LED和晶體管,使用RBO處的TAC開關(guān)進一步控制。R1為晶體管提供偏置電流。R2是一個下拉電阻,用于輕觸開關(guān)兩端。當未按下開關(guān)時,它將提供邏輯 0。1N4007是一個箝位二極管,用于繼電器的電磁線圈。當繼電器關(guān)閉時,可能會出現(xiàn)高壓尖峰,二極管會抑制它。晶體管是驅(qū)動繼電器所必需的,因為它需要超過50mA的電流,而微控制器無法提供。我們也可以使用ULN2003代替晶體管,如果應(yīng)用需要兩個或三個以上的繼電器,這是一個更明智的選擇,請檢查繼電器模塊電路。端口 RB2上的LED將通知“繼電器已打開”。

最后的賽道會是這樣的——

pYYBAGNx-mWAWW-DAADVwf7Eq14512.jpg

代碼說明:

在main.c文件的開頭,我們添加了pic16F877A的配置行,并定義了跨 PORTB的引腳名稱。

與往常一樣,首先,我們需要在圖片微控制器中設(shè)置配置位,定義一些宏,包括庫和晶體頻率。您可以在最后給出的完整代碼中檢查所有這些代碼的代碼。我們制作了RB0作為輸入。在此引腳中,開關(guān)已連接。

#include

/*

Hardware related definition

*/

#define _XTAL_FREQ 200000000 //Crystal Frequency, used in delay

#define SW PORTBbits.RB0

#define RELAY PORTBbits.RB1

#define LED PORTBbits.RB2

之后,我們調(diào)用了 system_init() 函數(shù),在其中初始化引腳方向,并配置了引腳的默認狀態(tài)。

在 system_init() 函數(shù)中,我們將看到

void system_init(void){

TRISBbits.TRISB0 = 1; // Setting Sw as input

TRISBbits.TRISB1 = 0; // setting LED as output

TRISBbits.TRISB2 = 0; // setting relay pin as output

LED = 0;

RELAY = 0;

}

在主功能中,我們不斷檢查開關(guān)按下,如果我們通過檢測RB0上的邏輯高電平來檢測開關(guān)按下;我們等待一段時間,看看開關(guān)是否仍然被按下,如果開關(guān)仍然被按下,那么我們將反轉(zhuǎn)繼電器和 LED 引腳的狀態(tài)。

void main(void) {

system_init(); // System getting ready

while(1){

if(SW == 1){ //switch is pressed

__delay_ms(50); // debounce delay

if (SW == 1){ // switch is still pressed

LED = !LED; // inverting the pin status.

RELAY = !RELAY;

}

}

}

return;

}

/*

* File: main.c

* Author: Sourav Gupta

* By:- circuitdigest.com

* Created on May 30, 2018, 2:26 PM

*/


// PIC16F877A Configuration Bit Settings


// 'C' source line config statements


// CONFIG

#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator)

#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)

#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)

#pragma config BOREN = ON // Brown-out Reset Enable bit (BOR enabled)

#pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3/PGM pin has PGM function; low-voltage programming enabled)

#pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)

#pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)

#pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off)





#include

/*

Hardware related definition

*/

#define _XTAL_FREQ 200000000 //Crystal Frequency, used in delay

#define SW PORTBbits.RB0

#define RELAY PORTBbits.RB1

#define LED PORTBbits.RB2


/*

Other Specific definition

*/

void system_init(void);


void main(void) {

system_init(); // System getting ready

while(1){

if(SW == 1){ //switch is pressed

__delay_ms(50); // debounce delay

if (SW == 1){ // switch is still pressed

LED = !LED; // inverting the pin status.

RELAY = !RELAY;

}

}

}

return;

}



/*

This Function is for system initialisations.

*/


void system_init(void){

TRISBbits.TRISB0 = 1; // Setting Sw as input

TRISBbits.TRISB1 = 0; // setting LED as output

TRISBbits.TRISB2 = 0; // setting relay pin as output

LED = 0;

RELAY = 0;

}


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 繼電器
    +關(guān)注

    關(guān)注

    132

    文章

    5314

    瀏覽量

    148360
  • PIC16F877A
    +關(guān)注

    關(guān)注

    2

    文章

    43

    瀏覽量

    21762
  • PIC微控制器
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    7388
收藏 人收藏

    評論

    相關(guān)推薦

    如何使用PIC微控制器旋轉(zhuǎn)步進電機

    在本教程中,我們步進電機與PIC微控制器PIC16F877A連接。
    發(fā)表于 11-15 17:25 ?1425次閱讀
    如何使用<b class='flag-5'>PIC</b><b class='flag-5'>微控制器</b>旋轉(zhuǎn)步進電機

    PIR與PIC16F877A連接起來的教程

    PIR(被動紅外)或運動傳感器用于檢測移動人體或物體的運動。每當有人進入 PIR 傳感的范圍內(nèi)時,它的輸出引腳都會發(fā)出高電平。 今天,我們簡單地PIR與PIC
    的頭像 發(fā)表于 11-16 16:12 ?1700次閱讀
    <b class='flag-5'>將</b>PIR與<b class='flag-5'>PIC16F877A</b><b class='flag-5'>連接</b>起來的教程

    pic16f877a中文資料pdf

    pic16f877a中文資料
    發(fā)表于 07-15 13:20 ?4548次下載
    <b class='flag-5'>pic16f877a</b>中文資料pdf

    基于PIC16F877A的太陽能與市電互補照明系統(tǒng)控制器的設(shè)

    基于PIC16F877A的太陽能與市電互補照明系統(tǒng)控制器的設(shè)計 介紹了一款以單片機PIC16F877A控制核心的太陽能與市電互補照明系統(tǒng)控制器
    發(fā)表于 04-10 22:06 ?1343次閱讀
    基于<b class='flag-5'>PIC16F877A</b>的太陽能與市電互補照明系統(tǒng)<b class='flag-5'>控制器</b>的設(shè)

    PIC16F877A串口發(fā)送查詢方式

    PIC16F877A串口發(fā)送,查詢方式,就為了調(diào)出這個費了我一天時間,原來是串口芯片電壓問題,現(xiàn)總結(jié)如下
    發(fā)表于 09-01 11:03 ?10次下載
    <b class='flag-5'>PIC16F877A</b>串口發(fā)送查詢方式

    PIC16F877A串口芯片電壓問題

    PIC16F877A串口發(fā)送,查詢方式,就為了調(diào)出這個費了我一天時間,原來是串口芯片電壓問題,現(xiàn)總結(jié)如下
    發(fā)表于 09-01 11:15 ?9次下載
    <b class='flag-5'>PIC16F877A</b>串口芯片電壓問題

    PIC16F877A的T0定時制作的電子鐘程序

    經(jīng)過努力,利用PIC16F877A的T0定時制作的電子鐘實驗成功!
    發(fā)表于 05-15 09:42 ?1869次閱讀

    PIC16F877A開發(fā)板 數(shù)碼管動態(tài)掃描實驗

    //****************電子園PIC16F877A開發(fā)板 數(shù)碼管動態(tài)掃描實驗****************//////mcu: PIC16F877A 4MHz //2010年12月
    發(fā)表于 11-16 19:51 ?13次下載
    <b class='flag-5'>PIC16F877A</b>開發(fā)板 數(shù)碼管動態(tài)掃描實驗

    PIC16F877A開發(fā)板 普通IO驅(qū)動74595實驗

    //*****************電子園PIC16F877A開發(fā)板 普通IO驅(qū)動74595實驗***************////PIC16F877A 實驗板////mcu
    發(fā)表于 11-16 19:51 ?13次下載
    <b class='flag-5'>PIC16F877A</b>開發(fā)板 普通IO驅(qū)動74595實驗

    PIC16F877A 看門狗定時實驗

    //*******************PIC16F877A 看門狗定時實驗******************* // //PORTA,PORTB,PORTC,PORTD,PORTE
    發(fā)表于 11-16 20:06 ?8次下載
    <b class='flag-5'>PIC16F877A</b> 看門狗定時<b class='flag-5'>器</b>實驗

    DHT11與PIC16F877A連接進行溫度和濕度的測量

    在本文中,我們學(xué)習(xí)如何將此DHT11 與 PIC16F87A連接,這是一個 8 位 PIC 微控制器。我們將使用這個
    的頭像 發(fā)表于 08-22 16:07 ?2298次閱讀
    <b class='flag-5'>將</b>DHT11與<b class='flag-5'>PIC16F877A</b><b class='flag-5'>連接</b>進行溫度和濕度的測量

    MCP4921與PIC16F877A接口進行數(shù)模轉(zhuǎn)換的方法

    在本教程中,我們DAC MCP4921 與 Microchip PIC16F877A 接口以進行數(shù)模轉(zhuǎn)換。
    發(fā)表于 09-06 17:40 ?1585次閱讀
    <b class='flag-5'>將</b>MCP4921與<b class='flag-5'>PIC16F877A</b>接口進行數(shù)模轉(zhuǎn)換的方法

    使用熱敏打印機連接PIC16F877A并使用輕觸開關(guān)實現(xiàn)打印的教程

    在本教程中,我們熱敏打印機 CSN A1 與廣泛使用的 PIC 微控制器 PIC16F877A 連接
    的頭像 發(fā)表于 11-04 15:10 ?2698次閱讀
    使用熱敏打印機<b class='flag-5'>連接</b><b class='flag-5'>PIC16F877A</b>并使用輕觸開關(guān)實現(xiàn)打印的教程

    如何在PIC16F877A微控制器中使用EEPROM保存數(shù)據(jù)

    在本教程中,我們將了解使用 **PIC16F877A 微控制器中的 EEPROM** 保存數(shù)據(jù)是多么容易。在大多數(shù)實時項目中,我們可能必須保存一些數(shù)據(jù),即使關(guān)閉電源也不應(yīng)刪除這些數(shù)據(jù)。這聽起來像是一
    的頭像 發(fā)表于 01-25 15:39 ?2423次閱讀
    如何在<b class='flag-5'>PIC16F877A</b><b class='flag-5'>微控制器</b>中使用EEPROM保存數(shù)據(jù)

    PIC16F877A開發(fā)板原理圖

    PIC16F877A開發(fā)板原理圖免費下載。
    發(fā)表于 03-21 15:47 ?12次下載