通过串口控制电机转速

上传人:daj****de2 文档编号:168288955 上传时间:2022-11-09 格式:DOCX 页数:6 大小:225.45KB
返回 下载 相关 举报
通过串口控制电机转速_第1页
第1页 / 共6页
通过串口控制电机转速_第2页
第2页 / 共6页
通过串口控制电机转速_第3页
第3页 / 共6页
点击查看更多>>
资源描述
精心整理嵌入式原理考查项目报告题目通过串口控制电机转速系(部)电子与信息工程系 班级1姓名学号指导教师邹圣雷2014年12月通过串口控制电机转速吴赵崧林1、项目要求:串口发送SPEEDO,电机停止;串口发送SPEED1,电机低速运转;串口发送SPEED2,电机中等速度运转;串口发送SPEED3,电机高速运转;(通过串口接收的数据不同,发出不同的 PWM 波)2、原理和涉及知识点(寄存器)(1)寄存器是cpu的一部分,是计算机中速度最快的存储器,分为通用寄存器、 专用寄存器、段寄存器、其他寄存器,每个寄存器存储一种类型的变量,各司其 职,这样说来,又分为累加器、源变址寄存器、基址寄存器、计数寄存器、状态 寄存器等等寄存器变量,顾名思义,就是存贮在寄存器里的变量。(2)步进电机控制的基本原理:?步进电机的基本控制包括转向控制和速度控制2个方面。从结构上看,步进电机分 为三相、四相、五相等类型,常用的则以三相为主。三相步进电机的工作方式有 三相单三拍、三相双三拍和三相六拍3种,下面具体加以阐述。?a换相顺序的控制?步进电机通电换相这个过程称为脉冲分配。例如,三相步进电机在单三拍的工作 方式下,其各相的通电顺序为A-B-C-A,通电控制脉冲必须按照这一顺序分别控制 A、B、C相得通断。三相双三拍的通电顺序为AB-BC-CA-AB,三相六拍的通电顺序 为A-AB-B-BC-C-CA-A?b步进电机的转向控制?如果给定工作方式正序换相通电,步进电机正转。若步进电机励磁方式为三相六 拍,即A-AB-B-BC-C-CA-A。如果按反序通电换相,即A-AC-C-CB-B-BA-A,则电机 就反转。其它方式的情况类似。?c步进电机的速度控制?如果给步进电机发一个控制脉冲,它就转一步,再发一个脉冲,它会再转一步。2 个脉冲的间隔越短,步进电机就转得越快。调整输送给步进电机的脉冲频率,就 可以对步进电机进行调速。3、程序流程图进行 s3c241O 初始化ARMTargetInit()进行电机初始化init_MotorPort();等待调用串口函数usb();在串口输入数据并接收数据存入table8将 table8清零将 table8里面的字符串进行否对比返回x的值选择 switch 语句来控制电机的转动(例x=0,则电机停止)结束4、程序关键代码及注释主函数代码:intmain(void)ARMTarge tlnit(); /开发版初始化ini t_Mot orPor t();/ 电机初始化for(;)/进入死循环usb();/调用串口函数,并将发送的数据显示出来 swi tch(x)/x的值由usb()提供出来;caseO:Se tPWM(O);break;/停止转动casel:Se tPWM(500);break;/ 电机低速运转; case2:Se tPWM(700);break;/ 电机中等速度运转; case3:Se tPWM(900);break;/ 电机高等速度运转; defaul t:break;/默认处理方式usb.h的代码:if(strcmp(tableO, table)=O)/将接收到的数值和已存在的数值相比较 for(j=O;j6;j+)Uart_SendByten(0, tableOj);/如果相同,输出tablelfor(j=0;j6;j+)tablej=0;/循环8次将t able8 数值清零,等待下一次输入。i=0;x=0;/电机不转标志位break;/跳出循环elseif(strcmp(table1, table)=0)/将接收到的数值和已存在的数值相比较 for(j=0;j6;j+)Uart_SendByten(0, table1j);/如果相同,输出table2for(j=0;j6;j+)tablej=0;i=0;x=1;/电机低速标志位break;/跳出循环elseif(strcmp(table2, table)=0)/将接收到的数值和已存在的数值相比较 for(j=0;j6;j+)Uart_SendByten(0, table2j);/如果相同,输出table3for(j=O;j6;j+)tablej=0;/将接受的的数据清零x=2;/电机中速转动标志位i=O;break;/跳出循环elseif(strcmp(table3, table)=O)/接收到的数值和已存在的数值相比较 for(j=0;j6;j+)Uart_SendByten(0,table3j);/如果相同,输出t able2for(j=0;j6;j+)tablej=0;x=3;/电机高速转动标志位i=0;break;/跳出循环5、运行结果(截图和照片)这是输入SPEED1、2、3、0的情况的串口助手图片这是输入SPEEDO时的截图照片这是输入SPEED1时的截图照片这是输入SPEED2时的截图照片这是输入SPEED3时的截图照片TT11as 0刊吨徑WM*r*YCiOd XJM6、项目总结我们这次选择的是通过串口控制电机转速这个实验。我通过本次试验我学到 了好多东西,虽说用的时间很长但是感觉还是挺好一-有一种收获的感觉。这次实 验里面我全面的知道了步进电机用串口控制的方法,还有就是这次实验里面涉及 到的各种寄存器。我所生疏的寄存器主要是采样控制寄存器通过看书查资料现在 明白了。还有明白了团队协助也是非常重要的一件事!只有这样子才可以做到分 工明确、准确性高!
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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