基于STM32F103的贴片机控制系统的设计与实现

发布者:ArtisticSoul最新更新时间:2014-09-15 来源: 21ic关键字:贴片机  STM32F103  串口通信  步进电机 手机看文章 扫描二维码
随时随地手机看文章

贴片机又称“表面贴装系统”(Surface Mount System),是一种通过移动、吸取、安放动作把表贴元件精准放置在指定位置的一种自动化设备。在实际生产线中,先由点胶机对PCB板进行点胶操作,然后由贴片机进行贴装操作,最后由回流焊机焊接,完成整个PCB板的焊接任务,是SMT流水线中不可或缺的一环。目前发达国家垄断了贴片机的主要领域,我国的贴片机产业完全靠进口。而且在实际生产中,国际上的自动贴片机虽然效率与精度最高,但大都造价昂贵,功能单一,适用于大型企业。而手动贴片机造价低廉,但效率极低,精度取决于操作者得水平,且无法解放双手。

本文以STM32F103RBT6为主控芯片,设计了一种适应于个体经营者、学校实验以及科研制板等领域的自动贴片机,既能解放双手,增加效率,又能不失精度,价格适中。

1 贴片机模块设计方案

本文将贴片机模块化的进行设计与编程,模块化后的整机系统由3个部分组成:机械传动系统、机器视觉系统和运动控制系统,如图1所示。

基于STM32F103的贴片机控制系统的设计与实现

1.1 贴片机机械传动系统的设计方案

1.1.1 贴片机X轴Y轴设计方案

本方案采用X—Y轴两轴联动,Z轴独立运动的设计方案。其中X-Y轴由步进电机通过同步带传动进行机械运动。具体实现结构如图2所示。

基于STM32F103的贴片机控制系统的设计与实现

如图所示,Y轴步进电机固定于底座上,带动同步带轮旋转,同步轮带动同步带做直线运动,光轴滑块与同步带相连。从而跟随同步带演光轴导轨做Y轴方向的的运动。X轴整体机构与Y轴相似,提供X轴方向上的直线运动。其整体固定与Y轴滑块之上,当Y轴运动时同时带动X轴运动。从而实现X—Y两轴联动。

1.1.2 贴片机Z轴设计方案

本设计方案中Z轴由舵机、光轴导轨、吸笔、拖拽针、摄像头组成。其结构如图3所示。

基于STM32F103的贴片机控制系统的设计与实现

其中吸笔由空心轴步进电机制作而成,当步进电机旋转时,带动吸笔吸盘选择,从而提供了贴片机旋转轴的运动。旋转吸笔用于改变元器件贴装方向。拖拽针与吸笔固定在同一直线上,用于拖拽料盘,从而实现送料功能。拖拽针与吸笔分别固定在2组光轴导轨上,底部安装有弹簧,用于拖拽针与吸笔复位。舵机控制压杆左右旋转,从而压动吸笔与拖拽针进行向下运动,当压杆处于中间态时,弹簧将吸笔与拖拽针

弹起,回到初始位置。摄像头安装在工作台上方,用于俯视PCB板。

1.2 机器视觉系统设计方案

本方案采用两台CCD相机、环形LED光源及图像处理设备组成。其中一台CCD相机安装在贴片机Z轴上。与贴装头一起运动,用于俯视PCB板,采集各定位点坐标信息,计算X—Y轴运动偏移量,辅助定位。另外一台CCD相机固定在工作台上,向上仰视。当贴装头吸取原件后,运动至相机上方,相机采集元器件图像。计算旋转角度偏移量及X—Y轴运动偏移量。环形LED光源提供相机采集图像时的背光,提高成像质量。计算机用于处理采集到的图像数据,分析计算后将控制指令传送至运动控制系统。

1.3 运动控制系统设计方案

运动控制部分由软件系统与硬件设备组成。其中软件部分分为上位机及下位机。上位机即计算机。下位机采用STM32F103RBT6微控制器作为核心控制器。上位机与下位机由串口数据线连接。硬件设备由步进电机、步进电机驱动器、舵机、电磁阀等组成。[page]

运动控制系统工作流程如图4所示。

基于STM32F103的贴片机控制系统的设计与实现

2 运动控制系统硬件设计

2.1 运动控制系统结构

贴片机控制系统模块所完成的主要任务是,在上层控制器的控制下,对步进电机驱动器进行控制,使各轴能够进行“受控运动”,实现运动控制系统所需求的各轴起制动、正反转、调速和保护等功能。

控制系统的控制模式是以PC机为平台、以微控制器为核心协调工作。通用PC机负责数控程序编辑、人机界面管理等功能;微控制器用来管理子程序以及负责机械本体的运动控制和逻辑控制,支持用户的开发和扩展,并具有上、下两级的开放性。

本设计方案采用STN32F103微控制器作为核心器件,协调3个步进电机驱动器控制步进电机的运行。同时获取编码器数据,限位开关状态,并控制舵机、电磁阀等器件的运行。各器件连接图如图5所示。

基于STM32F103的贴片机控制系统的设计与实现

本设计方案所采用的主控芯片STM32F103RBT6是一款基于ARM Codex—M3内核的32位处理器,具有杰出的功耗控制与众多外设。该芯片内置128K FLASH、20K SRAM、2个SPI、3个串口、1个USB、1个CAN、2个12位的ADC、RTC、51个可用IO口。其电路图如图6所示。

基于STM32F103的贴片机控制系统的设计与实现
2.2 电源电路
电源电路采用AMS1117—3.3作为电压转换芯片。AMS1117是一款正电压输出低压差的三端线性稳压电路,在输出1 A电流时,输入输出的电压差典型值为1.8 V,内部集成过热保护和限流电路,确保芯片和电源系统的稳定性。
该电路输入端与输出端各接1个0.1μF的非极性独石电容和1个220μF的极性电容。这两组电容起到了稳压滤波的作用。
2.3 串口电平转换电路
串行接口是嵌入式系统中较为常用的一种接口。本系统采用RS-232总线于上位机进行通信,采用MAX232芯片来完成RS-232串行接口的电平转换。串口通信电路如图8所示。
基于STM32F103的贴片机控制系统的设计与实现
2.4 步进电机驱动电路
步进电机必须有驱动器和控制器才能正常工作。驱动器的作用是对控制脉冲进行环形分配、功率放大,使步进电机绕组按一定顺序通电,控制电机转动。本设计采用DM442数字式步进电机驱动器。该驱动器可以设置512内的任意细分以及额定电流内的任意电流值,能够满足大多数场合的应用需要。电路连线如图9所示。
基于STM32F103的贴片机控制系统的设计与实现
通过步进电机驱动器控制步进电机的方法较为简单,仅需通过单片机IO口给出不同频率的方波脉冲信号即可控制步进电机的速度,通过另一个IO口给出高低电平控制电机旋转方向。本文所采用的步进电机步距角为1.8°,因此驱动器每接收200个脉冲信号,步进电机旋转一周。[page]
3 运动控制系统软件设计
下位机控制程序由串口收发程序,限位开关检测程序,舵机驱动程序、步进电机驱动等部分组成。下面将对舵机驱动和串口收发部分做详细的介绍。
3.1 舵机驱动程序
根据1.1.2中的介绍,舵机用来控制吸笔和拖拽针的运动,在单片机的控制中常用PWM(Pulse Width Modulation)调制来驱动它。脉冲宽度调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,其优越性在于驱动电子设备的简单性和计算机接口的容易性。在舵机控制系统中,输出的PWM信号通过功率器件将所需的电流和能量传送到舵机线圈绕组中,来控制舵机的正反转。
STM32的定时器除了TIM6和TIM7,其他的定时器都可以用来产生PWM输出。其中高级定时器TIM1和TIM8可以同时产生多达7路的PWM输出。而通用定时器也能同时产生多达4路的PWM输出,这样,STM32最多可以同时产生30路PWM输出。由于只控制一个舵机,这里我们仅利用TIM3的CH2产生一路PWM输出。具体步骤如下:
1)开启TIM3时钟,配置PA7为复用输出。
2)设置TIM3的ARR和PSC,控制输出PWM的周期。
3)设置TIM3_CH2的PWM模式。
4)使能TIM3的CH2输出,使能TIM3。
5)修改TIM3_CCR2来控制占空比。
由于舵机所需的控制信号标准周期是20毫秒,最低不得少于15毫秒。中位脉冲宽度是1.5毫秒,脉冲宽度在加减1.5毫秒之间内变化。可控范围一般都是0.5~2.5毫秒。即控制舵机运行至两个机械极限位置的信号周期为0.5~2.5毫秒,对应占空比为2.5%-12.5%。本方案中舵机需保持在3个状态,分别是左极限,右极限和中间位置。用于控制拖拽针下移,吸笔下移和复位。
因此,要控制舵机,首现需要一个频率为50赫兹的PWM波,然后调节其占空比为2.5%-12.5%。PWM输出频率的计算公式为:
基于STM32F103的贴片机控制系统的设计与实现
这里系统时钟频率为72000000赫兹,所需PWM频率为50赫兹。为方便计算,同时保证自动重装载值和预分频系数均为整数,这里取自动重装载值为1000。计算得预分频系数为1440-1=1439。因此调用PWM初始化函数为:PWM_Init(1000,1439);
PWM输出波形占空比计算公式为:
基于STM32F103的贴片机控制系统的设计与实现
由此计算得到:
左极限位置时TIM3->CCR2=25,
右极限位置时TIM3->CCR2=125,
中间位置时TIM3->CCR2=75。
3.2 串口通信配置
STM32的串口资源相当丰富的,最多可提供5路串口(STM32F103RBT6只有3个串口),有分数波特率发生器、支持同步单线通信和半双工单线通讯、支持LIN、支持调制解调器操作、智能卡协议和IrDA SIR ENDEC规范(仅串口3支持)、具有DMA等。
STM32的串口配置需要开启串口时钟,并设置相应IO口的模式,配置波特率、数据位长度、奇偶校验位等信息。STM32的串口波特率计算公式如下:
基于STM32F103的贴片机控制系统的设计与实现
上式中,fPCLKx是给串口的时钟;USARTDIV是一个无符号定点数。
3.3 串口数据包格式设计
表1为串口与单片机通信的数据包格式,每帧有9个字节,开始六个字节是包头标志、器件地址、数据类型、起始地址以及数据长度,其中数据类型有:读数据指令r(0x72)、预设参数w(0x77)、运动指令m(0x6D)、请求重发指令c(0x63)、正常返回指令b(0x62)和放弃通信指q(0x71)。然后是10个字节的数据位,通常数据位为2个4字节的数据,为了避免出现数据对齐问题,在后面加入两个值为0的字节。最后是两
个字节的校验位和结束标志位,采用CRC16进行校验。
基于STM32F103的贴片机控制系统的设计与实现

数据由上位机即PC主动发送,下位机即单片机被动等待接收,系统在每次上电初始化时进行一次握手,下位机在接收到的包头数据中匹配自己的器件地址,一致时则接收命令,否则将收到的数据包抛弃。当上层控制器向单片机发送读数据指令r(0x72)时,其数据位均为0;单片机收到指令后,将状态信息填入数据位,回发给上位机。当上位机向单片机发送预设参数w(0x77)数据包时,将参数信息填入相应数据位;单片机收到后,将数据写入EEPROM中并发送反馈,反馈帧以同样的类型、将存好的数据再次读出填入数据位,发送给上位机进行匹配校验。当上位机向单片机发送运动指令m(0x6D)时,将数据位按设定的格式填入数据位;单片机读取并按照指令内容进行运动。

基于STM32F103的贴片机控制系统的设计与实现

单片机正确接收到除预设参数之外的数据时向主机回发正常返回指b(0x62);若收到上一组主机的数据后发现数据出错,则请求重发指令c(0x63),主机接收到此回应指令后执行重发操作;若连续通信错误并超过最大限制后则发送的放弃指令q(0x71)。因为不涉及有效数据,所以这三种指令的起始地址、数据长度、有效数据均为0。

4 结束语

本文根据目前贴片机市场上的应用现状,提出了低成本,小型化的设计方案。对贴片机整机的机械结构进行了优化设计。分别对贴片机的机械传动系统,机器视觉系统及运动控制系统给出了设计思路。针对运动控制系统,设计了具体的硬件与软件实现方案,并对整机工作过程进行详细说明。本文设计的贴片机运动控制程序经过调试,达到了预期目标,现已在学校实验室的应用中取得了不错的成果。

关键字:贴片机  STM32F103  串口通信  步进电机 引用地址:基于STM32F103的贴片机控制系统的设计与实现

上一篇:基于S3C2440处理器和WinCE的智能车载仪表设计
下一篇:基于STM32F407的永磁同步电机伺服控制器设计

推荐阅读最新更新时间:2024-03-16 13:41

步进电机的双极连接和单极连接驱动方法
从本文开始,将介绍两相双极步进电机和两相单极步进电机的驱动电路,以及两相双极步进电机和两相单极步进电机的驱动方法。首先介绍双极连接和单极连接。 步进电机:双极连接和单极连接 步进电机有双极连接型和单极连接型两种类型,每种都有其优缺点,因此需要了解它们的特点并根据应用需求来选用。 ■双极连接 双极连接的方法如图所示,采用电流在一个绕组中双向流动的驱动方式(双极驱动)。这种方式电机的结构比较简单,端子数也较少,但由于必须控制一个端子的极性,因此驱动电路较为复杂。不过,这种电机的绕组利用率好,并且可以进行精细的控制,因此可以获得很高的输出转矩。另外,还可以减小在线圈中产生的反电动势,所以可以使用耐压较低的电机驱动器。 ■单极连接
[嵌入式]
<font color='red'>步进电机</font>的双极连接和单极连接驱动方法
STM32F103单片机使用内部RC振荡器做时钟源
平时在做项目的时候都用的是外部晶振做为时钟源,想试试用内部RC振荡器做为时钟源,在网上搜了一下如何设置内部时钟,发现资料比较少的。决定将设置内部RC振荡器做为时钟源的方法记录下来。 用的单片机是STM32F103C8T6,项目工程是在正点原子的示例代码上修改来的。用一个LED工程测试,在主程序中闪烁LED灯。 #include sys.h #include delay.h #include usart.h #include led.h int main ( void ) { delay_init(); //延时函数初始化 LED_Init(); //初始化与LED连接的硬件接口 while
[单片机]
微步步进电机驱动器在AFS应用中堵转检测的实现
     与传统步进电机驱动器IC相比,NCV70522包含BEMF输出,能够实时地准确地反应电机运转情况,非常适合汽车自适应前照灯系统中的应用。堵转检测阈值可以根据电机速度、负载特性及供电电压的不同来调节。安森美半导体的NCV70522微步步进电机驱动器透过SLA引脚提供BEMF输出,这表示它能实时进行停转检测计算,并根据不同条件来调节检测等级。   由于机械结构的限制,自适应前照灯系统(AFS)应用中,步进电机有时可能会堵转。一旦电机堵转,电子控制单元(ECU)将失去前照灯位置的跟踪信息并作出不恰当的反应,滋生极严重的安全问题,所以AFS应用中堵转检测是必不可少的。   通常可以通过电机的反电动势(BEMF)来判断电机堵转
[嵌入式]
stm32f103r6仿真计数器程序+Proteus
单片机源程序如下: #include stm32f10x.h #include Delay.h #include smg.h #include sys.h #include timer.h #include led.h #include fmq.h #include key.h #include stm32f10x_tim.h uint16_t table = { /* 0, 1, 2, 3, 4, 5, 6, 7, 8, */ 0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, /* 9, A, B, C,
[单片机]
<font color='red'>stm32f103</font>r6仿真计数器程序+Proteus
openmv与msp432串口通信
根据 OpenMV与stm32,msp432等单片机的串口通讯(已经写好一个识别色块的例程,可直接使用)keil(MDK)改进。 一、首先有一个大思想的问题,举个例子就是假如msp432充当“大脑”,openmv就相当于“眼睛”,那么链接所写的就是“眼睛”一直在向“大脑”发送数据,中断会一直触发。那么我们换种思路,如果是我“大脑”发个信号之后,“眼睛”再将数据发送给“大脑”。 (利:中断触发减少,可调整数据发送速率,可主动请求数据。) (弊:主程序占用,请求可能会被搁置,如果使用定时器的延时可以避免这个。) 二、就是他的那个代码里有一个数据的判断是错误的。 下面是openmv的代码 # Blob Detection
[单片机]
openmv与msp432<font color='red'>串口通信</font>
步进电机与驱动器常见问题全集
步进电机与驱动器常见问题全集 什么是步进电机驱动器? 步进电机的运行要有一个电子装置进行驱动,这种装置就是步进电机驱动器,它是把控制系统发出的脉冲信号转化为步进电机的角位移,或者说:控制系统每发一个脉冲信号,通过驱 动器就使步进电机旋转一个步距角。也就是说步进电机的转速与脉冲信号的频率成正比。所以 控制步进脉冲信号的频率,就可以对电机精确调速;控制步进脉冲的个数,就可以对电机精确定位。 步进电机的种类? 步进电机的种类步进电机按电磁设计一般分为: 永磁式(PM),反应式(VR)和混合式(HB),同时,按线圈激励设计的不同,步进电机可分为二相,三相和五相;按其传动设计方式,步进电机又有旋转型步进,直线型步进,以及
[模拟电子]
<font color='red'>步进电机</font>与驱动器常见问题全集
基于51系列单片机控制步进电机调速闭环系统设计
一、步进电机 1.1 步进电机的工作原理 步进电机是将电脉冲信号转变为角位移或线位移的执行机构。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累积误差等特点,使得在速度、位置等控制领域用步进电机来控制变的非常的简单。 1.2 步进电机的特点 本实验所用的步进电机为感应子式步进电机(型号为42BYG016)。感应子式步进电机与传统的反应式步进电机相比,结构上转子加有永磁体,以提供软磁材料的工作点,而定子激磁只需提供变化的磁场而不必提供磁材料工作点的耗能,因此该电机效率高,电流小,发热低。因永
[单片机]
基于51系列单片机控制<font color='red'>步进电机</font>调速闭环系统设计
基于STM32的铁路自动围栏系统设计
一、项目背景 随着城市规模的不断扩大和交通运输方式的日益发展,铁路与公路的交叉口已经成为常见的场景。然而,这些交叉口往往存在一定的安全隐患,因为有时不易发现列车行进的情况,导致公路上的车辆或行人可能会无意中闯入铁路区域,从而引发重大交通事故。 为了解决这个问题,当前开发了一款基于 STM32 的铁路自动围栏系统。该系统采用了STM32F103RCT6作为主控 芯片 ,并使用 步进电机 来控制铁路围栏的开启和闭合。同时,系统还配备了 红外 感应器,以便能够及时监测到列车的通过情况。 当系统监测到有列车即将通过铁路交叉口时,公路 信号 灯会立刻变为红灯,蜂鸣器也会发出警报声音,以提醒行人和车辆注意安全。同时,铁路两侧的围栏也会自动
[单片机]
基于STM32的铁路自动围栏系统设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved