打印

用单片机如何实现不同的频率控制3个步进电机同时转动?

[复制链接]
10590|41
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ctstt|  楼主 | 2011-4-14 22:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何实现输出3路不同的频率控制3个步进电机同时转动。原来时计划用3个定时器 改变定时器的计数初值来控制,但是实践发现,当频率高时候,3个同时工作就会一直跳中断,不能并行工作,那位大侠来帮忙支招一下!先谢过了!

相关帖子

沙发
ctstt|  楼主 | 2011-4-14 22:32 | 只看该作者
我准备用T0. T1,PCA各控制一路频率,但是频率太高的时候 程序就一直在跳中断,主程序无法进行处理,进来的给点建议吧 !

使用特权

评论回复
板凳
ctstt|  楼主 | 2011-4-15 08:49 | 只看该作者
有人知道怎么搞吗?

使用特权

评论回复
地板
木字四点水| | 2011-4-15 08:50 | 只看该作者
一个定时器不就可以了么.....

使用特权

评论回复
5
john_light| | 2011-4-15 09:13 | 只看该作者
多高的频率?

使用特权

评论回复
6
joyme| | 2011-4-15 09:15 | 只看该作者
同意LS的,用一个定时器做时基控制三个IO口打出不通频率的方波即可

使用特权

评论回复
7
yangyicheng| | 2011-4-15 09:19 | 只看该作者
看你的电机转动的频率多快,可以用一个快频率分频慢频率!用一个Timer

使用特权

评论回复
8
ctstt|  楼主 | 2011-4-15 10:09 | 只看该作者
4# 木字四点水
那如何实现3个脉冲信号不会相互影响?如果要只是开一个,开两个的情况怎么处理?

使用特权

评论回复
9
ctstt|  楼主 | 2011-4-15 10:10 | 只看该作者
5# john_light

60K-100K左右吧,现在用STC的1T模式!

使用特权

评论回复
10
ctstt|  楼主 | 2011-4-15 10:12 | 只看该作者
6# joyme
我也想过这样,但是如何实现3个脉冲信号不会相互影响?这么没有想明白,给点意见吧 ,先谢谢了

使用特权

评论回复
11
ctstt|  楼主 | 2011-4-15 10:14 | 只看该作者
7# yangyicheng
快频率分频慢频率?具体怎么做呢  不是很明白 ,

使用特权

评论回复
12
joyme| | 2011-4-15 10:20 | 只看该作者
countbase++
if(countbase % PWM1Width == 0)
        PWM1_IO = !PWM1_IO;
if(countbase % PWM2Width == 0)
         PWM2_IO = !PWM2_IO;
if(countbase % PWM3Width == 0)
         PWM3_IO = !PWM3_IO;
if(countbase  == (PWM1Width * PWM2Width *PWM3Width ))
         countbase  = 0;
这个是大概的思路,基于50%占空比的三路PWM输出,你可以根据你的要求改动程序实现你要的功能

使用特权

评论回复
13
joyme| | 2011-4-15 10:24 | 只看该作者
600K的频率用单片机实现估计够呛,100k的频率需要考虑指令的精简性了,10us能执行多少个指令是需要考虑进去的,如果中断频率太高的话,你主程序的其他处理将会受到影响,所以需要实际情况实际分析

使用特权

评论回复
14
ctstt|  楼主 | 2011-4-15 10:31 | 只看该作者
12# joyme
有点头绪了,呵呵,用的是定时器的计数模式吧!我修改程序试试看!

使用特权

评论回复
15
joyme| | 2011-4-15 10:42 | 只看该作者
如果要占空比变化更灵活的话,用三个不通的计数变量会更容易实现

使用特权

评论回复
16
coody| | 2011-4-15 11:53 | 只看该作者
用PCA做有4路驱动,最高40KHZ,4路独立。

使用特权

评论回复
17
coody| | 2011-4-15 11:57 | 只看该作者
另外,软件模拟DDS也可以做多路,但是频率不能太高,好处是可以1HZ步进,程序简单。做过4路,最高8KHZ,1HZ步进

使用特权

评论回复
18
heykay| | 2011-4-15 13:59 | 只看该作者
买3个日本的二手驱动器用io口给脉冲就行了撒

使用特权

评论回复
19
sxhhhjicbb| | 2011-4-15 18:57 | 只看该作者
100K是单片机处理的最高值了,如果还有精度的话,得用FPGA了.

使用特权

评论回复
20
icecut| | 2011-4-15 19:12 | 只看该作者
硬件pwm的单片机

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

43

帖子

1

粉丝