单片机外设使用 ¶
约 1351 个字 37 行代码 预计阅读时间 6 分钟
自锁电路 ¶
电工经典自锁电路(起保停电路)原理解析 - 电工基础 _ 电工电气学习网
亦称自保,是一种通过启动按钮(点动)启动后,使接触器线圈持续带电,从而保持接点通路状态的控制方式。通俗地说,就是按下按钮,电动机开始运转;松开按钮,电动机仍保持运转状态。这种状态被称为自锁控制回路。
在控制电路中,自锁功能是通过启动按钮 SB2 实现的。当按下 SB2 时,接触器 KM 的线圈通电,其与 SB2 并联的辅助常开触点闭合,确保在松开 SB2 后,KM 线圈能持续通电。这进一步导致串联在电动机回路中的 KM 主触点持续闭合,从而实现电动机的连续运转。
另一方面,停止按钮 SB1 用于断开电路。按下 SB1 时,接触器 KM 的线圈断电,其与 SB2 并联的辅助常开触点断开,确保在松开 SB1 后,KM 线圈持续失电。这又导致电动机回路中的 KM 主触点持续断开,使电动机停转。这种与 SB2 并联的 KM 辅助常开触点的行为正是自锁作用的体现。
此外,控制电路还配备了短路保护、过载保护和零压保护功能。短路保护由串接在主电路中的熔断器 FU 提供;过载保护则通过热继电器 FR 实现,当过载时,其发热元件会发热并断开常闭触点,从而断开电动机的电源;而零压或欠压保护则由接触器 KM 本身提供,当电源暂时断电或电压严重下降时,KM 线圈的电磁吸力不足,导致衔铁自行释放,切断电源并解除自锁。
继电器 ¶
继电器有常开或者常闭两种状态,可以控制电路的通断。
小回路控制
加速度 ¶
MPU6050¶
MPU6050 是一款集成了三轴加速度计和三轴陀螺仪的 6 轴运动传感器。它可以测量加速度、角速度以及温度,广泛应用于姿态检测、运动追踪等场景。
主要特点:¶
- 内置 16 位 ADC,可以同时输出 6 个轴的数据
- 可测量范围:
- 加速度 : ±2g、±4g、±8g、±16g 可选
- 角速度 : ±250、±500、±1000、±2000°/s 可选
- 内置数字运动处理器 (DMP),可直接输出姿态角
- 工作电压 : 3.3V-5V
- 通信方式 : I2C 接口,标准地址 0x68
引脚说明:¶
- VCC: 供电引脚 (3.3V-5V)
- GND: 接地
- SCL: I2C 时钟线
- SDA: I2C 数据线
- INT: 中断引脚
- XDA/XCL: 用于外接磁力计的 I2C 接口 ( 可选 )
超声波 ¶
HC-SR04¶
HC-SR04 是一种常见的超声波距离测量传感器,通过超声波的传播时间来测量物体的距离。它的工作原理基于超声波反射回来的时间来计算距离。
工作步骤:¶
-
发送超声波信号:当有脉冲电压触发时(就是控制板给 Trig 引脚发送高电频
) ,探头里的晶片就会振动,这会产生一个超声波信号(通常是 40kHz 的声波) 。( 逆压电效应 )正压电效应:某些晶体材料在交变拉压应力作用下,产生交变电场的效应称 之为正压电效应
。 (就是机械能转换成电能) 逆压电效应:当晶体材料在交变电场作用下,产生伸缩变形的效应称为逆压电效应。(就是电能转换成机械能) -
超声波传播与反射:超声波信号在空气中传播,当遇到物体时会发生反射。反射回来的超声波信号被传感器的 Echo(回波)引脚 接收。
-
测量回波时间:传感器通过 Echo 引脚 测量从发送信号到接收回波信号所需的时间。这个时间通常以微秒(μs)为单位(
pausein()
函数以微秒为单位) ,反映了信号从发射到接收所经历的往返时间。 -
计算距离:利用声音在空气中的传播速度,可以根据回波时间计算距离。声速在空气中的速度约为 343 米 / 秒,或者 0.0343 cm/μs。因为超声波是来回传播的,所以下来的总时间需要除以 2 来得到物体的单程距离。
引脚与连线 ¶
- VCC:供电引脚,连接到 5V。
- GND:接地引脚,连接到 GND。
- Trig(触发引脚):控制信号的输入引脚,用来发出短脉冲触发超声波发送。
- Echo(回波引脚):接收超声波反射信号的输出引脚,返回高电平信号的持续时间,表示回波的时间。
代码 ¶
#define TRIG_PIN 2 // 设置Trig引脚为2,可以自定义
#define ECHO_PIN 3 // 设置Echo引脚为3,可以自定义
void setup() {
// 初始化串口通信
Serial.begin(9600);
// 设置Trig和Echo引脚模式
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
}
void loop() {
// 发出超声波信号
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2); // 将 `Trig` 引脚设置为低电平,确保传感器准备好接收触发信号。
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10); //将 `Trig` 引脚设置为高电平,持续 10 微秒来发射超声波。
digitalWrite(TRIG_PIN, LOW);
// 计算回波信号传回的时间
long duration = pulseIn(ECHO_PIN, HIGH); //使用 `pulseIn()` 函数测量从 `Echo` 引脚返回的高电平持续时间,这个时间代表超声波信号从发射到接收的往返时间。
// 计算距离(单位:cm)
long distance = duration * 0.034 / 2;
// 输出距离到串口监视器
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
// 延时100毫秒后再次测量
delay(100);
}
温度 ¶
DHT11¶
DHT11 是一款应用非常广泛的温湿度采集元件,传感器包括一个电阻式感湿元件和一个 ntc 测温元件
- 在温度上的测量范围是0-50摄氏度,在湿度上的测量范围是20-90%
Arduino 使用 ¶
下载完成后可通过 : 文件 / 示例 /DHT sensor library /DHTtester,打开示例程序并修改。 - 需要在程序中修改数据输入引脚和传感器型号
#define DHTPIN 3
#define DHTTYPE DHT11 //DHT11