查看: 5477|回复: 0

[初识Arduino] 第十四课 火焰报警灭火模型实验

[复制链接]
本帖最后由 hnyzcj 于 2014-5-17 16:47 编辑

火焰报警灭火模型实验
作者:陈杰
教学目标
知识与技能:
1.    使用火焰传感器、蜂鸣器、红色LED、微型自吸直流小水泵制作火焰报警灭火系统模型。
2.    掌握如何电机驱动板与水泵正确的物理连线。
3.    使用电机驱动板的驱动水泵进行工作。
过程与方法:
1.  创意制作,正确连接物理电路,制作模型。
2.  测试程序,查看实验结果。
情感态度价值观:
    构建实际模型,联系生活普及应用。
教学重点
了解并掌握电机驱动板的结构及电气特性,了解其IO口,为灭火装置的提供动力驱动模块。
教学难点
正确叠加Arduino主控板与电机驱动板,使用其IO口完成系统功能。
实验器材:
Arduino主控板、L298P电机驱动板、微型自吸直流小水泵、火焰传感器、蜂鸣器、红色LED、220欧电阻、10K欧电阻、面包板、导线若干、Arduino Ide 1.04
教学过程
1.情景引入
上一课我们已经给大家介绍了火焰声光报警模型,但是在上节课我们留给同学们一个问题:虽然火焰报警模型通过声音、光线提示报警,但并没有对火源产生任何影响,请同学们考虑,如果检测到火源我们可以采取什么措施呢?
生1:发现火源后,可以用风来吹灭。
生2:发现火源后,可以用水来浇灭。
……
师:同学们讲的都很好,方法有很多,那么这节课呢,我给大家来介绍用水泵喷洒来灭火。下图就是一台直流自吸式水泵
DSC00267.JPG

图1

本课所需器材为:Arduino主控板、L298P电机驱动板、微型自吸直流小水泵、火焰传感器、蜂鸣器、红色LED、220欧电阻、10K欧电阻、面包板、导线若干
设计意图:案例引入,器材准备。
2.新知讲授
对于今天的模型中所使用到的器材,只有水泵和电机驱动板是新东西,其他的器件都和上节课完全一样,这里不在重复介绍。先来看看电机驱动板吧
(1.)认识L298P电机驱动板
本次实验中所使用的电机驱动板型号为:ocrobot motor shield 是基于arduino motor shield设计的增强版本的电机驱动,在兼容原版的基础上,重新设计了所有电路,光电隔离了与arduino通讯的所有的数字IO,电机板采用独立供电,GND分离技术,充分保证了在大负载,大功率下,急刹车,瞬时正反转等恶劣电磁环境下的arduino稳定性。其相关电气指标如下所示。
最大输入电压:24V
最小驱动电压:3V
推荐驱动电压范围:5v-12v
最大电流:2A
可靠工作电压(无辅助散热):12V
可靠工作电流(无辅助散热):1A
特点:六路光耦信号隔离,与Arduino控制器无GND连接,整版全隔离,独立电源系统。
090413e99rep554ffzff4u.jpg

图2使用注意:使用电机驱动应保证电机驱动板与arduino控制板电源完全独立,使用两块电池或者两个独立的电源,保证其电气隔离性。整体设计保留原版的IO口位置设计,兼容性得到保证,一样的堆叠设计,可以简单的插入arduino板上使用使用非常方便,只要将电机与电源依照下表标示,接入系统。下表为IO口的控制功能,如果使用电机时还会接驳其他设备应避免占用以下IO口。
  功能  
电机A
电机B
方向
D12
D13
速度(PWM)
D3
D11
制动(刹车)
D9
D8
从上表我们可以知道驱动一枚电机需要有三个参数,首先就是方向,对应IO口的高电平为一个方向,低电平为反方向,然后就是速度这个使用PWM的方式控制,给予其不同的占空比会获得对应的速度,最后是刹车,刹车的意思就是是否将电机的两极短接,短接两极后电机旋转会有非常大的阻尼,能量由续流二极管吸收,进而起到制动的作用,所以,要想电机转,这个IO口应该是低电平。 (2.)认识微型自吸直流小水泵这个水泵说白了就是个直流电机,通过特定的泵头,实现抽取水箱的水,进行喷洒的功能。图中有红色圆点提示的一端是正极,另外一端是负极,可不要接反了,否则你的水泵就是不是从水箱抽水来喷洒了。
DSC00170.JPG

(3.)连接线路
此次实验由于使用到了电机驱动板,所以在连线之前需要进行板卡叠加,将电机驱动板叠加在主控板之上。如下图所示,由于本次主控板是老板,所以出现了2根引脚不能紧密结合的情况,不过不影响使用。
DSC00266.JPG
实验的电路中蜂鸣器、红色LED、火焰传感器的连接大家上课已经学习过了,这里不再重复,主要讲下电机与电机驱动板的连接,将水泵电机的正负引脚分别通过杜邦线与电机驱动板的电机A或B的正负极相连。电机驱动板的VCC、GND分别接电源的正负极。
DSC00269.JPG
图3设计意图:介绍Arduino物理电路连接,为后面正确实验效果奠定基础。 (5.)烧录程序程序代码如下:
int g;//定义发量g
void buzzer()//蜂鸣器发出“嘀”声音子程序
{ for(g=0;g<80;g++)
{ digitalWrite(11,HIGH);//发声音
delay(1);//延时1ms
digitalWrite(11,LOW);//不发声音
delay(1);//延时ms
}
}
void setup()
{ pinMode(10,OUTPUT);//设置数字10、11引脚为输出方式
pinMode(11,OUTPUT);
}
void loop()
{
char i,j,k;//定义发量
i=analogRead(4);//读取没有火焰时模拟口的电压值
while(1) {
j=analogRead(4);//不断读取模拟口的电压值,时时监测
k=j-i;//做差值
if(k>123)//如果差值大于0.6(0.6为模拟值,123为对应的数字二进制值)说明有火焰
{ buzzer();//蜂鸣器发出声音
digitalWrite(10,HIGH); //设置数字10口为高电平,红灯亮
  digitalWrite(9,LOW);       //松开电机A的制动
  digitalWrite(3,HIGH);      //采用全功率输出
  digitalWrite(12,HIGH);     //设置方向为正向
}
else
{ digitalWrite(11,LOW);//设置数字11口为低电平,蜂鸣器不响
digitalWrite(10,LOW); //设置数字11口为低电平,红灯灭
digitalWrite(9, HIGH);       //松开电机A的制动
  digitalWrite(3,LOW);      //采用全功率输出
  digitalWrite(12,LOW);     //设置方向为正向
}
}
}将上述代码复制到IDE窗口中,先编译,如果无误后,再上传烧录至控制板中。完成后可以测试实验结果。 三.课堂练习师:1.水泵的电机反接,看看效果是什么样的?为什么?。2.将灭火的水泵换成,吹风的风扇,比较一下那个灭火装置效率更高? 四.学习总结   本课主要学习了电机驱动板的结构和电气特性。以及如何利用电机驱动板驱动自吸式水泵。并利用上节课所制作的火焰报警装置,检测到火源,进行灭火的动作。 五、课后反馈本课教学后出现的问题还是比较多的具体如下:1.       学生在使用的LED、蜂鸣器等电器元件的数字IO占用了电机驱动的IO2.       火焰传感器的连线错误(老错误)。3.       电机驱动板没有提供单独供电或电源接线接反。4.       水泵连线接反,没有起到抽水灭火的效果。综上所述错误原因分析:对于电机驱动板和水泵新设备熟练程度不够,需加强练习。  


高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2019 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail