嵌入式步进电机课程设计实验.docx

上传人:王** 文档编号:809720 上传时间:2024-01-16 格式:DOCX 页数:10 大小:30.90KB
下载 相关 举报
嵌入式步进电机课程设计实验.docx_第1页
第1页 / 共10页
嵌入式步进电机课程设计实验.docx_第2页
第2页 / 共10页
嵌入式步进电机课程设计实验.docx_第3页
第3页 / 共10页
嵌入式步进电机课程设计实验.docx_第4页
第4页 / 共10页
嵌入式步进电机课程设计实验.docx_第5页
第5页 / 共10页
嵌入式步进电机课程设计实验.docx_第6页
第6页 / 共10页
嵌入式步进电机课程设计实验.docx_第7页
第7页 / 共10页
嵌入式步进电机课程设计实验.docx_第8页
第8页 / 共10页
嵌入式步进电机课程设计实验.docx_第9页
第9页 / 共10页
嵌入式步进电机课程设计实验.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
资源描述

《嵌入式步进电机课程设计实验.docx》由会员分享,可在线阅读,更多相关《嵌入式步进电机课程设计实验.docx(10页珍藏版)》请在优知文库上搜索。

1、课程设计课程名称嵌入式系统原理题目名称基于ARM的步进电机的实现学生学院自动化学院专业班级:13级物联网工程1班学号.学生姓名指导教师张小波2023年12月25日一、课题应用现状及应用分析随着微电子和计算机技术的开展,步进电机的要求量与日俱增,它广泛用于打印机、电动玩具等消费类产品以及数控机床、工业机器人、医疗器械等机电产品中,其在各个国名经济领域都有应用。研究步进电机的控制系统,对提高控制精度和响应速度、节约能源等都具有重要意义。本控制系统的设计,有硬件设计和软件设计两局部组成。其中,硬件设计主要包括单片机最小系统、键盘控制模块、步进电机驱动模块、数码显示模块等功能模块的设计,以及硬件电路在

2、电路板上的实现。软件设计包括主程序以及各个模块的控制程序,最总实验对步进电机转动方向及转动速度的控制,并且将步进电机的转动速度动态显示在LED数码管上。二、功能模块介绍及总体设计;(一)模块介绍:1、ARM嵌入式开发板本课程设计所用到的是AlientekMiniSTM32开发板,该开发板采的的是STM32FlO3RCT6芯片;SPIFLASH芯片是W25Q64,容量为8M字节;配备有LCD模块接口和三个功能按钮。2、步进电机(1)工作原理:步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影

3、响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而到达准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而到达调速的目的。(2)驱动方式:相励磁法:每一瞬间只有一个线圈导通,其他线圈休息。其特点是励磁方法简单,耗电低,精确度良好。但是力矩小、震动大,每次励磁信号走的角度是标称角度。相励磁法:每一瞬间有两个线圈同时导通,特点是力矩大、震动较小,每次励磁转动角度是标称角度。相励磁法:1相和2相轮流交替导通,精度较高,且运转平滑。每送一个励磁信号转动二分

4、之一标称角度。有称为半步驱动。4相电机中,1、2种方式称4相4拍,3种称4相8拍。按钮:在MiniSTM32开发板上的按键KEYO连接在PC5上、KEYI连接在PA15上、WKjJP连接在PAo上。如下图:LCD实现流程:(二)、方案设计:分配五个输出IO口给步进电机控制,三个按键分别输入“转动/停止、一档/二档、正传/反转信号,记录电机当前运行状态输出到LCD模块。三、系统硬件平台及接口设计;硬件平台:ALlENTEKMiniSTM32开发板接口色合计: 定MPA4-8为推挽输出,作为步进电机的信号输入口; 定义PAO为输入作为按钮”开始/停止入口,PC5为输出作为按钮“一档/二档的入口,P

5、A15为输入作为按钮“正转/反转”的入口; LCD接口:LCD_LED对应PClO;LCD_CS对应PC9;LCD_RS对应PC8;LCD_WR对应PC7;LCD_RD对应PC6;LCD对应PB15:0;四、流程图及康代码(一)程序流程图:1、主程序及主循环:u8modle20=MODE:null;u8ifplay15=STATE:stop;intmain(void)Stm32_CIoCknit(9);系统时钟设置delayjnit(72);延时初始化UartJnit(72,9600);串口初始化MOTORJnit();初始化motorEXTIJnitO;外部中断初始化LCDJnitO;LED

6、8=1;POINT_COLOR=BLACK;LCD_ShowString(30,40,200,24,24,“STATE:stop”);LCD-ShowString(30J0,200z24z24,MODExlockwise);LCD_ShowString(30,91,200,24,24,“SPEED:0“);POINT_COLOR=RED;LCD-ShowString(IOl,40,200,24,24JStOp);LCD_ShowString(IOl,70,200,24,24JdoCkWise);LCD_ShowString(101,91,200,24,24J(T);keyl=O;MOTOR_S

7、top();/motorstopwhile(l)(printf(,OKrn);while(key2=0)(MOTOR_Stop();)switch(key)case0:pay();break;opa();case1:break;)2、按钮初始化及其中断程序:按键初始化函数/PAO.15和PC5设置成输入voidKEYJnit(void)(RCC-APB2ENR=1APB2ENR=1CRLA=OXFFFFFFFO;GPIOA-CRL=0X00000008;GPIOA-CRHfc=OXOFFFFFFF;GPIOA-CRH=0X80000000;GPIOA-ODR=1CRIA=OXFFOFFFFF;

8、GPIOC-CRL=0X00800000;GPI0C-0DR=lAPB2ENR=1APB2ENR=1CRL=OX11110000yPA8推挽,出PA2LED推挽,出GPlOAACRHa=oxfffffffo;GPIOA-CRH=0X00000001;GPloA-ODRI=IVODR=10DR=10DR=10DR=1CRLA=OXFFFFFOFF;GPIQD-CRL|=0X00(X)0300y/PD.2GPI0D-0DR=1PR=1PR=1PR=115;去除LINE15上的中断标志位)外部中断初始化程序初始化PA0,PC5,PA15为中断输入.voidEXTI_lnit(void)(KEYJnit();Ex-NVIC.Config(GPIO,AARTIR);上升沿触发Ex_NVIC_Config(GPIO_C,5,FTIR);下降沿触发Ex_NVIJCOnfig(GPIO_A,15,FTIR);下降沿触发MY.NVICJnit(2,2,EXTI0JRQnz2);抢占2,子优先级2,组2MY-NVICJnit(2,lzETI9-5JRQn,2);抢占2,子优先级1,组2MY,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 嵌入式开发

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!