历史上的今天
今天是:2025年03月24日(星期一)
2018年03月24日 | 基于单片机控制步进电机的水位控制系统设计
2018-03-24 来源:eefocus
基于单片机控制步进电机的水位控制系统,通过金属棒和水的导电性采集水位信号,结合了单片机输出电平控制继电器来控制抽水机的实验,实现了连续控制和跟踪水位,并以液晶实时显示水位。该方案具有原理简单、想法新颖、容易实现、精度高等特点,控制系统对于提高工业自动化水平和提高生活供水质量具有重要的意义。
在生产领域中,实现水位自动检测和控制是工业过程控制的一项关键技术,对于提高工业过程控制的自动化水平有着重要的意义。
在生活领域中,供水方式过去一般是通过人工来实现控制,容易造成对水资源的浪费,所以现在人们越来越关注水资源的问题。
目前,水位控制系统是受到广泛应用的供水系统,水位控制可以有多种实现方法,如机械控制、逻辑电路控制、机电控制、传感器控制等,但传统的控制方式存在控制精度低、能耗大、不能实现连续控制和跟踪水位的特点,所以本论文设计出更方便更准确的水位控制系统。
1 总体方案设计
本系统主要由单片机最小系统电路、水位检测电路、步进电机驱动电路、水位显示电路、水泵驱动电路、软件设计等。设计系统框图如图1所示。图1中的单片机控制模块为系统的核心部件,键盘和显示器用来实现人机交互功能,其中通过键盘将所需要设置的参数和状态输入到单片机中,并且通过控制器显示到显示器上,当水箱里的水位下降时,移动探头也随着下降,再通过简单的算法,显示器实时显示水箱里的水位。

2 硬件系统设计
2.1 控制器模块设计
单片机控制器主要用于产生步进电机控制脉冲,对步进电机当前步数进行采集处理,再经过简单的算法,在终端LCD上显示当前的水位。对于控制器的选择采用AT89S52作为系统控制的方案。AT89S52单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制。相对于FPGA来说,它的芯片引脚少,在硬件很容易实现。并且它还具有功耗低、体积小、技术成熟和成本低等优点。
2.2 电机驱动模块设计
本次设计的主要目的是控制电机的转速,其电机采用两相四线步进电机,因此电机驱动模块是必不可少的,其方案决定采用专用的电机驱动芯片L298N,此电机驱动芯片的电路设计简单、抗干扰能力强、可靠性好。其电路原理图如图2所示。
![]()

2.3 水位检测模块设计
传统的水位检测有采用压力传感器,再经过AD转换,传送到单片机,运算复杂,精度不够高,或者是采用接触式拾取信号,在水箱的不同位置安装若干个金属棒来感知水位的变化,直接利用金属和水的导电性采集水位信号,运算简单,但不能实现连续水位的监控。本次设计利用单片机控制步进电机,在步进电机上悬挂一个移动探头,探头接触到水,则单片机采集到信号为高电平,否则为低电平。本设计能进行连续水位的监控,程序运行简单,控制精度高,成本低。其电路图如图3所示。

2.4 显示模块设计
本设计方案采用128x64LCD液晶显示器,该显示器功率低,驱动方法和硬件连接电路较为简单,显示屏幕大、可对汉字和字符进行显示。
2.5 进出水模块设计
在连续水位控制系统中,系统要对水箱里的水进行出进水控制,本设计采用继电器控制水泵来控制进出水,单片机控制继电器简单,适合工业的进出水。其电路图如图4所示。

3 软件设计
为了使控制系统各种硬件设备能够正常运行,有效地实现实时控制和管理,除了要设计合理的硬件电路,还必须要有高质量的软件支持。软件设计包括各个模块的驱动程序的设计,主程序软件的设计,控制算法的实现。各驱动模块有键盘识别程序,LCD液晶显示器显示程序,控制设置程序等。主程序流程图如图5所示,鉴于篇幅所限,在此不提供程序源代码。

4 实验结果及分析
4.1 给定水位测试
用键盘输入给定的水位高度,其结果如表1所示。

4.2 液面跟踪测试
启动跟踪测试程序,显示器LCD实时显示水位的高度,其测试结果如表2所示。

从以上结果来看,误差值在允许范围里,电机驱动负载的功率比较低,需要该用性能较好的电机。
5 结论
1)优化的软件算法,智能化的自动控制,误差补偿;2)本课题设计的优点在于设计了连续控制和液面跟踪水位的系统,这种控制系统克服了传统基于电极式水位控制系统的缺陷,方案新颖,算法简单,容易实现,精度高,对实现水位自动检测和控制具有实际的应用价值。
史海拾趣
|
一、线路图: 1、rsense电阻取1欧姆时。充电电流为250MA,0.5欧姆时,电流为520MA,2N6109用TIP42代替,SHUNT电阻为限流电阻,大约1K,其他参数如图。 转绢流后充电机充电电流是原来的1/8还是1/16取决于PGM3脚的接法: Rsense电阻两 ...… 查看全部问答> |
|
本人刚学VB,在写一个串口数据采集大的小软件,刚开始就遇到了问题,以下代码,我在调试时都正常运行,能正确获得返回数据,可是生成exe文件后,程序却没反应,也没有错误信息出现!就是没有数据,求高手帮忙! Public gSend As Boolean &nb ...… 查看全部问答> |
|
LM4871/CSC8002低电压3W功率放大器IC应用电路原理图说明 LM4871/CSC8002 是一个BTL 桥连接的音频功率放大器.它能够在5V 电源电压下给一个3Ω 负载提供THD 小于10%、平均值为3W 输出功率。在关闭模式下电流的典型值为0.6uA. LM4871/CSC8002 是为提供大功率,高保真音频输出而专门设计的.它仅仅需要少量 ...… 查看全部问答> |
|
最近在研究将TPM(安全模块)应用到ARM7上,要在ucosii里添加TPM的驱动,但是现在都是linux下的驱动。有没有大侠可以指点下,可以在ucosii中加TPM的驱动吗?… 查看全部问答> |
|
我现在在测试zigbee加密问题,协调器不使用加密,而路由器使用机密的时候,发现路由加入不了网络,不知到为什么。请哪位高手指教一下。 哦,我加密的时候只在f8Config.cfg上面把DSECURE设成1.… 查看全部问答> |




