基于ADS1230的高精度智能电子秤的设计
* 来源: * 作者: * 发表时间: 2020-05-28 0:40:13 * 浏览: 161
由于中小企业通常使用手写记录和结算工资,这不仅增加了工作量,而且还导致工资计算错误。针对上述问题,我们设计并完成了将称重和沉降结合在一起的集成设备。该解决方案使用20位AD芯片ADS1230精确地称重,从重量计算出特定的工资,然后使用RFID技术的RF读取器将重量和工资存储到非接触式IC卡中,并显示在LCD上完成工资结算。简介生产和加工的自动化已成为当前的趋势。称重和工资结算通过电子设备结合在一起,这有利于提高生产效率并减少人工计算中的错误。本设计采用STM32系列芯片,具有高性能,低成本,低功耗的嵌入式应用,特别设计了ARMCortex-M3内核,时钟频率高达72M,内置32K至128K闪存,价格低于其他32位产品。因此,本设计使用STM32F103RBT6作为主控制芯片来收集,存储,显示和发送数据。 2.总体设计整个电路可分为4个模块:单片机主控制器,测量模块,IC卡读卡器模块,OLED显示模块。具体电路如图1所示。2.1测量模块为了实现高精度测量,TI生产的20位AD芯片ADS1230用于对压力传感器进行采样,以实现称量的数字化。通过STM32读取数据,并通过平均滤波获得准确的模拟量。校准仪器的校准。该器件采用LM2940稳压5V芯片供电,输出噪声为150MVrms,可以满足设计要求。两路电源用于为芯片供电,以减少电源纹波。 ADS1230芯片在数字端由5V供电,在模拟端由5V供电。模拟信号通过AINP和AINN的两个差分信号输入端子输入。内部PGA将原始信号放大128倍。采样率为10 SPS。 PDMN的三个数字引脚读取采样信号的模拟值。 J1和J3是压力传感器信号输出端子,J4和J6是传感器电源端子。 20位AD采样精度达到0.0001%。根据实际情况,传感器的精度必须小于0.0001%。本设计中使用的传感器精度为C3(1/3000),范围为0-2000g,电源为5V,精度可达0.01g。如图2所示。图3显示了ADS1230读取数据的时序。 SCLK是AD芯片数据的时钟控制线。 DOUT数据在时钟的下降沿采样,DOUT是AD芯片的数据线。当一个采样结束时,DOUT端子将输出一个脉冲信号。这意味着芯片已准备好发送数据,该信号从高19位开始发送,到达0位后,它将继续发送4个时钟信号。 2.2 RFID智能卡此模块使用RC522芯片进行RF读写。 MFRC522使用高级调制和解调概念,在13.56MHz处完全集成了所有类型的无源非接触式通信方法和协议,并支持ISO14443A多层应用程序。内部发射器部分可以驱动阅读器天线与ISO14443A / MIFARE卡和答录机通信,而无需其他电路。接收器部分提供了一种坚固有效的解调和解码电路,用于处理与ISO14443A兼容的应答器信号。数字部分处理ISO14443A帧和错误检测(奇偶放大器,CRC)。此外,它还支持快速的CRYPTO1加密算法,用于验证MIFARE系列产品。 MFRC522支持MIFARE的高速非接触式通信,双向数据传输速率高达424kbit / s。 M1卡的EEPROM容量为8K位,总共有16个扇区,如图4所示。从扇区0到扇区15,一个扇区中有4个块,每个块为16字节,可访问块每个部门都有一套密码和访问控制。 0扇区和0块位置中的32位只读卡号在读写距离的10毫米内。当智能卡正常工作时,原理图会读取M1中的数据电磁感应。当M1卡读取内部数据时,首先需要密码验证。如果验证成功,则可以进一步读取每个块的数据。 RC522芯片使用SPI通信,通过五个引脚MFSDA,MFSCK,MFMOSI,MFFMISO和MFRST读写数据,从而确保了单片机的快速读取和稳定性。图5为RC522射频读写电路,软件读取步骤为:1)复位RC522:RC-Reset()2)搜索卡,得到卡类型:RC-Request(卡搜索方法,卡类型代码)3 )防冲突,获取卡序列号:RC—Anticoll(卡序列号)4)选择卡:RC—选择(卡序列号)5)验证卡密码:RC—AuthState(密码验证模式,块地址) ,密码,卡序列号)6-1)在M1卡上读取一个数据:RC —读取(块地址,读取数据)6-2)在M1卡上写入一个数据:RC —写(块地址,写入数据)7)命令卡进入休眠状态:RC-Halt()2.3 OLED显示模块OLED显示技术具有自发光的特性,使用非常薄的有机材料涂层和玻璃基板,当电流通过时,这些有机材料会发光,并且OLED显示屏屏幕的视角大,工作电流为5mA,从而节省了电能。 OLED显示模块的数据写入方法可分为IIC,3-WireSPI,4-WireSPI,8位68XX并行,8位80XX并行5种类型。我们使用4-WireSPI模式,两位命令控制位CS和DC,两位数据控制位D0和DlLLro具有128行的分辨率和64列的分辨率,并具有显示保持功能。用户的卡号,称重值和当前工资显示在OLED屏幕上。按上下键切换当前状态,显示总工资,最后收到的工资,最后称重值等。3.软件设计高精度智能电子秤需要完成体重的测量,读写卡数据,并显示相关信息三部分。通过主程序完成MCU时钟的初始化,配置连接到ADS1230测量模块和MCU的引脚,配置RC522以读取和写入RF模块和MCU的引脚,最后配置按钮OLED和MCU。配置完成后,在没有重量的情况下测量电子秤的AD值,但由于系统需要一端保持稳定性,因此计算两次连续两次之间的重量差是否小于0.01g。计数不足0.01g 10次后,将此时的无重量值作为原点。然后初始化计时器,最后进入空闲状态,等待计时器中断。主要过程如图6所示。ADS1230的测量速率相对较慢,仅为10SPS,并且需要通过软件进行一次过滤。为了使测量准确,称重时需要收集4个测量数据,取最大值和最小值后取两个数字的平均值作为最终的AD测量值,因此称重大约需要400ms 。将计时器计时时间设置为100ms,在前500ms内读取AD测量值,然后在接下来的100ms内读取卡号,然后在接下来的100ms内显示重量和卡号,然后确定用户是否确定当前信息。如果按下按钮,则显示确认信息,并将重量数据和薪水数据写入卡号,并返回到对象的重量。如果未按任何按钮,则将继续测量物体的重量。具体的定时中断过程如图7所示。4.结束语由物理对象进行。实验结果表明,测量结果精确到0.01g,测量结果基本在0-2000g范围内,没有偏差。通过市场调查表明,高精度智能电子秤可用于各种中小型企业的工资结算,例如水晶和珍珠的测量,这对加速工作具有重大影响效率。
Previous: 电子秤功能的实现与应用
Next: 基于GPRS的电子秤无线网络接口设计