基于arm的步进电机控制系统-学位论文.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《基于arm的步进电机控制系统-学位论文.doc》由会员分享,可在线阅读,更多相关《基于arm的步进电机控制系统-学位论文.doc(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 嵌入式系统课程设计报告 (基于ARM的步进电机控制系统) 院 系: 机电学院 学生姓名: 专 业: 应用电子技术教育 班 级: 指导教师: 田丰庆 付广春 完成时间: 2013年3月28日 目录前言 1摘要 11 系统总体方案设计21.1步进电机单八拍通电方式工作原理 21.2总体设计思路32 GPIO口的设置32.1 GPIO端口的应用32.2 STM32中GPIO端口的功能42.3 GPIO端口的配置 43 系统的延时函数 错误!未定义书签。4 电机的驱动电路 8参考文献 9附录1主程序 10附录2总体原理图13 前言 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在
2、非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。摘要 嵌入式系统(Embedded system)是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”,根据英国电器工程师协会的定义,嵌入式系统为控制,监视或辅助设备,机器或用于工厂运作的设备。与个人计算机这样的通用计算机系统不
3、同,嵌入式系统通常执行的是带有特定要求的预先定义的任务。嵌入式系统的核心是由一个或几个预先编程好以用来执行少数几项任务的微处理器或者单片机组成,与通用计算机能够运行用户选择的软件不同,嵌入式系统上的软件通常是暂时不变的,所以经常称为“固件”。本文的主要工作是基于STM32步进电机控制系统的设计,随着越来越多的高科技产品逐渐融入到日常生活中,步进电机控制系统发生了巨大的变化。单片机,C语言等前沿学科的技术日趋成熟与实用化,使得步进电机的控制系统有了新的研究方向与意义。本文描述了一个由STM32微处理器,步进电机,键盘等模块构成的,该系统采用STM32微处理器为核心,在MDK的环境下进行编程,根据
4、键盘上不同按键的按下产生信号,用此信号对步进电机的速度,启停及转动方向进行控制,并通过LED显示出数据。关键词:嵌入式 STM32 步进电机1 系统的总体设计方案1.1 步进电机单八拍通电方式的工作原理 设A相首先通电,转子齿与定子A、A对齐。然后在A相继续通电的情况下接通B相。这时定子B、B极对转子齿2、4产生磁拉力,使转子顺时针方向转动,但是A、A极继续拉住齿1、3,因此,转子转到两个磁拉力平衡为止。这时转子顺时针转过了11.25。接着A相断电,B相继续通电。这时转子齿2、4和定子B、B极对齐,转子的位置又转过11.25。这样,如果按ABCDA的顺序轮流通电,则转子便顺时针方向一步一步地转
5、动,步距角11.25。电流换接八次,磁场旋转一周,转子前进了一个齿距角。如果按DCBA的顺序通电,则电机转子逆时针方向转动。这种通电方式称为四拍方式。图11.2 总体设计思路 本文主要利用STM32芯片对步进电机的启停.正反转及转速的控制,通过对该芯片的GPIO口进行设置,使其与辅助按键相对应,步进电机还需要加外部驱动电路对其进行驱动,从而实现按按键来控制电机的转速。图22 GPIO的设置2.1 GPIO口的应用 函数GPIO_Init的具体实现在库文件“stm32f10x_gpio.c”中,其作用是定义各个通用IO端口的模式,对应到外设的输入/输出功能有以下三种情况: (1) 外设对应的引脚
6、为输入:则根据外围电路的配置可以选择浮空输入.带上拉输入或带下拉输入。 (2) ADC对应的引脚:配置引脚为模拟输入。 (3) 外设对应的引脚为输出:需要根据外围电路的配置选择对应的引脚为复用功能的推挽输出或复用功能的开漏输出。如果把端口配置成复用输出功能,则引脚和输出寄存器断开,并和片上外设的输出信号连接。将引脚配置成复用输出功能后,如果外设没有被激活,它的输出将不确定。2.2 STM32中GPIO 的功能(1)最基本的功能是可以驱动LED.产生PWM.驱动蜂鸣器等。(2)具有单独的位设置或位清楚,编程简单。(3)具有外部中断/唤醒能力,端口配置成输入模式时,具有外部中断能力。(4)具有复用
7、功能,复用功能的端口兼有I/O功能等。(5)GPIO 口的配置具有锁定机制,当配置好GPIO口后,在一个端口位上执行了锁定,可以通过程序锁住配置组合,在下一次复位之前,将不能再更改端口位的配置。2.3 GPIO端口的配置步进电机有四相,分别定义为A.B.C.D,它们均为高电平无效,低电平有效,在不同时刻送入对应电平,使四个相以A _B _C _D的顺序供电,实现步进电机的正转,以D _C_ B _A的顺序供电实现反转。各个按键对应的GPIO口如下图所示,其中S1为启动,S2为停止,S3为正转,S4为反转,S5为加速,S6为减速。图3 下面是GPIO口的端口配置程序#include key_le
8、d.h * 函数名:LED_GPIO_Config * 描述 :配置LED端口为推挽输出 * 输入 :无 * 输出 :无void LED_GPIO_Config(void)/*定义一个GPIO_InitTypeDef类型的结构体*/GPIO_InitTypeDef GPIO_InitStructure;/*开启GPIOC的外设时钟*/RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE); /*选择要控制的GPIOC引脚*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_13|GPIO_
9、Pin_14|GPIO_Pin_15;/*设置引脚模式为通用推挽输出*/ GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /*设置引脚速率为50MHz */ GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /*调用库函数,初始化GPIOC*/ GPIO_Init(GPIOC, &GPIO_InitStructure); * 函数名:KEY_GPIO_Config * 描述 :配置按键端口为下拉输入 * 输入 :无 * 输出 :无void KEY_GPIO_Config(void)/*定义一个G
10、PIO_InitTypeDef类型的结构体*/GPIO_InitTypeDef GPIO_InitStructure;/*开启GPIOA的外设时钟*/RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE); /*选择要控制的GPIOA引脚*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6;/*设置引脚模式为通用推挽输出*/ GPIO_InitStructure.GPIO_Mode = GPIO_Mo
11、de_IN_FLOATING; /*设置引脚速率为50MHz */ GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /*调用库函数,初始化GPIOA*/ GPIO_Init(GPIOA, &GPIO_InitStructure);/*开启GPIOD的外设时钟*/RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOD, ENABLE); /*选择要控制的GPIOD引脚*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;/*设置引脚模式为通用推挽输出*/ GPIO_InitSt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 arm 步进 电机 控制系统 学位 论文
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内