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

[复制链接]
 楼主| 小小猫咪 发表于 2016-11-20 21:37 | 显示全部楼层 |阅读模式
PSoC3控制步进电机
chuxh 发表于 2016-11-20 21:40 | 显示全部楼层
详细说说你得情况
 楼主| 小小猫咪 发表于 2016-11-20 21:42 | 显示全部楼层
将输入信号分为3档(具体实现先不管),当信号在第1档范围中,我设变量x = 1,让步进电机转动30°;当信号在第2档范围中,变量x = 2,让步进电机转动60°;当信号在第3档范围中,变量x = 3,让步进电机转动90°。
renyaq 发表于 2016-11-20 21:43 | 显示全部楼层
你的思路呢
 楼主| 小小猫咪 发表于 2016-11-20 21:46 | 显示全部楼层
用PWM来控制步进电机转动规定的角度。清零PWM的reset,PWM就开始输出脉冲序列。这样一来,我用延时函数Cydelay()来控制reset = 0的时间,以此达到输出规定数目的PWM波的目的。
请问我这样做可以吗?
pangb 发表于 2016-11-20 21:47 | 显示全部楼层
有图吗
chenjunt 发表于 2016-11-20 21:48 | 显示全部楼层
可以。
看看Creator 的帮助文件。
morrisk 发表于 2016-11-20 21:50 | 显示全部楼层
我觉得用Cydelay()来控制reset = 0的时间不太可取,因为CyDelay只是一个普通的延时程序,它的精度受主时钟精度的影响。
 楼主| 小小猫咪 发表于 2016-11-20 21:52 | 显示全部楼层
常规输出规定数目的PWM波的方法是什么?
zwll 发表于 2016-11-20 21:54 | 显示全部楼层
如果是PSoC5的话, IMO的精度甚至在+-5%,这显然是不能接受的。
llljh 发表于 2016-11-20 21:56 | 显示全部楼层
我觉得可以使用中断来计数,计数完成置位 Control_Reg 去控制 PWM 的 Reset 端。
supernan 发表于 2016-11-20 21:59 | 显示全部楼层
如果不使用中断,你也可以自己用 Verilog 写一个计数器,然后引出一个输出直接控制PWM 的 Reset 端。
 楼主| 小小猫咪 发表于 2016-11-20 22:01 | 显示全部楼层
好的,我明天去单位试一下,多谢各位大侠了哈,结贴了先
您需要登录后才可以回帖 登录 | 注册

本版积分规则

313

主题

3014

帖子

6

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