智能车制作

标题: 有关PWM波 [打印本页]

作者: 第六档速    时间: 2009-4-4 18:59
标题: 有关PWM波
各位大侠,请问一下33886怎样通过单片机传来的PWM波控制电机?
作者: ldcrwy    时间: 2009-4-4 22:25
那你得研究33886的内部结构了,里面应该也是H桥
作者: 星空下的学生    时间: 2009-4-5 09:14
1.33886只是驱动芯片,电机不是33886控制,33886只是提高电流的,相当于一个电流放大器,也就是说    你  不用33886而直接用单片机控制电机原理上也应该可以,只是单片机提供的电流有限,也许不足以使电机正常运转。
2.PWM只是产生一个时高时低的电平,如果你不用PWM,你直接用一个高电平,一个低电平,你可以发现,电机的速度是最高的。高电平就是一个占空比是100%的PWM,低电平就是一个占空比是0%的PWM,,也就是说你一直给电机电他会最高速,你给一会电,停一会,速度肯定会降低的,当然你给电的时时间百分比多了自然速度也就快了,这你明白ba ?
作者: 第六档速    时间: 2009-4-5 09:43
明白了,谢谢.
作者: zhaodong584    时间: 2009-4-7 19:34
似乎明白了。能分享一下舵机和电机的相关程序吗?
作者: hubin8581893123    时间: 2009-8-14 10:33
说的简单易懂啊
作者: bcfai123    时间: 2009-8-14 16:34
解释的不错哇
作者: whut_wj    时间: 2009-8-16 19:14
驱动就是电流(功率)放大。如果直接把单片机的PWM管脚接驱动电机,电机只会滋滋叫,转不动。
因为驱动电流不够,电压拉低了。
作者: 丰田霸道    时间: 2009-9-25 15:43

作者: haojinweiwei050    时间: 2009-10-30 22:58
其实道理很简单,你如果看一下33886的内部结构,了解了其工作原理,在硬件上理解了,就好接受了
作者: 飞思卡尔123    时间: 2009-11-1 11:20
确实说的不错
作者: yangzan66    时间: 2009-11-12 13:52
有程序吗,用megal6能控制吗?
作者: Cedar    时间: 2009-11-28 18:22
哦!原来如此 啊!
作者: 小雨1111    时间: 2010-1-4 22:19
xiexie
作者: YUZHIBOYI    时间: 2010-2-21 15:17
好强啊
作者: hpdst    时间: 2010-3-12 15:24
说的简单易懂啊
作者: 动人心弦    时间: 2010-3-14 16:32
对于33886你懂三极管的原理那也不难了。。。
作者: dkmy    时间: 2010-3-14 16:53
呵呵    解释的够耐心的....
作者: jiao19880804    时间: 2010-3-17 12:51
#include <hidef.h>      /* common defines and macros */
#include <mc9s12dg128.h>     /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"

/*
*********************************************************
*pwm初始化函数 by demon 2007-5-12
*********************************************************/
void pwm_initial()//pwm初始化函数
{
PWME=0x22;//通道01,45使能  
PWMPOL=0x22;//通道01,45输出波形开始极性为1
PWMCTL=0x50;//通道01,45级联   
PWMCLK=0x02;//通道01选择SA为时钟源   
PWMSCLA=0X04;//通道01时钟SA为3MHz(24/(2*4))
PWMPER01=60000;//设定通道01输出频率(50Hz)
PWMPER45=12000;//设定通道45输出频率(2KHz)
}


/*
*********************************************************
*pwm输出函数 by demon 2007-5-12
*程序描述;由输入参数向舵机和电机输出相应pwm
*参数:舵机方向:3300-5700 速度:0-12000
*********************************************************/
void pwm(int speed,int direction)//pwm
{
pwm_initial();
if(direction<3300) direction=3300;  
if(direction>5700) direction=5700;  
PWMDTY01=direction;
if(speed>12000) speed=12000;
PWMDTY45=speed;
}
作者: luzhongren    时间: 2010-3-17 15:04
顶第二个,讲得比较清楚了
作者: zhxj    时间: 2010-3-25 12:01
回复 3# 星空下的学生


    谢谢 明白
作者: csuhuhao    时间: 2010-4-1 16:10
很容易
作者: yuanyao1639    时间: 2010-4-1 17:03
懂了
作者: xiaohaipolang    时间: 2010-4-1 21:54
好人些
作者: gaochun    时间: 2010-4-4 11:19
回复 3# 星空下的学生


    大虾啊
作者: agoodkidakang    时间: 2010-4-15 21:25
很需要程序,就是mc9s12xs128的pwm波生成程序,频率10khz,占空比10%~50%。高手请不吝赐教!感激万分!!!
作者: xiaohaipolang    时间: 2010-4-18 14:34

作者: 一笑天    时间: 2010-4-21 19:11
学习啦
作者: zczc003    时间: 2010-4-23 21:06
en
作者: chounvniuniu    时间: 2011-4-1 17:41
顶!
作者: chounvniuniu    时间: 2011-4-1 17:41
顶!
作者: justfrog    时间: 2011-4-17 17:45

作者: 反对幂指三    时间: 2012-6-2 09:04
不错哦!




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2