当前位置: 首页 > 新闻中心
返回
列表

基于主控STM32控制管理系统的硬件设计喷绘系统设计

发表时间: 2024-04-08 作者: 新闻中心

  由于喷绘机喷绘过程中采用的是压电喷头工作原理,为保证喷绘出图像清晰细腻,喷绘机需要在同一温度下提供稳定的驱动电压对压电晶体来控制。如何在精准的条件下根据室内温度实时、快速、方便地更改驱动电压和配置数据值得研究。

  喷头的驱动电压VDD2(t)取决于喷头容积电压Vrank、基于不同厂家不一样的颜色的油墨粘滞度而提供每色油墨与标准油墨的修正值Voffset电压、不一样的颜色的油墨在不一样的温度下需要的驱动电压补偿值Vdiff(t),即VDD2(t)=Vrank+Voffset+Vdiff(t)。不一样的颜色的油墨在不同的温度下驱动电压的补偿值Vdiff(t),称之为T-V数据。

  不同厂家油墨温压数据不同,厂家会根据每种墨水的种类和颜色在出厂前给出一组关于墨水在不一样的温度下的电压补偿值,根据喷头墨腔内部墨水温度变化动态地调整每个喷头的驱动电压以保证喷射出的墨水点滴大小一致、视觉效果更清晰。为防止在掉电的情况下数据丢失和避免不小心更改,数据通常存储在只读存储器中。EEPROM存储量有限又需存储不一样的种类的T—V数据时,可以将数据通过算法[2]进行压缩后存储在ROM中。当今市场喷绘机数量慢慢的变多,出于对喷绘机性能考略,本设计在温压数据读取时避开使用算法降低速度,借助嵌入式经典的“空间换时间”理论,以日本精工集团的IRH1513D喷头为研究对象,在24C16EEPROM中存储配置数据。每次初始化后通过I2C通信机制读数据,工作时喷头需要更新电压时通过DMA方式快速传送温度数值(A/D转化值),迅速更新喷头所需驱动电压。过程中发现喷头工作有误差时借助显示工具设置按键对其校验,过程中适当改进运算形式来提高喷头控制管理系统效率。

  图1为控制管理系统硬件结构建构。从图可看出设计中以STM32为主控,选取支持I2C通信机制、2 KB存储量的24C16EEPROM作为外部存储器,主控中集成的I2C 2的时钟线引脚)和SDA线引脚)与EEPROM的SCL和SDA分别通过外接一个上拉4.7 k?赘电阻连接。设计中主控集成I2C 2作为外部数据存储器的时钟和数据的发送,24c16EEPROM作为从设备,选取200 kHz的读取速度。通过主控中的I/O口读取温度模拟量,显示调整数据时采用UART或128x64LCD,采用128x64的静态LCD主要方便客户使用,研发者主要使用UART进行校正,外扩按键为了校验误差或测试喷头状态等。上电开始和结束时需给喷头发送开关波形数据、命令,工作时读取喷头的状态需要实时更改主控PWM即补偿电压。系统中硬件按键消抖在主控中延时实现,通过按键可进入校验、T-V数据输入、喷头测试状态。为快速处理数据,主控内A/D转化值借助DMA传输方式。

  控制系统采用一个主控STM32控制一个喷头形式,所以外存储上不需存储墨水的颜色和控制喷头型号等数据,喷头采用日本精工集团的IRH1513D。系统上电初始化后,主控通过I2C通信机制把24C16EEPROM作为从设备读取喷头Vrank容积电压、温压曲线、开关波形等数据。而且此程序中使用容积电压Vrank、Voffset和ADCValOff以十倍进行存储运算,每个数据定义2 B即16 bit。综合考略24C16EEPROM外存储单元,地址分配设计为:地址0x00~0x166共358 B存储温压偏移曲线 B墨水的容积电压Vrank;地址0x202~0x203存储此种油墨修正电压Voffset;地址0x204~0x205存储喷头25℃时需要校准参数本底偏移值AdcValBOff;地址0x206~0x207存储当PWM OCR1为高点电压比较值时所对应十倍电压Hm;地址0x208~0x209存储当PWM OCR1为低点电压比较值时所对应十倍电压Lm;0x210~0x221共12个地址空间存储喷头必要的配置数据;地址0x300~0x33c共60 B用于存储喷头的开波形数据;地址0x340~73c共60 B用于存储喷头的关波形数据。

  整个软件的架构中分别对串行通信、24c16EEPROM存储、改进运算形式、主控状态机切换等进行设计与研究。最后借助PC上串口调试器或外扩128x64LCD显示人机交互来校正喷绘机的喷头。

  通信界面是为用户简单、方便地更换墨水的T-V数据和校正喷绘机喷头而设置的显示工具。图2为串行通信的流程,从图中能够准确的看出,主菜单在调试过程中,通过选项来进入温度校准、电压校准、容积电压Vrank输入或是配置数据的输入。借助于串口通信,在需要更新墨水的T—V数据时,无论用户是否熟练新产品的使用,都可直观操作把厂家提供的温压数据通过选不一样命令符写入24c16EEPROM。

  根据I2C的通信机制,首先主机发送一个起始条件,从机接收到后回发一个ACK响应信号。然后主机发送地址字节(地址字节为7位,最后一位为读写标志位),进行数据的读写传输。每次接收方回发一个ACK。最后主机发送停止信号结束通信。24c16EEPROM芯片手册,在发送地址7位中前四位必须是1010,此处DEVICE ADDRESS(设备地址)是通过(0xao(读写地址))发送。通信时调用函数E2416_BufWr((u8*)&D0_confOn[0],ONWAVE_ADDR,NbrOfReg)来进行写操作设计,其中函数的参数(u8*)&D0_confOn[0]定义为首个无符号字节数据地址,ONWAVE_ADDR参数是指向写入到EEPROM的地址,参数NbrOfReg是写入数据的个数。

  此处I2C通信模块的整体设计可通过程序图3进行描述,图中发送两个EEPROM地址,第一个EEPRON地址是EEPROM设备地址,从第二个EEPROM是存储数据首地址。2416EEPROM规定每一页为16 B,程序在设置过程中以E2416_PageWr()对页进行写操作,以E2416_ByteWr()对字节进行写操作,写入到EEPROM指定的地址,同样设置E2416_BufRe()、E2416_PageRe()进行页读操作以及E2416_ByteRe()进行字节读操作,从指定的地址中读数据。若需更改墨水的数据时借助串互的选择,把需要数据通过I2C通信机制直接写入到24c16数据存储EEPROM中,实际上写入到了预留的同一块ROM中。而且在喷头实际在做的工作过程中可把确定的数据在上电初期通过函数E2416_BufRe()以及E2416_PageRe()来读取开关波形及喷头配置数据。

  根据以上设计,喷头开始工作前,STM32主控制器从24c16EEPROM的外存储通过I2C通信机制读配置数据,这中间还包括存储高电压时PWM OCR1比较值Hm和存储低电压时PWM OCR1比较值Lm,程序中定义两个比较值,高低电压Hx、Lx是对应的实际高低电压的10倍。根据理论知PWM OCR1的值和对应STM32输出电压成正比。当PWM OCR1的值高时,STM32输出的电压高。所以得比例(Hm-Lm)/(Hx-Lx)=(m-Lm)/(x-Lx),其中m代表任意时刻PWM OCR1的比较值,x代表任意时刻当PWM OCR1的比较值为m时所对应输出电压的10倍,化简得m=(H_Lm*(x-Lx)+Lm*H_Lx)/H_Lx。读到一个温度,通过查表找到需要补偿电压,最后把补偿电压、修正电压、容积电压相加算出最后喷头需要的电压x,通过以上化简知m=(H_Lm*(x-Lx)+Lm*H_Lx)/H_Lx,计算出PWM OCR1中需要值m改变PWM。喷头工作的电压是12 V~29 V,精确到0.1 V,在设计过程中把实际高低电压Hx、Lx以及更改的输出电压扩大10倍。不难看出运算形式及结果没改变,而存储上需占更多空间,但是不改则需要浮点型数的运算。相比较而言,提高10倍虽增加存储空间但较少计算时间,提高执行效率。

  STM32主控程序设计是整个控制管理系统核心。为了优化系统模块设计,提高主控的处理速度,此处设计采用如图4主控状态切换机制。从图中可看出,系统上电开始后进入InitConfig状态初始化时钟、I/O口、串口、DMA、A/D、定时器、I2C、缓冲区等。若使能液晶屏,则液晶屏开始显示,然后通过DMA发送I2C从设备地址进入Send Slave Add状态。如果地址匹配,则进入Read Data状态,即从EEPROM中读取喷头的配置数据。若VERIFY_ON=1(PA^8=0),则按键按下进入UART adjust状态(文件的配置),若Sw1_on==1,即按键按下进入Nozzle text状态即喷头测试,否则进入ADC状态。转化完后通过DMA传送数据进入DMA IRQ状态,在此状态下进行16次平滑处理,计算完后进入Update Voltage状态然后输出PWM即电压提供给喷头,使喷头精确工作。初始工作读完数据后首次A/D转化由软件启动,工作后A/D转化是在DMA中断下进行,16次平滑处理后开启A/D转化使能。

  结合系统总体架构的软件和硬件平台和过程方法步骤的阐述,最终测试结果如图5、6所示。图5显示了基于I2C通信机制EEPROM存储验证。为验证结果的正确,向24C16EEPROM写入数据0x0a、0x0b并用示波器观察波形图,其中通道2为SCL波形,通道1为SDA波形,结合两个通道信号和写入数据验证此系统存储设计可行。图6是借助串口收发机制来更新墨水T-V数据、喷头配置文件以及校验显示,从图可看出UART采用的是并口COM1、波特率为115 200 b/s,8 bit数据位和1 bit停止位,无奇偶校验收发机制下可正确显示主控的收发信息与程序设计一致。图6中主校菜单下通过串口向STM32发送“数字选项”来进入温度校准、12 V输出校准、29 V输出校准、容积电压Vrank输出等菜单。图中是在选择“9”下喷头的结合系统总体架构的软件和硬件平台和过程方法步骤的阐述,最终测试结果如图5、6所示。图5显示了基于I2C通信机制EEPROM存储验证。为验证结果的正确,向24C16EEPROM写入数据0x0a、0x0b并用示波器观察波形图,其中通道2为SCL波形,通道1为SDA波形,结合两个通道信号和写入数据验证此系统存储设计可行。图6是借助串口收发机制来更新墨水T-V数据、喷头配置文件以及校验显示,从图可看出UART采用的是并口COM1、波特率为115 200 b/s,8 bit数据位和1 bit停止位,无奇偶校验收发机制下可正确显示主控的收发信息与程序设计一致。图6中主校菜单下通过串口向STM32发送“数字选项”来进入温度校准、12 V输出校准、29 V输出校准、容积电压Vrank输出等菜单。图中是在选择“9”下喷头的配置数据输入时的显示,包括喷头配置数据、开关波形数据及没有显示全的温压曲线 总结

  随着喷绘技术的发展,对喷头控制管理系统的要求慢慢的升高。本设计基于简单、方便的考虑,以STM32作为主控制平台,以24c16EEPROM作为外部存储,结合软件设计出喷头控制管理系统。通过实践和理论研究证明,系统不仅简捷、方便,而且更改容易且执行过程中在某些特定的程度上提高了系统的效率,达到了理想的预期效果,但此控制设计系统没能面向市场,还存在不少缺陷和不足,需以后加以弥补和改进。也希望将来此设计系统能大范围的应用于喷绘机喷头控制管理系统中。

  关键字:引用地址:基于主控STM32控制管理系统的硬件设计喷绘系统模块设计上一篇:软件工具促进在STM32设备上开发应用程序

  在不在系统的裸奔的软件中,使用RTC+STOP模式很容易实现低功耗模式,但是在UCOS之类的操作系统,实现这一模式就有点麻烦,最大的问题是任务切换是无法控制的,常常会出现唤醒之后程序跑飞的情况。 首先,要把休眠的代码段放在低优先级任务中,并不全是系统自带的空闲任务,也可以是用户自定义的最低优先级的任务。 其次,在休眠代码的前后加上两个指令: //=================================================================================== OSSchedLock(); //禁止任务调度 while(1) { .....//休眠代码RTC+STOP P

  结构体C程序中在STM32单片机串口接收的妙用之一 结构体是一种数据的归类方式,相比数组或变量更具有整体全面性,例如一个数组只可以放一些按照元素顺序存放的单元变量,即tab ={x,x,x,x,x......},i 有多大,数组内元素就有多少.那么我们这时候如果我们用这个数组来接收串口接收信息,信息的格式是: 数据头 数据长度 数据区 数据校验 数据尾. 假设数据区为 身高-体重-性别-年龄-学历 那么我们用数组接收时,提取数据时就需要计算出数据格式中每个单元所对应的位置,即数组中第i个元素对应的内容.这样显然是很麻烦的,效率很低.这就等于先织了一个大网,捕捉到一网鱼,还得过下称,才能按照重量分类开来一样. 那么如

  以下就简单的介绍下项目组成: 实现的功能 面板上共四个按键,对应不同的功能: 按键1:按下后,将一分钟内的平均脉搏设为正常脉搏,正常脉博值更新后蜂鸣器隔一秒响一次,正常脉博值未更新时蜂鸣器一秒响4次。这样能知道当前什么状态,报警状态就是一直响。如果已经按下过按键1 ,那再按一次就会蜂鸣器快响,并计算平均值,计算完蜂鸣器再慢响,相当于更新了一次平均值。 按键2:实时检测xyz轴加速度,并且设置对应的三个报警值,超过报警值蜂鸣器报警,需要按按键4手动取消报警,报警值设置程序中采用宏定义的方式,方便用户更改调试,每次更改后需重新下载程序。再按一次按键2加虚度检测停止工作。按键2 相当于只检测加速度。 按键3:脉搏报警值和

  STM32通过BOOT0和BOOT1两个引脚的高低电平选择STM32的启动方式,而不同的启动方式对应内置的程序存储介质不同。所谓启动,一般来说就是指我们下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。用户都能够通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式。 1)BOOT1=x BOOT0=0,从用户闪存启动。用户闪存 = 芯片内置的Flash。一般我们使用JTAG或者SWD模式下载程序时,就是下载到这个里面,重启后也直接从这启动程序,这是正常的工作模式。 2)BOOT1=1 BOOT0=1,从内置SRAM启动。SRAM = 芯片内置的RAM区(即内存),没有程序存储的能力,程序掉电

  的启动方式及串口下程序 /

  STM32微控制器的核心: Cortex-M3处理器。 嵌套中断向量控制器(NVIC)是Cortex-M3处理器中一个比较关键的组件。提供了标准的中断架构和优秀的中断响应能力,为超过240个终端源提供专门的中断入口,并可以赋予每个中断源单独的优先级。 Cortex-M3的CPU支持两种运行模式: 线程模式和处理模式(都拥有自己独立的堆栈)。 Cortex-M3还包括一个24位的可自动重装载定时器,可以为实现内核(RTOS)提供一个周期性中断。 Cortex-M3支持新型的ARM Thumb-2指令集。 STM32具有精密性、可靠性和安全性 可靠性 有两个看门狗定时器。 第一个叫窗口看门狗,窗口看门狗必

  随着工业和城市的快速发展,道路照明系统的产业也在迅速发展,并趋于复杂化,为了更经济地控制和维护复杂的路灯系统,市面上各大科技公司开发了各种路灯控制系统,并且路灯都连上物联网云端,连上了政府网络,可以远程了解路灯的工作情况,运行情况。 为了方便了解物联网平台,学习物联网开发,了解智慧路灯的开发,本文就采用华为云IOT物联网平台,选择STM32作为主控芯片,再配合相关的传感器完成智慧路灯开发。 2. 具体实现的功能以及相关的硬件 当前设计的智慧路灯采用NBIOT模块-BC20连接华为云物联网服务器,上传路灯的各种参数信息:环境光强度、太阳能充电板电压、锂电池电量等信息。设计了一款手机APP,能够最终靠华为云物联网平台的应

  汽车驱动防滑系统(Anti-slipRegulationSystem,简称ASR)是在汽车制动防抱死系统(AntilockBrakingSystem,简称ABS)的基础上发展起来的。在装备了ABS的汽车上添加发动机输出力矩的调节功能和驱动轮制动压力的调节功能后,ABS所用的车轮转速传感器和压力调节器可全部为ASR所利用 。ASR和ABS在算法上很相似,许多程序模块可以通用,因而在实际应用中可以把两者集成在一个控制器中,组成ABS/ASR集成系统。 1轿车ABS/ASR集成控制管理系统简介 通过对捷达GTX试验样车的液压制动系统来进行改造,实现了可以独立调节四个轮缸压力的ABS/ASR集成系统液压执行机构 。在此基础上,开发了一

  寄存器:实际上就是cpu里面的东西 每个单元都有不一样的功能,根据功能给这些存储单位取别名,这个别名就是我们所说的寄存器。 寄存器的映射:给寄存器分配地址的过程就叫作寄存器的映射。 新建工程: 新建工程需要手动创建main.c .h(头文件)头文件:寄存器的映射 如何写寄存器的映射: 首先找到需要控制外设的IO口,根据这个IO口去寄存器组织架构寻找需要控制外设的IO口在哪里基地址是什么,然后再看需要控制外设的IO口的偏移地址。该IO口的地址就是基地址+偏移地址 **端口的地址在编译器看来只是个地址所以必须强制转换成指针(*unsigned int)+地址 通过控制io口的高低电平去实现我们想要的功能(通用io口(GPIO))

  用寄存器点亮LED灯 /

  使用STM32 Nucleo撬开针对物联网的ARM mbed IDE之门

  STM32CubeMX and STM32Cube HAL basics

  【下载】LAT1396 STM32CubeIDE实用技巧之STM32H7双核调试的配置

  【下载】LAT1343 STM32H5 USBD Classic驱动 CDC移植

  【下载】LAT1392 LTDC RGB接口 LCD的TouchGFX工程的移植步骤

  【直播】4月11日,STM32Trust如何帮助新产品设计提升信息安全保护能力

  【线日,基于Buildroot制作STM32MP13启动镜像-深圳/厦门/西安/郑州/苏州

  【新品】STM32U0新一代超低功耗入门级MCU,助力终端产品省电,安全,BOM成本低

  【新品】 STM32H7R/S基于Cortex-M7,运行频率高达600 MHz,板载闪存型MCU 拥有高速的外部存储

  【新品】STM32WBA54/55 支持BLE5.4、IEEE 802.15.4通信协议、Zigbee®、Thread和Matter协议

  【新品】STM32MP2 最高配备双核Arm® Cortex®-A35和Cortex®-M33的STM32MP2系列微处理器

  【新品】STM32H5-Arm® Cortex®-M33 内核,主频高达250MHz,提升性能与信息安全性

  1、动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配一个锁存器 ...

  1、电容帮助晶振起振。2、发光二极管LED(Light Emitting Diode),液晶LCD(Liquid Crystal Display)。3、数码管原理:4、中断系统: ...

  人工智能 (AI)、机器学习 (ML) 和物联网 (IoT) 网络边缘的其他计算密集型工作负载的兴起给微控制器 (MCU) 带来了额外的处理负载。 ...

  【51单片机】矩阵键盘逐行扫描法仿真实验+超详细Proteus仿真和Keil操作步骤

  一、环境我用的是Keil5做编译工具,用proteus仿线不知道有无另外的好用的能生成 hex文件的软件(要单片机运行是需要生成 hex文 ...

  【51单片机】矩阵键盘线反转法实验仿线单片机】〈C语言+Keil5+Proteus仿真〉矩阵键盘逐行扫描法-20210414中,提到了矩阵键盘的线反转法,但是在仿真上出现了一 ...

  BOE(京东方)携多款智慧医工解决方案亮相CMEF展 赋能全周期健康服务

  恩智浦发布适用于智能工业和物联网设备的先进互联MCX W无线MCU系列

  研华推出新款SKY-602E3 GPU服务器,紧凑的塔式设计提供更多AI可能

  Teledyne e2v独特的5D图像传感器可提供实时2D视觉和3D深度数据

  三款新品震撼发布:美芝、威灵携系统级冷暖解决方案闪耀2024中国制冷展

  英飞凌将亮相2024国际嵌入式展,集中展示面向绿色未来的创新半导体和微控制器解决方案

  UiPath应用案例分析:从自动化走向智能化,数字员工帮助华润啤酒降低风险、提高效率

  将想法变成现实,Maxim MAX32630FTHR创意设计大赛,重磅开启!

  有奖直播|相约Keysight World 2019“汽车电子及新能源汽车测试”论坛

  51单片机PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程词云: