“第三十七课--Microduino 控制继电器开关/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(Created page with "{{Language|Lesson_37--Microduino_Control_Relay}} {| style="width: 800px;" |- | ==目的== 本教程将教大家如何使用继电器来控制一个相对大电流的电器(...")
 
程序
 
(未显示2个用户的3个中间版本)
第7行: 第7行:
  
 
==设备==
 
==设备==
*'''[[Microduino-Core]]'''
+
*'''[[Microduino-Core/zh]]'''
*'''[[Microduino-FT232R]]'''
+
*'''[[Microduino-USBTTL/zh]]'''
 
*其他硬件设备
 
*其他硬件设备
 
**面包板跳线  一盒   
 
**面包板跳线  一盒   
第38行: 第38行:
  
 
COM 是 Common
 
COM 是 Common
 
 
  
 
==原理图==
 
==原理图==
 
[[File:第三十七课-Microduino控制继电器开关原理图.jpg|600px|center|thumb]]
 
[[File:第三十七课-Microduino控制继电器开关原理图.jpg|600px|center|thumb]]
 +
 
其中:
 
其中:
  
    继电器线圈一端接 +5V,线圈的另一端 (蓝线) 接到 NPN 晶体管的集极 (Collector)
+
*继电器线圈一端接 +5V,线圈的另一端 (蓝线) 接到 NPN 晶体管的集极 (Collector)
  
    把整流二极管并联到线圈上,注意整流二极管有方向性,有标示的一端要朝向电源(本例中如果没有整流二极管,就以发光二极管代替)
+
*把整流二极管并联到线圈上,注意整流二极管有方向性,有标示的一端要朝向电源(本例中如果没有整流二极管,就以发光二极管代替)
  
   NPN 晶体管的发射极 (Emitter) 接到 GND,然後基极 (Base) 串联一个 1k 电阻连接Microduino 的 pin 13
+
*NPN 晶体管的发射极 (Emitter) 接到 GND,然後基极 (Base) 串联一个 1k 电阻连接Microduino 的 pin 13
  
   电机正极 (紅線) 接到继电器 NO 端,负极 (黑线) 接到 GND
+
*电机正极 (紅線) 接到继电器 NO 端,负极 (黑线) 接到 GND
  
   另外用一个相对大的电源正极接线到继电器的COM端(本教程使用的是两个18650电池串联产生7.4V电压)
+
*另外用一个相对大的电源正极接线到继电器的COM端(本教程使用的是两个18650电池串联产生7.4V电压)
 
 
   最后,把按钮的一支脚接到+5V,另一只脚接到pin2同时接一个10K的电阻接到GND,这样就完成了
 
  
 +
*最后,把按钮的一支脚接到+5V,另一只脚接到pin2同时接一个10K的电阻接到GND,这样就完成了
  
 
==程序==
 
==程序==
<source lang="cpp">
+
[https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced/MicroduinoControlRelays MicroduinoControlRelays]
 
 
/*
 
* 用继电器控制电机
 
*/
 
 
const int buttonPin = 2;                // 按钮(pushbutton)
 
const int relayPin = 13;                // 继电器(Relay)
 
int relayState = 0;                      // 继电器状态
 
 
void setup()
 
{
 
  Serial.begin(9600);                    // 开启 Serial port, 波特率 9600 bps
 
 
 
  pinMode(buttonPin, INPUT);            // 把 buttonPin 设置成 INPUT
 
  pinMode(relayPin, OUTPUT);            // 把 relayPin 设置成 OUTPUT   
 
}
 
 
void switchRelay()
 
{
 
  if (relayState == 0)                       
 
    relayState = 1;                      // 把继电器状态改为 ON
 
  else
 
    relayState = 0;                      // 把继电器状态改为 OFF   
 
     
 
  digitalWrite(relayPin, relayState);    // 切换开关
 
 
  Serial.print("Relay status: ");        // 串口输出继电器状态
 
  Serial.println(relayState);
 
}
 
 
void loop()
 
{
 
  int buttonState;
 
 
 
  // 读取按钮状态
 
  buttonState = digitalRead(buttonPin);
 
 
  // 检查按钮是否按下(pressed)
 
  // 有的話,buttonState 會是 HIGH
 
  if (buttonState == HIGH) {     
 
    switchRelay();                      // 切换继电器开关
 
    delay(500);                        // 延迟0.5秒
 
  }
 
}
 
 
 
 
 
</source>
 
  
 
==调试==
 
==调试==

2014年10月29日 (三) 05:03的最新版本

Language English

目的

本教程将教大家如何使用继电器来控制一个相对大电流的电器(本例用的是从旧的VCD里卸下的光驱电机)

设备

  • Microduino-Core/zh
  • Microduino-USBTTL/zh
  • 其他硬件设备
    • 面包板跳线 一盒
    • 面包板 一块
    • 直流电器 一个
    • 按键 一个
    • NPN晶体管 一个
    • 10k 欧姆电阻 一个
    • 1k 欧姆电阻 一个
    • 二极管 一个
    • 电池盒 一个
    • USB数据连接线 一根

继电器介绍:

   当输入量(如电压、电流、温度等)达到规定值时,使被控制的输出电路导通或断开的电器。可分为电气量(如电流、电压、频率、功率等)继电器及非电气量(如温度、压力、速度等)继电器两大类。具有动作快、工作稳定、使用寿命长、体积小等优点。广泛应用于电力保护、自动化、运动、遥控、测量和通信等装置中。

   继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。

第三十七课-继电器.jpg

大多数的继电器如上图所示,有5个引脚的,有6个引脚的,本教程使用的是5个引脚的,它们之间的区别就在于6个引脚继电器有两个com引脚,接电路的时候你接哪个都可以,5个引脚继电器只有一个com引脚,下面来介绍几点起的引脚:

如上图中间的黄色示意图,把继电器的底部引脚冲这你。

NC 是 Normal Closed

NO 是 Normal Open

COM 是 Common

原理图

第三十七课-Microduino控制继电器开关原理图.jpg

其中:

  • 继电器线圈一端接 +5V,线圈的另一端 (蓝线) 接到 NPN 晶体管的集极 (Collector)
  • 把整流二极管并联到线圈上,注意整流二极管有方向性,有标示的一端要朝向电源(本例中如果没有整流二极管,就以发光二极管代替)
  • NPN 晶体管的发射极 (Emitter) 接到 GND,然後基极 (Base) 串联一个 1k 电阻连接Microduino 的 pin 13
  • 电机正极 (紅線) 接到继电器 NO 端,负极 (黑线) 接到 GND
  • 另外用一个相对大的电源正极接线到继电器的COM端(本教程使用的是两个18650电池串联产生7.4V电压)
  • 最后,把按钮的一支脚接到+5V,另一只脚接到pin2同时接一个10K的电阻接到GND,这样就完成了

程序

MicroduinoControlRelays

调试

步骤一:把代码复制到IDE中,编译

步骤二:电路连接如下图:

第三十七课-Microduino控制继电器开关连接图.jpg

步骤三:运行代码

步骤四:按下开关,看电机是否转动。

结果

按下开关,继电器处于Normal Open(NO)状态,电机转动,再按下按钮开关,继电器切换回Normal Closed(NC)状态,电机停止

视频

http://v.youku.com/v_show/id_XNjc5OTAyNDky.html