一、摘要我们所做的温度传感器可以实现通过采集室内的温度来控制电机的转动,以便于温度的调节。
可以应用到一些在温度范围要求较高的场合,如精密仪器的放置使用场所。
我们所做的温度传感器所能实现的功能有,温度测量范围为0到100摄氏度,精确度为0.1摄氏度,并且温度的测量值在液晶显示器上实时显示。
温度的测量范围在当温度升高至25摄氏度及以上时,步进电机开始顺时针转动;当温度在10到25摄氏度时,步进电机不转动;当温度低于10摄氏度时,步进电机开始逆时针转动。
我的制作结果,液晶显示器可以实时显示温度传感器返回来的数值,并且当温度传感器返回的数值满足电机转动或者停止的相应要求时,电机转动或者停止。
关键字:单片机 STC89C52 液晶显示器LCD1602A 温度传感器DS18B20 步进电机28BYJ-48二、英文摘要What we do can be achieved through the collection of temperature sensor indoor temperature to control motor rotation, so that the temperature adjustment.Can be applied to some higher requirements in the temperature range of occasions, such as the placement of precision instruments use place.What we do can realize the function of the temperature sensor, the temperature measurement range of 0 to 100 degrees Celsius, the accuracy of 0.1 degrees Celsius, and temperature measurements of real-time display on the LCD.Temperature measurement range in when the temperature rise to 25 degrees Celsius and above, the stepper motor clockwise beginning;When the temperature in 10 to 25 degrees Celsius, the stepper motor rotation;When the temperature below 10 degrees Celsius, the stepper motor begins to rotate counterclockwise.I made as a result, liquid crystal display, can return to the real-time display temperature sensor value, and when the temperature sensor returned value to meet the corresponding requirement of the motor rotation or stop the motor rotation or stop.Key words:microcontroller STC89C52 LCD1602A temperature sensor DS18B20 stepper motor 28 byj - 48三、引言温度是表征物体冷热程度的物理量,是工农业生产过程中一个很重要而普遍的测量参数。
温度的测量及控制对保证产品质量、提高生产效率、节约能源、生产安全、促进国民经济的发展起到非常重要的作用。
由于温度测量的普遍性,温度传感器的数量在各种传感器中居首位,约占50%。
该设计有极强的应用空间,可以广泛地应用于一些在温度范围要求较高的场合,如精密仪器的放置使用场所,智慧农业的大棚中等。
有着广泛的应用价值与宽阔的市场前景。
只要在此基础生稍作修改,即可实现更多功能,应用与更多的场合,用更大的市场发展空间。
四、硬件设计1、设计的总体电路图如下:在给设计中,采用STC89C52芯片作为主控制芯片,通过编写程序下载到主芯片里面对各个部件进行控制。
其中,温度传感器DS18B20实现对当前温度的采集,将采集到的结果进行处理并送到液晶显示器LCD1602A中进行显示,同时判断该温度的值,当温度在25摄氏度及以上时,步进电机28BYJ-48顺时针旋转,温度在10摄氏度及以下时,步进电机28BYJ-48逆时针旋转,温度在10到25摄氏度之间时,步进电机28BYJ-48停止旋转。
下面,将详细介绍各个部件模块的功能和作用。
2、主控制芯片STC89C52:以下是主控制芯片STC89C52的引脚图:STC89C52的内核和AT51系列单片机一样,故引脚也相同,具体如下:-第1至8管脚:I/OP1口(P1.0~P1.7);-第9管脚:复位脚(RST/Vpd);-第10至17管脚:I/OP3口(P3.0=RXD,P3.1=TXD,P3.2=-INT0,P3.3=-INT1,P3.4=T0,P3.5=T1,P3.6=-WR,P3.7=-RD);-第18、19管脚:晶振(18=XTAL2,19=XTAL1);-第20管脚:地(Vss);-第21至28管脚:I/OP2口(P2.0~P2.7);-第29管脚:-PSEN;-第30管脚:ALE/-PROG;-第31管脚:-EA/Vpp-第32至39管脚:I/OP0口(P0.7~P0.0);-第40管脚:+5V电源。
注:引脚功能前加“-”,说明其是低电平有效。
如P3.2=-INT0。
3、温度传感器DS18B20:以下是温度传感器DS18B20模块的电路图:温度传感器DS18B20有三个管脚,分别是VCC,GND和DQ,其中VCC和GND 是芯片的电源端和地端,分别接电源和接地。
DQ是数据输出端,将采集到的数据输出到主芯片进行数据的处理。
在输出端口加上4.7KΩ的限流电阻的原因是防止电流过大损坏主芯片。
4、液晶显示器LCD1602A:以下是液晶显示器LCD1602A模块的电路图:液晶显示器LCD1602A总共有16个管脚,其管脚的说明如下表所示:编号符号引脚说明编号符号引脚说明1 VDD 电源正极9 D2 数据2 VSS 电源地10 D3 数据3 V0 液晶显示偏压11 D4 数据4 RS 数据/命令选择12 D5 数据5 RW 读/写选择13 D6 数据6 E 使能信号14 D7 数据7 D0 数据15 A 背光源正极8 D1 数据16 K 背光源负极下面,我们详细介绍各个管脚的功能:-第1脚:VSS为地电源。
-第2脚:VDD接5V正电源。
-第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
-第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
-第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
-第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
-第7~14脚:D0~D7为8位双向数据线。
-第15脚:背光源正极。
-第16脚:背光源负极。
所以我们采用上述电路图的接法。
5、步进电机28BYJ-48:以下是步进电机28BYJ-48转动模块的电路图:步进电机是一种将电脉冲转化为角位移的执行机构。
通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。
您可以通过控制脉冲个来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
步进电机28BYJ48型四相八拍电机,电压为DC5V—DC12V。
当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。
每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。
当通电状态的改变完成一个循环时,转子转过一个齿距。
四相步进电机可以在不同的通电方式下运行,常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A……),双(双相绕组通电)四拍(AB-BC-CD-DA-AB-……),八拍(A-AB-B-BC-C-CD-D-DA-A……),具体如下所示:红线接VCC,橙色线、黄色线、粉色线、蓝色线的接法如下表所示。
由于单片机的接口信号不够大,需要通过ULN2003放大再接到相应的。
橙色线黄色线粉色线蓝色线十六进制编码1 0 0 0 0x081 1 0 0 0x0c0 1 0 0 0x040 1 1 0 0x060 0 1 0 0x020 0 1 1 0x030 0 0 1 0x011 0 0 1 0x09所以,我们在程序中,编写:uchar code CCW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09};//逆时钟旋转相序表uchar code CW[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08};//正时钟旋转相序表下面,我们来讲解ULN2003A芯片的功能与作用:ULN2003A是一个7路反向器电路,即当输入端为高电平时ULN2003A输出端为低电平,当输入端为低电平时ULN2003A输出端为高电平。
也可以作为一些器件,如步进电机的驱动电路。
具体功能电路如下:它的基本参数如下:1 工作温度范围-20°C to +85°C;2 封装类型:PDIP;3 引脚数:16;4 封装类型:DIP;5 晶体管数/通道数:7;6 表面安装器件:通孔安装器件标号:2003;7 最大连续电流:500mA;8 输入电压最大:30V;9 输入类型:5V TTL CMOS;10 输出电压最大:50V;11 输出电流最大:0.6A。
综上所述,由于单片机的I/O口一般输出的电压电流比较小,供电电压一般在3.3V或5V所以它的驱动负载能力不够。
而ULN2003A是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。
功率电子电路大多要求具有大电流输出能力,以便于驱动各种类型的负载。