智能小车PWM调速原理

这篇具有很好参考价值的文章主要介绍了智能小车PWM调速原理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

电机驱动电路

智能小车电机的驱动芯片采用L293D。L293D是一款单片集成的高电压、高电流、4通道电机驱动,设计用于连接标准DTL或TTL逻辑电平,驱动电感负载(诸如继电线圈、DC和步进电机)和开关功率晶体管等等。L293D有4个通道,每个电机需要用到两个通道,以实现电机的正反转。4个电机就需要用到8个通道。本小车需要2片L293D电机驱动芯片。

智能小车PWM调速原理

为了简化为双桥应用,L293D每个通道对都配备了一个使能输入端。L293D逻辑电路具有独立的供电输入,可在更低的电压下工作。

L293D具有如下特性:

1、L293D每个通道的电流输出能力达600 mA

2、L293D每个通道的峰值输出电流达1.2 A(非重复)

3、便于使能

4、L293D具有过温保护

5、逻辑“0”输入电压高达1.5 V(高抗噪性)

6、内置箝位二极管

智能小车PWM调速原理

智能小车的调速

智能小车的部分实验中,电机不能时刻保持在全速运转的状态,需要控制小车速度才能完成一些特定的功能。比如在“智能小车循迹实验”中,如果小车速度过快,来不及反应做出方向的调整,小车会很容易跑离轨迹。PWM调速是目前电机的主流调速方式。

智能小车采用脉宽调制(PWM)的办法来控制电机的转速,从而控制智能小车的速度。在此种情况下,电池电源并非连续地向直流电机供电,而是在一个特定的频率下为直流电机提供电能。

不同占空比的方波信号,调节对直流电机的通断电,能起到对直流电机调速作用。这是因为电机实际上是一个大电感,它有阻碍输入电流和电压突变的能力,因此脉冲输入信号被平均分配到作用时间上。

这样,改变L293D始能端EN1和EN2上输入方波的占空比就能改变加在电机两端的电压大小,从而改变了直流电机转速。

智能小车PWM调速原理

电路中用微处理机来实现脉宽调制,通常的方法有两种:

(1)用软件方式来实现:

通过执行软件延时交替改变EN1和EN2输出逻辑状态来产生脉宽调制信号,设置不同的延时时间得到不同的占空比。

(2)用硬件方式实现:

硬件自动产生PWM信号,不占用CPU处理的时间。这就要用到具有硬件PWM功能的芯片,在一串理想的脉冲周期序列中(如方波),正脉冲的持续时间与脉冲总周期的比值可以调节。

智能小车控制板采用STC89C52RC芯片,不具备硬件PWM波形发生器,我们采用定时器中断来产生固定占空比的脉冲信号,定时器的作用是准确的计算脉冲时间。采用定时器中断来产生PWM波形,而不是软件延迟的方法,可以有效的提升CPU的工作效率。

智能小车PWM调速前进

有时候我们需要控制智能小车的速度,不希望智能小车全速前进。比如在“智能小车循迹实验”中,如果小车速度过快,来不及反应做出方向的调整,小车会很容易跑离轨迹,这样就需要调整控制智能小车的速度了。

那么怎么样实现智能小车前进速度的调节呢?调节智能小车的速度,实际上是调节电机的运转速度,PWM调速是目前电机的主流调速方式。智能小车采用脉宽调制(PWM)的办法来控制电机的转速,从而控制智能小车的速度。在此种情况下,电池电源并非连续地向直流电机供电,而是在一个特定的频率下为直流电机提供电能。不同占空比的方波信号,调节对直流电机的通断电,能起到对直流电机调速作用。这是因为电机实际上是一个大电感,它有阻碍输入电流和电压突变的能力,因此脉冲输入信号被平均分配到作用时间上。这样,改变L293D使能端EN1和EN2上输入方波的占空比就能改变加在电机两端的电压大小,从而改变了直流电机转速。

智能小车PWM调速原理

智能小车PWM调速前进程序源代码

unsignedchar pwmval_left = 0; //变量定义

unsignedchar pwmval_right = 0; //变量定义

unsignedchar pwmval_left_init = 10;

//左电机占空比调节,调节值在0到20之间,调节此值可以调节小车的速度。

unsignedchar pwmval_right_init = 10;

//右电机占空比调节,调节值在0到20之间,调节此值可以调节小车的速度。

bitright_pwm = 1; //右电机PWM开关,为1时打开

bitleft_pwm = 1; //左电机PWM开关,为1时打开

voidleft_moto(void)

{

if(left_pwm)

{

if(pwmval_left <= pwmval_left_init){EN1 =1; }

else{EN1 = 0;}

if(pwmval_left >= 20){pwmval_left = 0;}

}

else{EN1 = 0;}

}

voidright_moto(void)

{

if(right_pwm)

{

if(pwmval_right <= pwmval_right_init){EN2= 1;}

else if(pwmval_right > pwmval_right_init){EN2= 0;}

if(pwmval_right >= 20){pwmval_right = 0;}

}

else{EN2 = 0;}

}

voidtimer0()interrupt 1 using 2

{

TH0=0xfc;TL0=0x66; //1Ms定时

pwmval_left=pwmval_left+1;pwmval_right=pwmval_right+1;

left_moto();right_moto();

}

voidtimer_init()

{

TMOD=0x01;

TH0=0xfc;TL0=0x66; //1ms定时

TR0=1;ET0=1;EA=1; //开总中断

}

voidmain()

{

timer_init();delay(10,100);

BEEP_IO=0;delay(100,100);BEEP_IO=1;

forward(); //调用前进函数

while(1);

}

从控制程序中我们可以知道,调节pwmval_left_init和pwmval_right_init的值就可以调节EN1和EN2上信号的占空比,从而调节左电机和右电机的运转速度,最终完成智能小车的运动速度。文章来源地址https://www.toymoban.com/news/detail-418352.html

到了这里,关于智能小车PWM调速原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 小车PWM调速-左右轮差速转弯

    之前写的左转和右转函数都是一个轮子停止,另一个轮子转动,才实现了转弯效果,那差速就是,两个轮子都转动,只不过一个轮子快,一个轮子慢,这样就实现了较平滑的转弯 左转:右轮快,左轮慢 右转:右轮慢,左轮快 程序 程序文件 1.main.c:调用定时器0和定时器1初始

    2024年02月16日
    浏览(45)
  • 智能小车 - DRV8833电机驱动模块

    基本兼容TB6612模块管脚 ,可驱动1.5A以下的直流电机和4线步进电机。 芯片中共有两个全H桥。因此最多可以同时驱动两个直流电机或一个步进电机。 (如果将4个电机中两个两个正负极相接,一个芯片也可带动4个电机) 管脚说明: ANI1:AO1的逻辑输入控制端口,电平0-5V。 AI

    2024年02月02日
    浏览(52)
  • 12. 直流电机调速(PWM)

    直流电机介绍 •直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极,当电极正接时,电机正转,当电极反接时,电机反转 •直流电机主要由永磁体(定子)、线圈(转子)和换向器组成 •除直流电机外,常见的电机还有步进电机、舵机、无刷电机、空

    2024年02月11日
    浏览(42)
  • 【51单片机学习】PWM电机调速

    中断允许寄存器,详情可以看STC51单片机芯片手册第160页 TMOD、TCON详情可以看STC51单片机芯片手册第187页 51单片机中的定时器有三个,(C52比C51多了一个定时器3,但这些都统称为51单片机) 本次以 Timer0 为例进行介绍 定时器的作用: 1:用于计时系统,可实现软件计时,或者使程

    2023年04月18日
    浏览(84)
  • STM32+L298N+PWM可调速小车(四驱)

    完整工程代码已放到百度网盘,链接如下: 电源引脚 VCC 外接直流电源引脚,电压范围在5~35V之间 GND GND是接地引脚,连接到电源负极 5V 驱动芯片内部逻辑供电引脚,如果安装了5V跳帽,则此引脚可输出5V电压,为微控板或其他电路提供电力供给,如果拔掉5V跳帽,则需要独立

    2024年02月02日
    浏览(38)
  • 一文搞懂如何使用STM32驱动直流电机(普通PWM输出和L298N、高级定时器输出带死区双通道互补PWM和IR2110S及自举电路、H桥电路和电机正反转)

    笔者从开始接触嵌入式单片机开始,就和驱动电机相伴而走。从最开始的直接买L298N驱动模块直接驱动直流电机,到现在自己设计PCB电路板驱动直流电机,可以说是和电机驱动共同成长了。现在笔者将这一过程的收获记录下来,希望对大家有所帮助。 不用详细了解L298N芯片和

    2024年02月02日
    浏览(50)
  • 【Proteus仿真】【51单片机】PWM电机调速系统设计

    本项目使用Proteus8仿真51单片机控制器,使用L298N电机模块、数码管模块、按键模块、LED指示灯模块等。 系统运行后,数码管显示电机当前运行档位和速度。 可通过按键K4启动与停止,按键K1加速、按键K2减速,按键K3换向; 档位可在1-5挡。 最终可实现: 按键功能:具有加速、

    2023年04月17日
    浏览(52)
  • 【学习记录】Simulink仿真学习:直流电机的VM调速系统与PWM调速系统搭建

            最近需要复现一下论文中的电机仿真环节,于是又在网上找寻了各种教程。这篇文章总结了我学习直流电机仿真的一些记录和一些知识点文章等。         由于本人电力电子技术等知识的欠缺,故这篇文章适用于为理解或者搭建简单的电机的simulink仿真系统的友友

    2024年02月10日
    浏览(62)
  • 单片机控制PWM的直流电机调速系统的设计

    单片机控制PWM的直流电机调速系统的设计  摘 要:在国民生产中,随着现代技术的发展,电力电子技术已得到了全面的发展,其技术已应用到各个领域。在各类机电系统中,由于直流电机具有良好的启动、制动和调速性能,直流电机调速系统已广泛运用于工业、航天领域的各个

    2024年02月04日
    浏览(44)
  • 基于51单片机直流电机PWM调速液晶1602显示设计

    一、系统方案 本文主要研究了利用MCS-51系列单片机控制PWM信号从而实现对直流电机转速进行控制的方法。本文中采用了三极管组成了PWM信号的驱动系统,并且对PWM信号的原理、产生方法以及如何通过软件编程对PWM信号占空比进行调节,从而控制其输入信号波形等均作了详细的

    2024年02月11日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包