357| 0
|
[入门教程] Arduino入门教程23--换挡风扇「DFR0100」 |
本帖最后由 zoey不种土豆 于 2024-11-22 08:43 编辑 在这个教程中,我们将学习如何使用Arduino和电位器来控制一个风扇的转速。电位器是一种可变电阻器,它可以输出一个模拟信号,这个信号的电压随着电位器旋钮的旋转而改变。 元件清单 硬件连接 图 1 换挡风扇连线图 样例代码: 代码上传成功后,转动电位器,感受小马达的转速的变化。代码回顾 使用电位器控制风扇转速是一个典型的输入-计算-输出的过程控制流程。 输入:先从电位器连接的模拟引脚读取模拟值: 计算:将读取的模拟值(0-1023)映射到一个新的范围(0-255),这个范围适合analogWrite()函数使用。 输出:通过PWM信号控制连接到fanout引脚的风扇的转速。outputValue决定了PWM信号的占空比,从而控制风扇的转速。 示例代码简明易懂,其他请结合注释自行理解。硬件回顾 在之前的项目中,我们学习过使用电位器控制舵机的转动以及蜂鸣器的音调,在项目【可控舵机】和【DJ调音台】中的硬件连接中,舵机和蜂鸣器的电路中并没有连入多余的电子元件。但在本项目中,小马达电路中还连入了NPN三极管和二极管(如下图)。为什么不能像蜂鸣器一样直接连入电路呢?接着会详细介绍NPN三极管和二极管在小马达电路中的作用。 图 2 130小马达驱动方式 NPN三极管的作用 Arduino UNO R3的主控板中,其每路输入/输出引脚的直流电流最大约为20mA,而130小马达的空载电流最少需要100mA。因此Arduino若想控制直流电机,只能采取放大电路驱动的方式。于是我们采用NPN三极管来驱动它(NPN三极管相关知识见项目【指尖开关】)。 续流二极管 续流二极管,保护电路免受由电机等感性负载引起的电压尖峰和反向电压的影响。当电流突然被中断时,感性负载会产生感应电动势,这会导致反向电压的产生,这可能会损坏其他电路元件(比如三极管)。续流二极管并联连接在线圈(小马达)两端,当流过线圈中的电流突然中断时,线圈中产生的感应电动势会驱动电流通过二极管回流,从而防止电流冲击其他电路元件并消耗掉感应能量,以此防止潜在的损坏。起这种作用的二极管叫续流二极管。它本质上还是二极管,但在这里主要起续流作用。 在本项目的电路中,当130小马达电机断电时,线圈会产生感应电动势并产生反向电压,该电压可能造成电路中元件(如三极管)的损坏。为防止这一风险,需在电机两端并联二极管以吸收此反向电压,保护电路。 如何区分电子元件的正负极呢?在本项目中,使用的二极管示意图如下,其中灰色环标注的一端为负极,另一端则为正极。 图 3 二极管正负极 示例代码 下一课: |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed