- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机驱动电动机 单片机驱动电动机 共发射极三极管开关电路 电动机驱动原理 电动机驱动电路及程序设计 步进电机驱动原理 步进电机驱动电路及程序设计 一、从共发射极电路到开关电路的演变 二、电动机驱动原理 电动机驱动电路及程序设计 步进电机的驱动 四线两相电机: L298电机驱动芯片 L298是一款单片集成的高电压、高电流、双路全桥式电机驱动, 设计用于连接标准TTL逻辑电平,驱动电感负载(诸如继电器、线圈、DC和步进电机)。 L298提供两个使能输入端,可以在不依赖于输入信号的情况下,使能或禁用L298器件。 程序设计 接地 8 GND 驱动电源 4 VS 数字电源 9 VCC 芯片使能端 11 ENB 芯片使能端 6 ENA 作用 管脚号 管脚 感应电流输入 15 SENSEB 感应电流输入 1 SENSEA 电机驱动端 14 OUT4 电机驱动端 13 OUT3 电机驱动端 3 OUT2 电机驱动端 2 OUT1 OUT4输出控制 12 IN4 OUT3输出控制 10 IN3 OUT2输出控制 7 3 OUT1输出控制 5 IN1 作用 管脚号 管脚 * * NPN共发射极电路 直流耦合 不需要偏置, R2保证没有输入时基极接地 限制输入电流 NPN: PNP: PNP共发射极电路 直流耦合 不需要偏置, R1保证没有输入时基极接高电平 限制输入电流 采用发射极开路的开关三极管电路,作电流驱动: 负载 负载 NPN PNP 电动机是电流驱动的元件,需要大电流通过; 电动机的电气特性相当于线圈,因此电动机内阻很小。 因为电动机的电气特性相当于线圈,因此可以向电动机输入脉冲信号,相当于向电动机输入等于脉冲信号平均值的直流信号。 驱动电动机单向转动: 驱动电动机双向转动: A C B D 刹车 1 1 0 0 反向旋转 1 0 1 0 正向旋转 0 1 0 1 作用 A B C D 二极管可以防止方向电动势损坏三极管。加上74LS06反向缓冲器,可以提高IO口对电动机的驱动能力。 A B 在这个电路图中,当A=1、B=0,电动机正向转动;当A=0、B=1,电动机逆向转动,当A=0、B=0,电动机停转。 #include reg51.h #define uchar unsigned char #define uint unsigned int sbit MA=P2^0; sbit MB=P2^1; sbit ka=P1^0; sbit kb=P1^1; sbit kc=P1^2; bit output, Turn; uint WIDTH, HPWM, PWM, Timerka, Timerkb, Timerkc; 程序设计: //方向控制按钮 //加速按钮 //减速按钮 //WIDTH为脉冲周期,HPWM为高电平长度,PWM为脉冲计时 //控制电机A端 //控制电机B端 //output为脉冲输出,Turn为改变方向标志位 // Timerka, Timerkb, Timerkc为按钮ka, kb, kc的计时器 void PWM_init( ) { TMOD=0x21; EA=1; ET0=1; TR0=1; TH0=-(1000/256); TL0=-(1000%256); CLK=1; TimerCLK=20; } //使用工作在模式1的16位定时器0 //允许中断,允许定时器0中断,启动定时器0 //定时器0的时长为1ms //定义脉冲电平和脉宽的初值 输出周期脉冲信号初始化程序: void PWM_init( ) { TMOD=0x22; EA=1; ET0=1; TR0=1; TH0=256-50; TL0=256-50; WIDTH=1000; PWM=WIDTH; HPWM=500; } //定时器0为8位自动填充的定时器 //定时器0定时值为50us //定时器0定时值为50us 输出周期脉冲信号初始化程序: //高电平的初值 void keyscan( ) { ka=1; if(ka==0) { Timerka++; if(Timerka=200) { Timerka=0; Turn=!Turn; } } //当按键按下时ka为0 //延时消抖,每1msTimeKa加1 //当TimeKa为200时说明已经经过10ms //把时钟Timerka归零,同时改变电动机转变方向 键盘扫描程序: kb=1; if(kb==0) { Timerkb++; if(Timerkb=200) {
您可能关注的文档
- 酚醛树脂检测标准.pdf
- 虚拟机基础教程.ppt
- 苏教版二年级数学下册课件-不进位加.ppt
- 第一章 电动车窗组成.ppt
- 超声法检测钢管混凝土内部缺陷报告.doc
- 苏教版数学一年级下册《两位数加一位数(进位加)》PPT课件1.ppt
- 英语加中文版复活节来历.ppt
- 美国芝加哥的英文介绍.ppt
- 第十一章 门窗11-1-1.ppt
- 海德堡印刷机故障.ppt
- 2024-2030年中国皮箱包袋行业发展分析及投资前景预测研究报告.docx
- 【巴厘岛的奇妙之旅】.docx
- 2024-2030年中国皮糠纸行业应用趋势与投资动态分析报告.docx
- 2024-2030年中国皮糠纸行业应用趋势与投资动态研究报告.docx
- 2024-2030年中国皮箱行业市场深度分析及需求形势与投资价值研究报告.docx
- 2024品牌特许经营合同范本.docx
- 2024-2030年中国皮肤健康检测设备行业应用状况与盈利前景预测报告.docx
- 2024-2030年中国皮肤主食卸妆行业市场发展趋势与前景展望战略分析报告.docx
- 2024-2030年中国皮肤健康检测设备行业需求状况与投资效益预测报告.docx
- 【大三巴牌坊的故事】.docx
文档评论(0)