国产卡1卡2卡3免费看_日产精品国产精品日韩精品乱码_好吊妞国产欧美日韩在线观看_综合一区二区国产欧美亚洲_亚洲色图日本国产_四虎成人永久影院_大地中文字幕在线_日本在线视频不卡_成人午夜性高一级毛片_欧美黄色A级电影

歡迎光臨廣州品鑫機(jī)電科技有限公司!

新聞資訊
News

繼電器模塊電路設(shè)計(jì)和分析

發(fā)布時(shí)間:2025-02-17作者:admin點(diǎn)擊:234

  一、繼電器介紹:

  

1.png


  繼電器模塊是一種利用電磁原理控制電路通斷的電子器件。它通過低壓信號(hào)控制高壓電路,實(shí)現(xiàn)自動(dòng)調(diào)節(jié)、隔離和安全保護(hù)。直流繼電器模塊的五個(gè)引腳中,兩個(gè)用于控制線圈,其余三個(gè)分別連接常開端、常閉端和公共端,以實(shí)現(xiàn)電路的自動(dòng)切換。簡而言之,繼電器模塊就是一個(gè)可以用低壓信號(hào)控制高壓電路的自動(dòng)開關(guān)。

  二、繼電器使用說明:

  (1)繼電器的工作原理:

  

2.png


  當(dāng)?shù)蛪弘娫?控制電路)導(dǎo)通時(shí),電磁鐵產(chǎn)生磁力,吸引銜鐵,使得觸點(diǎn)閉合,從而使得高壓電源(工作電路)形成回路并導(dǎo)通。

  當(dāng)?shù)蛪弘娫磾嚅_時(shí),電磁鐵失去磁力,彈簧將銜鐵拉回原位,觸點(diǎn)斷開,高壓電源的回路被切斷,工作電路斷開。

  (2)繼電器的接線端子:

  常閉觸點(diǎn)(NC):在繼電器未激活時(shí),這個(gè)觸點(diǎn)與公共觸點(diǎn)相連。

  公共觸點(diǎn)(COM):這是繼電器的中心觸點(diǎn),它在繼電器激活時(shí)會(huì)與常開觸點(diǎn)相連。

  常開觸點(diǎn)(NO):在繼電器未激活時(shí),這個(gè)觸點(diǎn)與公共觸點(diǎn)斷開,激活后與公共觸點(diǎn)相連。

  (3)繼電器控制:

  輸入(IN):當(dāng)控制信號(hào)從輸入端IN1發(fā)出低電平信號(hào)時(shí),這將觸發(fā)光耦合器U1的內(nèi)部LED發(fā)光(以低電平觸發(fā)為例)。

  常閉(NC):在繼電器未激活的狀態(tài)下,常閉觸點(diǎn)(NC)與公共觸點(diǎn)(COM)相連,形成閉合回路。

  公共(COM):公共觸點(diǎn)(COM)是繼電器內(nèi)部的一個(gè)中心連接點(diǎn),它在繼電器激活時(shí)會(huì)與常開觸點(diǎn)(NO)相連。

  常開(NO):在繼電器未激活的狀態(tài)下,常開觸點(diǎn)(NO)與公共觸點(diǎn)(COM)斷開,沒有形成閉合回路。

3.png


  (4)繼電器原理圖:

  當(dāng)IN1接收到低電平信號(hào)時(shí),光耦合器U1導(dǎo)通,使得三極管T1導(dǎo)通,繼電器K1的線圈得電,繼電器觸點(diǎn)閉合,從而控制高壓電路的通斷。(該原理圖為低電平觸發(fā),無選擇端)

  

4.png


  原理圖中IN1作為控制電路的輸入端,接收外部控制信號(hào)。當(dāng)IN1為低電平時(shí),通過限流電阻R1點(diǎn)亮LED1,指示信號(hào)狀態(tài),同時(shí)激活光耦合器U1,實(shí)現(xiàn)電氣隔離并導(dǎo)通其輸出端。接著,電流通過基極電阻R2流入NPN型三極管T1的基極,使其導(dǎo)通。這導(dǎo)致繼電器K1的線圈通電,產(chǎn)生磁場,吸引銜鐵,閉合觸點(diǎn)。繼電器觸點(diǎn)P1包括常閉觸點(diǎn)(1腳)、公共觸點(diǎn)(2腳)和常開觸點(diǎn)(3腳),控制高壓電路的通斷。二極管D1用于保護(hù)電路,防止反向電動(dòng)勢損壞三極管。整個(gè)電路由電源VCC和GND供電,連接器P3用于連接外部信號(hào)和電源。

  三、代碼示例:

  (1)繼電器控制代碼:

  #include "stm32f10x.h" // Device header

  void Relay_Init(void){

  // 使能GPIOB端口的時(shí)鐘

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

  // 定義GPIO初始化結(jié)構(gòu)體

  GPIO_InitTypeDef GPIO_InitStructure;

  // 設(shè)置GPIOB引腳1為推挽輸出模式,速度為50MHz

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;

  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

  GPIO_Init(GPIOB, &GPIO_InitStructure);

  // 將GPIOB的第1引腳設(shè)置為高電平,停止導(dǎo)通,繼電器設(shè)置為低電平觸發(fā)

  GPIO_SetBits(GPIOB, GPIO_Pin_1);

  }

  void Buzzer_ON(void){

  // 將GPIOB的第1引腳設(shè)置為低電平

  GPIO_ResetBits(GPIOB, GPIO_Pin_1);

  }

  void Buzzer_OFF(void){//關(guān)閉蜂鳴器

  // 將GPIOB的第1引腳設(shè)置為高電平

  GPIO_SetBits(GPIOB, GPIO_Pin_1);

  }

  Relay_Init函數(shù)首先使能GPIOB端口的時(shí)鐘,然后配置GPIOB的第1引腳為推挽輸出模式,速度為50MHz,用于控制繼電器。初始化后,該引腳被設(shè)置為高電平,以確保繼電器在默認(rèn)狀態(tài)下不導(dǎo)通(繼電器是低電平觸發(fā))。Buzzer_ON函數(shù)通過將GPIOB的第1引腳設(shè)置為低電平來激活蜂鳴器,而Buzzer_OFF函數(shù)則通過設(shè)置引腳為高電平來關(guān)閉蜂鳴器。這樣設(shè)計(jì)允許通過改變GPIO引腳的電平狀態(tài)來控制蜂鳴器的開關(guān),實(shí)現(xiàn)聲音報(bào)警或提示功能。

  (2)按鍵控制代碼:

  #include "stm32f10x.h" // 包含STM32F10x系列微控制器的頭文件

  #include "Delay.h" // 包含延遲函數(shù)的頭文件

  // 按鍵初始化函數(shù)

  void Key_Init(void)

  {

  // 使能GPIOB端口的時(shí)鐘

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

  // 定義GPIO初始化結(jié)構(gòu)體

  GPIO_InitTypeDef GPIO_InitStructure;

  // 設(shè)置GPIOB引腳12和13為上拉輸入模式,速度為50MHz

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; // 即內(nèi)部上拉輸入模式

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_12;

  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

  // 初始化GPIOB

  GPIO_Init(GPIOB, &GPIO_InitStructure);

  }

  // 獲取按鍵編號(hào)的函數(shù)

  uint8_t Key_GetNum(void)

  {

  uint8_t KeyNum = 0; // 定義按鍵編號(hào)變量,并初始化為0

  // 檢測GPIOB的第13引腳是否被按下

  if (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_13) == 0)

  {

  Delay_ms(20); // 等待20毫秒以消除按鍵抖動(dòng)

  // 再次檢查以確認(rèn)按鍵確實(shí)被按下

  while (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_13) == 0);

  Delay_ms(20); // 等待20毫秒以消除按鍵抖動(dòng)

  KeyNum = 1; // 設(shè)置按鍵編號(hào)為1

  }

  // 檢測GPIOB的第12引腳是否被按下

  if (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_12) == 0)

  {

  Delay_ms(20); // 等待20毫秒以消除按鍵抖動(dòng)

  // 再次檢查以確認(rèn)按鍵確實(shí)被按下

  while (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_12) == 0);

  Delay_ms(20); // 等待20毫秒以消除按鍵抖動(dòng)

  KeyNum = 2; // 設(shè)置按鍵編號(hào)為2

  }

  return KeyNum; // 返回按鍵編號(hào)

  }

  通過Key_Init函數(shù)初始化GPIOB端口的第12和13引腳為上拉輸入模式,用于檢測按鍵狀態(tài)。在Key_GetNum函數(shù)中,程序通過檢測這兩個(gè)引腳的電平變化來判斷是否有按鍵被按下,并通過延時(shí)函數(shù)Delay_ms消除按鍵抖動(dòng)的影響。當(dāng)檢測到按鍵按下時(shí),程序會(huì)再次檢查以確認(rèn)按鍵狀態(tài),并根據(jù)按下的按鍵編號(hào)設(shè)置KeyNum變量,最后返回按鍵編號(hào)。

  (3)main函數(shù):

  

5.png


  在main函數(shù)中,程序首先調(diào)用Relay_Init來初始化蜂鳴器,設(shè)置GPIOB的第1引腳用于控制繼電器觸發(fā)。接著,調(diào)用Key_Init來初始化按鍵,配置GPIOB的第12和13引腳為上拉輸入模式,用于檢測按鍵狀態(tài)。程序進(jìn)入一個(gè)無限循環(huán),不斷檢測按鍵狀態(tài)。通過調(diào)用Key_GetNum函數(shù),程序獲取當(dāng)前被按下的按鍵編號(hào)。如果檢測到按鍵1被按下,Buzzer_ON函數(shù)被調(diào)用,使GPIOB的第1引腳輸出低電平,從而激活蜂鳴器。如果檢測到按鍵2被按下,Buzzer_OFF函數(shù)被調(diào)用,使GPIOB的第1引腳輸出高電平,關(guān)閉蜂鳴器。

  (4)接線圖:

  

6.png


地址:廣州天河區(qū)創(chuàng)境匯盈科智谷24號(hào)樓301房

全國24小時(shí)服務(wù)熱線18126855130

聯(lián)
咨詢熱線:
18126855130
在線客服:

客服QQ:2885125697

官方微信站:
公司官網(wǎng): http://h3926.cn