双层玻璃杯厂家
免费服务热线

Free service

hotline

010-00000000
双层玻璃杯厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

基于MXT8051通用配料控制器的设计

发布时间:2020-07-01 01:53:14 阅读: 来源:双层玻璃杯厂家

引言

本文引用地址:混凝土是建筑行业最重要的材料,在混凝土的生产原料中,除水泥、沙石外最重要的原料当属减水剂,减水剂是一种表面活性材料,加入后对水泥颗粒起扩散作用,把水泥胶体中包含的游离水释放出来,虽然其在混凝土中比例微小,但作用巨大,可减少拌合用水,改善和易性,节约水泥,提高强度。

减水剂复配装置主要解决的是减水剂的生产、稀释、分装等生产过程,目前多数减水剂复配装置控制系统的解决方案是“重仪表+PLC+HMI”或“称重仪表+工控机+IO板”的方案,在实施过程中发现,这些方案成本高,稳定性可靠性差,不适用于一些成本敏感的项目。

根据上述需求,本文以时代民芯科技的MXT8051芯片为核心设计并测试了通用配料控制器,其集成了称重仪表、PLC、LCD显示等功能,很好的满足了减水剂复配控制的需求,如需应用到其他行业,只需将软件稍加修改即可。

总体方案设计

本文采用MXT8051芯片驱动称重芯片,读取称重传感器数值,根据预先设定的配方数据进行自动产品复配操作,包括自动加水、自动添加配料(固态或液态)、自动搅拌、自动出料等操作。

系统使用16位7段液晶显示器显示重量信息、设定信息、状态信息等,通过5个按键进行参数设定、系统标定、运行控制、显示控制等操作。

配方可由RS232或RS485连接到上位机进行,上位机软件可读取、装载配方数据,也可实时读取称重数据。

上位机软件采用 2005开发,可设置串行通信参数、测试控制器IO、读取称重数值、管理配方数据等。

硬件设计

时代民芯MXT8051芯片

MXT8051是以高速单指令周期 8051 为核的 MCU。拥有丰富的外设,包括 PWM、UART、WDT、Timer 等,1KB大容量外部RAM,内嵌 32Kx8 可在线编程 FLASH,10 位 ADC,8位DAC,若干OP,36x4 LCD driver、POR以及可编程增益放大器(PGA)等模拟电路。电路集成片上调试系统,通过标准 JTAG接口,快速诊断复杂 SoC,该调试系统具有不占用任何硬件资源,支持全速运行、单步运行、硬件断点、软件断点以及观察内部特殊功能寄存器、程序指针和内部RAM 等功能。上位机通过标准 JTAG 接口以及用户定义指令执行在线编程和在线调试。

称重专用芯片HX711

HX711是一款专为高精度电子秤设计的24位AD转换器芯片。与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。

硬件电路设计

图2 所示为系统硬件电路设计框图,系统设计成两块电路板,IO板和MCU板。MCU板上集成有HX711称重专用24位Σ-ΔDA转换芯片,RS232或RS485通信,16位7段LCD显示,IO板上集成有7路继电器IO输出,5路光电隔离IO输入,一路模拟量输出,2路模拟量输入,1路PWM光电隔离输出,5键键盘输入。

HX711外围电路以及电压基准电路设计,采用TL431芯片,通过电阻设定成5V输出,同时作为传感器电桥激励和HX711的参考电压,这样可以有效抵消温漂造成的系统误差(如图3所示)。

软件设计

控制器软件设计

HX711芯片的串口通讯线由管脚 PD_SCK 和 DOUT 组成,用来输出数据,选择输入通道和增益。 当数据输出管脚 DOUT 为高电平时,表明AD 转换器还未准备好输出数据,此时串口时钟输入信号 PD_SCK 应为低电平。当 DOUT 从高电平变低电平后,PD_SCK 应输入25至27个不等的时钟脉冲(如图4)。其中第一个时钟脉冲的上升沿将读出输出 24 位数据的最高位(MSB),直至第 24 个时钟脉冲完成,24位输出数据从最高位至最低位逐位输出完成。第25至27个时钟脉冲用来选择下一次AD转换的输入通道和增益,见表1。

PD_SCK 的输入时钟脉冲数不应少于25和多于27,否则会造成串口通讯错误。 当 AD 转换器的输入通道或增益改变时,AD转换器需要4个数据输出周期才能稳定。DOUT 在4 个数据输出周期后才会从高电平变低电平,输出有效数据。

根据图4所示的时序逻辑,读取通道A,增益128倍,其读取函数如下:unsigned int ReadCount(){unsigned int ADval; unsigned long Count; unsigned char i; PCR0 = 0xFB; //避免与I2C总线冲突 ADSK = 0; Count = 0; while(ADDO); for (i=0;i<24;i++){ ADSK = 1; Count = Count<<1; ADSK = 0; if(ADDO) Count++; } ADSK = 1; ; ADSK = 0; //判断是否为负值,并显示符号if((Count & 0x800000) == 0x800000){Count = ~(Count - 1);LCDDATA16 |= 0x80;}else{LCDDATA16 = 0x00;}ADval = (int)(Count >> 8);//取高十六位有效值B_AdFinish = 1; return(ADval); }

主程序流程如图5所示。

程序主要由初始化代码和主循环代码构成。

上位机软件设计

上位机软件采用 2005开发,主要功能为串行通信参数设置、IO测试、称重数值读取、配方数据管理。

软件运行界面如图6所示。

该软件的固件技术为串行指令的接收和发送,指令包括IO设定指令、IO状态读取指令、称重数值读取指令、配方数据写指令、配方数据读指令,其代码实现如下:

'0.5秒定时发送 读重量指令Private Sub Timer1_Tick(ByVal sender As ject, ByVal e As entArgs) Handles ckcommand(0) = &H5A

If Open ite(command, 0, 1) End IfEnd Sub 十六进制数5A 表示读取控制器的称重数值;'IO输出 指令 Private Sub CheckBox1_CheckedChanged(ByVal sender As ject, ByVal e As entArgs) Handles eckedChanged If ecked Then command(0) = &HF9Elsecommand(0) = &HF1End If If Open Then ite(command, 0, 1) End IfEnd Sub十六进制数F?表示该指令为IO输出指令,其中第3位数据表示开关状态,1表示闭合,0表示断开,0,1,2位合起来表示IO通道号;'读取输入信息Private Sub Button3_Click(ByVal sender As ject, ByVal e As entArgs) Handles ickcommand(0) = &HF0If Open ite(command, 0, 1)End IfEnd Sub十六进制数F0表示该指令为IO状态读取指令,当单片机接到此指令时,立即发送重量信息给上位机,格式如下:“I_?”,其中 ?即各个IO的状态,用1表示接通,0表示关断。

结语

目前,我国半导体产业落后于西方巨头,时代民芯作为国产半导体产业的领军企业,拥有雄厚的基础,本文以时代民芯科技的MXT8051单片机为核心,研发通用配料控制器,因为该芯片拥有丰富的片内资源,可以简化设计,同时,选用国产芯片,也是为民族半导体产业振兴添砖加瓦。

本文的通用配料控制器,除了可以提高减水剂复配效率,改善产品质量外,还可应用于其他相关的物料复配行业。此外,由于设计和测试时间有限,该控制器设计中还存在很多遗憾,有很大改进空间,比如:可以应用片内运放调节零点,提高称重精度;也可以将开关电源集成入控制器,这样可进一步降低用户成本,并节省空间。

参考文献:

【1】MXT8051芯片数据手册,时代民芯科技,2009年

【2】HX711中文 数据手册,芯海科技,2006年

【3】51单片机C语言应用开发技术大全,人民邮电出版社,刘坤等,2008 年

【4】Visual Basic 2005高级编程,(美)Bill Evjen, Billy Hollis, Rockford Lhotka 等 ,2006 年

51单片机相关文章:51单片机教程

c语言相关文章:c语言教程

称重传感器相关文章:称重传感器原理

威海工作服制作

沈阳西装制做

菏泽防静电工服订做