pic单片机控制直流电机.docx

上传人:b****2 文档编号:25735606 上传时间:2023-06-12 格式:DOCX 页数:13 大小:542.91KB
下载 相关 举报
pic单片机控制直流电机.docx_第1页
第1页 / 共13页
pic单片机控制直流电机.docx_第2页
第2页 / 共13页
pic单片机控制直流电机.docx_第3页
第3页 / 共13页
pic单片机控制直流电机.docx_第4页
第4页 / 共13页
pic单片机控制直流电机.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

pic单片机控制直流电机.docx

《pic单片机控制直流电机.docx》由会员分享,可在线阅读,更多相关《pic单片机控制直流电机.docx(13页珍藏版)》请在冰豆网上搜索。

pic单片机控制直流电机.docx

pic单片机控制直流电机

实用标准文案

1总体设计框架..............................................3

2硬件电路设计..............................................4

2.1芯片介绍...........................................................4

2.2驱动电路...........................................................9

2.3按键控制电路......................................................10

3程序编写.................................................10

3.1工作原理..........................................................10

21程序书写过程3.2......................................................

参考资料....................................................16

精彩文档.

实用标准文案

直流电机驱动

Abstract摘要:

本文主要内容是利用PIC18F452单片机来控制直流电机,通过L293NE来驱动电机,通过按键来使其正转,反转。

Keywords关键词:

直流电机,PWM,L293NE

精彩文档.

实用标准文案

总体设计框架1硬件电路利用驱动芯片L293D来驱动直流电机,按键则是单独引出。

如图1所示。

软件则是C语言编程。

PI驱C直动1流8电电F路机452

图1硬件设计框精彩文档.

实用标准文案

2硬件电路设计

2.1芯片介绍

首先,总体说明硬件电路设计,如图2原理图,图3PCB图以及图4板子的图所示。

三个输入信号,如图分别为RD4,RD5,RD6连上光耦的2脚,然后通过光耦的4脚引入L293D的使能引脚(12EN)以及输入引脚(1A,2A),然后L293D的输出引脚(1Y,2Y)通过H-桥型控制电路与直流电机连接。

图2直流电机控制部分原理图

精彩文档.

实用标准文案

PCB图图3直流电机控制部分

成品板图4

其中红线圈表示直流电机控制部分。

下面详细介绍各个芯片。

PIC18F452

、1外部端口以及内部存储器是相同的。

上图的与PIC18F452PIC18F4580。

U2精彩文档.

实用标准文案

2、光耦P521

光耦主要的作用是保护单片机。

光耦的结构如图5所示。

图5光耦P521结构

在PCB中(如图6所示),即U7,U9,U10三个光耦,左下方方形孔为1引脚,按逆时针方向,依次为2,3,4引脚。

光耦的1脚通过电阻与电源连接,2脚为输入引脚,3脚与地相连,4脚为输出引脚。

经试验测得,则当1脚输入高电平时,4脚也输出高电平。

则当1脚输入低电平时,4脚输出低电平。

图6光耦外形图

精彩文档.

实用标准文案

3、电阻

一共用到7个大小为470Ω的电阻(分别为R16,R17,R18,R19,R20,R21,R22)和3个大小为1kΩ(分别为R23,R24,R25)。

4、按键

按键电路也就是步进电机驱动实验的电路。

在此,再介绍一次。

所用按键为标准B3F—1000系列,结构图如图7所示。

PCB板上SW1,SW2,SW3,SW4,SW5为按键,其中SW1为复位开关,其他的为控制作用的按键。

按键的机理以SW5为例阐述,其他类同。

按键的3引脚一是直接分别与RA1,RA2,RA3,RA4相连二是通过四个470Ω的电阻与电源相连。

按键1引脚分别与地相连。

当不按按键的时候,RA4通过R19电阻与+5V电源相连,即此时RA4的输入为高电平,即1。

当按键SW5按下时,RA4通过按键的连接与地相连,此时RA4的输入为低电平,即0。

通过SW5按键控制RA4的高低电平。

程序可监控RA4的状态,来控制电机。

发现RA4高电平则正转,发现RA4低电平则反转。

精彩文档.

实用标准文案

按键图图7

引脚。

此按键3板所示,按键右下方方形孔为PCB1引脚,左上方为如引脚。

1与3只用到IN4007

、5结,有阳极和阴极所示),通常它包含一个8PN整流二极管(如图

区P区的载流子是电子。

外加使区相对NP两端。

区的载流子是空穴,N),称为为正的电压时,能通过大电流,具有低的电压降(典型值0.7V正向导通状态。

若加相反的电压,则反向电流很小(反向漏电流),称为反向阻断状态。

整流二极管具有明显的单向导电性。

有白色线圈的为负极。

所示。

二极管,组成桥式电路。

如图四个IN40079

精彩文档.

实用标准文案

8IN4007

桥式电路图9

,反向截止时无电IN4007在正向导通时,其电压为0.59V经测定,压。

这里的整流二极管主要起保护的作用。

当有个过冲信号,如电压过打开,避免高电压冲击直流电机,将其损坏,信号流向电源,D2高,此时打开,避免低电压冲击直流电机。

信号此而不是电机。

若是电压过低,D4时流向了地。

L293D

6.精彩文档.

实用标准文案

L293D采用16引脚DIP封装(如图10所示),其内部集成了双极型H-桥电路。

这种双极型脉冲调宽方式具有很多优点,如电流连续;电机可四角限运行;电机停止时有微振电流,起到“动力润滑”作用,消除正反向时的静摩擦死区:

低速平稳性好等。

L293D通过内部逻辑生成使能信号。

H-桥电路的输入量可以用来设置马达转动方向,使能信号可以用于脉宽调整(PWM)。

电机需要3个控制信号12EN、1A、2A,其中12EN是使能信号,1A、2A为电机转动方向控制信号,1A、2A分别为1,0时,电机正转,反之,电机反转。

选用一路PWM连接12EN引脚,通过调整PWM的占空比可以调整电机的转速。

引脚图图10L293D12EN高电平有效,HEATSINKANDGROUND接地,VCC1与VCC2接电源。

1A输入高电平则1Y输出高电平。

1A输入低电平则1Y输出低电平。

2A2Y,3A3Y,4A4Y关系类同。

2.2驱动电路

光耦1脚通过四个470Ω的电阻分别与电源连接。

三个光耦的2脚(DC1,DC2,DC3)分别于RD4,RD5,RD6连接。

光耦的4脚与电源连接。

光耦的3脚分别通过三个1KΩ与驱动芯片L293NE连接。

然后驱动芯片L293NE的两个输出引脚引出通过桥式整流电路连上直流电机。

如图11所示。

精彩文档.

实用标准文案

驱动电路图11

按键控制电路2.3

相连二是通过四个,RA4RA3RA1,RA2,按键的3引脚一是直接分别与1引脚分别与地相连。

470Ω的电阻与电源相连。

按键SW4来使电机反转。

正常状态下,为正转,通过按键程序编写3工作原理3.1

四个RA3RA2,RA0L293NE来驱动直流电机。

,RA1,本次实验主要利用RD2来使直流电机转动。

RD0,RD1,输入信号,通过高低电平控制”文件夹。

工程文件请参考“DC_MOTOR所示。

供电。

如图+5V12与原厂电路板的连接:

+5V电源由原厂电路板(右下方)连GND+5VGND+5VJ6自制板(左下方)的,分别与原厂电路板,精彩文档.

实用标准文案

接。

两个电路板的RD4,RD5,RD6分别相连(使能与两个输入信号接入自制板中),同时,RA4也连起来(按键信号接入自制板中)。

如图13所示。

自制板J2(右上方)的RD4,RD5,RD6分别与原厂电路板的RDPORT(中间靠右一些)的4,5,6连接。

自制板J5的RA4(右下方)与原厂电路板的RAPORT4(中间靠右一些)连接。

直流电机的两个引脚与J7即DCMOTOR连接。

如图14所示。

电机的L,R引脚分别与J7的左(即1),右(即2)引脚相连。

输入输出口的连接图12

精彩文档.

实用标准文案

电源的连接13图

电机的连接14图

精彩文档.

实用标准文案

3.2程序书写过程

程序如下:

#include

voiddelay(unsignedintx);

voidmain()

{

TRISD=0;//定义D端口为输出口

TRISA=0Xff;//定义A端口为输出入口

PORTDbits.RD4=0;//使能位初始化为0

PORTDbits.RD5=0;//电机的左引脚控制信号初始化为0

PORTDbits.RD6=0;//电机的右引脚控制信号初始化为0

while

(1)

{

PORTDbits.RD4=1;//使能位设置为1,使能电机,使其工作

if(PORTAbits.RA4==0)

{

delay(10);

if(PORTAbits.RA4==0)

{

PORTDbits.RD5=1;

PORTDbits.RD6=0;

}

精彩文档.

实用标准文案

}

else

{

PORTDbits.RD5=0;

PORTDbits.RD6=1;

}

}

}

voiddelay(unsignedintx)

{

unsignedinta,b;

for(a=x;a>0;a--)

for(b=54;b>0;b--);

}

该程序主要包括初始化模块,控制模块,以及延时模块。

1、初始化模块

主要是端口初始化。

输入端RA的所有端口设置为高电平即1,为输入状态。

RD的所有端口设为低电平即0,为输出状态。

RD4,RD5,RD6初始化为0,清空状态,以便后面的赋值。

程序如下所示:

TRISD=0;//定义D端口为输出口

TRISA=0Xff;//定义AD端口为输出入口

PORTDbits.RD4=0;//使能位初始化为0

PORTDbits.RD5=0;//电机的左引脚控制信号初始化为0

PORTDbits.RD6=0;//电机的右引脚控制信号初始化为0

精彩文档.

实用标准文案

2、控制模块

控制模块主要是扫描键盘的变化,根据相应键盘的变化,来使直流电机转动。

如果SW5没有按下,正转。

如果SW5按下,则反转。

while

(1)表示一直循环下去。

程序如下所示:

while

(1)

{

PORTDbits.RD4=1;//使能位设置为1,使能电机,使其工作

if(PORTAbits.RA4==0)若SW5按键按下则反转

{

delay(10);

if(PORTAbits.RA4==0)

{

PORTDbits.RD5=1;

PORTDbits.RD6=0;

}

}

elseSW5按键没有按下则正转

{

PORTDbits.RD5=0;

PORTDbits.RD6=1;

}

}

是否有按键按下,有防抖动的作用。

如果语句判断if其中,两个SW5PORTDbits.RD5=1;

也SW5则,PORTAbits.RA4==0实确就下按被则,精彩文档.

实用标准文案

PORTDbits.RD6=0;则电机左引脚高电平,右引脚低电平,反转。

反之,即没有按键按下,则电机左引脚低电平,右引脚高电平,正转。

3、延时模块

标准的延时程序,通过循环语句来延时。

此程序对应4M晶振时,unsignedintx中输入的数字,即为延时的毫秒数。

voiddelay(unsignedintx)

{

unsignedinta,b;

for(a=x;a>0;a--)

for(b=54;b>0;b--);

}

参考资料

以下是本文中的主要参考资料清单:

[1]MuhammadAliMazidi,RolinD.McKinlay,DannyCausey.李中华,张雨浓,陈卓怡等译.PIC技术宝典[M].北京人民邮电出版社,2008.

[2]MykePredko著.胡光华译.PIC微控制器基础与实践[M].北京:

科学出版社,

精彩文档.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1