版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
...wd......wd......wd...基于STM32的运动控制器设计指导教师梁维源摘要运动控制器是现在社会的主流开展,不管是现在还是将来都会有重要的运用。本文运用STM32输出PWM波对电机进展控制使他们能分别沿着X轴和Y轴以及Z轴移动,STM32发送指令,由TB6560驱动芯片驱动进电机,在图纸上实现绘画,定位,转孔。选用STM32芯片作为控制核心,通过控制步进电机来控制机器臂,带动X轴和Y轴以及Z轴进展平面画图。该运动控制器具有精度高、操作方便、速度快、低本钱等特点。关键词:运动控制器;STM32;步进电机;TB6560BasedontheSTM32motioncontrollerdesignElectronicinformationengineeringspecialtylevel2011jiangshijianSupervisorLiangWeiyuanAbstractThemotioncontrollerisnowthemainstreamofthedevelopmentofsociety,bothnowandinthefuturewillhaveimportantapplications.Greatdefenseandindustrialapplicationsaswellasinlife.Inthispaper,theoutputPWMwaveSTM32motorcontrolsothattheycanalongtheX-axisandY-axisandZ-axismovement,STM32sendcommandsrespectively,drivenbyasteppingmotordriverchipTB6560realizepainting,positioning,turntheholeinthedrawings.TheprogrammakestheselectionSTM32chipsteppermotorcontrolsystembycontrollingthesteppermotortocontroltheroboticarmfromthedrivetotheXandYandZaxisplanedrawing.Themotioncontrollerwithhighprecision,easyoperation,fast,lowcost.Hasgreatdevelopmentprospects.Keywords:MovementControlSystem,STM32,Steppingmotor,TB6560目录TOC\o"1-3"\h\u前言1第一章运动控制器的总设计方案1第二章运动电路控制器三维平台设计32.1硬件设计框图32.2运动电路控制控制电路图32.3运动控制器机械运动电路图4第三章运动控制器的硬件设计43.1步进电机43.1.1主要构造43.1.2步进电机分类53.1.3步进电机工作原理53.1.4步进电机的特点63.1.5步进电机的控制方法63.2STM32F103VET673.2.1STM32F103VET6最小系统73.3.2STM32F103VET6定时器83.3.2.1根本定时器93.3.2.2通用定时器93.3.3.3高级定时器103.3TB6560步进电机驱动器113.3.1TB6560步进电机驱动模块113.3.2TB6560步进电机驱动器特点133.3.3TB6560步进电机驱动器功能13第四章运动控制器的软件设计134.1PWM概述144.1.1PWM简介144.1.2PWM实现144.2.设计要求154.3程序的配置164.3.1.PWM波输出的配置164.3.2绘图控制程序的配置18总结19致谢20参考文献20附录程序代码21前言自从运动控制器诞生以来,它不仅推动了社会的开展,也推动了新的技术革新。运动控制器是美国政府对“NGC〞工程,这是下一代控制器开场,进而研究机构已开场对运动控制研究。随后运动控制器迅速开展,直到今年来运动控制技术不断被完善改进,已经成为一个独特的体系。就目前国类而言只要分为三类。第一种是用单片机或微处理器当作中枢的控制器,这类运动控制器的运转速率较慢,精度不高,本钱相对于其他控制器较低,在一些只需要低速运功控制和对轨迹要求不高的轮廓控制场合应用[1]。第二种是用专用芯片〔ASIC〕当作中枢的控制器,这类控制器构造单一,然而大多数只可输出脉冲信号。由于该控制器能够提供高速的连续插值,没有前瞻性功能〔看头〕,特别是对于连续加工场合中存在大量的小片段,使用这种控制器不适宜。第三种是基于PC总线的以DSP和FPGA作为核心处理器的开放式运动控制器。这种运动控制器用DSP芯片当作中枢的控制器,以PC机作为信息处理平台,运动控制器以插卡方式式嵌入PC机,以“PC+运动控制器〞的形式。这类运动控制器完美使用了李永乐DSP的高速数据处理能力和FPGA的超强逻辑处理能力,便于设计出效果完美、性能优优质的运动控制系统。相对的,我们可以选择适当的方案设计自己产品。第一章运动控制器的总设计方案经过查找资料,并选择了其中的一种优质方案设运动控制器的设计方案。利用步进电机,STM32最小系统以及矩阵按键搭建一个智能用于运动控制器的平台,人通过控制按键输入指令让STM32控制芯片控平台上的三只电机完成相应的功能。在控制器的运动平台上,传动方向为Y轴电机固定在平台上,用一个电机控制水平面平台板沿X轴运动,将Z轴方向的电机固定在Y轴电机的位移片上来实现X,Y,Z三个方向的位移来实现绘图,其中通过控制Z步进电机的位移来控制笔的起落,控制X轴和Y轴的电机来控制笔的平面运动轨迹,同样也可实现空间立体画图。整个系统根本上就分为三个模块,电机驱动、电路控制和机械运动两个局部。电机驱动电路和STM32最小系统是电路的重要组成局部。按键模块的主要作用就是向控制芯片输入相应的控制指令,通过按键来选择相应的指令,这些按键的内容是和控制器运动相对应的。TB6560驱动模块主要目的就是驱动步进电机运行进而实现图案的规划,Z轴的起落控制到达控制绘图笔起笔落笔的控制。机械局部主要由步进电机驱动的玻璃板和机械手。在每个坐标轴的的的两端都安装了行程开关,使控制臂滑动到尽头时能够停顿,对平台具有保护作用。同时也可以实现自检和找回原点的功能。每个滑片在滑轨上滑动,当滑动到滑轨尽头就会碰到开关,这时就会给使STM32发出一个反转信号,接着STM32控制电机反转,机器臂找到原点。支架上的Z轴底部固定有一支画笔,Z轴电机通电的时,通过STM32控制Z轴机械臂来控制抬笔和落笔。这个动作可以适当添加一个开关来判断是否停顿笔的下落。通过X/Y/Z轴的机械通过程序控制步进电机电机的转与不转,运动速度的快慢不同,使笔在纸上画出不同的轨迹,写出要求的英文和汉字。运动控制器的机械构造,包括三维平台,X/Y/Z坐标尺,Z、Y、Z坐标尺驱动螺杆驱以及动步进电机MZ,MX和MY。控制器和STM32最小系统接口,如图1.1所示:图1.1运动控制器机械原理从图中可以看出,Z轴的最低端的位置就是放置绘图笔位置。通过控制3个步进电机的运动,使螺杆驱动的两个运动的标尺,而让画笔描绘轨迹在绘图板上,并最终实现绘图功能。第二章运动电路控制器三维平台设计2.1硬件设计框图X向工作台MxTB6560驱动模块X向工作台MxTB6560驱动模块Y向工作台MySTM32外部输入控路TB6560驱动模块Y向工作台MySTM32外部输入控路TB6560驱动模块MzTB6560驱动模块MzTB6560驱动模块Z向工作台Z向工作台图2.1系统框图2.2运动电路控制控制电路图本设计的控制模块实物图如图2.2所示。图2.2控制模块实物图2.3运动控制器机械运动电路图三维运动控制工作台由X轴滑台,Y轴划台以及Z轴滑台以及绘图笔组成。三个方向的运动都具有具有独立性,这样方便控制。根据设计要求绘图的的要求的精度和图形。其中控制模式是用指令控制机械手臂,处理X-Y-Z平台上的三个坐标轴方向的动态定位来实现精度控制画图。构造示意图和实际图如2.3图所示:Z轴步进电机Z轴步进电机Y轴滑台Z轴滑台Y轴滑台Z轴滑台绘图笔绘图笔三维平台X轴滑台三维平台X轴滑台图2.3机械臂构造图第三章运动控制器的硬件设计3.1步进电机3.1.1主要构造人们早在20世纪20年代就开场使用这类电机。不管是在社会还是在国防上,只要有使物体产生运动的,将主要使用步进电机作为驱动力。随着社会的开展,步进电机的规模也越来越大,但是无论怎样,他们可以按照自己的生产类型分为:可变磁阻步进电动机及永磁步进电机。步进电机是由一组缠绕在电机固定部件--定子齿槽上的线圈驱动的。通常情况下,一根绕成圈状的金属丝叫做螺线管,而在电机中,绕在齿上的金属丝则叫做绕组、线圈、或相。3.1.2步进电机分类步进电机分为:永磁型〔PM〕,反响型〔VR〕和混合型〔HB〕等三种。永磁型:步进大多是二相的步进电机,且转角多为7.5度和15度。反响型:步进大多为三相的步进电机,可实现大转矩输出,步进角多为为1.5度,但电机的使用存在许多的环境问题,因此在欧美等兴旺国家80年代已被裁汰。混合式步进:是指结合了永磁式和反响式两种步进电机的优点。它又分为两相和五相:两相步进角一般为1.8度而五相步进角一般为0.72度。这种步进电机的应用最为广泛。本文选用此种步进电机,型号17HD0044-01,即通常所说的42步进电机。42步步进电机如图3.1所示。图3.1步进电机3.1.3步进电机工作原理通常电机的转子为永磁体,当电流流过定子绕组时,定子绕组产生一矢量磁场。该磁场会带动转子旋转,使得转子的一对磁场方向与定子的磁场方向一致。当定子的矢量磁场旋转一个角度。转子也随着该磁场转一个角度。每输入一个电脉冲,电动机转动一个角度前进一步。它输出的角位移与输入的脉冲数成正比。改变绕组通电的顺序,电机就会反转。所以通过控制脉冲数量和电动机各相绕组的通电顺序来来使步进电机精准定位。步进电机工作原理图如图3.2所示。图3.2步进电机工作原理图3.1.4步进电机的特点主要特点:1、高精度,且不累误差。2、步进电机外表允许的最高温度。步进电机的最高温度取决于电机磁性材料的退磁点;大多数磁性材料的退磁点都在摄氏130度以上,有的更高。所以步进电机相对来说具有好的适应条件。3、电机随着转速的增加,会使步进电机的转矩减小。当步进电机转动时,电机各相绕组的电感将形成一个反向电动势;频率越高,反向电动势越大。在它的作用下,电机随速率的增大,都会导致力矩下降低。4、因为步进电机的转矩很小,所可以控制电机进展低速运转。3.1.5步进电机的控制方法步进电机按照相数来分可分为三相,四相,五相等多种。相数越多他的工作方式也就越多,能够到达的精度也就越高。我们都知道步进电机是通过控制里面的相来控制电机的步进角的。因此,我们只需要控制电机中的相数和通电规律就可以控制电机运转速度以及方向。步进电机的控制规律如表3.1所示:表3.1通电规律表相数循环拍数通电规律相三单三拍双三拍六拍A→B→C→AAB→BC→CA→ABA→AB→B→BC→C→CA→A四相单四拍双四拍八拍A→B→C→D→AAB→BC→CD→DA→ABA→AB→B→BC→C→CD→D→DA→AAB→ABC→BC→BCD→CD→CDA→DA→DAB→AB五相单五拍双五拍十拍A→B→C→D→E→AAB→BC→CD→DE→EA→ABA→AB→B→BC→C→CD→D→DA→A→AB3.2STM32F103VET6随着社会的开展,以Cortex-M3作为内核的STM32系列芯片,以价格廉价,功能强大,操作简单而得到越来越多的运用。跟以往的单片机相比具有明显的优势。因为本设计要求的功能并不是很多,所以选用STM32F103VET6来控制完全能够胜任本设计的需求。3.2.1STM32F103VET6最小系统STM32F103VET6最小系统配置介绍:1、CPU型号:STM32103VET6(LQFP100封装)〔兼容所有STM3210Vx型号〕FLASH512KBRAM64KB空间够大了能跑UCOSUCGUILWIPUIP等等大型的协议栈2、所有IO引出(上层用端口号标识,下层用端口号与端口第二功能标识方便用户调试第二功能IICSPIADUSART省去大量翻阅文档时间,且在跳线时不易出错)3、一个开关按键4、一个电源指示灯(红色)5、一个复位脚6、一个MINIUSB接口供电与USB-Slave通讯7、一个标准JTAG接口ULINK2与JLINKV8仿真(JTAGSWD支持)8、串口下载跳线选择冒(选择方式可以通过板上丝印方便选择)9、对外有3路3.3V供电排针一路5V供电排针多个GND排针10、2路FSMC总线引出可以同时调试2个TFT屏也可以同时调试其他总线方式的外设11、所有IO口的丝印全部标注【正面标注IO口反面标注IO口和第2功能方便调试SPIIICUSARTAD等功能无需对照PDF找IO功能】全镀金排针12、多个定位孔,可以外挂多种TFT(有多个定位孔预留用户可以自行搭配)并兼容火牛开发板TFT接口以及定位孔。13、CPU引脚每10个用数字标识〔某些情况用的到〕14、2路LED用户指示灯(红色),通过一个共用跳冒接地,这样单独调试LED功能,当调试其他需要此IO口时可以把跳冒取下,不容易干扰其他功能。15、J04(TX1RX13.3VGND)单独引出,方便连接外设串口设备,以及调试或者下载程序用。[2]3.3.2STM32F103VET6定时器区别于SysTick一般只用于系统时钟的计时,STM32的定时器外设功能强大得超出了想像力,《STM32参考手册》中仅对定时器的介绍就已经占了100多页。STM32一共有8个定时器。并且都为16位的定时器。其中TIM6、TIM7是根本定时器;功能比拟少。TIM2、TIM3、TIM4、TIM5是通用定时器用的比拟多;TIM1和TIM8是高级定时器。这些定时器使STM32具有定时、信号的频率测量、信号的PWM测量、PWM输出等功能。这就使得STM32对社会中的许多的设计都可以用到。3.3.2.1根本定时器根本定时器TIM6和TIM7,这两个定时器只具备最根本的定时功能,就是累加的时钟脉冲数超过预定值时,能触发中断或触发DMA请求。由于在芯片内部与DAC外设相连,可通过触发输出驱动DAC。也可以作为其它通用定时器的时钟基准。见图3.3。图3.3根本定时器构造图这两个根本定时器使用的时钟源都是TIMxCLK,时钟源经过PSC预分频器输入至脉冲计数器〔TIMx_CNT〕,根本定时器只能工作在向上计数模式,在重载存放器〔TIMx_ARR〕保存的是定时器的溢出值。工作时,脉冲计数器TIMx_CNT由时钟触发进展计数,当TIMx_CNT的计数值X等于重载存放器TIMx_ARR中保存的数值N时,产生溢出事件,可触发中断或DMA请求。然后TIMx_CNT的值重新被置为0,重新向上计数。3.3.2.2通用定时器相比之下,通用定时器TIM2~TIM5,就比根本定时器复杂得多了。除了根本的定时,它主要用在测量输入脉冲的频率、脉冲宽与输出PWM脉冲的场合,还具有编码器的接口。见图3.4所示。图3.4通用定时器构造图3.3.3.3高级定时器TIM1和TIM8是两个高级定时器,它们具有根本、通用定时器的所有功能,还具有三相六步电机的接口,刹车功能(breakfunction)及用于PWM驱动电路的死区时间控制等,使得它非常适合于电机的控制。如图3.5所示。图3.5高级定时器构造图3.3TB6560步进电机驱动器3.3.1TB6560步进电机驱动模块TB6560步进电机驱动模块如图3.6所示。图3.6TB6560步进电机驱动模块实物图TB6560步进电机驱动器接口表4.1:接口作用J2驱动器和控制端的接口+5V接图中的控制电源正CLK接来自控制端的脉冲信号,可以是普通IO或PWM信号。DIR接来自控制端的方向控制信号,可以是普通IO。ENA接来自控制端的使能控制信号,可以是普通IO。J3输出电机接口3.3.2TB6560步进电机驱动器特点1、此驱动器采用原装进口的TB6560AHQ芯片设计。2、具有高集成度高可靠性的两相步进电机驱动器。3、接口采用光耦隔离,抗高频干扰能力强。4、最高输入电压:DC35V(峰值)。5、最高驱动电流3.5A(峰值)。3.3.3TB6560步进电机驱动器功能1、细分有整步、二细分、八细分、十六细分可调。2、输出电流0.5-3A。3、7档可调〔电流请在断电下设置〕。4、芯片具有过热自动保护功能。5、电机停顿时自动半流锁定。6、衰减4档可调。7、电源、运行、保护状态指示〔红色为电源和保护,绿色为电机运行〕。8、支持待机状态和电机锁定功能。第四章运动控制器的软件设计运动控制器的系统绘图流程如图10所示。图4.1运动控制器系统绘图流程图4.1PWM概述4.1.1PWM简介脉冲宽度调制(PWM),是英文“PulseWidthModulation〞的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进展控制技术。简单一点,就是对脉冲宽度的控制。然而这种技术因为灵活,简单而得到了广泛的运用,特别是现在在运动控制器中有大量的运用。并且拥有广阔的前景。所以对于PWM波的控制输出学习和研究是必不可少的。4.1.2PWM实现STM32的定时器除了TIM6和TIM7。其他的定时器都可以用来产生进展PWM输出。其中高级定时器TIM1和TIM8可以同时产生多达7路的PWM输出。而通用定时器也能同时产生多达4路的PWM输出,这样,STM32最多可以同时产生30路PWM输出!所以在这里,我们有足够的定时器来产生大量的PWM脉冲。但是要使STM32的通用定时器TIMx产生PWM输出,我们要分别要给TIMx配置复用输出的I/O和输出PWM信号模式〔如周期、极性、占空比〕:1.开启给TIMx时钟并对相应I/O进展配置配置TIMx时钟的I/O时要注意引脚的定义。2.设置TIMx的ARR、PSC和CounterMode。设置TIMx的重载存放器(ARR)和预分频值(PSC)来确定PWM的周期。周T=(TIMx_ARR+1)*时钟周期,时钟周期t=TIMx_CLK/CK_PSC,其中TIMx_CLK=72KHZ。TIM_CounterMode为定时器的计数方式。分为向上计数和向下计数。3.给设置TIMx配置输出通道和通道的PWM模式设置TIMx配置输出通道即为设置TIMx_OCx其中OCx中x即为几号通道,不同的定时器的个数不同所以他的取值也会有所不同,不同的通道对应着不同的I/O口。而配置PWM的输出就是配置TIM3_CCMRx的值来配置模式,而PWM模式有两种。两种情况可以根据自己的需求来配置。4.修改TIMx_CCRx来控制占空比。设置TIMx_CCRx来设置PWM的占空比及设置一个PWM周期中有效电平的占总周期的比率来改变波形。5.使能TIMx的CHx输出,开启使能TIMx。当我们将以上的配置配置好以后,只要翻开时钟使能就可以将PWM波按照设置的频率从配置的通道〔端口〕输出。4.2.设计要求使用STM32开发板,编写程序,实现对三维运动平台的运动控制。要求:〔1〕能控制X轴、Y轴、Z轴步进电机准确定位,重复定位精度优于2mm;〔2〕能控制高速直流电机画一个矩形〔长×宽=20cm×15cm〕;〔3〕进一步提高定位精度,如优于0.5mm。〔4〕保证精度前提下,提高定位的速度;4.3程序的配置通过对STM32F103VET6芯片的定时器、TB6560步进电机驱动器以及步进电机的了解,并结合本设计的要求我选择STM32F103VET6芯片的TIM2定时器作为步进电机的脉冲输入。在这过程中使用库函数来进展相应的配置。但是要完成电机配置要分两步。首先配置PWM波输出,再配置电机绘图程序。4.3.1.PWM波输出的配置首先,开启TIM2定时器,并配置TIM2中的第一个通道的I/O口为复用推挽输出。其中第一通道对应PA.0,。这些通道和引脚是相对应的,不可更改的。〔查看STM32引脚手册〕且I/O得时钟为50KHZ.这样就完成了时钟TIM2的I/O配置。代码如图7.1所示:图4.1PWM端口配置程序图接下来就要配置输出的PWM形式。经过TB6560芯片手册我们可以知道TB6560芯片的最大的脉冲输入为15KHZ,所以我们要配置的PWM波的频率要小于15KHZ才不至于烧坏芯片。所以跟据PWM波的计算方法配置出TIM_Period=7199〔TIM2_ARR〕和TIM_Prescaler=0〔CK_PSC〕并配置计数模式为向上计数〔库函数里有直接的配置,所以直接调用〕。然后在配置PWM的输出模式为第一种模式〔PWM1〕,及向上计数时高电平有效。再把占空比设置为50%。配置完毕后再开启TIM2的使能就可以通模拟看到PA.0三个端口的PWM形了。然后可以根据一样的工作原理配置定时器TIM3和TIM4,TIM3定时器为Y轴电机的驱动脉冲,TIM4定时器为Z轴的驱动脉冲。代码如以下列图7.2和7.3图4.2PWM占空比图4.3PWM通道配置4.3.2绘图控制程序的配置配置了PWM波的输出,就已经配置好了步进电机的脉冲信号了。但是要想实现电机的准确控制是不够。通过TB6560接口表格我们可以知道仅有脉冲是无法使电机转起来的。还需要一个方向控制端DIR〔低电平正转,高电平反转〕和使能控制端ENA〔低电平电机停顿,高电平运行〕。下面就是配置这写端口,配置原理给配置TIM2的I/O是一样的原理。配置代码如下所示:图4.4步进电机方向使能端口配置图由步进电机的控制和原理我们知道给一个脉冲步进电机走一个步进角。我们这用的是42步二相四线电机。由此可知每一步是1.8度角走完一圈需要360/1.8=200步,也就是说200个脉冲可以使电机旋转一周。而根据控制臂旋转一周的精度为1mm。由计算可得X轴步进电机需要200*200=40000个脉冲才可以走到20cm处,而Y轴需要150*200=30000个脉冲才能走到15cm。由此可以我们需要配置定时器的脉冲个数来实现精准的定位。而在这里有两个方案:一个是定时器同步来实现,及将一个定时器镶嵌在另一个定时器中来控制脉冲个数的输出。第二个是将定时器的中断翻开,然定时器每输出一个脉冲计数一次,在到达规定的次数后关闭计时器从关闭脉冲数来控制。相对来说用中断实现的误差小,因此选用第二个方案。接下来就是配置定时器中断的配置,配置中断跟配置PWM差不多,只是配置的函数发生变化。先翻开你要设定定时器的中断NVIC_IRQChannel。然后在配置中断函数的优先级,优先级有抢占优先级和响应优抢占优先级在响应优先级之前。先判断抢占优先级再判断响应优先级。优先级数字越小等级越先被选则,在开启中断定时器处于准备状态。TIM2的相关配置如图7.5:图4.5时钟中断配置图同样TIM3和TIM4也是一样的配置方法。在配置中断服务函数就可以准确确实定脉冲个数了。中断服务函数中设定要运行的步,脉冲累计数到达设定数就关闭时钟使能。来控制如图7.6所示:图4.6时钟中断服务配置图当这些关键配置设定好以后,将这些调用起来就可以跟据要画的轨迹配置电机的运动轨迹了!当我们把所需要的参数输入进去就可以实现然STM32控制电机实现相应的功能,通过控制DIR来控制正反方向。在所要运行的方向的函数中输入自己的函数就可以实现电机按照自己的要求实现功能!总结经过两个月的毕业设计工作终于完成了自己的毕业设计,在这期间我虽然感觉很累,但是每次的劳累都有收获,同时也学到了许多以前没有学过的知识,也对以前一些模糊的知识进展了补充。也让我知道每一次的一点点小错误会积累成大的错误!一个小小的粗心就会使整个的劳动成果泡影。在以后的学习路要学会更加的细心和思考。从毕业设计中,学到了STM32的内部构造及其工作原理,了解了时钟电路和控制电路的工作原理,还有步进电机的工作原理,稳固了C语言的使用能力,为了提高自己的技能,我查阅了大量的有关运动控制器的资料同时也看了许多相关设计的视频;在这之中发现了许许多多的问题。因为这些问题的解决提高分析问题的能力。也让自己今后懂观察。致谢在这毕业设计完成实际,我首先要感谢梁维源教师的无私帮助和支持。从开题选题到开题辩论以及现在完成的设计。如果没有梁维源教师的帮助和指导,我的这些毕业设计任务不可能按时完成。在这里,我想对恩师表达我诚挚感谢。同时,我也要感谢学习和生活中同学、好友,在我需要帮助的时候,他们及时的给予了帮助。使我能够轻松的解决问题。参考文献[1]周治平[1]陈娅冰[2]《基于FPGA的运动控制高速芯片设计与实现》-《微电子学与计算机》-2005[2]《最小系统板_stm32开发板stm32核心板stm32f103vet6最..._阿里巴巴》-互联网数据[3]李林鑫.基于迭代学习的机械手运动控制系统设计[D].浙江工业大学,2013.[4]《基于STM32F103的贴片机控制系统的设计与实现》董昊石九龙[2]刘锦高[1]-《电子设计工程》-2014[5]李玉娟.基于STM32的变电站巡检机器人运动控制系统设计与实现[D].西南交通大学,2013.[6]赵飞.基于STM32的CANopen运动控制主从站开发[D].华中科技大学,2011.[7]李亚美.基于PCI总线的STM32运动控制卡的设计[J].电子设计工程,2013,01:166-169.[8]张旭波.一种步进电机运动控制系统设计——基于stm32系列单片机[J].甘肃科技,2011,20:41-43.[9]唐定兵,高晓丁,薛世润.基于STM32F103ZET6的开放式数控运动控制系统[J].机电工程,2014,08:1062-1066.[10]谢鹏程.基于STM32和FreeRTOS的独立式运动控制器设计与研究[D].华南理工大学,2012.[11]王华振.仿人机器人嵌入式运动控制器设计与研究[D].长春工业大学,2014.[12]洪斯宝.嵌入式三轴数控系统的研究与设计[D].浙江工业大学,2012.[13]夏振来.全自动荧光分析仪控制系统的设计与实现[D].华南理工大学,2013.[14]石飞.小型仿人机器人的控制与人体动作示教研究[D].上海交通大学,2013.[15]吴晨晨.一种智能移动机器人通用控制系统研究与实现[D].南京航空大学,2012.[16]兰功金.基于STM32的SCARA机器人控制电路研究与设计[D].西南交通大学,2011.[17]王宇.多轴机械手控制系统的研究与开发[D].浙江工业大学,2012.[18]舒杰.工程机械嵌入式智能控制平台设计与实现[D].中南大学,2012.附录A程序代码#include"bsp_tb6560.h"voidGPIO_TB6560_Config(void){GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC,ENABLE);GPIO_InitStructure.GPIO_Pin=X_ENA_PIN;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;GPIO_Init(X_ENA_PORT,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=Y_ENA_PIN;GPIO_Init(Y_ENA_PORT,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=Z_ENA_PIN;GPIO_Init(Z_ENA_PORT,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=X_DIR_PIN;GPIO_Init(X_DIR_PORT,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=Y_DIR_PIN;GPIO_Init(Y_DIR_PORT,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=Z_DIR_PIN;GPIO_Init(Z_DIR_PORT,&GPIO_InitStructure);GPIO_SetBits(X_ENA_PORT,X_ENA_PIN);GPIO_SetBits(Y_ENA_PORT,Y_ENA_PIN);GPIO_SetBits(Z_ENA_PORT,Z_ENA_PIN);GPIO_ResetBits(X_DIR_PORT,X_DIR_PIN);GPIO_ResetBits(Y_DIR_PORT,Y_DIR_PIN);GPIO_ResetBits(Z_DIR_PORT,Z_DIR_PIN);}staticvoidTIM2_GPIO_Config(void){GPIO_InitTypeDefGPIO_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStructure);}staticvoidTIM2_Mode_Config(void){ TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure; TIM_OCInitTypeDefTIM_OCInitStructure; TIM_TimeBaseStructure.TIM_Period=999;TIM_TimeBaseStructure.TIM_Prescaler=71; TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure);TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable; TIM_OCInitStructure.TIM_Pulse=TIM2_CCR2_Val; TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;TIM_OC2Init(TIM2,&TIM_OCInitStructure); TIM_OC2PreloadConfig(TIM2,TIM_OCPreload_Enable); TIM_ARRPreloadConfig(TIM2,ENABLE); TIM_ClearITPendingBit(TIM2,TIM_IT_CC2); TIM_ITConfig(TIM2,TIM_IT_CC2,ENABLE); TIM_Cmd(TIM2,DISABLE);}voidTIM2_PWM_Init(void){ TIM2_GPIO_Config(); TIM2_Mode_Config(); }staticvoidTIM3_GPIO_Config(void){GPIO_InitTypeDefGPIO_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStructure);}*/staticvoidTIM3_Mode_Config(void){ TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure; TIM_OCInitTypeDefTIM_OCInitStructure; TIM_TimeBaseStructure.TIM_Period=999;TIM_TimeBaseStructure.TIM_Prescaler=71; TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; //ÉèÖÃʱÖÓ·ÖƵϵÊý£º²»·ÖƵ(ÕâÀïÓò»µ½)TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStructure);TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1; TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable; TIM_OCInitStructure.TIM_Pulse=TIM3_CCR1_Val; TIM_OC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论