内容:本项目利用AD加光敏电阻传感器,按键及DA对直流电机的控制实现智能百叶窗的控制。具体功能:数码管显示测量结果光强,设置三个按键:手动/自动切换、手动正转和手动反转,用一个发光二极管显示手动/自动状态,自动状态时二极管亮。设置两个极限位置保护行程开关,用于保护百叶窗叶片:当正转到极限位置压下行程开关时,电机停止正转,但还可以反转;当反转到极限位置压下行程开关时,电机停止反转,但还可以正转。
意义:利用单片机进行光照监控及窗户自动化控制,能够很好的理解和学习单片机的控制及设计。
二、整体设计原理及方案本次实验使用器件为Generic-8051系列单片机,ADC0809芯片,DAC0832芯片,8279键盘、显示控制器芯片,两个电位开关,三个发光二极管,LED灯以及自行焊接的光强信号采集电路板一块。
2.2工作原理光强信号采集电路每一次采集光强信号之后,将光强信号传输至ADC0809芯片,通过模/数转换后,由单片机采集转换后的数字信号,实行判断光强是否超过阈值,通过8279键盘、显示控制器芯片显示光强信号的数值,并结合键盘上按键的控制(自动/手动切换,手动正转,手动反转),实现预定的输出。输出的数字信号经由DAC0832芯片转换成模拟信号,并将模拟信号输送到电机控制端实现执行功能。
因本实验电机不能实现反转,故用快转代替正转,慢转代替反转。
2.3设计方案该部分有3个按键及1个红色LED灯组成。其中一个按键为功能切换按键,连接着8051的外部中断接口。另外两个按键为手动正转和手动反转。接外部中断的按键按下可以切换工作模式:自动模式,手动模式。LED灯1为模式指示灯,当为自动模式的时候亮,手动模式的时候灭。当自动模式时,根据自设定的阈值,当超过最强光照强度时控制电机慢转,当低于最弱光强时控制电机快转。当处于手动模式时与光强度无关,按下手动正转键则电机正转,按下手动反转键则电机反转。
2.3.2光照获取及光照显示首先由光敏电阻组成的传感器模块提供随光照强度变化的电压值,在由A/D0809转换电路,将模拟量转换为数字量。还有一个由8279控制的6位数码管,我们将光照信息实时显示在数码管的前2位。
2.3.3极限开关的设置极限开关通过P0.1和P0.2分别控制手动正转和手动反转停止。当极限开关为低电平时使电机停转,高电平时不影响电机转动。同时当开关低电平时点亮一个发光二极管代表极限开关打开,电机停止转动。
三、硬件电路图该设计中除了热敏电阻电路其余电路均由实验台提供,实验台上提供了51单片机的最小系统并做了相关设定。
1)、微处理器:i80c31,它的P1口、P3口皆对用户开放,供用户使用。
2)、时钟频率:6.0MHz
3)、存储器:程序存储器与数据存储器统一编址,最多可达64k,板载ROM12k;RAM1(程序存储器6264)8k供用户下载实验程序,可扩展达32k;RAM2(数据存储器6264)8k供用户程序使用,可扩展达32k。在程序存储器中,0000H----2FFFH为监控程序存储器区,用户不可用,4000H----5FFFH为用户实验程序存储区,供用户下载实验程序。数据存储器的范围为:6000H----7FFFH,供用户实验程序使用。
注意:因用户实验程序区位于4000H-----5FFFH,用户在编写实验程序时要注意,程序的起始地址应为4000H,所用的中断入口地址均应在原地址的基础上,加上4000H。例如:外部中断0的原中断入口为0003H,用户实验程序的外部中断0的中断程序入口为4003H。
中断名称 8051原中断程序入口 用户实验程序响应程序入口
外部中断0 0003H 4003H
定时器0中断 000BH 400BH
外部中断1 0013H 4013H
定时器1中断 001BH 401BH
串行口中断 0023H 4023H
表1-1:用户中断程序入口表
利用这些提供的基本硬件电路就可以进行相关的设计。
3.2 A/D转换八路八位A/D实验电路由一片ADC0809,一片74LS04,一片74LS32组成,该电路中,ADIN0—ADIN7是ADC0809的模拟量输入插孔,CS0809是0809的AD启动和片选的输入插孔,EOC是0809转换结束标志,高电平表示转换结束。齐纳二极管LM336-5提供5V的参考电源,ADC0809的参考电压,数据总线输出,通道控制线均已接好。
电路原理八路八位A/D实验电路由一片ADC0809,一片74LS04,一片74LS32组成,该电路中,ADIN0—ADIN7是ADC0809的模拟量输入插孔,CS0809是0809的AD启动和片选的输入插孔,EOC是0809转换结束标志,高电平表示转换结束。齐纳二极管LM336-5提供5V的参考电源,ADC0809的参考电压,数据总线输出,通道控制线均已接好。
D/A0832电路设计3.3.1电路原理八位双缓冲D/A实验电路由一片DAC0832。一片74LS00,一片74LS04,一片LM324组成,该电路中除DAC0832的片选未接好外,其他信号均已接好,片选插孔标号CS0832。输出插孔标号DAOUT。该电路为非偏移二进制D/A转换电路,通过调节POT3,可调节D/A转换器的满偏值,调节POT2,可调节D/A转换器的零偏值。
8279显示电路由6位共阴极数码管显示,74LS244为段驱动器,75451为位驱动器,可编程键盘电路由1片74LS138组成,8279的数据口,地址,读写线,复位,时钟,片选都已经接好,键盘行列扫描线均有插孔输出。键盘行扫描线插孔号为KA0~KA3;列扫描线插孔号为RL0~RL7;8279还引出CTRL、SHIFT插孔。六位数码管的位选、段选信号可以从8279引入,也可以有外部的其他电路引入,原理图如下:
六位数码管电路的测试:除去电路板上数码管右侧的跳线,系统加点,用导线将插孔LED1接低电平(GND),再将插孔LED-A,LED-B,LED-C,LED-D,LED-E,LED-F,LED-G,LED-DP依次接高电平(VCC),则数码管SLED1的相应段应点亮,如果所有的段都不亮,则检查相应的芯片75451,如果个别段不亮,则检查该段的连线、及数码管是否损坏。用同样的方法依次检查其它数码管。
8279显示、键盘控制芯片电路的测试:加上数码管右边的所有短路线,复位系统,应能正常显示。否则检查8279芯片、244芯片、138芯片是否正常。
该信号采集电路由电压跟随器(输入级),差动比例放大器(中间级)以及反向比例放大器(输出级)构成。中间级为调零电路,输出级将高于零点的电位放大,并将测量上限放大为ADC输入上限。
直流调压调速电机模块由测速电路和调速电路两部分组成。模块的电源由接口总线引入。本模块中使用的电机为12V的直流电机。
3.6.1电机测速部分(1)直流电机测速原理介绍
电机测速部分由一个霍尔开关和信号放大电路组成。与电机同轴的转盘上装有两块的强力磁钢,它们的磁极性相反,以保持转盘的平衡并保证转盘每转一周霍尔开关只导通一次。霍尔开关平时输出为正电压,当转盘上的磁钢与霍尔开关正对时,霍尔开关输出负电压,经整形、放大输出。单片机通过对负脉冲计数,可计算出电机的转速。
(2)电机测速部分电路原理及说明
3144为霍尔开关,整形、放大由LM358完成。LM358作为比较器使用。SIGNAL为负脉冲输出接口,对应于模块上的SIGNAL插孔。可直接用SIGNAL信号进行测速。
此外,模块还提供了另一种测速方法。如下图所示:
平时使START保持低电平,OUT2输出为低电平,OUT1为高电平。拉高START表示允许测速,此时OUT1的下降沿启动计数,上升沿停止计数,表示测速结束。
(3)电机测速部分电路测试方法
将模块插在接口挂箱或对象挂箱上并接通电源,调节电位器R9,使电机转动。用示波器在SIGNAL插孔处可以看到连续的负脉冲。
3.6.2电机调速部分电机调速的原理是通过改变电机两端的电压来改变电机的转速。其原理如下:
该部分电路测试方法:
DRV接GND,调节电位器R9,可以观察到电机转速的变化。
开机默认情况下是电机停转。
开关第一个键切换至自动模式,模式指示灯点亮,8279控制的数码管能够实时的显示A/D0809读取的值,并且跟随光照强度变化。而D/A输出值跟随A/D值同步变化。
当光强位于两个阈值中间值时,电机停转。当用手遮住一部分灯光,A/D值马上下降,达到最弱光强(60H)之下时,电机开始正转(快转),当用强光照射后,A/D值上升,超过设定最强光强(E0H)后,电机转速反转(慢转)。
开关第二个键为切换到手动正转键,电机正转(快转),当极限开关1为低电平时,电机停止转动,高电平时不影响。开关第三个键为切换到手动反转转键,电机反转(慢转)当极限开关2为低电平时,电机停止转动,高电平时不影响。
当工作在手动模式情况下,光强变化对电机工作状态均不起影响。
六、问题及心得在本次设计中遇到的最大问题是在最后一周的时候才发现焊的电路板有问题,经过反复检查后决定重新焊电路板花费很长时间。之后程序设计经过反复修改得以顺利完成本次课程设计。
这次我学会了8279键盘的使用,以及AD转换和DA转换的原理,对单片机编程更加熟练,焊电路板也更加熟练。
试验图:
1.遮光时
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |