单片机如何输出任意脉冲控制步进电机的讨论
本帖最后由 jianhong_wu 于 2014-9-2 13:14 编辑菜鸟-东莞:
单片机怎么输出频率5K的可调脉冲,晶振是22.118输出脉冲时还要能干别,我现在搞的输出的频率达不到,时动时不动。
鸿哥--深圳:
什么可调脉冲?频率可调还是占空比可调?
菜鸟-东莞:
频率可调,输出脉冲数量可调,我是用来控制步进电机的,步进是自带驱动器的,它是用频率控制速度,脉冲数控制角度。
鸿哥--深圳 :
首先,用一个单片机是做不到既输出一个可调脉冲同时也能干其它事,所以,我给你的建议是,用双核,也就是用两个单片机,一个主单片机,一个从单片机,它们之间进行串口通讯。
风雪--重庆:
鸿哥,我觉得是可以的,可以用中断嘛。
菜鸟-东莞:
这是个好方法,我干我的,你等通知就行了,你完事跟我说一下就行了。
鸿哥--深圳:
从单片机专门做频率脉冲输出,其它啥事都不能干。主机就负责除了脉冲发生外其它所有事情,包括按键,界面显示等等,我可以这么说,用一个单片机绝对不行,风雪,你不知道这个可调脉冲的难度有多大。
风雪--重庆:
我只是一个想法file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\X@8}U9MLE}EBUE273)]9PGF.gif。
鸿哥--深圳:
而且这个可调脉冲,即使单片机自带PWM模块,也不能用。只能自己写算法实现脉冲输出,不能用单片机内部自带的PWM,从机做脉冲输的晶振尽可能选大一点,比如晶振22.118是不错的。
菜鸟-东莞:
是的,之前我用的11.0592的,不行太慢了,换了22.1184还是有问题,求解啊.
鸿哥--深圳:
这个项目最大的难点是从机的脉冲算法,因为你要能输出任意频率的脉冲,而且控制步进电机,这个脉冲的均匀度要处理好,否则步进电机转动不均匀
,而且这个从机的脉冲输出,到最好要修正和校验精度的,我目前在网上还没有看到能讲解控制步进电机任意频率的,那些讲PWM控制步进电机的都不能实现任意频率,真正掌握这门技术的又没有人愿意分享,但是鸿哥已经掌握了这门技术,在以后未来的连载技术贴中会在坚鸿51单片机学习板上分享出来。
菜鸟-东莞:
是的是的,现的情况就是时快时慢,走走停停,搞不好不动了,郁闷,让单片机不干别的专发脉冲就可以,
鸿哥--深圳:
你必须用2个单片机,不要用一个。
菜鸟-东莞:
看来只能这样搞了,我试试,大家辛苦了file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\M3UT9~YLW$V{$Q1T[~VK9{Y.gif,谢谢大家
鸿哥--深圳:
我现在只能给你大概的提示,真正要做的还是要靠你自己,包括算法怎么实现,还是要靠你自己。
伟-肇庆:
嗯??步进电机用PWM控制。
鸿哥--深圳:
如果想无极调速步进电机,单片机内部自带PWM模块是不能满足要求的,必须自己整算法才行。
电子-广州:
有些单片机定时器不是有CTC模式吗,输出50%的占空比。频率可调。
鸿哥--深圳:
频率是可调,但是不能任意可调。
电子-广州:
怎么说,AVR就可以呀。你两块单片机实现,不觉得资源浪费吗?
鸿哥--深圳:
比说吧,我要你单片机一秒钟可以任意输出0到12000个脉冲,你说单片机内部的PWM可以做到吗?
电子-广州:
为什么要用PWM?及使用,也是可以呀,占空比50。调频率。
鸿哥--深圳 :
有时候我要1秒钟输出1986个脉冲,有时候我要1秒钟输出8915个,这个能实现吗?我觉得单片机内部模块做不到。
电子-广州:
调匹配值,一般都用单片机CTC模式,AVR的定时器就有CTC模式和PWM模式。
鸿哥--深圳:
我觉得这个不能做到任意频率,任意频率的概念是:每一秒钟,我想输出0到10000个脉冲数中的任意某一个值都行。请问,你如何配置单片机内部的寄存器》
电子-广州:
你了解AVR定时器吗?
风雪--重庆:
不用任意频率行不,多做几级
鸿哥--深圳:
而且内部寄存器的数值假如从20跳变到21时,可能频率就会从200跳变到395,而不是200到201。
鸿哥--深圳 :
@电子-广州 愿闻其详。
鸿哥--深圳:
@风雪--重庆 不做任意频率就可以,多做几级就没问题。
风雪--重庆:
我是觉得,加速或者减速,多做几个级别就好了,没必要非得用任意频率嘛
鸿哥--深圳:
@风雪--重庆 但是你不明白有一些应用场合,它是通过步进电机控制速度的,要任意调速的。
风雪--重庆:
嗯,也是,说到应用,我还差的远。没实际做过。
鸿哥--深圳:
说白了,任何一个单片机内部自带的CTC或者PWM都是有级调频率的,做不到真正的无级调频率。我们只能通过自己的算法来实现无极调频率,好吧,下次我就专门开一个节内容这个这方面的,就叫:掌握核心科技---单片机的变频技术。
肖亚平--四川:
要得。
鸿哥--深圳:
这个要等以后才会讲到,最近短期内还不会那么快。
任意脉冲是不现实的有需求 才有开发! 本帖最后由 jianhong_wu 于 2014-9-2 14:04 编辑
hobbye501 发表于 2014-9-2 13:25
任意脉冲是不现实的有需求 才有开发!
是的,有需求才有开发,这类项目我做过,而且已经做出来了,以后会在《从业将近十年!手把手教你单片机程序框架》这个帖子分享出来。 jianhong_wu 发表于 2014-9-2 14:02
是的,有需求才有开发,这类项目我做过,而且已经做出来了,以后会在《从业将近十年!手把手教你单片机程 ...
:D 能跟鸿哥打打球就好了 ! jianhong_wu 发表于 2014-9-2 14:02
是的,有需求才有开发,这类项目我做过,而且已经做出来了,以后会在《从业将近十年!手把手教你单片机程 ...
:D 能跟鸿哥打打球就好了 !切磋一下!!!以球会友! 这是个问题,一块单片机的确不行~~只能干一样事,, hobbye501 发表于 2014-9-2 16:22
能跟鸿哥打打球就好了 !切磋一下!!!以球会友!
好呀。有空约个时间过来打球。
页:
[1]