matlab,有一个PWM波信号怎么控制pwm 直流电机机

21ic官方微信-->
后使用快捷导航没有帐号?
查看: 557|回复: 22
请教直流电机的低速控制
&&未结帖(5)
主题帖子积分
高级技术员, 积分 899, 距离下一级还需 101 积分
高级技术员, 积分 899, 距离下一级还需 101 积分
主题帖子积分
专家等级:结帖率:13%打赏:0.00受赏:10.00
主题帖子积分
高级技术员, 积分 899, 距离下一级还需 101 积分
高级技术员, 积分 899, 距离下一级还需 101 积分
手上有一个微型直流电机,DC12V供电,控制接口有PWM输入口,可以通过PWM控制转速,还有一个信号输出口,可以获取电机的输出信号频率,在电机转速高时运转没问题,当通过PWM调速使电机在低转速时,电机有可能会停机(应该是堵转),请问直流电机的低速控制应该怎么做,是不是用到PID控制,有没有这方面的资料吗。能提供一个解决方向。
主题帖子积分
主题帖子积分
专家等级:结帖率:93%打赏:0.00受赏:179.07
主题帖子积分
本帖最后由 tyw 于
12:20 编辑
PWM控制器低速时,有电时值少,断电时值多,惯性不足以补偿空缺,所以会爬行.
本帖子中包含更多资源
才可以下载或查看,没有帐号?
主题帖子积分
主题帖子积分
专家等级:结帖率:70%打赏:0.00受赏:8.36
主题帖子积分
建议增加转动惯量。
主题帖子积分
高级技术员, 积分 899, 距离下一级还需 101 积分
高级技术员, 积分 899, 距离下一级还需 101 积分
主题帖子积分
专家等级:结帖率:13%打赏:0.00受赏:10.00
主题帖子积分
高级技术员, 积分 899, 距离下一级还需 101 积分
高级技术员, 积分 899, 距离下一级还需 101 积分
建议增加转动惯量。
请问老师具体是怎么做呢
主题帖子积分
助理工程师, 积分 1745, 距离下一级还需 255 积分
助理工程师, 积分 1745, 距离下一级还需 255 积分
主题帖子积分
专家等级:结帖率:85%打赏:0.00受赏:5.00
主题帖子积分
助理工程师, 积分 1745, 距离下一级还需 255 积分
助理工程师, 积分 1745, 距离下一级还需 255 积分
请问老师具体是怎么做呢
见过小拖拉机 柴油机的飞轮吗
人欲取之 天必与之
所有回复仅个人观点
主题帖子积分
主题帖子积分
专家等级:结帖率:70%打赏:0.00受赏:8.36
主题帖子积分
请问老师具体是怎么做呢
如5楼所说,电机轴上加个飞轮。
主题帖子积分
高级技术员, 积分 899, 距离下一级还需 101 积分
高级技术员, 积分 899, 距离下一级还需 101 积分
主题帖子积分
专家等级:结帖率:13%打赏:0.00受赏:10.00
主题帖子积分
高级技术员, 积分 899, 距离下一级还需 101 积分
高级技术员, 积分 899, 距离下一级还需 101 积分
哦,是说改装是最简便的吧
主题帖子积分
主题帖子积分
专家等级:结帖率:93%打赏:0.00受赏:179.07
主题帖子积分
哦,是说改装是最简便的吧
多大多重飞轮得一次次试,也不简单哦,哈哈
主题帖子积分
助理工程师, 积分 1619, 距离下一级还需 381 积分
助理工程师, 积分 1619, 距离下一级还需 381 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
助理工程师, 积分 1619, 距离下一级还需 381 积分
助理工程师, 积分 1619, 距离下一级还需 381 积分
低速运转控制就是麻烦
主题帖子积分
高级技术员, 积分 899, 距离下一级还需 101 积分
高级技术员, 积分 899, 距离下一级还需 101 积分
主题帖子积分
专家等级:结帖率:13%打赏:0.00受赏:10.00
主题帖子积分
高级技术员, 积分 899, 距离下一级还需 101 积分
高级技术员, 积分 899, 距离下一级还需 101 积分
多大多重飞轮得一次次试,也不简单哦,哈哈
还是先啃下T叔的资料,尽量从控制上解决
主题帖子积分
助理工程师, 积分 1183, 距离下一级还需 817 积分
助理工程师, 积分 1183, 距离下一级还需 817 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
助理工程师, 积分 1183, 距离下一级还需 817 积分
助理工程师, 积分 1183, 距离下一级还需 817 积分
有没有方法在电机低速的时候,让MOSFET进入 可变电阻区 ,线性方式驱动电机?
主题帖子积分
主题帖子积分
专家等级:结帖率:93%打赏:0.00受赏:179.07
主题帖子积分
本帖最后由 tyw 于
09:05 编辑
有没有方法在电机低速的时候,让MOSFET进入 可变电阻区 ,线性方式驱动电机? ...
线性方式低速势必电压降低,要考虑力矩问题,要加电流或电压反馈补偿来弥补.其次要考虑两种方式切换时的无缝过渡.
主题帖子积分
中级工程师, 积分 4212, 距离下一级还需 788 积分
中级工程师, 积分 4212, 距离下一级还需 788 积分
主题帖子积分
专家等级:结帖率:88%
主题帖子积分
中级工程师, 积分 4212, 距离下一级还需 788 积分
中级工程师, 积分 4212, 距离下一级还需 788 积分
现在有带减速机构的直流电机应该适合你的应用,电机转得快输出轴转的慢。
主题帖子积分
主题帖子积分
专家等级:结帖率:100%打赏:0.00受赏:7.00
主题帖子积分
我猜你这个是廉价的无刷电机,12V的电机到9V以下就可能不转了。普通的直流电机在低速时力矩很小,如果你要求调速范围宽,低速和高速都要有足够的力矩,只能用伺服电机,用什么调速算法其实影响不大。
主题帖子积分
资深技术员, 积分 316, 距离下一级还需 184 积分
资深技术员, 积分 316, 距离下一级还需 184 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
资深技术员, 积分 316, 距离下一级还需 184 积分
资深技术员, 积分 316, 距离下一级还需 184 积分
看过一篇文章,H桥前加一级BUCK.调速通过调节BUCK输出电压,H桥只负责换相.
主题帖子积分
实习生, 积分 9, 距离下一级还需 41 积分
实习生, 积分 9, 距离下一级还需 41 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 9, 距离下一级还需 41 积分
实习生, 积分 9, 距离下一级还需 41 积分
恩恩 二楼说的很好
主题帖子积分
高级技术员, 积分 899, 距离下一级还需 101 积分
高级技术员, 积分 899, 距离下一级还需 101 积分
主题帖子积分
专家等级:结帖率:13%打赏:0.00受赏:10.00
主题帖子积分
高级技术员, 积分 899, 距离下一级还需 101 积分
高级技术员, 积分 899, 距离下一级还需 101 积分
这是电机资料
本帖子中包含更多资源
才可以下载或查看,没有帐号?
主题帖子积分
主题帖子积分
专家等级:结帖率:93%打赏:0.00受赏:179.07
主题帖子积分
这是电机资料
驱动隔膜泵,动结构增惯量就别指望了.只能从电路下手改善.
搞不懂驱动隔膜泵为什么要低速?
主题帖子积分
高级技术员, 积分 899, 距离下一级还需 101 积分
高级技术员, 积分 899, 距离下一级还需 101 积分
主题帖子积分
专家等级:结帖率:13%打赏:0.00受赏:10.00
主题帖子积分
高级技术员, 积分 899, 距离下一级还需 101 积分
高级技术员, 积分 899, 距离下一级还需 101 积分
驱动隔膜泵,动结构增惯量就别指望了.只能从电路下手改善.
搞不懂驱动隔膜泵为什么要低速? ...
主题帖子积分
资深工程师, 积分 11061, 距离下一级还需 8939 积分
资深工程师, 积分 11061, 距离下一级还需 8939 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
资深工程师, 积分 11061, 距离下一级还需 8939 积分
资深工程师, 积分 11061, 距离下一级还需 8939 积分
低速一般加反转脉冲。
技术奇才奖章
人才类勋章
时间类勋章
涓涓之细流
发帖类勋章
时间类勋章
终身成就奖章
等级类勋章
坚毅之洋流
发帖类勋章
技术领袖奖章
人才类勋章
时间类勋章
欢快之小溪
发帖类勋章
社区建设奖章
等级类勋章
湍急之河流
发帖类勋章
突出贡献奖章
等级类勋章
技术导师奖章
人才类勋章
核心会员奖章
等级类勋章
晶莹之水滴
发帖类勋章
精英会员奖章
等级类勋章
热门推荐 /2一种基于Matlab的无刷直流电机控制系统建模仿真方法_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
一种基于Matlab的无刷直流电机控制系统建模仿真方法
上传于||文档简介
&&基于MATLAB的仿真
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩5页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢Adafruit的树莓派教程第九课:控制一个直流电机 - 极客范 - GeekFan.net
Adafruit的树莓派教程第九课:控制一个直流电机
翻译自 。欢迎加入,同我们一道翻译与分享。转载请参见文章末尾处的要求。
这节课我们来学习如何使用Python和L293D芯片控制直流电机的速度和转向。
在第八课里,我们学习了如何使用小派产生脉冲来控制伺服马达的位置。这节课我们将使用脉冲和L293D马达控制芯片来控制一个直流电机的转速并交替变换它的旋转方向。
你需要的:
要完成这个项目,你需要下面一些东西。
1个树莓派扩展板
一把公对公跳线
1个小块面包板
1个6V直流电机
L293D马达控制芯片
Adafruit Occidentalis 0.2及之后的操作系统
4节5号或7号电池盒及电池
PWM(Pulse Width Modulation,脉冲宽度调制)是一项用于控制电力的技术。在这里我们使用它来控制供给直流电机的电量及它的转速。
下面的图表展示了从树莓派的PWM针脚产生的脉冲信号。
PWM针每1/500秒产生一次脉冲。脉冲的长度控制了直流电机所能获得的电量。没有脉冲电机就不会转动,一次短脉冲会使电机以很慢的速度转动。如果脉冲持续总长度一半的时间,那么它就会获得总电量一半的电量。
PWM核心模块
Adafruit与Sean Cross一起编写了一个核心模块被包含在了发行版里。更多的细节请参照。如果你想在Raspbian或者其他发行版上使用这个模块,参考来把模块安装到你的环境里。
你已经在第八课里使用过了PWM与伺服马达核心模块,用于控制伺服马达。这一次,你将使用相同的模块来控制电机的转速。
这个模块使用文件类型的接口,你可以通过读写这些特定的文件来控制针脚输出进一步控制伺服电机的行为。这使得使用Python或者其他语言来编写该接口十分容易。
文件 – 描述
active – 1为激活,0为未激活。你可以通过读取它来查找输出针是否被激活,或者通过改写控制它的激活或未激活。
delayed – 如果设置为1,你对其他文件的改动不会起作用直到你使用上面的active来激活输出针。
mode – 改写文件来设置针脚是pwm,servo(伺服马达)还是audio(音频)。显然这里我们要设置为servo。注意这些针也会被小派的音频输出使用,所以你不能在使用声音的同时控制一个伺服马达。
frequency – 每秒产生的脉冲次数。
duty – 这个值应该介于0到100之间,代表了脉冲长度的百分比。数值越大,转速越快。
这是一个非常有用的芯片。它实际上可以独立控制两个电机。这节课我们将只使用芯片的一半针脚,在芯片右手边的大多数针脚用于控制第二个电机,但在树莓派上只有一个PWM输出针脚。
L293D有两个+V的针脚(8和16)。+Vmotor(8)针为电机提供电力,+V(16)针作为芯片的逻辑针脚。我们将把第16针接到树莓派上然后把第8针接到电池盒上。
为什么我们要在这个项目里使用L293D芯片?有两个原因。第一个原因是小派似乎还没有强大到能够直接驱动一个电机并且这样做可能会损坏树莓派。
第二个原因是,在这篇教程里,我们即要控制电机的转速,也要控制电机的转向。要达到这一点,需要反转电机的电流方向,而L239D恰好就是被设计用来达到这一目的的,我们可以通过两个电机控制针脚实现。
一小块面包板的大小很适合这篇教程。
因为我们需要使用控制针脚(连接GPIO的第4针和第17针),所以我们也需要用到GPIO库。更多细节请参考。
有很多种方法能把下面的展示的代码弄到你的树莓派里。最简单的方法可能是使用SSH连接到小派上(参见)然后使用下面的命令打开一个编辑器:
sudo nano motor.py
sudo nano motor.py
粘贴下面的代码,然后用Ctrl+X保存。
代码在这:
import RPi.GPIO as io
io.setmode(io.BCM)
in1_pin = 4
in2_pin = 17
io.setup(in1_pin, io.OUT)
io.setup(in2_pin, io.OUT)
def set(property, value):
f = open("/sys/class/rpi-pwm/pwm0/" + property, 'w')
f.write(value)
print("Error writing to: " + property + " value: " + value)
set("delayed", "0")
set("mode", "pwm")
set("frequency", "500")
set("active", "1")
def clockwise():
io.output(in1_pin, True)
io.output(in2_pin, False)
def counter_clockwise():
io.output(in1_pin, False)
io.output(in2_pin, True)
clockwise()
while True:
cmd = raw_input("Command, f/r 0..9, E.g. f5 :")
direction = cmd[0]
if direction == "f":
clockwise()
counter_clockwise()
speed = int(cmd[1]) * 11
set("duty", str(speed))
1234567891011121314151617181920212223242526272829303132333435363738394041
import RPi.GPIO as ioio.setmode(io.BCM)&in1_pin = 4in2_pin = 17&io.setup(in1_pin, io.OUT)io.setup(in2_pin, io.OUT)&def set(property, value):&&&&try:&&&&&&&&f = open("/sys/class/rpi-pwm/pwm0/" + property, 'w')&&&&&&&&f.write(value)&&&&&&&&f.close()&&&&&&&&except:&&&&&&&&print("Error writing to: " + property + " value: " + value)&set("delayed", "0")set("mode", "pwm")set("frequency", "500")set("active", "1")&def clockwise():&&&&io.output(in1_pin, True)&&&&&&&&io.output(in2_pin, False)&def counter_clockwise():&&&&io.output(in1_pin, False)&&&&io.output(in2_pin, True)&clockwise()&while True:&&&&cmd = raw_input("Command, f/r 0..9, E.g. f5 :")&&&&direction = cmd[0]&&&&if direction == "f":&&&&&&&&clockwise()&&&&else: &&&&&&&&counter_clockwise()&&&&speed = int(cmd[1]) * 11&&&&set("duty", str(speed))
这个Python程序首先把两个GPIO针设置为输出针。然后定义了一个与第八课里面一样的为了使用方便的方法(“set”),用于写入PWM核心模块。后面我们将会用它设置PWM参数。
另外我们定义了两个方法,”clockwise”和”counter_clockwise”,它们通过控制输出针达到改变电机转向的目的。
如果两个输出针都置为高或者置为低,那么电机将会停止。如果一针为高一针为低那么电机将朝一个方向转动,如果两针的电平反转,那么电机的转向也将反转。程序循环等待用户输入一个字母(“f”或”r”)以及一个0到9之间的数字。字母设置了电机的转向数字设置了转速,数字将会乘以11然后变成一个0到99之间PWM库所期望的百分比值。
要运行这个程序,你需要超级用户权限,所以使用下面的命令吧:
sudo python motor.py
sudo python motor.py
命令行将会提示你输入两个字符。试试下面的命令:
$sudo python motor.py
Command, f/r 0..9, E.g. f5 :f9
Command, f/r 0..9, E.g. f5 :r4
Command, f/r 0..9, E.g. f5 :
$sudo python motor.pyCommand, f/r 0..9, E.g. f5 :f9Command, f/r 0..9, E.g. f5 :r4Command, f/r 0..9, E.g. f5 :
原文链接:
- 译文链接: [ 转载请保留原文出处、译者和译文链接。]
爱游戏,爱开源,爱英语,也爱文字。个人主页:,新浪微博:
很酷的教程,谢谢分享51单片机求解PWM控制直流电机转速和正反转 - 单片机论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
51单片机求解PWM控制直流电机转速和正反转
10:01:29  
19292&查看
因为一个突如其来的课题仓促接触单片机,两眼一抹黑,时间紧迫,求解,我有AT89C52单片机一枚和实验板,要做到用PWM方式控制直流电机的转速和方向,我还需要什么硬件,会一点简单C语言,还需补充哪方面知识?求指点方向
10:26:09  
还需要一片驱动芯片,我试验板上的uln2003驱动电流带不起直流电机,老板说要在正负极并联两个电容
12:39:51  
这个是智能小车上的直流电机驱动电路 符合你的要求
(113.42 KB, 下载次数: 167)
12:38 上传
双h桥直流电机驱动电路
16:32:59  
这个网上的很多
10:45:17  
双h桥直流电机驱动电路 图网上有很多啊
20:58:03  
。。。。。。。。。。。。。。。。。。。
20:58 上传
点击文件名下载附件
下载积分: 积分 -1 分
316.94 KB, 下载次数: 937, 下载积分: 积分 -1 分
10:58:18  
kankanzenemjiejuede& &&&
09:51:12  
单片机可以作为收集主电路负载信号,然后判断输出智能信号吗
15:45:46  
受教了 啊·····················
16:49:45  
这个网上应该挺多的哈
10:46:36  
恩,往上挺多的哦,不过51单片机和L298控制直流电机正反转怎么设计啊
14:06:01  
1111111支持,顶一个
11:50:06  
额,现在明白了一些,利用L298芯片,L298可以同时驱动两个电机,有一个5v输入电源,还有另一个电源输入,这个输入是对电机的,即电机多大电压,这个口输入多大,然后两个PWM输入口,是利用单片机产生PWM波的输入口,即单片机产生PWM波,从这两个输入,还有四个输出口,两两成对,以不同高低电平的组合控制两个电机的正反转
21:51:32  
过来学习一下,最近也在弄直流电机控制
16:26:35  
楼主看看这个能用不,,,好像过期了这贴子
16:26 上传
点击文件名下载附件
下载积分: 积分 -1 分
61.12 KB, 下载次数: 248, 下载积分: 积分 -1 分
17:38:16  
用定时器模拟PWM就行啊,
23:39:56  
本帖最后由 zkl1989 于
23:41 编辑
//电机真反转与调速
#include&reg51.h&
#define uint unsigned int
#define uchar unsigned char
sbit k1=P2^0; //正转
sbit k2=P2^1; //反转& && &&&
sbit k3=P2^2;&&// 停止
sbit k4=P2^3;& && &&&// 调速
sbit pwm1=P1^4;
void init() ;& && && && && &
void delay(int x)
& && &uint i,j;
& && && & for(i=0;i&=x;i++)
& && && & for(j=1;j&=110;j++);
{& &init();
& &while(1)
& & {&&pwm1=1;
& && & delay(1+20*m);//通过延时调速
& && & pwm1=0;
& && &&&delay(1+20*m);
& && & if(k1==0)
& && && &&&delay(10);
& && && && &if(k1==0)
& && && && & {&&
& && && && && &P1=0X01;
& && && && &&&}
& && && && & while(!k1);
& && && & if(k2==0)
& && && &&&delay(10);
& && && && &if(k2==0)
& && && && & {
& && && && && &P1=0X02;
& && && && &
& && && && &&&}
& && && && & while(!k2);
& && &&&if(k3==0)
& && && &&&delay(10);
& && && && &if(k3==0)
& && && && & {
& && && && && &
& && && && && &P1=0X00;
& && && && && &pwm1=0;
& && && && &&&}
& && && && & while(!k3);
void init() //初始化
& &IE=0X82;
& &TMOD=0X01;& && && && && &
& &TH0=()/256;& & //打开定时器T0,计数值约5ms
& &TL0=()%256;
& &P1=0X00;&&//初始化P1口
& &P2=0X&&//初始化P2口
void timer0(void) interrupt 1&&//中断函数
& && &TH0=()/256;& &//装初值
& && &TL0=()%256;
& && &if(k4==0)
& && && &&&delay(10);
& && && && &if(k4==0)
& && && && & {
& && && && && & m++;
& && && && && & if(m==3)
& && && && && &&&m=0;
& && && && &&&}
& && && && & while(!k4);
(26.26 KB, 下载次数: 60)
23:40 上传
23:45:14  
想做一智能的小车,现在能实现一个马达正反转与调速,修改m的值可以增加调速级别,希望对你有帮助
12:58:15  
新手,感觉好复杂啊。看不懂,有没有简单的实现正反转的连接图。
14:04:55  
学习了~~~~~~~~~~~~~!都是高手!@
除了亲人欢聚的喜悦
让人头痛的就是来自亲朋好友的过度关怀
“做什么工作啊?”
“工资多少啊?”
“有没有女朋友?”
“什么时候结婚?”
“买房了吗?”
面对让人崩溃的问题,如何自救呢?快来支支招吧!
春节回家,除了见到亲人,儿时的玩伴
那一顿一顿的美食
带了家乡独有的味道
光是想想,都就能让人,垂涎三尺。
快拿起你手中的相机,拍下美食
一起分享你的幸福,还有机会中大奖喔
Powered by

我要回帖

更多关于 pwm直流电机调速器 的文章

 

随机推荐