当前位置:首页 > 嵌入式 > 嵌入式硬件

摘要:在分析工业生产中多单元同步传动特点的基础上,介绍了同步传动控制器的原理。以往同步控制器大都是基于或PC的,限制了先进算法的使用,PC成本较高,针对这种情况,采用ARM核芯片作为核心微处理器,并根据控制要求扩展外围电路,给出了系统的硬件原理图、控制方法及基于uClinux的主要硬件的驱动程序。该控制器可对机台的车速在线调整。

关键词:同步传动;交流电机;微处理器;操作系统

1 引言

在工业生产的很多行业,诸如纺织、造纸、印染等都要求进行多个单元的同步控制,保持张力的恒定,以提高产品的质量。随着交流调速技术的日趋成熟,以及交流的结构、性价比、维护等方面都优于直流,本同步控制器主传动部分采用交流异步电机变频调速。以往大多进行一些简单的控制,系统大多在循环加中断的方式下工作,而随着32位CPU 的出现(如ARM),嵌入式系统能够适应复杂的控制,进行多任务的处理,极大提升了效率。当然这一切还需要嵌入式操作系统的支持。嵌入式在市场中逐渐赢得了众多用户的青睐,因此,控制部分采用ARM核微处理器,移植uClinux操作系统进行开发。

2 系统工作原理

微机同步控制器要控制各单元的线速度相等,即V4 =V3=V2=V1,电气控制示意图如图1所示。M1 ~M4为交流异步电机,~INV4为通用型。整条生产线上的被加工物的张力控制被分割成两段,因而设计两个张力控制环来控制整条线的生产张力。

图1电气控制示意图

第一个张力控制环主要由松劲架、测速电机TG、电机M1、电机M2和组成。当该段张力太小时,松劲架将张力值反馈给控制器,控制器运算处理后自动增加电机M1的给定电压,从而使电机M1转速增加,该段张力增加。反之,当张力过大时,控制器减小电机M1的给定电压,从而使电机M1转速下降,被加工物所受张力减小。另一个张力控制环主要由松劲架、测速电机TG、电机M3、电机M4和组成,其工作原理与第一个张力控制环相同。通过这两个张力控制环可以任意控制两端的工作张力。生产过程中,使两个控制环张力给定值一致,两个主令电机M2、M3速度给定值一致,从而实现四个单元的恒张力同步控制。

3 硬件组成

同步控制器核心部件由处理器及其外围器件组成。主要包括:16M的;2M的;显示器及4×4键盘,用于设定控制器参数及显示过程参数;8255芯片用于输入开、停车信号,输出报警、指示等量信号;A/D转换芯片用于采集测速发电机和松劲架的反馈信号;D/A转换芯片用于输出给定信号;实现的3.3V信号电平与外围5V信号电平之间的转换。系统硬件框图见图2。

图2 系统硬件框图

S3C4510B是一款高性价比的16/32位微控制器,内含一个16/32位 处理器核,内部集成有以太网控制器,可移植uC、uCOS Ⅱ等操作系统。

为4通道12位逐次逼近式模数转换芯片,其内部自带2.5V参考电源,采样速率可达133KSPS,电压范围为2.7V至3.6V,串行接口兼容于SPI/QSPI和Microwire同步串行标准,允许将4个通道编程为单极性/双极性和差动/单端工作。

为电压输出的12位数/模转换器。+3.3V单电源供电,可与+5V逻辑电平直接相连,串行接口兼容于SPI/QSPI和Microwire同步串行标准。可调的精密输出允许增益设置。

此处用S3C4510B的通用I/O口模拟同步串口,实现SPI总线通信,多片和都挂接在该SPI总线上,从而使硬件连接简单方便。采用产生1.25V参考电压。D/A和A/D转换的部分连接图见图3。

图3 MAX1246和MAX5353与S3C4510B的连接

4 软件设计

4.1 控制方法

在实际生产中,生产速度的变化会立即影响到当前时刻的张力测量值,速度变化时,可能会出现因张力失控或张力变化过大而使被加工物变形、断裂等现象。考虑到这种情况,对该同步控制系统中每个闭环所采用的增量式PID算法改进如下:

⑴ 当速度的给定值保持不变时,按带有防积分截断误差的增量式PID控制算法控制各自的张力和速度。

⑵ 当速度的给定值改变,且变化量△V≤△Vmax时,则相应地在张力控制的输出U上,增加一个提前量K△V,即:

式中Ut为当前的输出量,Ut-1为上一次的输出量,△U为PID求得的增量,K为比例系数,△V为速度给定值的变化量,△Vmax为允许最大的速度变化量。

⑶ 当速度的给定值变化很大时,由微机分步输出,设△V<M△Vmax (M为正整数)。取△V’=△V/M<△Vmax,则需M步才能把速度从V升到V+△V,故速度的给定值每步增加△V’,其张力的输出量为:

输出的电机控制信号Uk1跟随Uk2,Uk4跟随Uk3变化。

4.2 驱动程序设计

操作系统的作用之一就是向用户隐藏硬件设备的特殊性,使应用程序的开发与底层物理设备无关。设备驱动程序是连接应用程序和具体物理设备的桥梁。在uClinux中MAX1246和MAX5353属于字符型设备。

在uClinux中每个设备都被看成是一个文件,通过File_operations结构体记录了每一种设备具体操作函数的函数指针,以便在具体调用中转入到实际操作的函数中。在这个结构体中,定义了各类操作函数的类型和入口参数,常用的操作函数有、、、write、等。并不是所有的接口函数都需要在驱动程序中实现,对于设备不支持的操作,可以将对应的设备接口函数指针置为空。

模块初始化函数_( )是每个内核模块加载的时候首先调用的一个默认函数。一般在该函数中完成设备的注册,当模块加载完毕之后,内核即知晓设备的存在。模块卸载函数_exit( )与_( )做相反的工作,在内核中取消设备的登记。该函数在模块卸载的时候自动调用。

对MAX5353和MAX1246各开发了一个驱动程序,其结构体分别声明如下。

static struct file_operations _fops={

: _,

: _,

llseek: max5353_, };

static struct file_operations _fops={

open: _open,

release: _release,

llseek: max1246_, };

模块初始化函数module_( )主要通过调用int register_chrdev(unsigned int , *,struct file_operations*fops)完成设备的注册,例如:

int retv=register_chrdev(,max5353_,&max5353_fops);

int retv=register_chrdev(,max1246_,&max1246_fops);

模块卸载函数module_exit( )主要通过调用int unregister_chrdev(unsigned int major, *name)取消对设备的注册,例如:

int retv=unregister_chrdev(major,max5353_name);

int retv=unregister_chrdev(major,max1246_name);

MAX5353的控制操作函数如下,其中arg参数为需要D/A转换输出的数值,cmd参数用于选择4路D/A输出通道,send_data(arg,cs_ctrl)函数实现S3C4510B与MAX5353通信的时序关系。

static int max5353_ioctl(struct inode *inode, struct file *file,

unsigned int cmd, unsigned long arg)

{ int cs_ctrl;

switch (cmd)

{case MAX5353_CH0:

cs_ctrl=0xfb; //CH0:片选cs=0

send_data(arg,cs_ctrl);

break;

case MAX5353_CH1:

cs_ctrl=0xfd; //CH1: 片选cs=0

send_data(arg,cs_ctrl);

break;

…… }

return 0; }

运行于uClinux上的应用程序需要调用第0路D/A输出时,调用ioctl(fd, MAX5353_CH0, value)函数即可,其中fd参数为设备文件句柄,MAX5353_CH0参数表示选择第0路通道,value参数为要D/A转换输出的数值。通道的应用与此类似。

MAX1246的控制操作函数如下,其中cmd参数用于4路A/D输入通道的选择,adcadc(adctrl)函数实现S3C4510B与MAX1246通信的时序关系并返回A/D采样值。

static int max1246_ioctl(struct inode *inode, struct file *file,

unsigned int cmd, unsigned long arg)

{ int adctrl,addat=0;

switch (cmd)

{ case MAX1246_CH0:

adctrl=0x9e;

addat=adcadc(adctrl);

break;

case MAX1246_CH1:

adctrl=0xde;

addat=adcadc(adctrl);

break;

…… }

return addat; }

运行于uClinux上的应用程序需要调用第0路A/D采样时,利用value=ioctl(fd, MAX1246_CH0, 0)语句即可实现,其中fd参数为设备文件句柄,MAX1246_CH0参数表示选择第0路通道,value变量为A/D转换结果。通道的应用与此类似。

5 结论

通过给S3C4510B扩展A/D、D/A等外围部件,增强了其在控制领域的适应性,该扩展方法对其它ARM芯片的功能扩展也具有一定的参考价值。实践证明,该同步控制器具有良好的抗干扰能力和控制精度,同步能力强,运行可靠。利用其工业以太网接口,可实现多个控制器的互连,以及与计算机的互连,从而实现多单元的网络化同步控制,具有广泛应用前景。采用先进的32位ARM核微处理器代替传统的单片机,控制器的处理速度大幅度提高,能够适用于复杂控制算法的运算,有效增强了控制系统的实时性,控制精度明显提高,且较以往PC控制系统降低了成本。在S3C4510B处理器上移植了嵌入式操作系统uClinux,使控制器能够支持多任务操作,并且使开发过程更方便。为外围硬件编写了uClinux下的驱动程序,使应用程序的开发更为简便,通用性更好,且便于控制器应用程序的改进升级。S3C4510B芯片上集成有以太网控制器,在操作系统uClinux的支持下,可实现以太网通信,从而实现网络化控制。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

这款全新的中端MCU系列为设计人员提供了更高水平的安全性和灵活性

关键字: 嵌入式 单片机

2024年4月11日,中国——意法半导体的ST25R100近距离通信(NFC)读取器芯片独步业界,集先进的技术功能、稳定可靠的通信连接和低廉的成本价格于一身,在大规模制造的消费电子和工控设备内,可以提高非接触式互动功能的...

关键字: 嵌入式 数据读取器 芯片

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

Arm CPU正在从根本上推动AI变革,并造福地球。Arm架构是未来AI计算的基石。​

关键字: ARM AI

深圳2024年4月23日 /美通社/ -- 全球AI解决方案与工业级存储领导品牌宜鼎国际 (Innodisk)持续深化边缘AI布局,今(23)日发表全球首创"MIPI over Type-C"独家技术,让旗下嵌入式相机模...

关键字: AI 嵌入式 相机

为增进大家对嵌入式主板的认识,本文将对嵌入式主板以及嵌入式主板常见问题及其解决方法予以介绍。

关键字: 嵌入式 指数 主板

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统

为增进大家对嵌入式的认识,本文将对嵌入式、嵌入式工作相关的内容予以介绍。

关键字: 嵌入式 指数 嵌入式技术

近日,Arm推出了Arm® Ethos™-U85神经网络处理器(NPU)和Arm Corstone™-320物联网参考设计平台,旨在满足海量的数据处理和大规模计算,加速推进边缘AI的发展进程。

关键字: ARM
关闭
关闭