基于51单片机的直流电机PWM调速系统
基于单片机的直流电机调速系统设计
直流电机转速 :
根据基尔霍夫第二定律,得到电枢电压电动势平衡方程式 U=Ea+Ia(Ra+Rc)……………式1
式1中,Ra为电枢回路电阻,电枢回路串联保绕阻与电刷 接触电阻的总和;Rc是外接在电枢回路中的调节电阻
由此可得到直流电机的转速公式为:
n=(Ua-IR)/CeΦ ………………………式2
式2中, Ce为电动势常数, Φ是磁通量。 由1式和2式得
n=Ea/CeΦ ……………………………式3
由式3中可以看出, 对于一个已经制造好的电机, 当励磁电压和 负载转矩恒定时, 它的转速由回在电枢两端的电压Ea决定, 电 枢电压越高, 电机转速就越快, 电枢电压降低到0V时, 电机就 停止转动;改变电枢电压的极性, 电机就反转。
PWM脉宽调速
PWM(脉冲宽度调制)是通过控制固定电压的 直流电源开关频率, 改变负载两端的电压, 从 而达到控制要求的一种电压调整方法。在PWM 驱动控制的调整系统中, 按一个固定的频率 来接通和断开电源, 并且根据需要改变一个 周期内“接通”和“断开”时间的长短。通 过改变直流电机电枢上电压的“占空比”来 达到改变平均电压大小的目的, 从而来控制 电动机的转速。也正因为如此, PWM又被称为 “开关驱动装置”。
, 软件简单。但每个按键需要占用一个输入口线, 在 按键数量较多时, 需要较多的输入口线且电路结构复杂, 故此种键盘适用于按键较少或操作速度较高的场合。
数码管显示部分 本设计使用的是一种比较常用的是四位数码 管, 内部的4个数码管共用a~dp这8根数据线, 为使用提供了方便, 因为里面有4个数码管, 所以它有4个公共端, 加上a~dp, 共有12个引 脚, 下面便是一个共阴的四位数码管的内部 结构图(共阳的与之相反)
基于单片机的直流电机调速系统的课程设计
一、总体设计概述本设计基于8051单片机为主控芯片,霍尔元件为测速元件, L298N为直流伺服电机的驱动芯片,利用 PWM调速方式控制直流电机转动的速度,同时可通过矩阵键盘控制电机的启动、加速、减速、反转、制动等操作,并由LCD显示速度的变化值。
二、直流电机调速原理根据直流电动机根据励磁方式不同,分为自励和它励两种类型,其机械特性曲线有所不同。
但是对于直流电动机的转速,总满足下式:式中U——电压;Ra——励磁绕组本身的内阻;——每极磁通(wb );Ce——电势常数;Ct——转矩常数。
由上式可知,直流电机的速度控制既可以采用电枢控制法也可以采用磁场控制法。
磁场控制法控制磁通,其控制功率虽然较小,但是低速时受到磁场和磁极饱和的限制,高速时受到换向火花和换向器结构强度的限制,而且由于励磁线圈电感较大,动态响应较差,所以在工业生产过程中常用的方法是电枢控制法。
电枢控制法在励磁电压不变的情况下,把控制电压信号加到电机的电枢上来控制电机的转速。
传统的改变电压方法是在电枢回路中串连一个电阻,通过调节电阻改变电枢电压,达到调速的目的,这种方法效率低,平滑度差,由于串联电阻上要消耗电功率,因而经济效益低,而且转速越慢,能耗越大。
随着电力电子的发展,出现了许多新的电枢电压控制法。
如:由交流电源供电,使用晶闸管整流器进行相控调压;脉宽调制(PWM)调压等。
调压调速法具有平滑度高、能耗低、精度高等优点,在工业生产中广泛使用,其中PWM应用更广泛。
脉宽调速利用一个固定的频率来控制电源的接通或断开,并通过改变一个周期内“接通”和“断开”时间的长短,即改变直流电机电枢上的电压的“占空比”来改变平均电.压的大小,从而控制电动机的转速,因此,PWM又被称为“开关驱动装置”。
如果电机始终接通电源是,电机转速最大为Vmax,占空比为D=t1/t,则电机的平均转速:Vd=Vmax*D,可见只要改变占空比D,就可以调整电机的速度。
平均转速Vd与占空比的函数曲线近似为直线。
基于单片机的直流电机PWM调速控制系统的设计
基于单片机的直流电机PWM调速控制系统的设计第一章:前言1.1前言:直流电机的定义:将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。
近年来,随着科技的进步,直流电机得到了越来越广泛的应用,直流具有优良的调速特性,调速平滑,方便,调速范围广,过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速起动、制动和反转,需要满足生产过程自动化系统各种不同的特殊要求,从而对直流电机提出了较高的要求,改变电枢回路电阻调速、改变电压调速等技术已远远不能满足现代科技的要求,这是通过PWM方式控制直流电机调速的方法就应运而生。
采取传统的调速系统主要有以下的缺陷:模拟电路容易随时间飘移,会产生一些不必要的热损耗,以及对噪声敏感等。
而用PWM技术后,避免上述的缺点,实现了数字式控制模拟信号,可以大幅度减低成本和功耗。
并且PWM调速系统开关频率较高,仅靠电枢电感的滤波作用就可以获得平滑的直流电流,低速特性好;同时,开关频率高,快响应特性好,动态抗干扰能力强,可获很宽的频带;开关元件只需工作在开关状态,主电路损耗小,装置的效率高,具有节约空间、经济好等特点。
随着我国经济和文化事业的发展,在很多场合,都要求有直流电机PWM调速系统来进行调速,诸如汽车行业中的各种风扇、刮水器、喷水泵、熄火器、反视镜、宾馆中的自动门、自动门锁、自动窗帘、自动给水系统、柔巾机、导弹、火炮、人造卫星、宇宙飞船、舰艇、飞机、坦克、火箭、雷达、战车等场合。
1.2本设计任务:任务: 单片机为控制核心的直流电机PWM调速控制系统设计的主要内容以及技术参数:功能主要包括:1)直流电机的正转;2)直流电机的反转;3)直流电机的加速;4)直流电机的减速;5)直流电机的转速在数码管上显示;6)直流电机的启动;7)直流电机的停止;第二章:总体设计方案总体设计方案的硬件部分详细框图如图一所示。
示数码管显PWM单片机按键控制电机驱动基于单片机的直流电机PWM调速控制系统的设计键盘向单片机输入相应控制指令,由单片机通过P1.0与P1.1其中一口输出与转速相应的PWM脉冲,另一口输出低电平,经过信号放大、光耦传递,驱动H型桥式电动机控制电路,实现电动机转向与转速的控制。
PWM电机调速原理及51单片机PWM程序经典
PWM电机调速原理及51单片机PWM程序经典pwm电机调速原理对于电机的转速调整,我们是采用脉宽调制(pwm)办法,控制电机的时候,电源并非连续地向电机供电,而是在一个特定的频率下以方波脉冲的形式提供电能。
不同占空比的方波信号能对电机起到调速作用,这是因为电机实际上是一个大电感,它有阻碍输入电流和电压突变的能力,因此脉冲输入信号被平均分配到作用时间上,这样,改变在始能端pe2和pd5上输入方波的占空比就能改变加在电机两端的电压大小,从而改变了转速。
此电路中用微处理机去同时实现脉宽调制,通常的方法存有两种:(1)用软件方式来实现,即通过执行软件延时循环程序交替改变端口某个二进制位输出逻辑状态去产生脉宽调制信号,设置相同的延时时间获得相同的充电电流。
(2)硬件实验自动产生pwm信号,不挤占cpu处置的时间。
这就要用到atmega8515l的在pwm模式下的计数器1,具体内容可参考相关书籍。
51单片机pwm程序产生两个pwm,要求两个pwm波形占空都为80/256,两个波形之间要错开,不能同时为高电平!高电平之间相差48/256,pwm这个功能在pic单片机上就存有,但是如果你就要用51单片机的话,也就是可以的,但是比较的麻烦.可以用定时器t0去掌控频率,定时器t1去掌控充电电流:大致的的编程思路就是这样的:t0定时器中断就是使一个i0口输入高电平,在这个定时器t0的中断当中再生制动定时器t1,而这个t1就是使io口输入低电平,这样发生改变定时器t0的初值就可以发生改变频率,发生改变定时器t1的初值就可以发生改变充电电流。
*程序思路说明:****关于频率和占空比的确定,对于12m晶振,假定pwm输出频率为1khz,这样定时中断次数**预设为c=10,即0.01ms中断一次,则th0=ff,tl0=f6;由于预设中断时间为0.01ms,这样**可以设定占空比可从1-100变化。
即0.01ms*100=1ms******************************************************************************* /#include#defineucharunsignedchar/******************************************************************************th0和tl0是计数器0的高8位和低8位计数器,计算办法:tl0=(65536-c)%6;**th0=(65536-c)/256,其中c为所要计数的次数即为多长时间产生一次中断;tmod就是计数器**工作模式挑选,0x01则表示采用模式1,它存有16十一位计数器,最小计数脉冲为65536,最久时**间为1ms*65536=65.536ms******************************************************************************* /#definev_th00xff#definev_tl00xf6#definev_tmod0x01voidinit_sys(void);/*系统初始化函数*/voiddelay5ms(void);unsignedcharzkb1,zkb2;voidmain(void){init_sys();zkb1=40;/*占空比初始值设定*/zkb2=70;/*占空比初始值设定*/while(1){if(!p1_1)//如果按了+键,减少充电电流{delay5ms();if(!p1_1){zkb1++;zkb2=100-zkb1;}}if(!p1_2)//如果按了-键,增加充电电流{delay5ms();if(!p1_2){zkb1--;zkb2=100-zkb1;/*对占空比值限定范围*/if(zkb1>99)zkb1=1;if(zkb1<1)zkb1=99;}}/*******************************************************函数功能:对系统进行初始化,包括定时器初始化和变量初始化*/voidinit_sys(void)/*系统初始化函数*/{/*定时器初始化*/tmod=\th0=v_th0;tl0=v_tl0;tr0=1;et0=1;ea=\}//延时voiddelay5ms(void){unsignedinttempcyc=1000;while(tempcyc--);}/*中断函数*/voidtimer0(void)interrupt1using2{staticucharclick=\/*中断次数计数器变量*/th0=v_th0;/*恢复定时器初始值*/tl0=v_tl0;++click;if(click>=100)click=\if(click<=zkb1)/*当小于占空比值时输出低电平,高于时是高电平,从而实现占空比的调整*/p1_3=0;elsep1_3=1;if(click<=zkb2)p1_4=0;elsep1_4=1;}<1.下面就是avr的程序,51产生pwm波麻烦,可以用avr。
基于单片机实现直流电机PWM调速系统毕业设计
畢業設計(論文)基於單片機實現直流電機PWM調速系統系別:電氣與資訊工程系專業班級:電氣自動化06—32(1)班指導教師:董曉紅老師完成日期:2009年6月12日一、題目:基於單片機實現直流電機PWM調速系統二、指導思想和目的:通過畢業設計,培養學生綜合運用所學的知識和技能解決問題的本領,鞏固和加深對所學知識的理解;培養學生調查研究的習慣和工作能力;培養學生建立正確的設計和科學研究的思想,樹立實事求是、嚴肅認真的科學工作態度。
三、設計任務或主要技術指標:利用MCS-51系列單片機,通過PWM方式控制直流電機調速的方法。
採用了專門的晶片組成了PWM信號的發生系統,然後通過放大來驅動電機。
利用直流測速發電機測得電機速度,經過濾波電路得到直流電壓信號,把電壓信號輸入給A/D轉換晶片最後回饋給單片機,在內部進行PI運算,輸出控制量完成閉環控制,實現電機的調速控制。
四、設計進度與要求:1):佈置設計任務,深入瞭解設計內容,搜集參考資料,學習有關內容。
2):學習學校畢業設計的的實際情況,和格式要求。
3):設計網路拓撲結構以及構思設計的基本思路和設計過程。
4):根據根據設計要求和構思思路查找設計內容。
5):根據要求和設計的基本方案對設計要求的材料進行預算。
6):完善設計方案並繪製必須的圖紙草圖,編寫設計說明書。
7):對圖紙進行校正和測繪,畫合格的正式圖紙。
8):總結,熟悉設計內容,準備畢業答辯,完成答辯。
五、主要參考書及參考資料:[1] 王離九,黃錦恩編著,電晶體脈衝直流調速系統,華中理工大學出版社出版[2] 丁元傑主編,上海市教育委員會組編,單片微機原理及應用,機械工業出版社[3] 李榮生主編,電氣傳動控制系統設計指導,機械工業出版社[4] 吳守箴,臧英傑編著,電氣傳動的脈寬調製控制技術,機械工業出版社[5] 陳伯時主編,自動控制系統---電力拖動控制,中央廣播電視大學出版社專業班級:電氣自動化06—32(1)班學生:景天紅指導教師:董曉紅老師教研室主任(簽名):系(部)主任(簽名):年月日新疆工業高等專科學校畢業設計(論文)評定意見書設計(論文)題目:基於單片機實現直流電機PWM調速系統專題:基於單片機實現直流電機PWM調速系統設計者:姓名景天紅專業電氣自動化班級06—32(1)班設計時間:2009年4月20日—2009年6月12日指導教師:姓名職稱單位評閱人:姓名職稱單位評定意見:評定成績:指導教師(簽名):年月日評閱人(簽名):年月日答辯委員會主任(簽名):年月日(上頁背面)畢業設計評定意見參考提綱1.學生完成的工作量與內容是否符合任務書的要求。
基于51单片机的直流电机PWM调速系统
DOI:10.16660/ki.1674-098X.2018.13.108基于51单片机的直流电机PWM调速系统吴一平(浙江农林大学工程学院 浙江杭州 311300)摘 要:本文介绍了以单片机STC89C51和L298控制的直流电机PWM (脉宽调制)调速系统,主要介绍了用单片机软件实现PWM调整电机转速的基本原理及选择。
硬件电路实现了对电机的正转、反转、快速停止、加速,停止的控制。
软件电路给出了主程序、子程序流程图以及Proteus的仿真结果。
关键词:单片机STC89C51 脉宽调制 直流电机中图分类号:TN710 文献标识码:A 文章编号:1674-098X(2018)05(a)-0108-02直流电动机是将直流电能转换为机械能的电动机,相比其他类型电动机具有更好的调速性能,因此,直流电动机在工农业中被广泛应用。
本文对基于单片机STC89C51的直流电机PWM调速系统进行介绍,以期实现直流电机最优化方案。
1 直流电机PWM调速选择及原理直流电动机的调速方法有改变改变磁通量、改变电枢回路串联电阻以及改变电枢电压三种。
在电枢回路串联电阻,调速范围不大并且铜耗大,不经济。
弱磁调速中当磁通量Φ在低速时受磁极饱和限制,在高速时受换向器结构强度和换向火花的限制,而且由于励磁圈电感较大,动态响应较差,因此采用改变电枢电压的调速方法。
PWM(Pulse Width Modulation),全称为脉冲宽度调制,可以改变电枢电压值。
PWM的优点是精度高,易于控制,运行稳定。
PWM调速方法有三种,分别为定频调宽法、调宽调频法和定频调宽法。
前两种方法在调速时会改变控制脉冲的频率,而控制脉冲的频率与系统固有频率接近时会引起震荡,因此本文选用定频调宽法。
调速原理计算如下:占空比,D=t1t1+t2=t1T式中,T为电压变化周期;t1为一个周期内高电平持续时间;t2为一个周期内低电平持续时间;电机电压平均值U=DU0,式中,U0为总电压。
单片机课程设计PWM直流电动机调速控制系统方案
单片机原理及应用—— P W M直流电机调速控制系统概括直流电动机具有良好的启动性能和调速特性。
具有起动转矩大、调速平稳、经济大范围、调速容易、调速后效率高等特点。
本文设计的直流电机调速系统主要由51单片机、电源、H桥驱动电路、LED 液晶显示器、霍尔测速电路和独立按键组成的电子产品组成。
电源采用78系列芯片,采用PWM波方式实现电机+5V、+15V调速,PWM为脉宽调制,通过51单片机改变占空比实现。
通过独立的按键实现电机的启停、调速和转向的手动控制,LED实现测量数据(速度)的显示。
电机转速采用霍尔传感器检测输出方波,通过51单片机统计1秒内方波脉冲个数,计算电机转速,实现直流电机的反馈控制。
关键词:直流电机调速; H桥驱动电路; LED显示屏; 51单片机目录摘要2摘要错误!未定义书签。
目录3第 1 章引言41.1 概述41.2 国外发展现状41.3 要求51.4 设计目的及6第 2 章项目论证与选择72.1 电机调速模块72.2 PWM调速工作模式72.3 PWM脉宽调制方式错误!未定义书签。
2.4 PWM 软件实现错误!未定义书签。
第三章系统硬件电路设计83.1 信号输入电路83.2 电机PWM驱动模块电路9第 4 章系统的软件设计104.1 单片机选型104.2 系统软件设计分析10第 5 章 MCU 系统集成调试135.1 PROTEUS 设计与仿真平台错误!未定义书签。
18传统开发流程对比错误!未定义书签。
第一章简介1.1 概述现代工业的电驱动一般要求部分或全部自动化,因此必须与各种控制元件组成的自动控制系统相联动,而电驱动可视为自动电驱动系统的简称。
在这个系统中,生产机械可以自动控制。
随着现代电力电子技术和计算机技术的发展以及现代控制理论的应用,自动电驱动正朝着计算机控制的生产过程自动化方向发展。
以实现高速、高质量、高效率的生产。
在大多数集成自动化系统中,自动化电力牵引系统仍然是不可或缺的组成部分。
单片机课程设计完整版《PWM直流电动机调速控制系统》
单片机原理及应用课程设计报告设计题目:学院:专业:班级:学号:学生姓名:指导教师:年月日目录设计题目 (3)1 设计要求及主要技术指标: (4)1.1 设计要求 (4)1.2 主要技术指标 (5)2 设计过程 (6)2.1 题目分析 (9)2.2 整体构思 (10)2.3 具体实现 (12)3 元件说明及相关计算 (14)3.1 元件说明 (14)3.2 相关计算 (15)4 调试过程 (16)4.1 调试过程 (16)4.2 遇到问题及解决措施 (20)5 心得体会 (21)参考文献 (22)附录一:电路原理图 (23)附录二:程序清单 (24)设计题目:PWM直流电机调速系统本文设计的PWM直流电机调速系统,主要由51单片机、电源、H桥驱动电路、LED液晶显示器、霍尔测速电路以及独立按键组成的电子产品。
电源采用78系列芯片实现+5V、+15V对电机的调速采用PWM波方式,PWM是脉冲宽度调制,通过51单片机改变占空比实现。
通过独立按键实现对电机的启停、调速、转向的人工控制,LED实现对测量数据(速度)的显示。
电机转速利用霍尔传感器检测输出方波,通过51单片机对1秒内的方波脉冲个数进行计数,计算出电机的速度,实现了直流电机的反馈控制。
关键词:直流电机调速;定时中断;电动机;PWM波形;LED显示器;51单片机1 设计要求及主要技术指标:基于MCS-51系列单片机AT89C52,设计一个单片机控制的直流电动机PWM 调速控制装置。
1.1 设计要求(1)在系统中扩展直流电动机控制驱动电路L298,驱动直流测速电动机。
(2)使用定时器产生可控的PWM波,通过按键改变PWM占空比,控制直流电动机的转速。
(3)设计一个4个按键的键盘。
K1:“启动/停止”。
K2:“正转/反转”。
K3:“加速”。
K4:“减速”。
(4)手动控制。
在键盘上设置两个按键----直流电动机加速和直流电动机减速键。
在手动状态下,每按一次键,电动机的转速按照约定的速率改变。
基于C51单片机的直流电机PWM调速控制(包含原理图及C源代码)
基于C51单片机的直流电机PWM调速控制--SQ这是最近一阶段自己学习所获,现分享与大家。
这里采用A T89C52单片机做主控制芯片,实现两路直流电机的PWM调速控制,另外还可以实现转向、显示运行时间、显示档位等注:考虑小直流电机自身因素,调速范围仅设有四级电路原理图:C语言程序源代码:/******************** 硬件资源分配*********************/数码管:显示电机状态(启停、正反、速度)、运行时间、是否转弯按键:K4 启动/暂停K3 正反转/转弯允许K2 加速/左转/运行时间清零K1 减速/右转/停止定时器:T0 数码管动态显示,输出PWMT1 运行时间记录********************************************************//*******主程序文件PWM.c******/#include <reg52.h>#include "Afx.h"#include "Config.c"#define CIRCLE 5 //脉冲周期//按键定义uchar key,key_tmp=0, _key_tmp=0;//显示定义uchar LedState=0xF0; //LED显示标志,0xF0不显示,Ox00显示uchar code LED_code_d[4]={0xe0,0xd0,0xb0,0x70}; //分别选通1、2、3、4位uchar dispbuf[4]={0,0,0,0}; //待显示数组uchar dispbitcnt=0; //选通、显示的位uchar mstcnt=0;uchar Centi_s=0,Sec=0,Min=0; //分、秒、1%秒//程序运行状态标志bit MotState=0; //电机启停标志bit DirState=0; //方向标志0前,1后uchar State1=-1;uchar State2=-1;uchar State3=0;uchar State4=-1;uchar LSpeed=0;uchar RSpeed=0;//其他uint RunTime=0;uint RTime_cnt=0;uint LWidth;uint RWidth; //脉宽uint Widcnt=1;uint Dispcnt;//函数声明void key_scan(void);void DisBuf(void);void K4(void);void K3(void);void K2(void);void K1(void);void disp( uchar H, uchar n );void main(void){P1|=0xF0;EA=1;ET0=1;ET1=1;TMOD=0x11;TH0=0xFC;TL0=0x66; //T0,1ms定时初值TH1=0xDB;TL1=0xFF; //T1,10ms定时初值TR0=1;Widcnt=1;while(1){key_scan();switch(key){case 0x80: K1(); break;case 0x40: K2(); break;case 0x20: K3(); break;case 0x10: K4(); break;default:break;}key=0;DisBuf();LWidth=LSpeed;RWidth=RSpeed;}}//按键扫描**模拟触发器防抖void key_scan(void){key_tmp=(~P3)&0xf0;if(key_tmp&&!_key_tmp) //有键按下{key=(~P3)&0xf0;}_key_tmp=key_tmp ;}//按键功能处理/逻辑控制void K4(void){if(State4==-1){State4=1;TR1=1;dispbuf[3]=1;LedState=0x00; //打开LEDMotState=1; //打开电机LSpeed=1;RSpeed=1; //初速设为1}else if(State4==1){State4=0;TR1=0;MotState=0; //关闭电机}else if(State4==0){MotState=1;if(State3==0){State4=1;TR1=1;}else if(State3==1){LSpeed=2;RSpeed=2;}}}void K3(void){if(State4==1)DirState=!DirState;if(State4==0){if(State3==0){State3=1; //可以转向标志1可以,0不可以TR1=1;dispbuf[3]=9;MotState=1;LSpeed=2;RSpeed=2;}else if(State3==1){State3=0;TR1=0;dispbuf[3]=0;MotState=0;}}}void K2(void){if(State4==1&&LSpeed<4&&RSpeed<4){LSpeed++;RSpeed++;}else if(State4==0){if(State3==0){//State4=-1;//LedState=0xF0;MotState=0;Sec=0;Min=0;}else if(State3==1&&LSpeed<4&&RSpeed<4){//TurnState=0;LSpeed=2;RSpeed++;}}}void K1(void){if(State4==1&&LSpeed>1&&RSpeed>1){LSpeed--;RSpeed--;}else if(State4==0){if(State3==0){State4=-1;LedState=0xF0;MotState=0;}else if(State3==1&&LSpeed<4&&RSpeed<4){//TurnState=1;LSpeed++;RSpeed=2;}}}//显示预处理void DisBuf(void){if(RTime_cnt==100){Sec++;RTime_cnt=0;}if(Sec==60){Min++;Sec=0;}if(State4==1){dispbuf[0]=Sec%10;dispbuf[1]=Sec/10;dispbuf[2]=Min;if(!DirState) //正转dispbuf[3]=LSpeed;if(DirState) //反转dispbuf[3]=LSpeed+4;}if(State4==0){if(State3==0){dispbuf[0]=Sec%10;dispbuf[1]=Sec/10;dispbuf[2]=Min;dispbuf[3]=0;}if(State3==1){dispbuf[0]=RSpeed;dispbuf[1]=LSpeed;dispbuf[2]=Min;dispbuf[3]=9;}}}//LED驱动void disp( uchar H, uchar n ){P1=n;P1|=LedState ;P1|=LED_code_d[H];}//T0中断**显示/方波输出void Time_0() interrupt 1{TH0=0xFC;TL0=0x66;Widcnt++;Dispcnt++;//电机驱动/方波输出if(Widcnt>CIRCLE){Widcnt=1;}if(Widcnt<=LWidth)LMot_P=!DirState&&MotState;elseLMot_P=DirState&&MotState;LMot_M=DirState&&MotState;if(Widcnt<=RWidth)RMot_P=!DirState&&MotState;elseRMot_P=DirState&&MotState;RMot_M=DirState&&MotState;//显示if(Dispcnt==5){disp(dispbitcnt,dispbuf[dispbitcnt]);dispbitcnt++;if(dispbitcnt==4){dispbitcnt=0;}Dispcnt=0;}}//T1中断**运行时间void Time_1() interrupt 3{TH1=0xDB;TL1=0xFF;RTime_cnt++;}/******配置文件Afx.h******/#ifndef _AFX_#define _AFX_typedef unsigned char uchar;typedef unsigned int uint;typedef unsigned long ulong;#endif/******IO配置文件Config.c******/#ifndef _Config_#define _Config_#include "Afx.h"#include <reg52.h>//显示定义sbit led=P3^2;//电机引脚定义sbit LMot_P=P2^2; sbit LMot_M=P2^3; sbit RMot_P=P2^0; sbit RMot_M=P2^1;#endif。
基于51单片机的PWM直流调速系统
基于51单片机的PWM直流调速系统摘要:在当今社会,自动控制系统遍及我们生活的各个领域,在工业自动化中的应用也及其普遍,如:数控设备,工业机器人,电动机农业等。
而驱动这些设备的动力系统大多为直流电机,直流电机也因其有良好的启动性能,调速性能被广泛应用。
单片机简单来说就是集CPU(运算、控制)、RAM(数据存储-内存)、ROM(程序存储)、输入输出设备(串口、并口等)和中断系统处于同一芯片的器件,是一种功能强,体积小,可靠性高的大规模集成电路器件,乘法和除法指令,也给编程也带来了便利。
PWM(脉冲宽度调制)调速技术是直流电机中最常见的一种调速技术。
该调速技术有需要的元器件少,电路构造简单,精度高,范围广和无极调速等优点,成为直流电机的主流调速技术之一,同时也促进了工业化的发展。
本文主要介绍直流电机的调速系统,该系统为用51单片机发出PWM信号,通过改变PWM信号占空比来实现直流电机的调速。
并通过L298驱动模块来驱动电机。
在直流电机调速过程中,需要采用一些按键对系统调速进行控制。
在本系统中主要采用的是按键的方式进行控制,将四个按键分别连接到单片机的四个引脚上。
同时通过转速和电流双闭环直流调速系统,采用模糊控制的PID控制器对该系统进行控制,到达一个理想的速度。
关键词:直流电机;单片机;PWM调速;L2981研究背景及意义1.1国内外研究现状电机的历史非常悠久,自从第二次工业革命-电气化时代以来,电机就开始广泛参与人类生活的各个方面。
按工作电源种类来进行划分,电机可以分为交流电机与直流电机两大种类。
电机的转速控制是电机控制的最终目标,对应于电机的控制,交流调速系统与直流调速系统是电机自动控制系统中的两个重要组成部分。
直流调速系统与交流调速系统相比,具有调速精度高、调速范围广的特点,并且其变流装置控制简单,并具有更好的启动与制动性能。
在调速性能要求比较高、大功率、大扭矩的场合,如轧钢厂,海上钻井平台,直流调速系统仍占据主导地位。
基于51系列单片机的直流电机PWM调速
南昌工程学院本科综合课程设计第一章直流电动机调速概述 (1)1.1直流电机调速原理 (1)1.2直流调速系统实现方式 (2)1.389C51单片机 (3)89C51单片机接口如图1-3所示: (3)第二章硬件电路设计 (4)2.1PWM波形的程序实现 (4)2.2直流电动机驱动 (4)2.3续流电路设计 (5)第三章软件设计 (6)3.1主程序设计 (6)3.2数码显数设计 (7)3.3功能程序设计 (7)3.4仿真图 (11)3.5仿真结果分析 (12)心得体会 (13)参考文献 (14)第一章直流电动机调速概述1.1直流电机调速原理直流电动机根据励磁方式不同,直流电动机分为自励和他励两种类型。
不同励磁方式的直流电动机机械特性曲线有所不同。
但是对于直流电动机的转速有以下公式:n=U/C cφ-TR内/C r C cφ其中:U—电压;R内—励磁绕组本身的电阻;φ—每极磁通(Wb);Cc—电势常数;Cr—转矩常量。
由上式可知,直流电机的速度控制既可采用电枢控制法,也可采用磁场控制法。
磁场控制法控制磁通,其控制功率虽然较小,但低速时受到磁极饱和的限制,高速时受到换向火花和换向器结构强度的限制,而且由于励磁线圈电感较大,动态响应较差。
所以在工业生产过程中常用的方法是电枢控制法。
第一章直流电动机调速概述图1-1 直流电机的工作原理图电枢控制是在励磁电压不变的情况下,把控制电压信号加到电机的电枢上,以控制电机的转速。
在工业生产中广泛使用其中脉宽调制(PWM)应用更为广泛。
脉宽调速利用一个固定的频率来控制电源的接通或断开,并通过改变一个周期内“接通”和“断开”时间的长短,即改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速,因此,PWM又被称为“开关驱动装置”。
图1-2电枢电压占空比和平均电压的关系图,占空比为D=1t/T,则电根据上图,如果电机始终接通电源时,电机转速最大为vmaxV=V*D,可见只要改变占空比D,就可以得机的平均速度为:D max到不同的电机速度,从而达到调速的目的。
基于MC51单片机的直流电机PWM调速系统
基于MC51单片机的直流电机PWM调速系统一、本文概述随着现代电子技术的快速发展,直流电机调速系统在各种工业控制、自动化设备及智能家居等领域中得到了广泛应用。
MC51单片机作为一种功能强大、性价比高的微控制器,具有集成度高、稳定性好、控制灵活等优点,在电机控制领域具有广泛的应用前景。
本文旨在探讨基于MC51单片机的直流电机PWM(脉冲宽度调制)调速系统的设计与实现。
本文将首先介绍直流电机PWM调速的基本原理,包括PWM技术的特点及其在电机调速中的应用。
随后,将详细阐述基于MC51单片机的PWM调速系统的硬件设计,包括单片机选型、功率驱动电路、电机接口电路等关键部分的设计与搭建。
在软件设计方面,本文将介绍如何利用MC51单片机的定时器、I/O端口等资源,实现PWM信号的生成与控制,以及如何通过编程实现电机的精确调速。
本文还将对系统的调试与优化进行阐述,包括电路调试、软件调试、性能优化等方面的内容,以确保系统的稳定性和可靠性。
本文将总结基于MC51单片机的直流电机PWM调速系统的优点与应用前景,为相关领域的研究和实践提供参考和借鉴。
通过本文的研究与探讨,读者可以深入了解基于MC51单片机的直流电机PWM调速系统的设计与实现过程,掌握相关硬件与软件设计技术,为实际应用中的电机调速控制提供有效的解决方案。
二、系统总体设计在本设计中,我们将基于MC51单片机构建一个直流电机PWM(脉冲宽度调制)调速系统。
该系统的设计目标是实现直流电机的精确速度控制,以满足不同应用场景的需求。
总体设计包括硬件设计和软件设计两个部分。
硬件设计主要包括MC51单片机、直流电机、电机驱动电路、PWM 信号生成电路、电源电路以及必要的接口电路。
MC51单片机作为系统的核心控制器,负责生成PWM信号、接收用户输入以及处理相关控制逻辑。
直流电机是执行机构,通过电机驱动电路与MC51单片机相连,接收PWM信号以驱动电机转动。
PWM信号生成电路用于将MC51单片机输出的数字信号转换为模拟的PWM信号,以控制电机的转速。
基于MC51单片机的直流电机PWM调速系统
基于MC51单片机的直流电机PWM调速系统一、概述随着现代工业技术的不断发展,直流电机因其良好的调速性能和控制精度,在工业自动化、机器人、航空航天等领域得到了广泛的应用。
PWM(脉宽调制)技术作为一种高效的电机调速方法,能够有效地控制直流电机的速度和方向。
本文旨在介绍一种基于MC51单片机的直流电机PWM调速系统,通过单片机实现对直流电机的精确控制。
该系统以MC51单片机为核心控制器,利用其强大的运算能力和丰富的外设接口,实现对直流电机的PWM调速控制。
系统通过采集电机的实时转速信息,结合用户设定的目标转速,利用PWM信号调整电机的输入电压,从而实现对电机转速的精确控制。
系统还具备过流、过压等保护功能,确保电机在安全可靠的环境下运行。
基于MC51单片机的直流电机PWM调速系统具有结构简单、控制精度高、响应速度快等优点,适用于各种需要精确控制直流电机转速的场合。
通过本系统的研究与应用,可以进一步提高工业自动化水平,推动相关产业的发展。
1. 直流电机PWM调速系统的研究背景与意义直流电动机作为最早出现的电动机类型,长期以来在调速控制领域占据着统治地位。
其良好的线性调速特性、简单的控制性能、高效的能量转换效率以及优异的动态特性,使得直流电动机在各种应用场景中得到了广泛的应用。
特别是在对调速性能要求较高的场合,如电力牵引、轧钢机、起重设备等,直流电动机更是发挥了不可替代的作用。
随着科学技术的不断进步和工业应用需求的日益复杂,传统的直流电机调速方式已经难以满足现代工业生产的需求。
传统的调速方法往往存在调速精度不高、调速范围有限、能耗较大等问题,严重制约了直流电动机在更多领域的应用。
为了解决这些问题,PWM(脉冲宽度调制)调速技术应运而生。
PWM技术利用微处理器的数字输出来对模拟电路进行控制,具有控制简单、灵活和动态响应好的优点。
通过将PWM技术应用于直流电机调速系统,可以实现对电机转速的精确控制,提高调速精度和调速范围,同时降低能耗,提高系统的稳定性和可靠性。
基于51单片机的直流电机PWM调速系统
2 软件 设计
2 . 1 主 程 序 部 分
本 序 的 功 能 是 通 过 埘 测 量 的 转 速 ,并 用 1 , 2 9 3 D 器 件 求控 制 电机 的转速 ,与电机 转动 的方 向。 然后 用 4
电压 。用 软件 模 拟 P 州 可 以何 延时 和 定时 两 种方 法 , 延 时 方法 ^用大 量 的 C P U , 所 以这 里采 月 j 定 时方 法 。 个 典型 的 直流 电机 控 制 电路 ,电路得 名 于 “ I 1 桥 驱 动 电路 ” 。4个 j极 管 组 成 I { 的 4条 垂 直 J 腿 ,而 电机 就 是 H中 的横 杠 。H桥 式 电机 驱动 电路 包括 4个 三极 管 和 一个 电机 ,要使 电机 运 转 ,必须 导 通对 角 线 卜的 …对 三 极 管 。根据 不 同 j极 管 对的 导通 情 , 电流 可 能 会从 左 至 右或 从 右至 左 流过 电机 ,从而 控 制 电机 的转 向 。本 系统 直接 用 L 2 9 3 D芯 片来 实现 。
一
位 数码 管显 乐 出来 当前 的转速 与转 动方 向 。 2 . 2 数 码 管 显 示 设 计
数 码 管 要 显 示 当 前各 种 状 态 , 前转 速 当 前转 动 方 向 。当 电机转 速 发生 改变 的时 候 ,数码 管 显示 内容
示 前转速 。 程序 设 计注 意 事项 : 1 ) 消 除 各个 数 码 管 之 间 的显 示 阴影 部 分 ; 2 ) 由
』 硬件 没 有锁 存器 ,需要 延 长数码 管 的点亮 时 间 , 从 而
使 数 码 管 显示 的更 加 清 晰 ;3 )合 理 运用 程 序 空 间 ,避 免 数 码 管显 示 清 晰 ;4 )动 态 扫 描可 以实 现 各 个数 码
基于51单片机的PWM直流电机调速系统
基于51单片机的PWM直流电机调速系统一、本文概述随着现代工业技术的飞速发展,直流电机调速系统在众多领域如工业自动化、智能家居、航空航天等得到了广泛应用。
在众多调速方案中,基于脉冲宽度调制(PWM)的调速方式以其高效、稳定、易于实现等优点脱颖而出。
本文旨在探讨基于51单片机的PWM直流电机调速系统的设计与实现,以期为相关领域的技术人员提供一种可靠且实用的电机调速方案。
本文将简要介绍PWM调速的基本原理及其在直流电机控制中的应用。
随后,将详细介绍基于51单片机的PWM直流电机调速系统的硬件设计,包括电机选型、驱动电路设计、单片机选型及外围电路设计等。
在软件设计部分,本文将阐述PWM信号的生成方法、电机转速的检测与控制算法的实现。
还将对系统的性能进行测试与分析,以验证其调速效果及稳定性。
本文将总结基于51单片机的PWM直流电机调速系统的优点与不足,并提出改进建议。
希望通过本文的阐述,能为相关领域的研究与应用提供有益参考。
二、51单片机基础知识51单片机,也被称为8051微控制器,是Intel公司在1980年代初推出的一种8位CISC(复杂指令集计算机)单片机。
尽管Intel公司已经停止生产这种芯片,但由于其架构的通用性和广泛的应用,许多其他公司如Atmel、STC等仍然在生产与8051兼容的单片机。
51单片机的核心部分包括一个8位的CPU,以及4KB的ROM、低128B 的RAM和高位的SFR(特殊功能寄存器)等。
它还包括两个16位的定时/计数器,四个8位的I/O端口,一个全双工的串行通信口,以及一个中断系统。
这些功能使得51单片机在多种嵌入式系统中得到了广泛的应用。
在PWM(脉冲宽度调制)直流电机调速系统中,51单片机的主要作用是生成PWM信号以控制电机的速度。
这通常是通过定时/计数器来实现的。
定时/计数器可以设置一定的时间间隔,然后在这个时间间隔内,CPU可以控制I/O端口产生高电平或低电平,从而形成PWM信号。
基于51单片机的PWM直流电机调速报告
课程名称:微机原理课程设计题目:基于51单片机的PWM直流电机调速直流电机脉冲宽度调制(Pulse Width Modulation-简称PWM)调速产生于20世纪70 年代中期,最早用于自动跟踪天文望远镜、自动记录仪表等的驱动,后来由于晶体管器件水平的提高及电路技术的发展, PWM 技术得到了高速发展,各式各样的脉宽调速控制器,脉宽调速模块也应运而生,许多单片机也都有了PWM输出功能。
而51单片机却没有PWM 输出功能,采用定时器配合软件的方法可以实现51单片机PWM的输出功能。
本设计就是由单片机STC89C52RC芯片,直流电机(搭建H桥电路驱动)和四位一体LED数码管为核心,辅以必要的电路,构成了一个基于51单片机PWM可调速的直流电机。
该可调直流电机具有良好的起动、制动性能,宜于在大范围内平滑调速,在许多需要调速或快速正反向的电力拖动领域中得到了广泛的应用。
该可调直流电机布置合理,全部器件分布在7*9cm洞洞板上,看起来小巧精简。
采用的是单片机内部定时器产生方波并且两个P口交换输出,可以方便灵活地调速度和方向。
该可调直流电机从0到最大速度1200转每分钟一共设置了60个档次的转速,采用红光四位数码管,可以直观地显示出来(显示的是每分钟的转速)。
有红光和绿光的两个二极管作为转速指示灯。
四个控制按键就可以控制电机的转速,方向与暂停。
每按一个键,该可调电机就会实现相对应的功能,操作非常简单。
关键词:直流电机,51单片机,C语言,数码管一、设计任务与要求 (4)1.1 设计任务 (4)1.2 设计要求 (4)二、方案总体设计 (5)2.1 方案一 (5)2.2 方案二 (5)2.3 系统采用方案 (5)三、硬件设计 (7)3.1 单片机最小系统 (7)3.2 数码管显示模块 (7)3.3 系统电源 (8)3.4驱动电路 (8)3.5 整体电路 (9)四、软件设计 (10)4.1 keil软件介绍 (10)4.2 系统程序流程 (10)五、仿真与实现 (13)5.1 proteus软件介绍 (13)5.2 仿真过程 (13)5.3 实物制作与调试 (15)5.4 使用说明 (17)六、总结 (18)6.1 设计总结 (18)6.2 经验总结 (18)七、参考文献 (21)一、设计任务与要求1.1 设计任务1).对更多小器件的了解2).巩固51单片机和C语言的知识,熟悉单片机和C语言的实际操作运用3).掌握仿真软件的运用和原理图的绘制4).加深焊接的技巧,提高焊接的能力5).熟悉调试方法和技巧,提高解决实际问题的能力6).熟悉设计报告的编写过程1.2 设计要求1).四个按键分别实现改变转向,加速,减速与暂停的功能2).H桥电路驱动直流电机3).一个红光和一个绿光二级管指示电机转向4).四位数码管显示转速二、方案总体设计设计一个基于51单片机的可调直流电机。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于51单片机的直流电机PWM调速系统作者:宫晓明
来源:《科学家》2017年第16期
摘要脉冲宽度调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。
本设计用单片机做微处理器来实现对直流电机的调速。
因此在设计中,对直流调速的原理、直流调速控制方式以及调速特性、PWM基本原理及实现方式进行了全面的阐述。
关键词单片机;PWM;直流电机
中图分类号 TP3 文献标识码 A 文章编号 2095-6363(2017)16-0151-01
随着电子技术、微电子技术的飞速发展,微型计算机发展很快,单片机技术成为自动控制技术的核心之一。
直流电机由于具有良好的启动,制动,调速性能也被广泛应用。
基于单片机的PWM调速系统对直流电机进行调速,通过以数字方式控制模拟电路,可以大幅度降低系统的成本和功耗,其控制简单,灵活。
1 硬件电路的设计
1.1 控制电路的设计
控制电路主要由STC89C51单片机来控制,编写一段程序使单片机发出的PWM脉冲来实现对驱动的控制。
1.2 霍尔元件测速部分电路的设计
霍尔传感器是基于霍尔效应的一种磁敏式传感器。
由于霍尔元件产生的电势差很小,故通常将霍尔元件与放大器电路、温度补偿电路及稳压电源电路等集成在一个芯片上,称之为霍尔传感器。
1.3 电机控制正反转电路设计
通过调节直流电机的电压可以改变电机的转速,本系统用脉宽调制(PWM)来实现调速。
方波的有效电压跟电压幅值和占空比有关,通过占空比实现改变有效电压。
用软件模拟PWM可以有延时和定时两种方法,延时方法占用大量的CPU,所以这里采用定时方法。
一个典型的直流电机控制电路,电路得名于“H桥驱动电路”。
4个三极管组成H的4条垂直腿,而电机就是H中的横杠。
H桥式电机驱动电路包括4个三极管和一个电机,要使电机运
转,必须导通对角线上的一对三极管。
根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。
本系统直接用L293D芯片来实现。
1.4 显示设计
LED数码管是一种半导体发光器件,其基本单元是发光二极管,通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字。
在本系统中采用了四位七段数码管,用动态驱动来显示具体的值。
动态驱动是将所有数码管的8个显示笔划“a,b,c,d,e,f,g,dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,通过由各自独立的I/O线控制,当单片机的P0口输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对P2.4-P2.7位选通COM端电路的控制。
通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示。
1.5 整个电路原理图
2 软件设计
2.1 主程序部分
本程序的功能是通过对测量的转速,并用L293D器件来控制电机的转速,与电机转动的方向。
然后用4位数码管显示出来当前的转速与转动方向。
2.2 数码管显示设计
数码管要显示当前各种状态,当前转速与当前转动方向。
当电机转速发生改变的时候,数码管显示内容立即显示当前转速。
程序设计注意事项:
1)消除各个数码管之间的显示阴影部分;2)由于硬件没有锁存器,需要延长数码管的点亮时间,从而使数码管显示的更加清晰;3)合理运用程序空间,避免数码管显示不清晰;4)动态扫描可以实现各个数码管的不同显示。
2.3 功能程序设计
功能程序部分,主要实现各个按键的功能。
主要功能如下:
1)启动/停止键:用来控制电机的启动和停止按键;2)加速按键:用来控制电机的转速,可以增加电机的当前转速;3)减速按键:用来控制电机的转速,减缓电机的转速;4)正/反转按键:改变电机的转动方向。
PWM调速程序:
void timer0() interrupt 1
{
sec++; //每10us sec加一
if(RF==0)
{
J7=1; //正转调速
if(sec
J2=0;
else
J2=1;
}
else //反转调速
{
J2=1;
if(sec
J7=0;
else
J7=1;
}
if(sec>10)
{
sec=0;
}
}
3 结论
本系统用51单片机做微处理器,产生PWM脉冲信号,实现对直流电机数字式的调速。
相比于传统用硬件来实现PWM调速,本系统降低了成本,电路简单、控制响应快、控制精度高,而且调试和运行也比较方便。
本系统实现了电机控制数字化具有一定的使用价值。
参考文献
[1]张义和,等.例说51单片机C语言版[M].北京:人民邮电出版社,2010.
[2]康华光.电子技术基础数字部分[M].北京:高等教育出版社,2006.
[3]康华光.电子技术基础模拟部分[M].北京:高等教育出版社,2006.
[4]杨志忠.数字电子技术[M].北京:高等教育出版社,2003.
[5]胡宴如.模拟电子技术[M].北京:高等教育出版社,2008.
[6]邹久朋.80C51单片机实用技术[M].北京:航天航空大学出版社,2008.
[7]李庆亮.C语言程序设计实用教程[M].北京:机械工业出版社,2005.。