基于单片机C8051F350的弹簧片测试与分选系统
1F350单片机的Δ-Σ模数转换器,首先必须搞清楚特殊功能寄存器的各个位的确切含义,然后根据系统时钟频率,确定调制器时钟频率,计算出分频常数和抽取比常数,并对其进行正确设置。这些特殊功能寄存器共有11个,它们是:控制寄存器ADC0CN,配置寄存器ADC0CF,方式寄存器ADC0MD,时钟寄存器ADC0CLK,抽取比寄存器ADC0DECH/L,偏置寄存器ADC0DAC,缓冲寄存器ADC0BUF,输入选择寄存器ADC0MUX,状态寄存器ADC0STA,结果寄存器ADC0H/M/L,还有参考电压控制寄存器REF0CN等。
调制器的时钟频率MDCLK为2.4576MHz时,ADC的性能最佳,此时,调制器对输入信号的采样速率为:MDCLK/128=19.2kHz。考虑到系统对快速性的要求,设系统的时钟频率SYSCLK为49MHz,调制器取最佳时钟频率时,可计算出滤波器的抽取比OWR为20。当参考电压为内部2.5V时,测量计算公式为:
式中:F(mF)为压力毫伏数;ADC0为模数转换器读数;Vref为参考电压毫伏数。
3 弹簧片自动测试分选系统的硬件原理
图2所示是弹簧片自动测试分选系统的控制原理框图,单片机C8051F350是该系统的控制中心,由于其具有功能强大且灵活多变的接口配置功能,特别是具有24位Δ-Σ模数转换器接口,使得硬件电路不需要太多的外扩芯片,即可实现LCD液晶显示接口,LED指示矩阵接口及键盘扫描接口等,大大简化了系统结构。
荷重传感器的输出毫伏电压送到模拟输入端,经过24位ADC接口,单片机求得加力值,再根据步进电机的位移量,按照系统数学模型,计算出弹簧的弹性系数k和支撑力F。在完成一片弹簧片测试后,还需要将弹簧片按支撑力和弹性系数记入系统配对库中,以备将来进行配对操作。为了方便对一组弹簧片进行连续测试和装入系统配对库,系统的分选板上有一个10×20挂钉矩阵,每个挂钉位置旁边,都有一个LED指示器,挂钉矩阵的X坐标值代表支撑力F,Y坐标值代表弹性系数K,单片机以串行方式和矩阵逻辑电路连接。
4 测试系统的软件设计
本系统软件的设计采用了结构化、模块化的程序设计方法,由主程序、中断服务程序和功能子程序组成。主程序结构简明,主要完成对单片机系统及分选机构的初始化,对键盘的扫描,并跳转到相应的功能模块中去。中断服务程序主要包括ADC中断程序,步进电机变频驱动程序,键盘中断程序,分选机构程序等。子程序主要包括设置模块、测试模块、分选板驱动模块和校准模块,以及LCD和LED驱动子程序、复位和数学运算子程序等。
其中,校准模块是保证精确测量的关键,主要有砝码校准和零位校准。砝码校准用一个标准砝码对荷重传感器进行校准,零位校准通过对测试头机械部分的调试,得到弹簧片的压平位置并记忆。
设置模块用于设置分选板X方向的支撑力的原点和步距,以及Y方向的弹性系数的原点和步距,设置模块更重要的作用是通过对标准弹簧片的测量,得到一个支撑力和弹性系数的修正值并记忆,从而保证多台测试设备的测试数据,具有良好的一致性。
初始化Δ-Σ模数转换器是正确使用C8051F350单片机的关键。设系统内部时钟频率为49MHz,调制器的最佳时钟频率为2.4576MHz,则滤波器的抽取比为20,初始化程序如下:
ORL REF0CN,#01H ;选择内部参考电压
MOV ADC0CN,#10H;双极性,BURNOUT电流源关,增益为1
MOV ADC0CF,#00H;SINC3滤波器,内部参考电压2.5V
MOV ADC0CLK,#13H;设置调制器时钟分频
MOV ADC0DECH,#03H;设置抽取比寄存器
MOV ADC0DECL,#0BEH
MOV ADC0BUF,#00H;将输入缓冲器旁路
MOV ADC0MUX,#10H;选择双极性输入端
MOV ADC0MD,#81H;启动ADC0为内部校准方式
JNB AD0CALC,$;等待校准完成
ORL EIE1,#08H;允许 ADC0 中断
MOV ADC0MD,#80H;激活ADC0为空闲方式
CLR AD0INT;清中断标志位
MOV ADC0MD,#83H;启动ADC0为连续转换方式
5 结语
基于混合信号单片机C8051F350的弹簧片自动测试与分选系统的研制成功,解决了地震检波器生产领域里的难题,经过两年多的使用,该系统测控方案正确,精度达到了设计要求,即:弹性系数小于7.8g/mm,支撑力小于10g,K值全程分度0.05。由于主芯片集成度高,大大简化了系统,提高了稳定性和可靠性,对提高产品质量发挥了积极的作用。
单片机 步进电机 传感器 C8051F350 SPI 201405 相关文章:
- FPGA的DSP性能揭秘(06-16)
- 基于单片机通用引脚的软件UART设计(10-16)
- 分时操作系统思想在单片机中的具体应用 (10-30)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)
- 关于RTX51 TINY的分析与探讨(05-30)
- 基于MC9S12DGl28单片机的智能寻迹车设计(04-03)