51单片机控制直流电机设计
基于51单片机的直流电机控制

51 单片机的直流电机控制一、试验器件选择1、控制芯片的作用主要是与L289相连接驱动直流电机,以及与八位数码管相连显示。
(1)、AT89C51是一种带4K自己FLASH存储器的低压、高性能CMOS8为微处理器。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失真存储制造技术制造,与工业标准的MCS-51指令集和输出关键相兼容。
由于将多功能8位CPU和闪存组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性奥高且廉价的方案。
(2)、AT89C51引脚图如下:2、电机驱动芯片(1)、电机驱动芯片选择L298。
其主要功能是作为单片机与直流电机中间的过度链接,单片机输出的信号通过L298加载到直流电机上驱动直流电机运行。
(2)、主要工作原理:1、15脚分别是两个H 桥的电流反馈脚,不用时可以直接接地;2、3为一对输出端口, 13、14为一对输出端口; 4为驱动电压输入,最小值必须比输入的低电平高 2; 5、7一对输入端口,10、12 —对输入端口,TTL 电平兼容 6、11使能端,低电平禁止输出; 8、9分别为接地和逻辑电源3、直流电机。
在protues 中选择motor-encoder 直流电机,引脚图如下:上方左右的两个引脚在点击运转时输出频 率相同的方波,但是在相位上相差 90,而且在正转和反转是相反,因此可以根据这两个引 脚的输出情况判断点击的转向。
上方中间的引脚每当电机转一圈就输出一个正脉冲, 可以据此册数点击的转速。
左 右两个引脚是电机的电压输入端。
4、74HC74 。
当D 触发器的D 和CLK 输入端分别接电机上方的左右两个输出其引脚图如下:U213VS0UT1 0UT2OUT3 VCC IN1IN2 IN3 IN4 ENA ENB 10 12770UT4GNDL298SENSA SENSB端口时可以根据D触发器的输出情况判断点击的转速。
基于MCS-51单片机直流电机调速控制器的设计

D/A转换、DAC外围放大电路
• 采用DAC0832作为D/A转换、DAC外围放大电路, DAC0832是一个八位并行的D/A转换器。其作用 是将单片机输出的数字信号转换为模拟量输出, 并将电流信号转化为电压信号输出,实现对电机 的电枢电压的控制。 • DAC0832直接与单片机相连,其内部没有运算放 大器使用时需要外接运算放大器,但这也提供了 设计的灵活性. • 此系统采用内部时钟方式,其原理图如图所示。 MCS-51单片机允许的晶振可在1.2~12MHz之间 选择,此系统选12MHz。则一个机器周期为1μs 。 C大小为30pF。
sbit S1=P2^6; sbit S2=P2^7; //按键 sbit J0=P1^0; sbit J1=P1^1; sbit J2=P1^2; sbit J3=P1^3; //74HC164与单片机的接口 sbit DA=P3^6; sbit CLK=P3^7; //共阴极数码管段码表 uchar code led_7seg[10]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f}; //8,9 //延时 void Delay(uchar i) { uchar j;
图3霍尔元件测速原理图一
图二
2.5 直流电动机转速控制系统硬件设 计
• 通过自制5V电源来确保工作电压正常,由霍 尔元件及外围器件组成的测速电路将电动 机转速转换成脉冲信号,送至单片机的计 数器T1,由T1测出电动机的实际转速,并 与设定值比较形成偏差。根据比较结果, 使DAC0832输出控制电压增大或减小。功 放电路将DAC0832输出的模拟电压转换成 具有一定输出功率的电动机控制电压。
· 关键词:直流电机 单片机 转速控 制 圈数控制 PWM
51单片机控制直流电机

图1-1 直流电动机电路模型
1.2单片机及微处理器控制系统的发展
单片微型计算机的诞生是计算机发展史上的一个新的里程碑。近年来,随着技术的发展和进步,以及市场对产品功能和性能的要求不断提高,直流电动机的应用更加广泛,尤其是在智能机器人中的应用。直流电动机的起动和调速性能、过载能力强等特点显得十分重要,为了能够适应发展的要求,单闭环直流电动机的调速控制系统得到了很大的发展。而作为单片嵌入式系统的核心—单片机,正朝着多功能、多选择、高速度、低功耗、低价格、大存储容量和强I/O功能等方向发展。随着计算机档次的不断提高,功能的不断完善,单片机已越来越广泛地应用在各种领域的控制、自动化、智能化等方面,特别是在直流电动机的调速控制系统中。这是因为单片机具有很多优点:体积小,功能全,抗干扰能力强,可靠性高,结构合理,指令丰富,控制功能强,造价低等。所以选用单片机作为控制系统的核心以提高整个系统的可靠性和可行性。
基于51系列单片机的直流电机PWM调速系统设计

基于51系列单片机的直流电机PWM调速系统设计
随着社会的发展,直流电机作为机械设备中重要的驱动件,已经被越来越多的应用起来,而PWM(脉冲宽度调制)技术是控制直流电机转速的有效方法。
本文介绍了一种基于
51系列单片机的直流电机PWM调速系统设计,该调速系统可以实现对直流电机的转速调节。
首先,本文详细描述了该调速系统的硬件结构,包括51系列单片机控制器,PWM模块,旋转编码器,按键,LED指示灯,直流电机等构成组件。
其中,51系列单片机控制器负责
信号的采集和处理,PWM模块负责调节直流电机的转速,旋转编码器负责实时测量直流电
机的转速,按键和LED指示灯则用于进行键盘操作和系统状态指示。
接着,本文提出了该系统的主要程序流程设计。
首先,通过旋转编码器获取当前直流
电机的转速,并经过51系列单片机的实时校准,作为调节直流电机的转速的PWM信号的
参考值。
然后,通过按键输入参考值,调节PWM模块的输出比例,从而调节直流电机的转速。
最后,将调节结果通过LED指示灯反馈出来,用于系统状态的指示。
整个调速系统的设计都在51系列单片机上完成,功能完善。
基于51单片机控制直流电机的设计

可以实现的功能是:按下左转键则开始向左转动按下右转键则向右转动按下停止键则开始逐渐停止转动按下调速键一次则会加速一档按下调速键二次则会加速二档按下调速键三次则会加速三档按下调速键四次则会加速四档按下调速键五次则会回到最初速度重新记档位设计思路:直流电机只要能提供一定的直流就可以转动,改变电压极性可以改变转动方向,可以通过给直流电机提供脉冲信号来驱动它,脉冲信号的占空比可以影响到直流电机的平均速度,因此可以通过调整占空比从而能实现调速的目的。
直流电机的驱动电路要有过流保护作用,图中的二极管就直到这个作用,另外电机的驱动电流是比较大的所以需要用三极管来放大电流。
程序的关键就是如何实现占空比的调整,这个可以通过对51单片机定时器重装初值进行改变,从而改变时间。
用51实现PWM信号的输出,相对麻烦点,要是AVR就可以方便地实现PWM信号,由见51单片机的局限性与AVR单片机的优势。
原理图详细程序:#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit PW1=P2^0 ;sbit PW2=P2^1 ; //控制电机的两个输入sbit accelerate=P2^2 ; //调速按键sbit stop=P2^3 ; //停止按键sbit left=P2^4 ; //左转按键sbit right=P2^5 ; //右转按键#define right_turn PW1=0;PW2=1 //顺时针转动#define left_turn PW1=1;PW2=0 //逆向转动#define end_turn PW1=1;PW2=1 //停转uint t0=25000,t1=25000; //初始时占空比为50%uint a=25000; // 设置定时器装载初值 25ms 设定频率为20Hzuchar flag=1; //此标志用于选择不同的装载初值uchar dflag; //左右转标志uchar count; //用来标志速度档位void keyscan(); //键盘扫描void delay(uchar z);void time_init(); //定时器的初始化void adjust_speed(); //通过调整占空比来调整速度void main(){time_init(); //定时器的初始化while(1){keyscan(); //不断扫描键盘程序,以便及时作出相应的响应}}void timer0() interrupt 1 using 0{if(flag){flag=0;end_turn;a=t0; //t0的大小决定着低电平延续时间TH0=(65536-a)/256;TL0=(65536-a)%256; //重装载初值}else{flag=1; //这个标志起到交替输出高低电平的作用if(dflag==0){right_turn; //右转}else{left_turn; //左转}a=t1; //t1的大小决定着高电平延续时间TH0=(65536-a)/256;TL0=(65536-a)%256; //重装载初值}}void time_init(){TMOD=0x01; //工作方式寄存器软件起动定时器定时器功能方式1 定时器0TH0=(65536-a)/256;TL0=(65536-a)%256; //装载初值ET0=1; //开启定时器中断使能EA=1; // 开启总中断TR0=0;}void delay(uchar z) //在12M下延时z毫秒{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void keyscan(){if(stop==0){TR0=0; //关闭定时器0 即可停止转动end_turn;}if(left==0){TR0=1;dflag=1; //转向标志置位则左转}if(right==0){TR0=1;dflag=0; //转向标志复位则右转}if(accelerate==0){delay(5) ; //延时消抖if(accelerate==0){while(accelerate==0) ; //等待松手count++;if(count==1){t0=20000;t1=30000; //占空比为百分之60}if(count==2){t0=15000;t1=35000; //占空比为百分之70 }if(count==3){t0=10000;t1=40000; //占空比为百分之80 }if(count==4){t0=5000;t1=45000; //占空比为百分之90 }if(count==5){count=0;}}}}。
基于51单片机的直流电机控制系统设计

摘要本文主要研究了利用MCS-51系列单片机控制PWM信号从而实现对直流电机转速进行控制的方法。
控制系统主要是以8051单片机为核心组成的控制系统,本系统中的电机转速与电机两端的电压成比例,而电机两端的电压与控制波形的占空比成正比,因此,由MCU内部的可编程计数器阵列输出PWM波,以调整电机两端电压与控制波形的占空比,从而实现调速。
目录第一章:设计任务 (1)第二章:总体设计方案 (2)第三章系统硬件电路设计 (2)第四章系统的软件设计 (3)第五章:程序 (5)第六章:PCB图 (5)第七章:元件清单 (5)第八章:参考文献 (5)第九章:心得体会 (6)第一章:设计任务任务: 单片机为控制核心的直流电机PWM调速控制系统设计的主要内容以及技术参数:功能主要包括:1)直流电机的正转;2)直流电机的反转;3)直流电机的加速;4)直流电机的减速;5)直流电机的转速在数码管上显示;6)直流电机的启动;7)直流电机的停止;第二章:总体设计方案总体设计方案的硬件部分详细框图如图一所示。
键盘向单片机输入相应控制指令,由单片机通过P1.0与P1.1其中一口输出与转速相应的PWM脉冲,另一口输出低电平,经过ULN2003芯片控制电路,实现电动机转向与转速的控制。
电动机的运转状态通过数码管显示出来。
电动机所处速度级以速度档级数显示。
正转时最高位显示“三”,其它三位为电机转速;反转时最高位显示“F”,其它三位为电机转速。
每次电动机启动后开始显示,停止时数码管显示出“0000”。
第三章系统硬件电路设计整体框图如下本系统编程部分工作采用KELI-C51语言完成,采用模块化的设计方法,与各子程序做为实现各部分功能和过程的入口,完成键盘输入、按键识别和功能、PWM脉宽控制和数码管显示等部分的设计。
单片机资源分配如下表:①PWM脉宽控制:本设计中采用软件延时方式对脉冲宽度进行控制,延时程序函数如下:/*****************延时函数*************************/delays(){uchar i;for(i=5000;i>0;i--);}②键盘中断处理子程序:采用中断方式,按下键,完成延时去抖动、键码识别、按键功能执行。
一个基于51单片机控制直流电机的设计
一个基于51单片机控制直流电机的设计1.引言直流电机是一种常见的电机类型,广泛应用于工业自动化、机械设备和家电等领域。
其具有结构简单、可靠性高、调速性能好等特点,在控制方面也较为简单。
本文将介绍一种基于51单片机控制直流电机的设计方案。
2.设计原理2.1直流电机控制原理直流电机的转速和转向可以通过调整电机的电流和极性来实现。
通常,通过PWM信号来控制电机的转速,通过电机驱动芯片来控制电机的转向。
2.251单片机51单片机是一种广泛应用的8位单片机,具有强大的计算和控制能力。
其可以通过IO口产生PWM信号,以控制电机的转速,同时还可以通过IO口控制电机驱动芯片的输入信号,实现电机的转向控制。
3.系统设计3.1硬件设计3.1.1主控板设计主控板采用51单片机作为核心控制器,通过IO口输出PWM信号控制电机的转速,并通过IO口输出电机方向控制信号。
主控板还需要提供电源输入、串口通信接口等。
3.1.2电机驱动设计电机驱动采用专用的直流电机驱动芯片,通过控制其输入信号,实现对电机的转向控制。
电机驱动芯片还需要提供输入信号的滤波、保护等功能。
3.2软件设计3.2.1PWM信号生成通过51单片机的定时器/计数器模块,可以生成PWM信号。
根据所需的转速,可以调整定时器的计数周期和占空比,控制PWM信号的频率和占空比。
3.2.2方向控制通过控制51单片机的IO口输出电平,可以控制电机驱动芯片的输入信号,实现电机的正转或反转。
具体的电平和控制方式可通过电机驱动芯片的手册进行确定。
3.3系统测试在完成硬件和软件设计后,需要对整个系统进行测试。
首先可以通过示波器检查PWM信号的频率和占空比是否符合要求;其次,通过改变指令,测试电机的转向控制是否正常工作;最后,可以通过改变PWM信号的占空比,测试电机的转速控制是否准确。
4.结论本文介绍了一种基于51单片机控制直流电机的设计方案,通过生成PWM信号控制电机转速和通过IO口输出电平来控制电机的转向。
基于51单片机的直流电机设计
目录一.设计目的 (3)二.设计要求 (3)三.仪器设备 (3)四.硬件线路图 (4)五.器件及芯片介绍 (4)STC90C516RD+单片机 (4)8段共阳数码管 (6)直流电动机 (6)ULN2003芯片 (7)电源与控制按键 (7)六.程序框图 (8)七.源程序 (9)八.开发板实物图 (10)九.参考文献 (10)《单片机原理》课程设计——基于单片机的直流电机控制器设计一、设计目的通过具体小型测试系统设计,实践单片机系统设计、调试的全过程,以加深对单片机内部结构、指令系统的进一步理解,并进一步学习单片机开发系统的原理与应用以及一些外围芯片的接口和编程调试方法与技巧,初步掌握单片机系统的硬、软件设计技术及调试技巧。
二、设计要求(1)电机转速可以平稳控制(2)通过键盘和显示器可以设置电机的转速(3)显示电机的速度趋势三、仪器设备四、硬件线路图五、器件及芯片介绍(一)STC90C516RD+单片机单片机是单片微型计算机的简称,它是在一块半导体芯片上,集成了CPU、ROM、RAM、I/O接口、定时器/计数器、中断系统等功能部件,构成了一台完整的数字电子计算机。
由于集成电路技术的进步,片内甚至还可以包含HSO、HSI、A/D转换器、PWM等称为“片内外设”的特殊功能部件。
STC90C516RD+ 单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统 51 单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。
主要特性如下:1. 增强型 8051 单片机,6 时钟/机器周期和 12 时钟/机器周期可以任意选择,指令代码完全兼容传统 8051.2. 工作电压:5.5V~3.3V(5V 单片机)/3.8V~2.0V(3V 单片机)3. 工作频率范围:0~40MHz,相当于普通 8051 的 0~80MHz,实际工作频率可达 48MHz4. 用户应用程序空间为 64K 字节5. 片上集成 512 字节 RAM6. 通用 I/O 口(32 个)复位后为:00000H , P1/P2/P3/P4 是准双向口/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。
基于51单片机的无刷直流电动机控制器设计说明
系 别:机电与自动化学院
专 业 班:电气工程及其自动化0702班
姓 名:
学 号:
指导教师:
2010年5月
基于51单片机的无刷直流电动机
控制器设计
TheDesign ofBrushless DCMotorControllerBased on MCS-51Singlechip
绪 论
传统的直流电机一直在电机驱动系统中占据主导地位,但由于其本身固有的机械换向器和电刷导致电机容量有限、噪音大和可靠性不高,因而迫使人们探索低噪音、高效率并且大容量的驱动电机。随着电力电子技术和微控制技术的迅猛发展而成熟起来的直流无刷电机体积小、重量轻、效率高、噪音低、容量大且可靠性高,从而极有希望代替传统的直流电机成为电机驱动系统的主流。
摘 要
近年来,无刷直流电动机愈来愈多地在很多领域得到应用,它除了保持有刷直流电动优越的起动性能和调速性能以外,其最大的特点,就是没有换向器和电刷组成的机械接触结构,因而具有寿命长、噪声低、运行可靠、维护简便等一系列优点,且由于其转速不受机械换向的限制,可在宽广的范围内平滑地调速。例如在电动自行车上应用无刷直流电动机来取代原来的有刷直流电动机,由于采用了电子无接触式换向,不仅延长了电机的使用寿命,而且调速方便,易于控制,运行平稳。
Recently,brushless DC motor has been applied in many area.Besides the good performance of startup and speed control,its remarkable characteristic is that there is no commutator and brush。So the brushless DC motor has some advantages such as long life,low noise,reliable operation and easy maintenance.Its speed Can be regulated in a large range smoothly because of no limitation of mechanical commutator.For the electric bicycle,the motor with brush has been replaced by the brushless one.Due to the commutation without touch,the life of motor is prolonged and the motor is easy to be controlled.
《51单片机实战指南》课件_第14章-直流电机控制器设计
功能 A 路输出管脚 电源电压 电源电压 B 路输出管脚
பைடு நூலகம்
序号 5 6 7 8
符号 GND A B GND
功能 地线 A 路输入管脚 B 路输入管脚 地线
IA
IB
OA
OB
H
L
H
L
L
H
L
H
L
L
L(刹车)
L(刹车)
H
H
Z(高阻)
Z(高阻)
L9110S引脚及功能表
14.2 项目实战
14.2.1 项目要求 利用单片机通过编程实现直流电机的正转、反转、加速、 减速和停止,按正转键,直流电机正转,按反转键,直 流电机反转,并用数码管显示占空比和正转和反转状态, 数码管最高位1表示正转,0表示反转,数码管低2位显 示占空比;按停止键,电机停下;按加速键或减速键, 改变PWM脉冲的占空比,实现直流电机调速。
14.2.2 软件设计
主程序main.c
• 单片机复位后,电机处于停止状态,定时器T1配置为1ms定时, 在T1的中断服务程序中,扫描按键状态变化,通过按键动作 改变电机的不同运行状态。
• ConfigPWM(unsigned int fr, unsigned char dc)函数用于 配置定时器0,并计算一个PWM周期的计数值PeriodCnt,这个 值只需要计算一次,而且在整个程序中是不变的,因为PWM不 改变周期,只改变占空比。这个函数在第6章已经出现出现过, 务必请大家掌握。AdjustDutyCycle(unsigned char dc)函数 是调节占空比用的,利用由于加速和减速按键导致的占空比 索引值index的增加和减小,查占空比表格dutyTab,将查到 的占空比参数传递给中AdjustDutyCycle函数,计算出此占空 比下高低电平所需的定时器计数初值,来实现占空比的调节。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
51单片机控制直流电机设计
51单片机是一种常用的单片机,广泛应用于嵌入式系统中。
在直流
电机控制方面,51单片机可以通过控制IO口输出高低电平来控制电机的
转动方向和速度。
本文将介绍如何使用51单片机控制直流电机,并进行
详细的设计过程。
一、硬件设计
1.电源部分
直流电机通常需要较高的电压才能正常运转,因此需要设计一个稳定
的电源电路。
可以使用稳压电源模块或者线性稳压电源芯片作为电源模块,并根据电机的额定电压选择合适的电源电压。
2.驱动电路
直流电机需要通过驱动电路来控制其转动方向和速度。
驱动电路可以
使用电机驱动模块,如L298N驱动模块或者H桥驱动芯片等。
根据电机的
额定电流选择合适的驱动模块,并连接正确的引脚。
3.51单片机与驱动模块连接
将51单片机的IO口与驱动模块的控制引脚相连,以实现对电机的控制。
通常情况下,驱动模块的使能引脚需要接高电平使能驱动电路,转向
引脚控制电机的转向,速度引脚控制电机的转速。
4.电机连接
将直流电机的两根引线与驱动模块的输出端相连,确保极性正确。
二、软件设计
1.51单片机初始化
首先,在主函数中进行51单片机的初始化,包括设置IO口的输入输
出方向、初始化定时器等。
2.设置电机转动方向
通过控制驱动电路的转向引脚,可以控制电机的正转和反转。
通过设
置IO口输出不同的高低电平即可实现。
3.设置电机转动速度
通过占空比控制电机的转速,可以使用定时器来设置。
4.电机控制代码
我们可以通过编写一些函数来实现电机的控制,例如设置方向的函数、设置速度的函数等。
然后在主函数中调用这些函数来实现电机的控制。
三、实际控制测试
在完成硬件设计和软件编写后,可以将51单片机与电源和电机连接
起来,并上传软件代码。
然后通过触发相应的输入信号,来控制电机的方
向和速度。
通过观察电机的运动情况,可以验证电机控制系统的正确性。
总结
本文介绍了51单片机控制直流电机的设计过程,包括硬件设计和软
件设计。
通过控制IO口输出高低电平来实现电机的转动方向和速度。
通
过合理的设置硬件参数和编写相应的控制代码,可以实现精确控制直流电
机的运动。
以上是一个控制直流电机的设计过程,共计超过1200字。
控制直流电机是一个广泛应用的领域,本文只是一个简单的介绍。
如果您想要深入了解相关内容,建议进一步研究单片机和电机控制的知识。