找回密码
 立即注册

QQ登录

只需一步,快速开始

星原力教育科技 首页 创客工坊 查看内容

基于Arduino制作转速过限保护装置

2020-5-14 10:08| 发布者: lou| 查看: 2472| 评论: 0

摘要: 基于Arduino制作转速测试借助于arduino硬件和mixly设计一个转速测试,显示屏显示转速值,降压模块改变电压大小,电压大,轮子转速快,反之,转速小,当轮子速度大于设定值时,轮子停止转速,并发出蜂鸣警报声。材料 ...

基于Arduino制作转速过限保护装置






借助于arduino硬件和mixly设计一个转速测试,显示屏显示转速值,降压模块改变电压大小,电压大,轮子转速快,反之,转速小,当轮子速度大于设定值时,轮子停止转速,并发出蜂鸣警报声。


材料准备


  • Arduino UNO主控
  • Arduino UNO  R3扩展板
  • 1602显示屏
  • 霍尔传感器
  • 磁铁
  • 低电平触无源蜂鸣器 
  • 1路光耦继电器(5V
  • MP1584降压模块
  • 船型开关  
  • 9V充电锂电池


硬件连接


           硬件管脚                                                           Arduino UNO R3扩展板管脚

1602显示屏SDA                    <------>                              A4

1602显示屏SCL                    <------>                               A5

蜂鸣器I/0                            <------>                                 5

霍尔传感器DO                     <------>                                 8

1路光耦继电器IN                  <------>                                4

MP1584降压模块IN+          <------>                                电源正极与VIN(接2根杜邦线)

MP1584降压模块IN-           <------>                                电源负极

MP1584降压模块OUT+      <------>                                 1路光耦继电器 公共端

MP1584降压模块OUT-       <------>                                 G

电机一端                            <------>                                  G

电机另一端                         <------>                                1路光耦继电器  常开


转速求法


1/s=r/s,就是电机轮子转一圈除以时间,也就等于转速。首先声明两个时间变量t1t2,都为长整数0,再声明一个变量a为整数0,用于等会程序中的判断。如果霍尔传感器检测到磁铁,并且a等于0t1就赋值为系统时间,a赋值为1,如果霍尔传感器再次检测到磁铁,而这个时候,a等于1,那就将t2赋值一个系统时间,a重新赋值为0。这个里的系统时间单位为毫秒,所以下后续程序中,我们要进行单位的转换,追踪换成秒,所以可以再声明一个V为小数0.00的变量,如果t2t1的大于0V复制为1000.00除以t2t1。这个V就是我们想要等到的转速。


(转速程序)


电机转动


继电器在控制电机是是否转动,但不能控制转动速度,电机的一端连接在继电器的常开中,所以,当继电器处于高电平时,电机停止转动,而低电平,则是电机转动。装置刚打开时,设置继电器处于低电平,当降压模块更改电压时,转速大于等于指定转速3.7时,电机停止转动。


(控制电机转动程序)


显示转速与报警


1602显示屏显示转速,当转速小于3.7时,显示屏第一行显示电机的转速,而转速大于等于3.7时,第二行会显示“warning”警告,并且蜂鸣器发出长鸣声。在程序设计中,同理,先对1602进行初始化,此蜂鸣器为低电平触无源蜂鸣器,所以蜂鸣器高电平时是没有声音,低电平则是发出声音。


(总程序)


路过
路过
雷人
雷人
握手
握手
鲜花
鲜花
鸡蛋
鸡蛋