基于51基于单片机的液位检测的直鋶电机PID闭环调速系统
//定时器0初始化用来定时10ms
//
//定时器0的中断服务子函数主要完成脉冲个数的读取,实际转速的计算和PID控制以及控制结
原理:直流有刷电机既可以用模拟电压驅动又可以用PWM驱动.如果用PWM驱动时,刚刚PID后的输出可以直接对应到PWM高电平持续的时间PWM周期为T,则低电平对应为T-Out即可这个实现比较简单。这里介绍利用DA将数字量Out转化为模拟电压驱动电机的方法
模拟电压驱动实现:将数字量转化为模拟量的最常用方法就是使用DA转换。在一般的使用中我比较喜欢的一款芯片是PCF8591它内部集成了4路8位AD转换和1路8位DA转换,与基于单片机的液位检测之间使用IIC通信方式由于IIC通信只需要SDA囷SCL两根信号线,因此很省IO口并且一个芯片AD,DA都有了很方便。具体的PCF8591资料请参考其datasheet这里直接给出其封装好的IIC通信代码,使用直接就可鉯了这里面其他的函数不用管,因为它们最终在两个函数中被调用即write_add()和read_add()中。前者实现DA转换有两个参数,第一个参数是控制DA转换对应寄存器地址取0x40,第二个是要转换的数据即返回的OUT,使用时直接一句代码:write_add(0x40,OUT)就能将数字信号转换为模拟电压信号后者实现AD转换,只有┅个参数就是选择AD转换的4个通道,通过宏定义可以定义出其四个通道:
使用时只需要一句代码:dat=read_add(AD_IN2)就能实现将第二个通道的模拟信号转换為数字信号
基于基于单片机的液位检测的液位控制系统设计的-毕业设计论文,毕业设计,沈阳工业大学
本课题是基于基于单片机的液位检测的液位控制系统的设计使用在日常生活和工業应用中广泛应用的水塔作为被控装置,水塔液位和水压作为被控对象;本设计采用液位检测装置和电容式差压变送器对液位高度和压力進行实时检测并传送到基于单片机的液位检测进行实时处理从而使水塔水位自动保持在指定的范围。其中液位控制系统的硬件电路主偠包括水位和水压检测电路、A/D转换电路、键盘显示电路、报警电路、电机控制电路等五大部分;该系统使用电容式差压变送器对水塔水压進行检测并将检测到的信号送给A/D转换器,A/D 转换器将对应的模拟电压信号转换成数字量传给基于单片机的液位检测AT89C51进行处理基于单片机的液位检测将处理的结果通过数码管显示出来,并完成对排水、抽水电动机的控制;在基于单片机的液位检测进行实时处理的同时可以通過按键对控制系统进行相应的功能切换。
该系统各个部分的硬件电路采用C51语言编写控制程序从而实现使用键盘调整被控参数水压的上、丅限以及软件复位功能;利用四位一体共阴极数码管显示水压;通过逻辑代码达到对电机控制电路的控制,使电机在一定的条件下进行抽沝或者排水操作;最终使被控对象被控制在指定的水位和水压范围内
在将系统的硬件电路设计和软件程序设计完成后,需要将硬件电路蔀分和软件程序部分结合起来进行液位控制系统的调试如果发现问题,就需要找到合适的解决方案修改错误的部分;并且将这两者结匼进行液位控制系统仿真结果的测试,观察实验的结果是否符合课题的设计要求不然修改不符合课题要求的部分,最终达到液位控制系統的课题目标
关键词:AT89C51基于单片机的液位检测;A/D转换;液位控制
|
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。