邢佩毅 邹卫军
摘 要:本文提出了一种基于Cortex-M3核心的密集架嵌入式控制系统设计,重点介绍各个模块的实现和整体构架的设计。
关键词:STM32;上位机;直流电机
密集架是一种由一列固定列和多列移动列组成的,正广泛应用于自动化仓储物流的存储系统。密集架系统不使用时,各列架体相邻;工作时,系统接收控制命令来打开制定通道。密集架系统有效利用了存储空间,具有较高安全性,大大提高了仓储物流管理的效率。
密集架系统的核心,是固定列和移动列采用的嵌入式控制器。嵌入式控制器完成系统间控制信息和状态信息的数据通信,同时根据系统运行逻辑,驱动电机工作,实现对密集架的控制。
本文深入分析密集架系统对固定列和移动列嵌入式控制器的功能需求,设计了一款基于Cortex-M3为核心的STM32F103控制器。设计采用控制板+电机驱动板的分立架构,并在控制板上实现固定列和移动列的基本功能。系统软件驱动采用STM32的库函数开发,本设计已应用于产品项目实施,实际应用表明,系统硬件设计合理,运行稳定可靠。
1 控制器总体设计
密集架系统对嵌入式控制器的主要设计要求有:
⑴具有以太网、RS232和RS485通信功能;
⑵具有PWM输出的低压直流电机驱动功能和过流过压检测功能;
⑶具有数据信息掉电保护存储功能;
⑷提供数字量和模拟量形式的传感器输入接口;
⑸具有调速控制电机的功能。
根据以上设计要求,考虑到密集架系统的电机驱动工作时,其产生的大电流信号可能会对系统通信造成干扰;同时系统运行时的一些潜在机械问题可能会造成电机堵转等故障,损坏电机驱动电路。故为了提高系统稳定性,本文采用控制板和电机驱动板分离设计的构架,其架构图如图1.1所示:
2 控制器功能模块设计
2.1 主控芯片
2.2 通信模块
通信是整个系统正常工作的核心,通信分串口通信和以太网通信。
2.2.1 串口通信
固定列和移动列通信采用RS485通信,通信协议为MODBUS协议。一个系统中,固定列为一列,移动列数量不定,因此,RS485通信距离可能会很长,在设计时要注意,收器端要有上拉电阻,下拉电阻,通信线上要添加匹配电阻。另外,RS485通信工作方式为差分电平的工作模式,在实际工作中,要在收发端加双向保护对管,目的是保护收发两端间电压差不至于过大,烧坏RS485电平转换芯片,串口通信模块如下图2.2所示:
2.2.2 以太网通信
固定列和上位机通信采用以太网通信,通信接口是SPI接口,用的通信芯片是常用的网络芯片(W5100),此芯片操作简单,用固定的IP地址通信,初始化W5100后,用中断方式通知控制器(STM32F103R8T6)控制数据是否写入W5100,如果响应中断,控制器从网络芯片中读取有关数据。
2.3 电机驱动模块
电机采用直流电机,控制采用脉宽调制的方法,可以实现自动调速功能,同时还有过流保护,避免电流过大烧毁电机,把损失降为最低,STM32输出的信号为脉宽调制信号,正转和反转信号,相应的电机驱动采用H桥电路驱动。
工作原理:通过晶体管的开与关的时间,来改变加在电机上平均电压的大小,用此方法来调节电动机的运转速度。H桥电路如图2.3所示:
H桥式电路由四个MOS管组成。当导通对角线上的一对MOS管时,电机才能正常动转,当Q4和Q5导通时,电机正向旋转,当Q3和Q6导通时,电机反向旋转。因此,通过MOS管导通与断开控制电机的转向,通过脉宽的大小调节电机的旋转速度,达到对电机的合理控制。
2.4 信息掉电保存设计
系统在运行过程中可能会遇到突然断电的情况,因此设计了掉电保护功能,采用AT24C02扩展了2K的存储空间。控制器内部集成了IIC模块,采用IIC与AT24C02通信,相应电路如图2.4所示:
3 系统的调试和结果
系统的调试过程分模块调试,整个系统分为以下几个模块,控制器与触摸屏通信的串口模块,固定列和移动列之间通信的串口模块,固定列与上位机通信的网络模块,固定列读取传感器信息模块,移动列驱动电机的驱动模块,移动列驱动照明灯模块等。
上位机和固定列控制采用以太网控制,采用SPI接口来实现网络通信,固定列负责把上位机发出的命令解析为相应控制移动列的命令,并下发解析后的命令来实现。
固定列控制部分,系统运行开始调试LED灯亮,读取回移动列信息,如果有动作执行;读取触摸屏信息,如果有动作下发控制命令给移动列;中断方式监控上位机命令,如果有控制命令,固定列解析命令后下发给移动列;各个进程得理结束后,调试LED灯灭。
移动列控制部分,初始化后,调试LED燈亮,采集本列的状态信息,等待固定列的查询状态命令,并返回本列信息给固定列;等待固定列下发的控制命令,接收到命令动作,驱动电机运动;调试LED灯灭。本系统投入到实际的运用中,达到了预期的效果。
4 结束语
本系统设计的控制板可靠性高,还扩展出了CAN模块,提高了串口通信稳定性,此控制板扩展出了STM32的各个模块,不仅仅局限于智能移动货架,还可以应用到其它控制领域,有工业控制中常用的隔离模块,以太网控制模块,串口通信模块等,使用者也可以根据自己的需要去配制,也可以移植UCOSII系统来控制各个模块的进程,作为更深层次的开发和运用,可以使本系统更广的应用。
[参考文献]
[1]Joseph Yiu.ARM Cortex-M3权威指南[M].宋岩,译.北京航空航天大学出版社,2009.
[2]廖义奎.Cortex-M3之STM32嵌入式系统设计[M].中国电力出版社,2012.
[3]黄智伟,王兵,朱卫华.STM32F 32位ARM微控制器应用设计与实践[M]. 北京航空航天大学出版社,2012.
[4]何宾.Cortex-M3可编程片上系统原理与应用[M].北京工业出版社,2012.
[5]李宁.基于MDK的STM32处理器开发应用[M].北京航空航天大学出版社,2008.
[6]李宁.ARM开发工具RealViewMDK使用入门[M].北京航空航天大学出版社,2008.