想输出规定数目的PWM波让它转动一定的角度

[复制链接]
 楼主| xxmmi 发表于 2019-8-25 13:38 | 显示全部楼层 |阅读模式

PSoC3控制步进电机
chuxh 发表于 2019-8-25 13:41 | 显示全部楼层
详细说说你得情况
 楼主| xxmmi 发表于 2019-8-25 13:44 | 显示全部楼层
将输入信号分为3档(具体实现先不管),当信号在第1档范围中,我设变量x = 1,让步进电机转动30°;当信号在第2档范围中,变量x = 2,让步进电机转动60°;当信号在第3档范围中,变量x = 3,让步进电机转动90°。
renyaq 发表于 2019-8-25 13:47 | 显示全部楼层
你的思路呢
 楼主| xxmmi 发表于 2019-8-25 13:50 | 显示全部楼层

用PWM来控制步进电机转动规定的角度。清零PWM的reset,PWM就开始输出脉冲序列。这样一来,我用延时函数Cydelay()来控制reset = 0的时间,以此达到输出规定数目的PWM波的目的。
请问我这样做可以吗?
pangb 发表于 2019-8-25 13:54 | 显示全部楼层

有图吗
chenjunt 发表于 2019-8-25 14:13 | 显示全部楼层


可以。
看看Creator 的帮助文件。
morrisk 发表于 2019-8-25 14:16 | 显示全部楼层
我觉得用Cydelay()来控制reset = 0的时间不太可取,因为CyDelay只是一个普通的延时程序,它的精度受主时钟精度的影响。
 楼主| xxmmi 发表于 2019-8-25 14:20 | 显示全部楼层
常规输出规定数目的PWM波的方法是什么?
zwll 发表于 2019-8-25 14:24 | 显示全部楼层
如果是PSoC5的话, IMO的精度甚至在+-5%,这显然是不能接受的。
llljh 发表于 2019-8-25 14:27 | 显示全部楼层
我觉得可以使用中断来计数,计数完成置位 Control_Reg 去控制 PWM 的 Reset 端。
supernan 发表于 2019-8-25 14:30 | 显示全部楼层
如果不使用中断,你也可以自己用 Verilog 写一个计数器,然后引出一个输出直接控制PWM 的 Reset 端。
 楼主| xxmmi 发表于 2019-8-25 14:54 | 显示全部楼层
好的,我明天去单位试一下,多谢各位大侠了哈,结贴了先
您需要登录后才可以回帖 登录 | 注册

本版积分规则

369

主题

4278

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部