基于单片机的直流电机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个引 脚, 下面便是一个共阴的四位数码管的内部 结构图(共阳的与之相反)
单片机实现直流电机PWM调速系统毕业设计
畢業設計(論文)題目:利用單片機控制的直流電機轉速系統的設計班級:XX姓名:XZ指導教師:XX說明:8051畢業設計任務書7 (3)一、設計題目 (3)第1章緒論 (5)1.1利用單片機控制的直流電機轉速系統設計目的和意義 (5)1.1.1選題的目的和意義 (5)1.1.2國內外研究現狀簡述: (5)1.1.3畢業設計(論文)所採用的研究方法和手段: (5)1.2利用單片機控制的直流電機轉速系統的設計設計專案發展 (6)1.3利用單片機控制的直流電機轉速系統的設計原理 (6)第2章系統硬體電路的設計 (8)2.1 系統總體設計框圖及單片機系統的設計 (9)2.1.1 系統總體設計框圖 (9)2.1.2 8051單片機簡介 (9)2.1.3 單片機系統中所用其他晶片簡介 (11)2.1.4 8051單片機擴展電路及分析 (15)2.2 PWM信號發生電路設計 (17)2.2.1 PWM的基本原理 (17)2.2.2 PWM信號發生電路設計 (18)2.2.3 PWM發生電路主要晶片的工作原理 (19)2.3 功率放大驅動電路設計 (22)2.3.1 晶片IR2110性能及特點 (22)2.3.2 IR2110的引腳圖以及功能 (23)2.4 主電路設計 (25)2.4.1 延時保護電路 (25)2.4.2 主電路 (25)2.4.3 輸出電壓波形 (28)2.5 測速發電機 (28)2.6 濾波電路 (29)2.7 A/D轉換 (29)1.7.1 晶片ADC0809介紹 (29)2.7.2 ADC0809的引腳及其功能 (29)第3章.直流調速系統 (30)3.1 直流調速系統概述 (31)3.2單閉環直流調速系統 (31)3.3開環系統機械特性和閉環系統靜特性的比較 (33)第4章利用單片機控制的直流電機轉速系統的設計 (35)4.1系統軟體部分的設計 (35)4.1.1 PI 轉速調節器原理圖及參數計算 (35)4.2 控制電路設計 (36)4.2.1 單片機資源分配 (36)4.2.2 程式流程圖 (40)第5章結論 (41)致謝 (42)參考文獻 (43)畢業設計任務書7一、設計題目利用單片機控制的直流電機轉速系統的設計二、設計要求設計一個用單片機實現對直流電機轉速控制系統。
基于单片机STC89C52的直流电机PWM调速控制系统
第一章:前言Pwm 电机调速原理对于电机的转速调整,我们是采用脉宽调制(PWM)办法,控制电机的时候,电源并非连续地向电机供电,而是在一个特定的频率下以方波脉冲的形式提供电能。
不同占空比的方波信号能对电机起到调速作用,这是因为电机实际上是一个大电感,它有阻碍输入电流和电压突变的能力,因此脉冲输入信号被平均分配到作用时间上,这样,改变在始能端EN1 和EN2 上输入方波的占空比就能改变加在电机两端的电压大小,从而改变了转速。
此电路中用微处理机来实现脉宽调制,通常的方法有两种:(1)用软件方式来实现,即通过执行软件延时循环程序交替改变端口某个二进制位输出逻辑状态来产生脉宽调制信号,设置不同的延时时间得到不同的占空比。
(2)硬件实验自动产生PWM 信号,不占用CPU 处理的时间。
这就要用到STC89C52的在PWM模式下的计数器1,具体内容可参考相关书籍。
51 单片机PWM 程序产生两个PWM,要求两个PWM 波形占空都为80/256,两个波形之间要错开,不能同时为高电平!高电平之间相差48/256,PWM 这个功能在PIC 单片机上就有,但是如果你就要用51 单片机的话,也是可以的,但是比较的麻烦.可以用定时器T0来控制频率,定时器T1 来控制占空比:大致的的编程思路是这样的:T0 定时器中断是让一个I0口输出高电平,在这个定时器T0的中断当中起动定时器T1,而这个T1 是让IO 口输出低电平,这样改变定时器T0 的初值就可以改变频率,改变定时器T1 的初值就可以改变占空比。
前言:直流电机的定义:将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。
近年来,随着科技的进步,直流电机得到了越来越广泛的应用,直流具有优良的调速特性,调速平滑,方便,调速范围广,过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速起动、制动和反转,需要满足生产过程自动化系统各种不同的特殊要求,从而对直流电机提出了较高的要求,改变电枢回路电阻调速、改变电压调速等技术已远远不能满足现代科技的要求,这是通过 PWM 方式控制直流电机调速的方法就应运而生。
基于单片机的直流电机调速系统的课程设计
一、总体设计概述本设计基于8051单片机为主控芯片,霍尔元件为测速元件, L298N为直流伺服电机的驱动芯片,利用 PWM调速方式控制直流电机转动的速度,同时可通过矩阵键盘控制电机的启动、加速、减速、反转、制动等操作,并由LCD显示速度的变化值。
二、直流电机调速原理根据直流电动机根据励磁方式不同,分为自励和它励两种类型,其机械特性曲线有所不同。
但是对于直流电动机的转速,总满足下式:式中U——电压;Ra——励磁绕组本身的内阻;——每极磁通(wb );Ce——电势常数;Ct——转矩常数。
由上式可知,直流电机的速度控制既可以采用电枢控制法也可以采用磁场控制法。
磁场控制法控制磁通,其控制功率虽然较小,但是低速时受到磁场和磁极饱和的限制,高速时受到换向火花和换向器结构强度的限制,而且由于励磁线圈电感较大,动态响应较差,所以在工业生产过程中常用的方法是电枢控制法。
电枢控制法在励磁电压不变的情况下,把控制电压信号加到电机的电枢上来控制电机的转速。
传统的改变电压方法是在电枢回路中串连一个电阻,通过调节电阻改变电枢电压,达到调速的目的,这种方法效率低,平滑度差,由于串联电阻上要消耗电功率,因而经济效益低,而且转速越慢,能耗越大。
随着电力电子的发展,出现了许多新的电枢电压控制法。
如:由交流电源供电,使用晶闸管整流器进行相控调压;脉宽调制(PWM)调压等。
调压调速法具有平滑度高、能耗低、精度高等优点,在工业生产中广泛使用,其中PWM应用更广泛。
脉宽调速利用一个固定的频率来控制电源的接通或断开,并通过改变一个周期内“接通”和“断开”时间的长短,即改变直流电机电枢上的电压的“占空比”来改变平均电.压的大小,从而控制电动机的转速,因此,PWM又被称为“开关驱动装置”。
如果电机始终接通电源是,电机转速最大为Vmax,占空比为D=t1/t,则电机的平均转速:Vd=Vmax*D,可见只要改变占空比D,就可以调整电机的速度。
平均转速Vd与占空比的函数曲线近似为直线。
基于单片机的PWM直流电机调速系统设计
基于单片机的PWM直流电机调速系统设计摘要本文主要介绍基于单片机的PWM直流电机调速系统的设计和实现方法。
该系统通过利用单片机控制器控制电机的启动、停止、正转和反转等操作,同时实现对电机速度的调节。
在电机工作时,单片机通过PWM技术控制电机的电压和电流,从而达到调节电机转速的效果。
系统设计思路为了实现电机的调速功能,本系统采用基于单片机控制器和PWM技术的电机驱动控制方案。
系统整体分为硬件和软件两个部分,硬件部分主要包括电机、电路组成和控制器,而软件部分则是单片机程序设计。
电路组成系统电路主要由电源、单片机控制器、电机驱动模块和电机组成。
其中,电源主要用于系统供电,单片机控制器主要用于控制电机驱动模块的输出,电机驱动模块负责将单片机控制器输出的PWM信号转换为直流电机可控的电流。
单片机程序设计系统中需要对单片机进行程序设计,以实现对电机的启动、停止、正转和反转等操作,同时实现电机的调节功能。
程序设计主要包括以下几个部分:1.系统初始化:包括系统时钟初始化、输入输出口初始化以及中断配置等。
2.电机控制:控制电机的启动、停止、正转和反转等操作。
3.电机调速:利用PWM技术实现对电机的调节功能。
4.数据处理:对输入的调节参数进行处理,然后转换成PWM占空比输出到电机。
PWM技术原理PWM技术是通过控制模拟信号的占空比,来达到模拟信号的数字化的目的。
具体而言,通过控制PWM信号的占空比,从而实现对电机输出电压和电流的控制,从而达到对电机转速的调节。
系统实现步骤本系统的实现步骤主要包括以下几个部分:电机接线首先,需要根据电机的参数和工作电压要求,正确接线电机。
接线时需要注意电机正反转的问题,以及电路的安全性问题。
程序编写根据我们的设计思路,需要编写相应的单片机程序。
程序编写包括系统初始化、电机控制、电机调速和数据处理等部分。
编写程序时需要考虑到各参数变化的初始值和变化范围,以及程序的鲁棒性和可调节性。
系统调试在程序编写完成后,需要对整个系统进行调试。
基于单片机实现直流电机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直流电机调速
基于51单片机的PWM直流电机调速在现代社会,PWM直流电机已经成为各类机械设备不可或缺的动力源。
为了更好地控制电机的转速和输出功率,我们需要进行PWM调速操作。
本文将简要介绍如何基于51单片机实现PWM直流电机的调速。
一、PWM调速原理PWM调速是一种通过改变电机供电电压的占空比来调整电机转速和功率的方法。
当一个周期内高电平所占的时间比较短时,电机得到的平均电流和平均转矩也相应减小,电机的速度和功率也随之降低。
反之,当高电平所占的时间比较长时,电机得到的平均电流和平均转矩也相应增大,电机的速度和功率也随之提高。
因此,通过改变PWM信号的高电平占空比,可以实现直流电机的调速、调功等功能,极大地提高了电机的效率和可控性。
二、硬件电路搭建根据上述PWM调速原理,我们需要搭建一个控制板,将51单片机的PWM输出与直流电机相连。
具体电路如下:1、选择合适的电源供电,一般为12V/24V直流电源。
2、使用L298N模块作为直流电机驱动模块,将模块的电源接到电源供电上,将模块的IN1和IN2引脚分别接到51单片机的P1^0和P1^1引脚上,将直流电机的正负极分别接到模块的OUT1和OUT2引脚上。
3、将51单片机的P1^2引脚连接到一个脉冲宽度计波形滤波器(LCF)的输入端,并将输出端接到L298N模块的ENA引脚上。
4、调整脉冲宽度计波形滤波器的参数,以达到合理的PWM输出波形。
5、建立一个按键,将按键的一端接到51单片机的P3^2引脚上,将另一端接到单片机的地端。
6、根据需要进行其他接线。
三、软件程序设计根据上述硬件电路,我们需要进行相应的软件程序设计,以实现基于51单片机的PWM 直流电机调速。
以下是程序设计的主要步骤:1、在程序中定义需要使用的IO口。
2、调用定时器初始化程序,设置定时器的时钟频率、计数器值和工作方式等参数。
3、编写一个PWM输出函数,实现对PWM信号的输出。
4、编写一个ADC采样函数,读取ADC转换器的值,并根据采样值输出一定的PWM信号。
单片机课程设计完整版《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调速控制本人最近一直想用51 单片机来设计制作一个大功率直流有刷电机PWM 调速控制器。
由于平时工作忙,没时间。
所以,这个东东花了我很长时间。
每天晚上下了班,回家就弄,一直搞到十一二点钟才休息。
期间,也花了我不少钱,也失败了N 次。
终于,功夫不负有心人,我终于成功了,哈哈~~。
由于这个是大功率的直流有刷电机PWM 调速控制器,所以就不能用晶体管来驱动了,必须用MOS 管来驱动。
MOS 管不仅驱动能力强,而且效率高。
为了提高系统的稳定性,可靠性,适用范围广等特点,本系统,采用双电源供电。
控制电路一组电源,电压分别为5V 和15V。
功率输出部分一组电源,以适应不同电压的电动机。
至于功率,可以根据实际情况,通过并联MOS 管来决绝,但同时也要修改下驱动电路的相关参数,否则就很有可能炸MOS 管!另外,本人也考虑过在单片机的PWM 脉冲输出端与驱动电路之间,通过光耦来连接,实现光电隔离,提高系统的稳定性。
但后来又担心光耦的频率响应速率,可能会给驱动电路带来信号的衰减或者错误的信号等因素,造成降低系统的效率或者损坏MOS 管。
也许是我多虑了吧。
呵呵,不过我看到网上好多资料都是用的光电隔离。
目前,这个版本的调速控制器,共4 路PWM 脉冲输出,分别提供给:上,下MOS 管驱动电路正转信号。
上,下MOS 管驱动电路反转信号。
待机状态下一个红色的LED 灯闪烁,电机运行的各种状态指示,可以低速,中速,高速三个档运行。
并可以实现刹车和倒车功能。
这个目前可以达到至少100W 不成问题。
我现在采用的是一个12V 80W 的直流有刷电机。
低速运行时的电压为:3.7V,中速时:6.5V,高速时:10.5V。
目前这个东东只是实现了最基本的控制功能。
还不具有其它功能,如,电机过流保护,欠压保护(用蓄电池做电源时,。
基于PWM控制的直流电机自动调速系统设计
基于PWM控制的直流电机自动调速系统设计一、引言直流电机是工业中最常见的电动机之一,其工作原理简单,结构紧凑,控制方便,广泛应用于各行各业。
为了满足不同工况下的运行需求,需要设计一个自动调速系统来调整直流电机的转速。
本文将基于PWM控制方法设计一个直流电机自动调速系统。
二、系统设计1.系统结构直流电机自动调速系统的基本结构包括传感器、控制器、电源和执行器。
传感器用于检测电机的转速,控制器根据检测到的转速信号进行处理,并通过PWM控制方法调整电机的输入电压,从而实现自动调速。
2.传感器选择直流电机的转速检测一般使用霍尔效应传感器来实现。
霍尔传感器可以直接测量电机转子的位置,并根据位置变化来计算转速。
传感器输出的信号经过放大和处理后,可以作为控制器的输入信号。
3.控制器设计控制器是整个自动调速系统的核心部分。
控制器接收传感器的转速信号,并通过PID算法对电机的转速进行调节。
PID算法是一种经典的控制方法,可以根据当前的偏差、偏差变化率和偏差积分值来计算控制量。
在本系统中,控制器输出的控制量即为PWM信号。
4.PWM控制方法PWM(Pulse Width Modulation)控制方法是一种通过调整脉冲宽度来控制输出电压的方法。
在本系统中,PWM控制方法可以通过改变PWM信号的占空比来调整电机的输入电压。
当需要提高电机转速时,增加PWM信号的占空比;当需要降低电机转速时,减小PWM信号的占空比。
通过反馈控制,控制器可以根据实际转速信号不断调整PWM信号的占空比,从而实现电机的自动调速。
5.电源选择在直流电机自动调速系统中,电源需要提供稳定的直流电压以供电机正常工作。
一般可选择线性稳压器或开关稳压器来提供所需的直流电压。
在选择电源时,需要考虑电机的功率和电源的效率,以确保系统的稳定性和可靠性。
6.执行器选择执行器是将控制信号转换为实际操作的部分。
在直流电机自动调速系统中,执行器可选择光耦隔离器和驱动芯片来实现PWM信号控制。
基于单片机的直流调速系统设计终
基于单片机的直流调速系统设计终直流电机是目前应用最广泛的电机之一,直流调速系统是指通过调节电源电压或电机绕组连接方式来实现电机转速调节的一种控制系统。
而基于单片机的直流调速系统是指利用单片机来实现对直流电机的调速控制。
在设计基于单片机的直流调速系统之前,首先需要了解直流电机的工作原理和调速原理。
直流电机是通过改变电枢绕组中的电流或电势差来控制电机的转速的。
调速原理一般分为电压调速和极数切换调速两种。
在基于单片机的直流调速系统设计中,主要包括以下几个方面:1.电源模块设计:设计一个稳定的直流电源供电给直流电机。
通常采用相关电路来实现,如整流电路、滤波电路和调压电路等。
2.传感器模块设计:为了能够实时地监测电机的转速和电流等参数,需要设计相关的传感器模块。
可以采用霍尔元件或光电传感器来检测电机的转动情况,采用电流传感器来检测电机的电流。
3.控制模块设计:单片机作为控制中心,需要设计相应的控制模块。
可以通过PWM信号来控制电机的转速,通过采样电机参数来实时调节PWM 信号的占空比。
4.软件程序设计:设计单片机的软件程序,实现对直流电机的调速控制。
可以采用PID控制算法来调节电机的转速。
在进行基于单片机的直流调速系统设计时,需要考虑以下几个关键问题:1.硬件选型:选择合适的单片机和其他外围器件,保证系统的可靠性和稳定性。
2.电路设计:根据需求确定电机的功率和电压等参数,设计合适的电路以满足要求。
3.系统安全性设计:设计过流、过载和过温等保护机制,确保系统的安全性。
4.程序设计:编写单片机的程序代码,实现对直流电机的调速控制和保护功能。
5.系统测试:在完成硬件设计和软件编程后,进行系统测试和调试,确保系统的正常运行。
基于单片机的直流调速系统设计需要综合运用电机控制原理、电路设计、单片机应用等多个知识领域,需要耐心和细心的设计和调试工作。
在实际应用中,可以根据具体需求对系统进行定制和优化,如添加显示功能、通信功能等,以满足不同的应用场景需求。
基于51单片机的直流电机PWM调速控制系统设计
基于51单片机的直流电机PWM调速控制系统设计I摘要本文主要研究了利用MCS-51系列单片机控制PWM信号从而实现对直流电机转速进行控制的方法。
本文中采用了三极管组成了PWM信号的驱动系统,并且对PWM信号的原理、产生方法以及如何通过软件编程对PWM信号占空比进行调节,从而控制其输入信号波形等均作了详细的阐述。
另外,本系统中使用了霍尔元件对直流电机的转速进行测量,经过处理后,将测量值送到液晶显示出来。
关键词:PWM信号,霍尔元件,液晶显示,直流电动机II目录目录 (III)1 引言 (1)1.1 课题背景 (1)1.1.2 开发背景 (1)1.1.3 选题意义 (2)1.2 研究方法及调速原理 (2)1.2.1 直流调速系统实现方式 (4)1.2.2 控制程序的设计 (5)2 系统硬件电路的设计 (6)2.1 系统总体设计框图及单片机系统的设计 (6)2.2 STC89C51单片机简介 (6)2.2.1 STC89C51单片机的组成 (6)2.2.2 CPU及部分部件的作用和功能 (6)2.2.3 STC89C51单片机引脚图 (7)2.2.4 STC89C51引脚功能 (7)3 PWM信号发生电路设计 (10)3.1 PWM的基本原理 (10)3.2 系统的硬件电路设计与分析 (10)3.3 H桥的驱动电路设计方案 (11)5 主电路设计 (13)5.1 单片机最小系统 (13)5.2 液晶电路 (13)5.2.1 LCD 1602功能介绍 (14)5.2.2 LCD 1602性能参数 (15)5.2.3 LCD 1602与单片机连接 (17)5.2.4 LCD 1602的显示与控制命令 (18)5.3 按键电路 (19)5.4 霍尔元件电路 (20)III5.4.1 A3144霍尔开关的工作原理及应用说明 (21)5.4.2 霍尔传感器测量原理 (22)6 系统功能调试 (23)总结 (24)致谢 (25)参考文献 (26)IV1 引言1.1 课题背景1.1.2 开发背景在现代电子产品中,自动控制系统,电子仪器设备、家用电器、电子玩具等等方面,直流电机都得到了广泛的应用。
单片机控制PWM的直流电机调速系统的设计
单片机控制PWM的直流电机调速系统的设计PWM(脉宽调制)是一种常用的电压调节技术,可以用来控制直流电机的转速。
在单片机控制PWM的直流电机调速系统中,主要包括硬件设计和软件设计两个方面。
硬件设计方面,需要考虑的主要内容有:电机的选择与驱动、电源电压与电流的设计、速度反馈电路的设计。
首先,需要选择合适的直流电机和驱动器。
选择直流电机时需考虑其功率、转速、扭矩等参数,根据实际需求选择合适的电机。
驱动器可以选择采用集成驱动芯片或者离散元件进行设计,通过PWM信号控制电机的速度。
其次,需要设计合适的电源电压与电流供应。
直流电机通常需要较大的电流来实现工作,因此需要设计合适的电源电流,以及保护电路来防止电流过大烧坏电机和电路。
最后,需要设计速度反馈电路来实现闭环控制。
速度反馈电路可以选择采用编码器等传感器来获得转速信息,然后通过反馈控制实现精确的速度调节。
软件设计方面,需要考虑的主要内容有:PWM输出的控制、速度闭环控制算法的实现。
首先,需要编写代码实现PWM输出的控制。
根据具体的单片机型号和开发环境,使用相关的库函数或者寄存器级的编程来实现PWM信号的频率和占空比调节。
其次,需要实现速度闭环控制算法。
根据速度反馈电路获取的速度信息,通过比较目标速度与实际速度之间的差异,调整PWM信号的占空比来实现精确的速度调节。
常用的速度闭环控制算法有PID控制算法等。
最后,需要优化程序的鲁棒性和稳定性。
通过合理的调节PID参数以及增加滤波、抗干扰等功能,提升系统的性能和稳定性。
在实际的设计过程中,需要根据具体的应用需求和单片机性能等因素,进行合理的选择和调整。
同时,还需要通过实验和调试来验证系统的可靠性和稳定性,不断进行优化和改进,以获得较好的调速效果。
基于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信号。
PWM控制的直流电动机调速系统设计
PWM控制的直流电动机调速系统设计PWM(脉宽调制)控制的直流电动机调速系统是一种常用于工业和家用电机控制的方法。
它可以通过调整输出脉冲宽度来控制电机的转速。
本文将详细介绍PWM控制的直流电动机调速系统的设计原理和步骤。
一、设计目标本文所设计的PWM控制的直流电动机调速系统的设计目标如下:1.实现电机的精确转速控制。
2.提供多种转速档位选择。
3.实现反转功能。
4.提供过载保护功能。
二、设计原理具体的设计原理如下:1.产生PWM信号:使用微控制器或单片机的计时器/计数器模块来产生固定频率的脉冲信号,频率一般选择在20kHz左右。
通过调整计时器的计数值来改变脉冲的宽度,从而实现不同的电机转速。
2.控制电机转速:将微控制器或单片机的PWM输出信号经过电平转换电路后,接入电机的电源线,通过控制PWM信号的高电平时间来控制电机的转速。
3.实现不同的转速档位选择:通过增加多个PWM信号输出通道,可以实现多个转速档位的选择。
通过选择不同的PWM信号输出通道,可以实现不同的转速设定。
4.实现反转功能:通过改变PWM信号的极性可以实现电机的正转和反转操作。
正转时,PWM信号的高电平时间大于低电平时间;反转时,PWM信号的高电平时间小于低电平时间。
5.过载保护功能:通过添加电机负载的电流检测电路和电流限制功能,可以实现对电机过载时的自动保护。
三、设计步骤1.确定电机的额定电压和额定转速。
2.选择合适的微控制器或单片机作为控制核心,并编写PWM信号产生程序。
3.选择合适的驱动电路,将PWM信号转换成电机所需的电流和电压。
常用的驱动电路有H桥驱动电路和MOSFET驱动电路。
4.搭建电路原型,并进行电路调试和测试。
5.编写控制程序,实现转速档位选择、反转和过载保护功能。
6.进行系统整合和调试,确保系统的各项功能正常。
7.进行性能测试,并根据测试结果对系统进行调整和优化。
8.最后对系统进行稳定性测试,并记录测试结果。
四、总结本文详细介绍了PWM控制的直流电动机调速系统的设计原理和步骤。
基于单片机的PWM直流电机调速系统设计论文(附电路图、程序清单)
图 2.2 直流电机原理图
2.2 直流电机的调速方法
根据直流电机的基本原理,由感应电势、电磁转矩以及机械特性方程式可知,直 流电动机的调速方法有三种: (1)调节电枢供电电压 U。改变电枢电压主要是从额定电压往下降低电枢电压, 从电动机额定转速向下变速,属恒转矩调速方法。对于要求在一定范围内无级平滑调 速的系统来说,这种方法最好。 大容量可调直流电源。 (2)改变电动机主磁通 。改变磁通可以实现无级平滑调速,但只能减弱磁通进 变化时间 变化遇到的时间常数较小,能快速响应,但是需要
第1章 引 1.1 概况
言
现代工业的电力拖动一般都要求局部或全部的自动化,因此必然要与各种控制元 件组成的自动控制系统联系起来,而电力拖动则可视为自动化电力拖动系统的简称。 在这一系统中可对生产机械进行自动控制。 随着近代电力电子技术和计算机技术的发展以及现代控制理论的应用,自动化电 力拖动正朝着计算机控制的生产过程自动化的方向迈进。以达到高速、优质、高效率 地生产。在大多数综合自动化系统中,自动化的电力拖动系统仍然是不可缺少的组成 部分。另外,低成本自动化技术与设备的开发,越来越引起国内外的注意。特别对于 小型企业,应用适用技术的设备,不仅有益于获得经济效益,而且能提高生产率、可 靠性与柔性,还有易于应用的优点。自动化的电力拖动系统更是低成本自动化系统的 重要组成部分。 在如今的现实生活中,自动化控制系统已在各行各业得到广泛的应用和发展,其 中自动调速系统的应用则起着尤为重要的作用。虽然直流电机不如交流电机那样结构 简单、价格便宜、制造方便、容易维护,但是它具有良好的起、制动性能,宜于在广 泛的范围内平滑调速,所以直流调速系统至今仍是自动调速系统中的主要形式。现在 电动机的控制从简单走向复杂,并逐渐成熟成为主流。其应用领域极为广泛,例如: 军事和宇航方面的雷达天线、火炮瞄准、惯性导航等的控制;工业方面的数控机床、 工业机器人、印刷机械等设备的控制;计算机外围设备和办公设备中的打印机、传真 机、复印机、扫描仪等的控制;音像设备和家用电器中的录音机、数码相机、洗衣机、 空调等的控制。 随着电力电子技术的发展, 开关速度更快、 控制更容易的全控型功率器件MOSFET 和IGBT成为主流,脉宽调制技术表现出较大的优越性:主电路线路简单,需要用的功 率元件少;开关频率高,电流容易连续,谐波少,电机损耗和发热都较小;低速性能 好,稳速精度高,因而调速范围宽;系统快速响应性能好,动态抗扰能力强;主电路 元件工作在开关状态,导通损耗小,装置效率较高;近年来,微型计算机技术发展速
单片机实现直流电机PWM调速系统毕业设计
毕业设计(论文)题目:利用单片机控制的直流电机转速系统的设计班级:XX姓名:XZ指导教师:XX说明:8051毕业设计任务书7 (3)一、设计题目 (3)第1章绪论 (5)1.1利用单片机控制的直流电机转速系统设计目的和意义 (5)1.1.1选题的目的和意义 (5)1.1.2国内外研究现状简述: (5)1.1.3毕业设计(论文)所采用的研究方法和手段: (5)1.2利用单片机控制的直流电机转速系统的设计设计项目发展 (6)1.3利用单片机控制的直流电机转速系统的设计原理 (6)第2章系统硬件电路的设计 (8)2.1 系统总体设计框图及单片机系统的设计 (9)2.1.1 系统总体设计框图 (9)2.1.2 8051单片机简介 (9)2.1.3 单片机系统中所用其它芯片简介 (11)2.1.4 8051单片机扩展电路及分析 (15)2.2 PWM信号发生电路设计 (17)2.2.1 PWM的基本原理 (17)2.2.2 PWM信号发生电路设计 (18)2.2.3 PWM发生电路主要芯片的工作原理 (19)2.3 功率放大驱动电路设计 (22)2.3.1 芯片IR2110性能及特点 (22)2.3.2 IR2110的引脚图以及功能 (23)2.4 主电路设计 (25)2.4.1 延时保护电路 (25)2.4.2 主电路 (25)2.4.3 输出电压波形 (28)2.5 测速发电机 (28)2.6 滤波电路 (29)2.7 A/D转换 (29)1.7.1 芯片ADC0809介绍 (29)2.7.2 ADC0809的引脚及其功能 (29)第3章.直流调速系统 (30)3.1 直流调速系统概述 (31)3.2单闭环直流调速系统 (31)3.3开环系统机械特性和闭环系统静特性的比较 (33)第4章利用单片机控制的直流电机转速系统的设计 (35)4.1系统软件部分的设计 (35)4.1.1 PI 转速调节器原理图及参数计算 (35)4.2 控制电路设计 (36)4.2.1 单片机资源分配 (36)4.2.2 程序流程图 (40)第5章结论 (41)致谢 (42)参考文献 (43)毕业设计任务书7一、设计题目利用单片机控制的直流电机转速系统的设计二、设计要求设计一个用单片机实现对直流电机转速控制系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机的直流电机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型桥式电动机控制电路,实现电动机转向与转速的控制。
电动机的运转状态通过数码管显示出来。
电动机所处速度级以速度档级数显示。
正转时最高位显示“三”,其它三位为电机转速;反转时最高位显示“F”,其它三位为电机转速。
每次电动机启动后开始显示,停止时数码管显示出“0000”。
1、系统的硬件电路设计与分析电动机PWM驱动模块的电路设计与实现具体电路见下图。
本电路采用的是基于PWM原理的H型桥式驱动电路。
PWM电路由复合体管组成H型桥式电路构成,四部分晶体管以对角组合分为两组:根据两个输入端的高低电平决定晶体管的导通和截止。
4个二极管在电路中起防止晶体管产生反向电压的保护作用,防止电动机两端的电流和晶体管上的电流过大的保护作用。
在实验中的控制系统电压统一为5v电源,因此若复合管基极由控制系统直接控制,则控制电压最高为5V,再加上三极管本身压降,加到电动机两端的电压就只有4V左右,严重减弱了电动机的驱动力。
基于上述考虑,我们运用了TLP521-2光耦集成块,将控制部分与电动机的驱动部分隔离开来。
输入端各通过一个三极管增大光耦的驱动电流;电动机驱动部分通过外接12V电源驱动。
这样不仅增加了各系统模块之间的隔离度,也使驱动电流得到了大大的增强。
在电动机驱动信号方面,我们采用了占空比可调的周期矩形信号控制。
脉冲频率对电动机转速有影响,脉冲频率高连续性好,但带带负载能力差脉冲频率低则反之。
经实验发现,当电动机转动平稳,但加负载后,速度下降明显,低速时甚至会停转;脉冲频率在10Hz以下,电动机转动有明显跳动现象。
而具体采用的频率可根据个别电动机性能在此范围内调节。
通过P10输入高电平信号,P11输入低电平,电机正转;通过P10输入低电平信号,P11输入高电平,电机反转;P10、P11同时为高电平或低电平时,电机不转。
通过对信号占空比的调整来对电机转速进行调节。
2、系统的软件设计本系统编程部分工作采用KELI-C51语言完成,采用模块化的设计方法,与各子程序做为实现各部分功能和过程的入口,完成键盘输入、按键识别和脉宽控制和数码管显示等部分的设计。
PWM功能、.基于单片机的直流电机PWM调速控制系统的设计单片机资源分配如下表:P0 显示模块接口键盘中断键盘模块接口P1系统时PWP1.0/P1.1电机驱动接脉宽控制:本设计中采用软件延时方式对脉冲宽度进行控制,延时程PWM①序函数如下:*************************/ 延时函数/*****************delays(){uchar i;for(i=5000;i>0;i--);}②键盘中断处理子程序:采用中断方式,按下键,完成延时去抖动、键码识别、按键功能执行。
就需在判断是否松减速键不放时恒加或恒减速直到放开停止,要实现按住加/ /开该按键时,每进行一次增加减少一定的占空比。
位,分别存放各③显示子程序:利用数组方式定义显示缓存区,缓存区有8 个数码管要显示的值。
晶振,可产生,因为单片机使用12M④定时中断处理程序:采用定时方式1,即系统时钟精度B1E0H最高约为65.5ms的延时。
对定时器置初值可定时20ms 定时时间到,定时器溢出则响应该定时中断处理程序,完20ms可达0.02s。
当可计算time1time成对定时器的再次赋值,并对全局变量加,这样,通过变量出系统的运行时间。
:、软件设计中的特点3控制上使用渐变的脉宽调整,即开启后由停止匀加速到默认速对于电机的启停,在PWM键盘处理上采用中断方式,不度,停止则由于当前速度逐渐降至零。
这样有利于保护电机。
必使程序对键盘反复扫描,提高了程序的效率。
第三章:系统硬件电路设计整体框图如下:基于单片机的直流电机PWM调速控制系统的设计第四章:系统功能调试仿真整体图如下:直流电机的调试功能仿真如下图:1、正转时,电机正转,数码管最高位显示“三”,其它三位先所给定频率,如下图:基于单片机的直流电机PWM调速控制系统的设计2、反转时,电机反转,数码管最高位显示“F”,其它三位先所给定频率,如下图:、输出波形如下: 3 档,波形依次如下:4、加速分55、减速分5档,波形如下:基于单片机的直流电机PWM调速控制系统的设计第五章:程序见附件1第六章:PCB图见附件2第七章:元件清单见附件3第八章:心得体会附件1/***************基于单片机AT89C51的直流电机PWM调速控制系统*************/ /*******************地点:广东松山职业技术学院************************//****************班级:2009级检测技术及应用****************************//*****************指导老师:张军涛***********************************//***************时间:2011年7月1日***********************************/ /************头文件*********/#include<reg51.h>#include<absacc.h>#include <intrins.h>/************************** //********自定义变量********/#define uint unsigned int //自定义变量#define uchar unsigned charchar gw,sw,bw,qw;20ms定时次数,每次uchar j; //基于单片机的直流电机PWM调速控制系统的设计uchar f=5; //计数的次数sbit P10=P1^0; //PWM输出波形1sbit P11=P1^1; //PWM输出波形2sbit P12=P1^2; //正反转sbit P13=P1^3; //加速sbit P14=P1^4; //减速sbit P15=P1^5; //停止sbit P16=P1^6; //启动uchar k;uchar t; //脉冲加减/**************************/*/*********控制位定义********************/uchar codesmg[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x73,0x71};//程序存储区定义字型码表char data led[4]={0x08,0x04,0x02,0x01}; //位码uint x; //数码管显示的数值display(); //数码管显示delays(); //延时函数key();displays();/*****************************************//***************主函数********************/main (void){TMOD=0x51; //T0方式1 定时计数 T1方式1计数TH0=0xb1; //装入初值 20MSTL0=0xe0;TH1=0x00; // 计数567TL1=0x00;TR0=1; //启动 t0TR1=1; //启动t1gw=sw=bw=qw=0; //数码管初始化P0=0xc0;P2=1;while(1) //无限循环{display(); //数码管显示key();}}/*****************************************/基于单片机的直流电机PWM调速控制系统的设计/***************数码管显示****************/display(){uchar i;gw=x_x0010_; //求速度个位值,送到个位显示缓冲区sw=(x/10)_x0010_; //求速度十位值,送到十位显示缓冲区bw=(x/100)_x0010_; //求速度百位值,送到百位显示缓冲区qw=x/1000; //求速度千位值,送到千位显示缓冲区for(i=0;i<4;){P2=led[i];显示个位 if(i==0) //{P0=smg[gw];delays();}显示十位 else if(i==1) //{P0=smg[sw];delays();}else if(i==2) //显示百位{P0=smg[bw];delays();}//显示千位 else if(i==3){三 //正转时显示 if(k==0){P0=0x49;delays();}else{//反转时显示F P0=0x71;}}i++;}}/*******************************************************/ 基于单片机的直流电机PWM调速控制系统的设计/*****************延时函数*************************/delays(){uchar i;for(i=5000;i>0;i--);}/************************************************//*********t0定时*中断函数*************/void t0() interrupt 1 using 2{TH0=0xb1; //重装t0TL0=0xe0;f--;if(k==0){if(f<t)P10=1;elseP10=0;P11=0;}else{if(f<t)P11=1;elseP11=0;P10=0;}if(f==0){f=5;}j++;if(j==50){j=0;x=TH1*256+TL1; //t1方式1计数,读入计数值TH1=0x00;TL1=0x00;x++;display();基于单片机的直流电机PWM调速控制系统的设计 }}/****************按键扫描**************/key(){if(P12==0) //如果按下,{while(!P12) //去抖动display();k=~k;}if(P16==0) //启动{while(P16==0);IE=0x8a;}if(P13==0) //加速{while (P13==0);t++;}if(t>=5)t=5;if(P14==0) //减速{while(P14==0);t--;}if(t<1)t=1;if(P15==0) //停止{while(P15==0);EA=0;P10=0;P11=0;}}/******************************************************/:2附件.调速控制系统的设计基于单片机的直流电机PWM3:附元数量(个元数量(个4 1 光电耦合器:8550 三极管TLP521-25 三极管8050 5 按键4 1 自锁按键1N40071 1 At89s52 四位一体数码管1 电容1 12M晶振1041 直流电机1 Led2 22P 1K 电容3 电阻2 电解电容47P/16V1 10K 电阻174LS04下载口1。