请教:步进电机的智能半流工作方式 点击:5637 | 回复:121



奔三十的男孩

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 1112回
  • 年度积分:0
  • 历史总积分:1251
  • 注册:2007年3月08日
发表于:2007-03-08 15:46:00
楼主
系统要求步进电机不能丢步, 所以要求步进电机的输出电流大(排除选大机的可行性),但同时发热量也会加大,所以我想在电流控制上加一个半流工作方式(并非那种只在没有脉冲信号时才用的半流), 在电机的运转过程中, 让电机全流工作, 甚至用120%额定电流工作, 在电机到达原定位置后,就把工作电流减半. 需要动作时又全流, 停下后又半流. 
目前我已经基本实现了这种带半流的控制方式, 请各位兄弟分析下这种方法的优缺点及实用性.



波恩

  • 精华:10帖
  • 求助:0帖
  • 帖子:203帖 | 11028回
  • 年度积分:0
  • 历史总积分:36300
  • 注册:2003年6月12日
发表于:2007-03-17 20:05:00
81楼
估计你现在做的已经是“双极恒流斩波”了,“恒流斩波”你肯定明白了,再加个“双极”性的定语,无非是说步进绕组中的电流的方向可控,可随意改变罢了。
千万不要被概念和名词困住!

奔三十的男孩

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 1112回
  • 年度积分:0
  • 历史总积分:1251
  • 注册:2007年3月08日
发表于:2007-03-19 00:23:00
82楼
原来如此......

奔三十的男孩

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 1112回
  • 年度积分:0
  • 历史总积分:1251
  • 注册:2007年3月08日
发表于:2007-03-23 00:07:00
83楼
关于我3月17号说的RC低通滤波, 后来我经过反复的试验, 其实c=470n并不能得到最理想的效果,通过L6506的滤波跟一般场合的滤波有些不同. 大家有兴趣那样做的话, 自己多试试

风之翼

  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 27回
  • 年度积分:0
  • 历史总积分:119
  • 注册:2003年3月05日
发表于:2007-03-23 09:44:00
84楼
这篇帖子不错啊,楼主进步相当大啊,想知道楼主"PWM直接到L298, 软件恒流"的结果,我也一直想这么弄一个,期待。。。。。

奔三十的男孩

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 1112回
  • 年度积分:0
  • 历史总积分:1251
  • 注册:2007年3月08日
发表于:2007-03-26 08:44:00
85楼
谢谢. 
其实我是打算上个星期弄"PWM直接到L298, 软件恒流", 但后来发现PWM接L6506还留下一些问题,  上星期一直在弄, 基本已解决了. 这里顺便提下: 用PWM给L606, 一定要接起码的RC低通滤波, R不能大, R选得太大, 易容造成震荡;R不能太小, 由于PWM输出有一定的内阻, R太小会使把PWM的输出拉低; C值不能太小, 太小了会让L6506的VSENSE引脚的电平不能逼近理论的REF引脚电压值(这点我一点弄不明白为什么, C太小时, 明明REF引脚有2.5V,但VSENSE脚的电平只能去到一点多伏; C值不能太大,太大的会破坏PWM的细分输出波形, 破坏细分. 比较合适的是: R 2-10K, C 100-470n

奔三十的男孩

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 1112回
  • 年度积分:0
  • 历史总积分:1251
  • 注册:2007年3月08日
发表于:2007-03-26 08:57:00
86楼
其实这种方法就是用PWM去代替MAX5222进行D/A转换, 但PWM单片机本身就有. 经过一个多星期的试验, 没什么不妥. 这种方法理论上电机的细分可以非常大(后来我一直都是用1000细分), 只要PWM的RC滤波选得好, 不会出现电机抖动问题(通电启动的那一瞬间也不会有抖动,以前用MAX5222启动时会有明显的抖动,我也没想为什么). 当然, 细分后对电机输出力矩有一点影响, 但可以适量增大输出, 然后采用半流工作方式,发热没有问题的. 
    目前尚存的缺陷是: 电机工作时有轻微噪声, 电机在换相瞬间还是有轻微的抖动, 我一直在努力消除, 但只有改善, 没有突破.当然, 这些情况在我接触过的控制器中都存在,我这种方法也不比他们的情况差.

波恩

  • 精华:10帖
  • 求助:0帖
  • 帖子:203帖 | 11028回
  • 年度积分:0
  • 历史总积分:36300
  • 注册:2003年6月12日
发表于:2007-03-26 18:16:00
87楼
“这点我一点弄不明白为什么, C太小时, 明明REF引脚有2.5V,但VSENSE脚的电平只能去到一点多伏”
由于PWM经RC滤波后是送到REF引脚,是不是C太小时,PWM滤波效果不够理想,REF引脚的电压波动过大,最终导致VSENSE与REF在器件内的实际比较点与目标REF值出现出入,而此时的比较时机恰好又落在REF电压偏低的时段,所以才会出现“VSENSE脚的电平”上不去的“假象”。

“电机工作时有轻微噪声, 电机在换相瞬间还是有轻微的抖动”
噪声频率如何,是否与转速相关?如果相关就还是细分台阶的问题,如果不相关是不是PWM的载波频率噪声。至于换相瞬间的轻微抖动问题,应该还是细分电流台阶导致的,你可以用示波器看看细分电流台阶是否有过冲。

奔三十的男孩

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 1112回
  • 年度积分:0
  • 历史总积分:1251
  • 注册:2007年3月08日
发表于:2007-03-27 10:34:00
88楼
第一点疑问应该是那样的吧. 反正我是想不出什么原因的了.

关于噪声和抖动,具体是这样的: 电机停在整步的位置时, 基本没什么噪音;停在细分步上时,噪音相对较大,仔细感觉, 还能发现电机在微微抖动,我猜可能是你说的"PWM的载波频率噪声"; 电机转动过程中也是有噪音和轻微抖动的.  
    这样问题在别的步进控制上也有,我就不是很在意, 弄了三四天, 没什么大的改善, 就放弃了. 主要是因为我这方面的理论知识太差. 
    从试验中发现, 噪声频率跟转速是关系的, 还很密切.
    另外,我试过让电机一小步,一小步慢慢的走(由于转速很慢,没有噪音),发现噪音和抖动全部来自换相的那个点上,就是要改变通电方式的那个点上. 其它细分步什么事都没,完全没噪音和抖动.
    关于你说的用示波器看看细分电流台阶是否过冲. 哎, 不怕跟你说, 我那台古懂模拟示波器, 能看个大概波形以经是难为它了.....

奔三十的男孩

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 1112回
  • 年度积分:0
  • 历史总积分:1251
  • 注册:2007年3月08日
发表于:2007-03-27 10:46:00
89楼
关于你说的"至于换相瞬间的轻微抖动问题,应该还是细分电流台阶导致的", 我认为从理论计算上讲, 不应该存在电流台阶, 因为我PWM波周期是501个计数(前面用1001,发现电机有点偏慢,但上面说的问题还是存在),每个计数比较值对应一个占空比对应一个小步,也就是500个细分. 应该不会出现明显的台阶.
    但也有一个可能, 就是PWM经滤波后输出L6506, 可能对L6506而主, PWM的细分已经被破坏了. 于是我说在RC低通滤波上, 苦苦试了三天多, 结果如上面所说, 有改善,无突破.

奔三十的男孩

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 1112回
  • 年度积分:0
  • 历史总积分:1251
  • 注册:2007年3月08日
发表于:2007-03-27 10:54:00
90楼
   现在有一上不大愿意接受的结论:  RC滤波,我在这方面的应用存在固有缺陷......

奔三十的男孩

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 1112回
  • 年度积分:0
  • 历史总积分:1251
  • 注册:2007年3月08日
发表于:2007-03-27 17:15:00
91楼
关于"PWM直接到L298, 软件恒流", 这两天内已经完成了硬件及软件的框架. 现在向各位仁兄大概汇报下: 输出直接用单片机I/O口PTA0-PTA3输出(并不是用PWM通道输出,经过很多考虑才这么做的), 直接接到L298, 在VSENSE脚上采样电流, 放大后的电压反馈给单片机.根据反馈电压值(实质就是电流的反馈)来控制PTA0-PTA3是输出0还是1(大于设定值就输出0.反之输出1), 由此实现恒流.  细分为128细分, 细分靠设置电压比较值实现.

今天下班前试验的结果是: 电机能转动,能按控制信号正转或反转. 没有上面说的PWM+L6506+L298方案所出现的噪音,L298发热不是很明显,(这点很奇怪,因为从电流的电流表看, 电流电流应该挺大的,试验时我的手指一直放在L298上, 想一发现温度异常就马上关电流, 可温度一直不是很高, 估计是我的散热方面做的工夫比较足)

存在问题: 电机运行过程中, 基本看不出有细分,电机抖动明显,
从电源的电流表来看, 电流波动非常大, 停在某个位置时,经常会出一直抖动, 偶尔出现大幅抖动. 

奔三十的男孩

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 1112回
  • 年度积分:0
  • 历史总积分:1251
  • 注册:2007年3月08日
发表于:2007-03-27 17:19:00
92楼
补充: 我刚说的"没有上面说的PWM+L6506+L298方案所出现的噪音",是指没有电流噪音, 由于抖动较大, 转起来声音还是蛮大的.

奔三十的男孩

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 1112回
  • 年度积分:0
  • 历史总积分:1251
  • 注册:2007年3月08日
发表于:2007-03-27 17:20:00
93楼
请各位仁兄帮分析下, 提些建议, 我好改进.

波恩

  • 精华:10帖
  • 求助:0帖
  • 帖子:203帖 | 11028回
  • 年度积分:0
  • 历史总积分:36300
  • 注册:2003年6月12日
发表于:2007-03-27 20:40:00
94楼
“发现噪音和抖动全部来自换相的那个点上,就是要改变通电方式的那个点上. 其它细分步什么事都没,完全没噪音和抖动.”
换相时,电流如何变化,过零反向吗?如果是,则有可能与你的信号零点偏置有关。

“输出直接用单片机I/O口PTA0-PTA3输出”
不明白以此方式是如何实现“128细分”的?

“存在问题: 电机运行过程中, 基本看不出有细分,电机抖动明显,
从电源的电流表来看, 电流波动非常大, 停在某个位置时,经常会出一直抖动, 偶尔出现大幅抖动. ”
从结果看,不仅细分目标未能实现,而且还引起了电流波动和电机振动,实际测试过你的REF给定波形吗?(示波器不能用,就为难了。)

奔三十的男孩

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 1112回
  • 年度积分:0
  • 历史总积分:1251
  • 注册:2007年3月08日
发表于:2007-03-28 08:21:00
95楼
关于“输出直接用单片机I/O口PTA0-PTA3输出”
不明白以此方式是如何实现“128细分”的?

我上面提到过:"根据反馈电压值(实质就是电流的反馈)来控制PTA0-PTA3是输出0还是1(大于设定值就输出0.反之输出1), 由此实现恒流.  细分为128细分, 细分靠设置电压比较值实现." 具体点是:先设计128的比较值, 每个比较值对应一个细分. 走第N个小步时, 就用反馈电压的A/D转换值与第N小步对应的比较值比较, A/D转换结果比比较值小, 就让输出为"1", A/D转换结果比比较值大, 就让输出为"0", 相当于软件形式的L6506. 这样弄根本上有没问题?

其它问题我还没想好怎么说,先缓着


奔三十的男孩

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 1112回
  • 年度积分:0
  • 历史总积分:1251
  • 注册:2007年3月08日
发表于:2007-03-28 08:26:00
96楼
关于你上面提的"而且还引起了电流波动和电机振动,实际测试过你的REF给定波形吗", 由于我现在做的这个方案是没有L6506的, 故没有REF给定波形, 你说的可能相当于我弄的128个比较值而已.我为了简单起见, 那128个比值其实就是1 2 3 .......128, 是与反馈电压的A/D转换结果比较的.

奔三十的男孩

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 1112回
  • 年度积分:0
  • 历史总积分:1251
  • 注册:2007年3月08日
发表于:2007-03-28 09:38:00
97楼
刚才检查电路发现了一点接线错误.改完后, 测量PTA0-PTA3输出口, 发现有了细分电压. 但是, 电测震动很厉害, 不是大幅的振动, 是频率很高, 幅度很小的震动. 初步估计是D/A较换频率太低(初步估计在60K左右), 无法满足斩波要求.

奔三十的男孩

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 1112回
  • 年度积分:0
  • 历史总积分:1251
  • 注册:2007年3月08日
发表于:2007-03-28 09:54:00
98楼
那电机放在硬台面上, 震动的声音像个发动机.....估计是D/A转换频率(我觉得可以当成斩波频率)跟步进电机的固有频率相近而产生共振了

奔三十的男孩

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 1112回
  • 年度积分:0
  • 历史总积分:1251
  • 注册:2007年3月08日
发表于:2007-03-28 10:12:00
99楼
靠,偶忘了设A/D转换时钟了.  刚说的情况是A/D转换时钟的前提下的.  后来设了A/D转换时钟频率是1M,  A/D转换速度约60KHZ, 发现"频率很高, 幅度很小的震动"是没了, 取而代之的是吱吱的电流声(一如PWM+L6506+L298的噪声), 和转低时的大幅低频抖动.....

奔三十的男孩

  • 精华:1帖
  • 求助:0帖
  • 帖子:25帖 | 1112回
  • 年度积分:0
  • 历史总积分:1251
  • 注册:2007年3月08日
发表于:2007-03-28 14:42:00
100楼
通过让电机小步运转, 发展电机细分转动方向与整步方向相反.....
汗, 偶又范小钷误了. 改进回来, 发现电机运行起来还将就, 就是停下来后, 电机仍小幅高频的震动, 不过这次不算严重.  高手指点下, 怎么解决电机转行设置位置后, 小幅度的震动问题, 是输出不稳定, 或有谐波造成的吗?

热门招聘
相关主题

官方公众号

智造工程师