搜索
bottom↓
回复: 7

一个mcu能同时输出独立的pwm控制两个电机吗?

[复制链接]

出0入0汤圆

发表于 2007-5-18 22:27:48 | 显示全部楼层 |阅读模式
一直来对cpu的理解是一个时间只能执行一条指令,执行一个线程,所以产生如题的疑问



两个电机用来驱动小车的两个轮子,所以需要同时控制让小车前进或者转向。



不知道mcu里的pwm输出可不可以按照我如下设想工作:



加载决定占空比的数据1到马达1对应的pwm(T1) 寄存器,



加载决定占空比的数据2到马达2对应的pwm(T2) 寄存器,



然后同时启动T1和T2开始计数。



感觉应该可以同时控制,但输出的pwm(T1)波从0到1的跳变的实现应该是要mcu去触发一个定时器1的IRS(例如PORT1=~PORT1),如果pwm(T2)有着不同的占空比,mcu可以在不同(错开)的时间去响应T2的IRS(例如PORT2=~PORT2)。但要是让两个马达以相同的速度转呢?那两个定时器同时要求中断,这样按照优先权就会先相应优先权高的那个,那不就没有同时控制了吗?



是不是说因为两个中断之间的时间间隔很短,就不用考虑,看作是同时控制的?



我这样的理解对不对,刚开始做mcu方面的项目,才烧了一片m168:),经验还不足。

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2007-5-19 09:12:26 | 显示全部楼层
可以的



很多AVR芯片带多个硬件实现的PWM输出

出0入0汤圆

 楼主| 发表于 2007-5-19 18:17:21 | 显示全部楼层
主要的问题是 可不可以同时控制,例如同时输出两列相同的pwm波

____------   pwm1

____------   pwm2

   t

_ 代表0 - 代表1



简图希望大家能看得懂,代表一个周期的的pwm波,在时间t的时候能同时跳变吗?还是mcu先处理完pwm1的跳变再处理pwm2的跳变?即使是独立的硬件,但mcu也只能是一个一个硬件控制的吧?



应该是很简单的问题,但想不明白

出0入0汤圆

发表于 2007-5-19 18:34:26 | 显示全部楼层
不同的pwm模式,跳变时间不一样,这个要看Datasheet了。

出0入0汤圆

 楼主| 发表于 2007-5-19 22:56:01 | 显示全部楼层
两个pwm波会用同一个模式进行输出

出0入0汤圆

发表于 2007-5-19 23:48:10 | 显示全部楼层
其实这不用考滤,因为就算你得到一样的波形,电机的转速还会有差别的,如果你要小车前进,要调两个电机的转速一样,而不是要PWM输出一样。电机由于各种原因,各种参数不可能一致。我以前做过小车,得到一些经验。

1、要小车直线前进,要调整输出PWM(两路不一定相等),使电机转速一致。

2、要小车转弯,可以增加或减小一路PWM的占空比,左转右转要看实际情况。

出0入0汤圆

发表于 2007-5-20 11:59:36 | 显示全部楼层
可以阿,我们用一路控舵机,一路控电机

出0入0汤圆

发表于 2007-5-22 12:36:58 | 显示全部楼层
M168的T1有两个引脚OCR1A和OCR1B可以同时独立输出两路PWM,只要分别设置好匹配值就可以了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 03:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表