最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

直流电机控制电路论文

来源:动视网 责编:小OO 时间:2025-09-26 11:00:04
文档

直流电机控制电路论文

本文由yulingli0贡献doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。直流电机控制电路摘要:随着时代的发展,数字电子技术已经普及到我们生活,工作,科研,各个领域,此文将介绍一种直流电机,详细阐述了用单片机输出口所给占空比的不同实现电机的调速的设计方法;着重讨论L298用于电机驱动时特有的优势。直流电机调速具有相当的实际意义。依据其调速的基本理论,本电路由模拟电源、控制电路、显示电路、驱动电路四部分组成。准确说就是模拟电源提供各个芯片电源、数码管、驱动L
推荐度:
导读本文由yulingli0贡献doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。直流电机控制电路摘要:随着时代的发展,数字电子技术已经普及到我们生活,工作,科研,各个领域,此文将介绍一种直流电机,详细阐述了用单片机输出口所给占空比的不同实现电机的调速的设计方法;着重讨论L298用于电机驱动时特有的优势。直流电机调速具有相当的实际意义。依据其调速的基本理论,本电路由模拟电源、控制电路、显示电路、驱动电路四部分组成。准确说就是模拟电源提供各个芯片电源、数码管、驱动L
    本文由yulingli0贡献

    doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。

    直流电机控制电路

    摘要:

    随着时代的发展,数字电子技术已经普及到我们生活,工作,科研,各个 领域,此文将介绍一种直流电机,详细阐述了用单片机输出口所给占空比的不同 实现电机的调速的设计方法;着重讨论 L298 用于电机驱动时特有的优势。直流 电机调速具有相当的实际意义。依据其调速的基本理论,本电路由模拟电源、控 制电路、显示电路、驱动电路四部分组成。准确说就是模拟电源提供各个芯片电 源、数码管、驱动 L298 所需电压;显示电路用于显示电动机转动时的速度大小 及正反转所表示的代码。与传统的电动机调速相比具有操作方便,以及其输出速 度大小采用数码显示的特点。文章中介绍了 Protel 99 发展及特点。直流电动机 的工作原理、基本组成环节,电路分析、特殊元器件简介,设计方案的提出,更 进一步说明了这类电机的好处。着重利用软件 Protel 绘制出电路原理图。讨论了 目前研究工作中存在的问题,并对其发展的方向进行了展望,给出了一些个人的 观点。

    关键词:

    单片机 ATC51 ;驱动 L298;555 定时器;直流电机;

    DC motor control

    Abstract:

    circuits

    Along with the development of the ages, the numerical electronics technique has already make widely available to our life, work, research, each realm, this text will introduce a kind of DC

    motor control circuits。 Elaborated with a microcontroller outputs are different to the duty cycle of the motor speed control circuit design; Focus on L298 for motor drive at the unique advantage,and DC Motor Speed Control has considerable practical significance. According to its governor's basic theory, the power supply circuit from analog control circuits, display circuit, the driving circuit four components. Is that accurate simulation of power supply for each chip, digital control, drives L298 required voltage; Show circuit for the motor rotation speed and size reversion expressed by the code. With the traditional motor speed compared with convenient operation and the size of the output speed digital display features. DC motor principle, the basic components, circuit analysis, special briefings components, design program, is further illustrated by the benefits of these motors. Protel software focused on the use of mapping circuit schematics. Discussion of the current research work is the problem and the direction of its development of the prospect, give some personal views.

    Keyword: SCM ATC51 L298 555

    motor control

    目录

    一、 系统设计、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、1 1.1 方案论证与选择、、、、、、、、、、、、、、、、、、、、、、、、、、 、、、、、、、、、、、、、、、、、、、、、、、、、、2 1.2 单元电路设计、、、、、、、、、、、、、、、、、、、、、、、、、、、、2 、、、、、、、、、、、、、、、、、、、、、、、、、、、 二、实际电路设计、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、2 2.1 原理图、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、2 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 2.2 工作原理与过程、、、、、、、、、、、、、、、、、、、、、、、、、、、3 、、、、、、、、、、、、、、、、、、、、、、、、、、 2.3 理论计算与主要芯片的说明与运用、、、、、、、、、、、、、、、、、、、4 、、、、、、、、、、、、、、、、、、 2.4 软件设计与测试、、、、、、、、、、、、、、、、、、、、、、、、、、 、、、、、、、、、、、、、、、、、、、、、、、、、、6 三.电路测试 3..1 测试原理、、、、、、、、、、、、、、、、、、、、、、、、、、、、10 、、、、、、、、、、、、、、、、、、、、、、、、、、、 3.2 测试仪器、、、、、、、、、、、、、、、、、、、、、11 、、、、、、、、、、、、、、、、、、、、 3.3 结果与误差分析、、、、、、、、、、、、、、、、、、、、、、、、、12 、、、、、、、、、、、、、、、、、、、、、、、、 四、结论、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、12 五、参考文献、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、12 六、仪器仪表、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、12 七.附录、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、12 元器件清单

    一、 系统的设计

    方案论证与选择 1.1 方案论证与选择

    方案一:通过电压的大小来控制电机的转动速度;根据电动机在其额定电压时, 电动机有一定的额定转速。根据其输入电压的减小,其转动速度也相应的减小。 从而在传统的改变电动机的转速问题中,就是利用所给电动机的电压的不同,而 达到人们所需要的大约速度。 方案二:以单片机 ATC51 为中心通过 D/A 转换器,将单片机数字量转换为模拟 量,从而起到控制电动机的转速问题。其中在单片机控制部分通过按键直接从程 序中调出所需要速度的值,同时输到数码显示部分和 D/A 转换部分以实现电动 机的调速。该电路最大的缺点是不能及时的从电动机那里得到相应的转动速度, 而是直接从程序哪儿调用相应的数值给数码显示。所以,此处的电路在速度的显 示上失去了其真实性。

    数码显示

    D/A0832 转换

    电动机

    键盘

    ATC51

    图 1 电路组成框图

    方案三:采用 ATC51 单片机进行控制。本设计需要使用的软件资源比较简

    单, 只需要完成红外线采样部分、 键盘控制部分以及显示输出功能。 采用 ATC51 进行控制比较简单、 易控制、 可靠性高、 抗干扰能力强、 精度高且体积大大减小。 显示速度在最高速度、 最低速度的中间即 800 输出速度的调节是通过 k5 键操作, 转每分钟。显示速度一步到位,没有传统的粗调与细调之累赘,并且使用方便等 优点。ATC51 是一种带 4K 字节闪烁可编程可擦除只读存储器的低电压,高性 能 CMOS8 位微处理器.具有 4K 字节可编程闪烁存储器,可擦除的的只读存储器 (PEROM), ATMEL 的 ATC51 是一种高效微控制器. ATC51 单片机为很多嵌 入式控制系统提供了一种灵活性高且价廉的方案. 三级程序存储器锁定、128*8 位内部 RAM、32 可编程 I/O 线、两个 16 位定时器/计数器、5 个中断源、可编 程串行通道、低功耗的闲置和 电模式、片内振荡器和时钟电路: 电路框图 2 如下

    单片机 c51

    数码显示

    驱动 L298

    电动 机

    红外线 测速

    图 2

    鉴于上面分析, 方案一只能自以为减小所给电压值而能使电动机的转速有相应的 减小。方案二只是把理想的速度送到数码显示以表示当时电动机的转速,缺乏真 实性。所以,设计采用方案三。 方案三 方案

    1.2:单元电路设计 :

    (1)电压源设计与选择 方案一:采用电压源直接滤波法.缺点:此稳压电源产生纹波较大. 方案二:采用稳压芯片进行稳压.优点:此稳压电源较稳定,产生的纹波较小, 有利于电路功能的实现 系统采用方案二 (2)显示电路的设计与选择 方案一:采用字符型 LCD 显示. 方案二:采用 LED 数码管显示. 系统采用方案二 (3)模拟电压源的放大电路设计与选择 方案一:采用集成运放 TL084 进行放大. 缺点:难以调节. 方案二:采用集成运放 TL082 进行放大. 优点:易调节,且不过于浪费. 系统采用方案二 (4)输出电路设计与选择 方案一:采用直接输出法.缺点:不能有效地保护电压源和用电器. 方案二:采用再次驱动稳压器和保护电路的输出法.优点:在用电器发生短路 时,能够有效地保护用电器和电压源. (5)电路的控制方式电路设计与选择 方案一:采用直接控制法. 方案二:采用步进和复位法. 系统采用方案二

    二.实际电路设计

    2.1 原理图

    根据方案 2,得到如下实际原理图:

    2.2 工作原理与过程

    通电复位,电路进入初始状态:LED 数码管显示 0000,待电路正常工作时, 开始显示电动机的速度和正反转。按 S3 电动机速度向上增加,按 S2 电动机速 度向下递减,按 S1 使电动机朝刚才相反的方向转动同时显示相应字样。由于在 实际使用中经常用到的速度有 1.5v、3v、4.5v,5v,6v,8v,12v 等速度值,所 以本电路还设置了几个按键,如按下 S4,电机的速度直接跳转到速度为****,按下 S5, 电机的速度直接跳转到速度为****, 电机的速度直接跳转到速度为****, 等。 L298 是具有 15 个引脚的单列直插式 2 位同时驱动芯片。 其引脚功能分别为: 1、8、15 脚为 GND 引脚,2、3 脚为输出引脚, 9 脚为 VSS 引脚,4 脚为 VS 引脚,5、7 脚为输入引脚,6 脚为选通 1 通道引脚。其余引脚为通道 2 所需要引 脚,在此没有用到通道 2,故其余引脚全部悬空。当 6 脚数据输入量为 1 时,1 通道正常工作,当 5、7 脚输入为 1、0 时,2、3 脚输出的电平使电动机正转, 并且可以按照单片机所复给 6 脚的置 1、置 0 的占空比的不同而使电动机的转速 得以改变。当 5、7 脚输入为 0、1 时,2、3 脚输出的电平使电动机反转,并且 同理可以按照单片机所复给 6 脚的置 1、置 0 的占空比的不同而使电动机的转速 得以改变。

    保护电路由二极管组成,由于电动机是呈电感性很强的,所以在开机或着 关机时,会产生很大的感应电压而烧坏芯片,在此,为了保护驱动芯片,接了几 个二极管,从而大大的减小了由于感应电压带给驱动芯片的危害。

    2.3 理论计算与主要芯片的说明与应用 2.3.1 主要芯片说明 (1)单片机 ATC51 )

    a:ATC51 a:ATC51 的内部结构原理图见图 5

    XTAL

    片内振荡器

    RAM/SFP EPROM/R OM

    存储器扩展控 制器

    存储器

    运算器

    I/O

    CPU

    控制器

    定时/计数器 并行口 串行口

    中断

    图5

    图5

    主要特性: 与 ATC2051 兼容 4K 字节可编程闪烁存储器 寿命:1000 写/擦循环 数据保留时间:10 年 全静态工作:0Hz-24Hz 三级程序存储器锁定 128*8 位内部 RAM 32 可编程 I/O 线 两个 16 位定时器/计数器 5 个中断源

    可编程串行通道 片内振荡器和时钟电路 管脚说明: VCC:供电电压。 GND:接地。 P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器, 它可以被定义为数据/地址的第八位。在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。 P1 口: 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输 P1 出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部 下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验 时,P1 口作为第八位地址接收。 P2 P2 口: 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。 并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘 故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口 输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址 数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编 程和校验时接收高八位地址信号和控制信号。 P3 口: 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门 P3 电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入, 由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。 P3 口也可作为 ATC51 的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断 1) P3.4 T0(记时器 0 外部输入) P3.5 T1(记时器 1 外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平 用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。 /PSRN:外部程序存储器的选通号。 /EA/VPP:当/EA 保持低电平时,则在此期 间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

    (2) LED 显示部分原理图及说明: 显示部分原理图及说明: 基本的半导体数码管是由七个条状 发光二极管芯片按图 2 排列面成的, 可实现 0~9 的显示。 显示器结构( LED 显示器结构(见图 2) LED 显示部分原理图及说明见 1.2.1.3 用单片机驱动 LED 数码管有很多方法, 按显示方式分有静态显示和动态(扫描)显示。动态显示需要 CPU 时刻对显示器 件进行数据刷新,显示数据有闪烁感,占用的 CPU 时间多。静态显示就是显示驱 动电路具有输出锁存功能,单片机将所要显示的数据送出后就不再管,直到下一 次显示数据需要更新时再传送一次新数据, 显示数据稳定, 占用很少的 CPU 时间。 这两种显示方式各有利弊;静态显示虽然数据稳定,占用很少的 CPU 时间,但每 个显示单元都需要单独的显示驱动电路,使用的硬件较多;动态显示虽然有闪烁 感,占用的 CPU 时间多,但使用的硬件少,能节省线路板空间。 因为考虑到成本及外围电路,所以此处采用的是按动态(扫描)显示。 关于 LED 数码管的外围电路一般需要一个限流电阻和加大驱动电流的晶体 管。常用的连接方式有如下四种:

    LED 数码管是由发光二级管显示字段组成的显示器,有 8 段和“米”字段 之分,这种显示器有共阴级和共阳级两种。共阴方式是笔画显示器各段发光管的 阴极(即 N 区)是公共的,而阳极是互相隔离的;共阳方式是指笔画显示器各 段发光管的阳极(即 P 区)是公共的,而阴极互相隔离。 此处采用的是共阴极 LED,原理图如图 7

    图7

    LED 驱动原理图如图 8 所示

    P00 . P07 P10 . p17 p30 p31 a~g 1

    ……

    a~g 9

    a~g 10

    P10

    ……

    图 8 LED 驱动原理图

    P17 P30

    P31

    555定时器又称为集成定时器或555 电路,是一种数字、模拟混合型的中 规模集成电路, 应用十分广泛。 外加电阻、 电容等元件可以构成多谐振荡器, 单稳电路,施密特触发器等。它是一种产生时间延迟和多种脉冲信号的电路,由 于内部电压标准使用了三个5K 电阻,故取名555 电路。其电路类型有双极型和 CMOS型两大类,二者的结构与工作原理类似。几乎所有的双极型产品型号最后的 三位数码都是555 或5567 所有的CMOS 产品型号最后四位数码都是7555 或

    7556,二者的逻辑功能和引脚排列完全相同,易于互换。555 和7555 是单定时 器。556 和7556 是双定时器。双极型的电源电压DD U =+5V~+15V,输出的最大 电流可达200mA,CMOS 型的电源电压为十3V~+18V,能直接驱动小型电机、继电 器和低阻抗扬声器。

    (3). (3).555 定时器的工作原理

    555 定时器原理图及引线排列如图1 所示。其功能见表1。定时器内部由比 较器、分压电路、RS 触发器及放电三极管等组成。分压电路由三个5K 的电阻构 成,分别给1 A 和2 A 提供参考电平2/3 DD U 和1/3 DD U 。1 A 和2 A 的输 出端控制RS触发器状态和放电管开关状态。当输入信号自6 脚输入大于2/3 DD U 时,触发器复位,3 脚输出为低电平,放电管T 导通;当输入信号自2 脚输 入并低于1/3 DD U时,触发器置位,3 脚输出高电平,放电管截止。4 脚是复 位端,当4 脚接入低电平时,则o U =0;正常工作时4 接为高电平。5 脚为控制 端,平时输入2/3 DD U作为比较器的参考电平,当5 脚外接一个输入电压,即 改变了比较器的参考电平,从而实现对输出的另一种控制。如果不在5 脚外加电 压通常接0.01μF 电容到地,起滤波作用,以消除外来的干扰,确保参考电平的 稳定。

    表1 555 定时器的功能表

    在这里,我们用555定时器构成单稳态触发器用 电路如图2 所示,接通电源→电容C 充电(至2/3 DD U )→RS 触发器置 0→ o U =0,T 导通,C 放电,此时电路处于稳定状态。当2 加入i V <1/3 DD U 时,RS 触发器置1,输出o U =1,使T 截止。电容C 开始充电,按指数规律上 升,当电容C 充电到2/3 DD U 时, 1 C 翻转,使输出o U =0。此时T 又重新导 通,C 很快放电,暂稳态结束,恢复稳态,为下一个触发脉冲的到来作好准备。 其中输出o U 脉冲的持续时间W t =1.1RC,一般取R=1kΩ--10MΩ,C>1000PF。

    2.3.2

    关键电路单元的工程计算:

    a:上拉电阻 RP 的计算:选择上拉电阻阻值时要考虑多方面因素。一方面,如果 负载具有电容性, RP 的值愈小,电容的充电时间常数也就愈小,因此开关 速度愈快,但功耗也愈大。另一方面,多个 OD 门的输出端直接连在一起, 当只有一个门导通,输出为低电平,其他门截止,输出为高电平时,负载电 流将全部流向导通的 OD 门,这是一种最不利的情况,此时的上拉电阻 RP 有 限流的作用,其取值不能太小,应保证 I OL 不超过额定值 I OL (max) 。 上拉电阻计算公式: R p (min) = :

    VDD VOL (max) I OL (max) I IL ( total )

    R P (m ax) =

    V D D V O H (m in) I O Z ( Total ) + I IH ( Total )

    其中: VDD =5V, VOL (max) =5V, VOH (min) =1.5V, I OZ (total ) =, I IH (total ) = 经查找相关的资料也可以找到。 将数据代入公式,可求得: R p (min) =0.8kΩ, RP (max) =1.3kΩ, 综合考虑到本次设计的技术要求,以及自己手头上的元件的,所以最终 选择上拉电阻为 1 千欧

    2.4 软件设计与测试 软件设计与测试

    (1)程序流程图

    开始 关闭定时期器 1

    初始化

    中断次数记数加 1

    调用键盘处理程

    调用 PWM 控制程子程序

    调用显示子程

    调用速度显示控制子程序

    调用 PWM 控制子程序

    重装定时器 1 初值

    调用速度显示值获得程序

    开定时器 1

    中断返回 主流程图 中断处理子程序

    拉高 p1 口电平

    读 p1 口值 否

    是否有键按下

    键 1 按下? 否

    是

    顺时针转动

    是 键 2 按下? 否 是 键 2 按下? 否 是 键 2 按下? 否 键 2 按下? 否 键 2 按下? 否 键 2 按下? 否 键 2 按下? 否 等待按键放下 返回 按键处理程序 是 停止转动 是 回到中间速度 是 转动速度减(粗) 是 转动速度加(粗) 转动速度减(细) 转动速度加(细) 逆时针转动

    分解速度值到显示缓冲区 是 选通个位? 否 是 选通个位? 否 是 选通个位? 否 是 选通个位? 否 否 显示完毕? 是 返回 显示子程序 显示千位 延时 显示百位 延时 显示十位 延时 显示个位 延时

    判断中断次数是否 等于脉宽控制字 A?

    是 输出低电平

    否 是 输出高电平 中断记数清 0

    判断中断次数是否 到一个 pwm 周期?

    否 返回 Pwm 控制子程序

    否 判断是否到一秒? 是 停止记数

    读计数器值

    求出此时电机速度值

    重装记数初值

    开始记数 返回 速度显示值获得程序

    (2)源程序

    ///************************************************************************* ///直流电机的 pwm 控制程序 ///功能:直流电机的速度控制,速度测试,速度显示。 ///************************************************************************* #include ///包含头文件 #include #define gw DBYTE[0X40] ///定义显示缓冲区 个位 #define sw DBYTE[0X41] //////////////////十位 #define bw DBYTE[0X42] //////////////////百位 #define qw DBYTE[0X43] //////////////////千位 #define unint unsigned int ///自定义变量 #define uchar unsigned char sbit in1=P3^0; ///控制位定义 sbit in2=P3^1; sbit ena=P3^7; uchar code zm[12]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F,0x73,0x71};/// 在 程 序 存 储区定义字型码表 uchar code wm[4]={0xfe,0xfd,0xfb,0xf7};///在程序存储区定义字位控制码表 uchar a=8; ///占空比控制字 uchar n=1; ///速度增减量一

    uchar m=2; ///速度增减量二 unint speedbuf=0; ///速度值 uchar zc=0; unint ys=0; key(); ///子函数声明 display(); control(); delays(); speedcan(); ///************************************************************************* ************************************ ///主函数 ///************************************************************************* ************************************ main() { gw=sw=bw=qw=0; ///显示初始化 P0=0xc0; P2=0; in1=0; ///电机控制的初始化 in2=0; ena=1; TMOD=0X15; ///定时器 1 为定时模式,使用方式 2;定时器 0 为计数模式,使用方式 2 TH1=0Xfa; ///装定时器初值 TL1=0X24; TH0=0; ///装计数器初值 TL0=0; EA=1; ///开总中断 ET0=1; ///允许定时器 0 中断 ET1=1; ///允许定时器 1 中断 TR0=1; ///开计数器 TR1=1; ///开定时器 while(1) ///无限循环 { key(); ///调用按键扫描程序 control(); ///调用电机控制程序 display(); ///调用显示程序 speedcan(); ///调用速度处理程序 } } ///************************************************************************* ///中断处理程序,实现输出方波占空比控制 ///*************************************************************************

    timer_1() interrupt 3 using 1 ///定时器 1 中断,使用寄存器组 1 { TR1=0; ///停止定时 zc++; ///中断次数加 1 ys++; control(); speedcan(); TH1=0Xfa; ///重装定时初值 TL1=0X24; TR1=1; } ///************************************************************************* ///脉宽控制程序,实现 PWM 的输出 ///************************************************************************* control() { if(zc==a) { ena=0; } if(zc==15) { zc=0; ena=1; } } ///************************************************************************* ///显示子函数,显示当前电机的速度 ///************************************************************************* display() { uchar i; gw=speedbuf%10; ///求速度个位值送各位显示缓冲 sw=(speedbuf/10)%10; ///求速度十位值送十位显示缓冲 bw=(speedbuf/100)%10; ///求速度百位值送百位显示缓冲 qw=speedbuf/1000; ///求速度千位值送千位显示缓冲 for(i=0;i<4;) ///循环选中数码管的每一位 { P2=wm[i]; if(i==0) ///显示个位 { P0=zm[gw]; delays(); }

    else if(i==1) ///显示十位 { P0=zm[sw]; delays(); } else if(i==2) ///显示百位 { P0=zm[bw]; delays(); } else if(i==3) ///显示千位 { P0=zm[qw]; delays(); } i++; } } ///************************************************************************* ///读速度值子函数,从计数器 0 中读计数值,经过计算,求出当前速度值 ///************************************************************************* speedcan() { if(ys==500) { TR0=0; ///停止计数 speedbuf=((TH0*256+TL0)*8)/3;///读计数器 ys=0; TH0=0; ///重装计数初值 TL0=0; TR0=1; ///开计数器 } } ///************************************************************************* ///延时子函数 ///************************************************************************* delays() { uchar i; for(i=80;i>0;i--); } ///************************************************************************* ///键盘扫描子函数,实现电机的方向 速度的控制

    ///************************************************************************* key() { uchar i; P1=0xff; ///拉高 P1 口的电平 i=P1; ///读 P1 口 if(i==0xfe) ///第一个键按下 { delays(); ///延时去抖动 if(i==0xfe) ///再判断按键是否按下 { in1=0; ///电机顺时针转动 in2=1; } } if(i==0xfd) ///第二个键是否按下 { delays(); ///延时去抖动 if(i==0xfd) ///再判断按键是否按下 { in1=1; ///电机逆时针转动 in2=0; } } if(i==0xfb) ///第三个键是否按下 { delays(); if(i==0xfb) { a=a+n; ///速度加((慢速) if(a>=15) a=15; } } if(i==0xf7) { delays(); if(i==0xf7) { if(a>3) ///速度减(慢速) a=a-n; else a=3; } }

if(i==0xef) { delays(); if(i==0xef) { a=a+m; if(a>=15) a=15; } } if(i==0xdf) { delays(); if(i==0xdf) if(a>3) a=a-m; else a=3; } if(i==0xbf) { delays(); if(i==0xbf) { in1=0; in2=0; } } if(i==0x7f) { delays(); if(i==0x7f) a=5; } while(P1!=0xff); }

    ///速度加,(快速)

    ///速度减,(快速)

    ///停止转动

    ///回到中间速度 ///等待按键放下

    (3)软件测试 测试利用了 Keil uVision2 和单片机仿真器。实现方式:把程序输入到 Keil uVision2 仿真软件中,然后通过单片机仿真器输入电路中,进行调试。本程序能 够实现步进显示与输出电压一致的目标。所需设备: [1]计算机一台 [2]双综示波器

    [3]单片机仿真器实验系统 [4]UNI-T 系列万用表 UT30D [5]单片机仿真器

    三.电路的测试

    3.1 测试原理

    数码显示 单片机 c51

    驱动 L298

    电动 机

    红外线 测速

    3.2 测试仪器

    [1]双综示波器 江苏绿扬电子仪器集团有限公司 [2]UNI-T 系列万用表 UT30D 优利德科技(东莞)有限公司

    (3)测试结果 根据显示与输

    按键

    K1

    K2

    K3

    K4

    K5

    K6

    K7

    K8

    作用

    正转

    反转

    加速

    减速

    快速加 快速减 直接到中 速 速 间速度

    停止

    显示速度 (r/min)

    绿灯亮 红灯亮

    800

    0

    3.3 结果误差分析

    ①电源部分仅用 1000uF 的电解电容滤波,产生的纹波较大。 ②电路中的电阻全为碳膜电阻,而碳膜电阻有阻值误差大等缺点,如改成 金属膜电阻,效果更好。 ③ 万用板所用的引线过细,使流过的电流过小,对本电路的影响较大,如 改为 PCB 板,效果会好很多。 ④ UNI-T 万用表的电压档精确度为±(0.5%+2),精确度不够高。

    四 结论 通过本设计的理论分析,实际与测试分析表明: 1.显示速度与实际速度基本一至。 2.电路具有过流保护功能 3.未能达到语音提示功能 4.展望:在程序中增加语音子程序,电路中增加一个小功率放大电路,可 实现语音提示功能。

    七. 参 考 文 献

    [1] [2] [3] [4] [5] 杨素行 模拟电子技术基础 高等教育出版社 2003 年 陈明荧 8051 单片机基础教程 科学出版社 2003 年 陶 砂 单片机—原理、操作、实验、应用 航空工业出版社 1996 年 康华光 电子技术基础数字部分 高等教育出版社 第五版 李广第 单片机基础 北京航空航天大学出版社 1999 年

    八. 仪 器 仪 表

    [1]计算机一台 北大方正集团有限公司 [2]双综示波器 江苏绿扬电子仪器集团有限公司 [3]单片机仿真器实验系统 启东计算机厂有限公司 [4]UNI-T 系列万用表 UT30D 优利德科技(东莞)有限公司

    [5]单片机仿真器

    九.附录 元器件清单

    名称 单片机 轻触开关 电解电容 2200F/25V 100uF/25V 10uF/25V 三端集成稳压器 二极管 晶振 瓷片电容 电阻排 数码管 红外线发射管 红外线发射管 电阻 47K 10K 7805 1N4007 12MHz 104 33P 330*8 PLTF-5461AS 型号 ATC51 数量 1 9 1 1 1 1 9 1 6 2 1 1 1 1 1 2 四位一体共阴 备注

    150 1K 发光二极管 插件 排针 排线 红色 绿色 DIP40 40 针一排 4 线一排 2 线一排 8 线一排 变压器 三极管 直流电动机 555 定时器 NE555 220V/24V-0-24V 9013

    1 1 3 1 2 2排 2 8 6 1 1 1 1 P=20W NPN

1

文档

直流电机控制电路论文

本文由yulingli0贡献doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。直流电机控制电路摘要:随着时代的发展,数字电子技术已经普及到我们生活,工作,科研,各个领域,此文将介绍一种直流电机,详细阐述了用单片机输出口所给占空比的不同实现电机的调速的设计方法;着重讨论L298用于电机驱动时特有的优势。直流电机调速具有相当的实际意义。依据其调速的基本理论,本电路由模拟电源、控制电路、显示电路、驱动电路四部分组成。准确说就是模拟电源提供各个芯片电源、数码管、驱动L
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top