控制步进电机转动指定步数的编程问题

sunshine_huangyan 2018-05-13 09:27:20
想写一个能让步进电机转动指定步数的程序,脉冲数量足够之后能实现自动停止,用下图简单的程序说明一下情况。一个for循环,预期i达到200之后执行break结束,可是用Keil调试了一下发现,执行完break语句之后又从main第一行开始执行,根本停不下来。大家能看看程序怎么改一下吗

...全文
1670 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
源代码大师 2021-05-03
  • 打赏
  • 举报
回复
C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html C和C++算法完整教程:https://blog.csdn.net/it_xiangqiang/category_10768339.html
qq_45998423 2021-04-14
  • 打赏
  • 举报
回复
楼主问题解决了吗?
peiyuan1 2018-11-17
  • 打赏
  • 举报
回复
不论你是FOR出来的,还是BREAK出来的,出来后都没有代码了,然后乱跑,于是就碰巧执行到RST后第一条代码了,然后程序重跑一遍,反复重跑。
isyefeng 2018-11-02
  • 打赏
  • 举报
回复
程序没有while(1)循环,有可能跑完复位又跑一次
dark9527 2018-05-14
  • 打赏
  • 举报
回复 1
在for循环里面i到不了200,在到200的时候for循环的条件不满足,不进入循环了,所以break语句执行不到。
赵4老师 2018-05-14
  • 打赏
  • 举报
回复
百度搜相关关键字。
sunshine_huangyan 2018-05-14
  • 打赏
  • 举报
回复
引用 2 楼 dark9527 的回复:
在for循环里面i到不了200,在到200的时候for循环的条件不满足,不进入循环了,所以break语句执行不到。
哦哦,我明白了!谢谢!我改一下
sunshine_huangyan 2018-05-14
  • 打赏
  • 举报
回复
那我使用延时程序一样两层for循环可以吗
摘  要 本文源于解决步进电动机的失步问题。论文在了解步进电动机的特点及工作原理的基 础上,重点研究两相步进电动机的单片机控制技术。 本文分析了两相混合式步进电动机的结构和工作原理,建立了两相混合式步进电动机 非线性动态模型,给出了绕组的磁链方程、旋转电压方程、转子运动方程和传递函数的 表达式。 根据两相混合式步进电动机的驱动控制特点,本文采用了双极性驱动方式,通过脉冲 分配合理控制绕组中的电流保证步进电动机内部合成磁场的幅值恒定,合成磁场的角度 均匀,并在此基础上设计了一种两相混合式步进电动机驱动器。 该驱动器以单片机8098为控制核心,选用PBL3717、H桥驱动器件等构成驱动电路,论 文从驱动技术方案、硬件电路、控制软件设计方面进行了详细地描述。在反馈检测电路 设计时,采用光电编码器来进行步进电动机的转速。通过8279扩展键盘显示电路来显示 电动机的转速和给定速度;另外利用ISD1420语音芯片实现语音报速功能。 最后对所设计的两相混合式步进电动机驱动器进行了性能测试分析,结果表明:该驱 动器达到了系统设计前所提出的各项指标。系统运行安全、可靠、稳定。整个系统电路 简单实用、性能优良、通用性强。设计原则适用于各种步进电动机,有一定的实用价值 。 引  言 步进电动机是一种将数字脉冲信号转换成机械角位移或者线位移的数—模转换元件。每 当输入一个脉冲,它就相应的运行一步。步进电动机由此而得名。 步进电动机的机理是基于最基本的电磁铁作用,其原始模型起源于1830年至1860年间 。1870年前后开始以控制为目的尝试,应用于氢弧灯的电极输送机构中。这被认为是最 初的步进电动机。此后,在电话自动交换机中广泛使用了步进电动机。不久又在缺乏交 流电源的船舶和飞机等独立系统中广泛使用。 20世纪60年代后期,在步进电动机本体方面随着永磁材料的发展,各种实用性步进电 动机应用而生,而半导体技术的发展则推进了步进电动机在众多领域的应用。在近30年 间,步进电动机迅速地发展并成熟起来。 我国步进电动机的研究及制造起始于二十世纪50年代后期。从50年代后期到60年代后 期,主要是高等院校和科研机构为研究一些装置而使用或开发少量产品。这些产品以多 段结构三相反应式步进电动机为主。70年代初期,步进电动机的生产和研究有所突破。 除反映在驱动器设计方面的长足进步外,对反应式步进电动机本体的设计研究也发展到 了一个较高水平。70年代中期至80年代中期成为成品发展阶段,新品种高性能电动机不 断被开发。自80年代中期以来,由于对步进电动机精确模型作了大量研究工作,各种混 合式步进电动机及驱动器作为产品广泛应用。 步进电动机控制技术的发展:步进电动机不能直接接到交直流电源上工作,而必须使 用专用设备——步进电动机驱动器。步进电动机是纯粹的数字控制电动机,它将电脉冲信 号转变成角位移,即给一个脉冲信号,步进电动机就转动一个角度,因此非常适合于单 片机控制。近30年来,数字技术、计算机技术和永磁材料的迅速发展,推动了步进电动 机的发展,为步进电动机的应用开辟了广阔的前景。步进电动机的发展推动了控制技术 的发展,尤显重要的是单片机控制技术。单片机介于工业控制计算机和可编程控制器之 间,它有较强的控制功能和低廉的成本。人们在选择控制器时,常常是在先满足功能需 要的同时,优先选择成本低的控制器。单片机往往成为优先选择的目标,单片机是目前 世界上使用量最大的微处理器。 近年来国外单片机控制领域的研究很活跃,发展迅速,相继研究出一些高性能的微步 驱动器,对步进电动机进行单片机控制是步进电动机控制技术的发展趋 势。用单片机来输出控制信号正是本课题的研究所在,为此本课题提供了一种基于单 片机控制的新方式。 绪论 1 课题研究背景及主要内容 1 课题研究背景 步进电动机是一种新型增量式电机,是数字控制系统的一种执行元件。它是利用电脉 冲信号进行控制,将电脉冲信号转换成相应的角位移或线位移的电动机。它的位移与输 入脉冲信号相对应,步矩误差不长期积累,不需用电刷,电机本体部件少,易于启停、 正反转及变速。用步进电机作为驱动装置构成的控制系统,具有成本低,控制简单,容 易维护等优点。步进电动机问世后,广泛地应用在等各个领域。做为机床控制、电子瞄 准、工业自动化、办公自动化和机器人运动控制中应用的重要执行部件,显示出广阔的 发展前景。 步进电动机有多种不同的结构。经过近七十多年的发展,逐渐形成以混合式和反应式 为主的产品格局。混合式步进电动机是在同步电动机或者说是在永磁感应子式同步电动 机的基础上发展起来的。既有反应式步进电动机基于气隙磁导变化的特征,又有轴向恒 定磁场的永磁式步进电动机的特征。其综合了该两类步进电动机的特点,因而性能更好 。具有分辨率高,控制功率小等优点,是应用最为广

69,380

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧