当前位置:首页 > 单片机 > 单片机
[导读]   嵌入式控制系统以其低功耗、低成本、高性能等优势被广泛用于工业控制领域,而在嵌入式控制系统中步进电机驱动控制技术是关键技术之一。在步进电机控制系统设计中,传统的方法是用逻辑电路或单片机实

  嵌入式控制系统以其低功耗、低成本、高性能等优势被广泛用于工业控制领域,而在嵌入式控制系统中步进电机驱动控制技术是关键技术之一。在步进电机控制系统设计中,传统的方法是用逻辑电路或单片机实现步进电机控制,虽然此方法可行,但由于线路复杂而且制成后不易调整,存在一定的局限性。随着嵌入式技术的发展,越来越多的智能化带有界面控制功能的小型设备深入到人们生活当中。开发者基于嵌入式领域中的Qt技术,设计出一套应用于工控领域的具有人机交互界面的智能控制统,Qt是挪威TrolLTEch着名的标志性产品,采用C++作为程序设计语言,已经成为用C++GUI工具包在Linux上进行自由软件开发的主流,是Linux上流行的KDE桌面环境的基础。Qt/Embedded是着名的Qt库开发商Trolltech公司开发的面向嵌入式系统的Qt版本。Qt是Server/Client结构,延续了Qt在X上的强大功能,在底层摒弃了Xlib,仅采用帧缓冲作为底层图形接口。Qt/Embedded类库完全采用C++封装,提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。Qt/Embedded是完全面向对象的,很容易扩展,提供了丰富的窗口部件集,并且允许真正的组件编程。

  1 硬件电路设计

  1.1 系统整体框图

  该控制系统的硬件部分主要由:步进电机、TA8435H、S3C2440微处理器、光电耦合器、触摸显示屏组成。控制系统硬件结构图如图1所示。

系统在Linux下应用Qt设计开发嵌入式控制系统人机界面的方法,通过触摸屏界面对步进电机进行控制,控制步进电机的转动方向和转速、细分模式等。 1.2 电路设计 1.2.1 SC2440和TA8435H电路设计 本系统的硬件核心电路是由S3C2440处理器、TA8435H步进电机驱动芯片以及步进电机组成的步进电机控制电路。步进电机控制电路如图2所示。

在该步进电控制系统中,采用了以arm920t为内核的S3C2440芯片,该芯片是三星公司生产的一款高性能微处理器,具有功耗小、性能高、价格低等优势,在许多领域都获 得了应用。本文选择该芯片为核心处理器,并将其植入Linux系统,进而完成通过触摸屏对步进电机交互控制。S3C2440芯片拥有289个引脚,其中多功能通用I/O多达30个,分别为GPA~GPJ,GPA有25个输出端口,其余均可根据需要配置成输入或输出。为了实现四个电机的可靠控制,本系统选择GPB端口为控制端口,该端口具有8个引脚,分别为GPB0~GPB8,所以可完成步进电机的实时控制。TA8435H是东芝公司生产的单片正弦细分二项步进电机驱动专用芯片,TA8435H可以驱动二项步进电机,且电路简单,工作可靠。 TA8435H步进电机驱动芯片引脚4外接电容的电容值决定芯片内部驱动级的斩波频率,这里使用的电容容量是0.01μF。由于电机所需要的驱动电流为0.1 A,因此设定REF IN引脚为高电平,Rnf=0.8 Ω。步进电机接口需要使用快恢复二级管(D1—D4),用来泄放绕组电流。 1.2.2 电路可靠性设计 为了提高硬件的可靠性并且有效抑制干扰,S3C2440和TA8435H之间加入由光耦TLP521-4和TLP521-2芯片组成的电平隔离电路,将S3C2440处理器控制信号与步进电机控制器进行电平转换和隔离。电平隔离电路如图3所示,S3C2440处理器GPIO端口、PWM输出引脚通过光电耦合器TLP251实现电平隔离转换。

2 软件设计

由于在实际工业控制中会对电机有精度、速度、稳定性、方向等要求,所以本设计要通过触摸屏按键交互,实现对电机正转、反转、转速、细分模式的选择。 TA8435H芯片有正转反转两种工作模式,分别通过引脚CW/CK1/CK控制电机的正反转。也可以通过M1,M2输入引脚的高低电平来选择细分模式。当M1M2为00表示步进电机工作在整部方式,没有细分;10为半步方式,01为1/4方式;11为1/8细分方式。在低速工作时,可以选用1/4或1/8细分模式,以提高步距角精度;在高速工作时,可以选用整步或半步方式,以提高步进电机运行的稳定性,减小步进电机的噪声和振动。 步进电机的转速是由脉冲信号频率所决定的,脉冲信号的产生与控制实际是由CPU产生的,一般脉冲信号的占空比为0.3—0.4左右,电机转速越高,占空比则越大。本设计中电机转速是通过改变定时器参数,已产生其他频率和占空比的PWM输出控制步进电机。 PWM输出信号占空比公式为

PWM定时器的设置,要分别设置定时器0的预分频器值和时钟分频值,以供定时器0的比较缓冲寄存器和计数缓存寄存器。预分频值为0~255,分频器的分频值为2,4,8,16。 定时器输出时钟频率为 TCLK=PCLK/[(预分频值+1)]×分频器分频值 (2) 当时钟被使能后,定时器计数缓冲存储器(TCNTBn)把计数初值下载到递减计数器中,定时器比较缓冲器(TCMPBn)把其初始值下载到比较寄存器中,并将该值和递减计数器的值进行比较。这种基于TCNTBn和TCMPBn的双缓冲特性使定时器在频率和占空比变化时产生稳定输出。 3 QT控制界面设计开发 首先介绍将Qt/Embedded在以S3C2440为核心的硬件平台上的移植。该系统采用CPU内部LCD控制器和320*240分辨率的16bpp TFT LCD作为显示设备,同时移植了ARM Linux作为操作系统。这里用到的操作系统平台是Linux—Red Hat 9.0,交叉编译器版本是arm—linux—gCC4.1. 2。其次介绍以qtopia为图形界面应用程序开发平台和图形界面控制电机系统的开发过程。 3.1 tslib移植


本设计采用的触摸屏是TQ4.3寸屏,因为要通过与触摸屏的交互来控制电机,也就是说在开发板上操作QT程序,是通过触摸屏完成的,所以首先要移植tslib,进行触摸屏校正。tslib是一个开源的触摸屏支持库,它是handhELDs.org上开发的,作者是Russul King,Douglas Lowder和Chris Larson。它给上层的应用程序,为不同的触摸屏提供了一个统一的接口。它提供诸如滤波、去抖、校准之类的功能。 解压源代码tslib-1.4.tar.gz,编译安装tslib,将安装路径下的整个tslib文件夹,下载至开发班的上,存放的路径为/usr/LOCal。设置开发板环境变量,通过超级终端,打开环境变量文件/etc/profile,添加如下内容:

3.2 QT开发环境搭建与移植 将qt-4.6.3.tar.gz压缩包解压为3份,分别编译PC,嵌入式x86和arm三个版本的Qtopia-2.2.0。在root目录下建立tmp文件夹,将qt-4.6.2.tar.gz直接解压后复制3份,分别命名为pc、x86、arm。将Linux-Red Hat上/usr/local/TrolLTEch/QtEmbedded-4.6.3-arm/lib(bin/include/fronts)中的所有文件分别复制到ARM板/fla sh/qt/lilib(bin/include/fronts)目录中。移植qt的嵌入式版本到嵌入式设备中,保证设备启动后可以正常进入到GUI模式。 3.3 建立QT项目文件 在PC的Linux的终端输入命令:#qt2/bin/designer &1来在后台启动QT设计器。设计步进电机的控制界面,整个控制界面的名称为xagc,并将按钮的点击事件与控制电机转速和方向的函数用信号与槽连接起来。图4是电机控制界面,控制界面分别控制电机转动、细分模式、四种转速。图5是信号和槽连接,添加的响应函数为void Motor_CW(),voidMotor_CCW(),voidDriver_Model1/2/3/4(),void Speed Model1/2/3/4()。

保存工程名为xagc.ui,然后使用uIC软件将刚刚建立工程转化为源代码,首先建立一个可执行脚本来完成文件转换,这里用到的文件名与ui相同,该脚本会在以后开发中用到,设置ui2cpp脚本为可执行,最后执行建立的脚本转换文件。获得源码xagc.h;xagc.cpp;moc_first.cpp。程序如下。

根据得到的pro文件使用tmaker软件生成Makefile文件,手首先复制前面制作好的“xagc/”目录到“/opt/EmbedSky/Qte/arm-qtopia-2.2.0/pro/”目录下,然后重新打开一个PC的linux的终端,重新设置环境变量,修改Makefile文件,然后编译即可完成移植。 4 结果测试 经测试,电机控制界面移植到了s3c2440上,并通过触摸屏按键的交互,可以实现步进电机的控制,并且在改变电机速度时,电机可以稳定的运行。实例运行结果如图6。

5 结论

图形用户界面的广泛流行是当今计算机技术的重大成就之一,它极大地方便了非专业用户的使用。本设计通过Linux下应用Qt设计开发嵌入式控制系统人机界面的方法,设计出了简单方便的步进电机控制界面,实现了对步进电机转速、方向、细分模式的选择控制。运用这一技术控制的步进电机成功地应用到我们研制的核电设备的焊机系统上,系统运行稳定,控制精度高,其软件界面形象生动,并且编程简单,实现起来非常方便,并且可根据用户的不同要求随时调整控制方式,因此具有广泛的应用价值。


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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭