基于单片机的机械手关节直流电机控制电路

更新时间:2024-06-01 19:42:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课 程 设 计

(论文)

题目 基于单片机的机械手关节直流电机

控制电路

班 级 学 号 学 生 姓 名

沈阳航空航天大学

课 程 设 计 任 务 书

课 程 名 称 专业综合课程设计 院(系)专业 班级 课程设计题目 基于单片机的机械手关节直流电机控制电路 课程设计时间:

课程设计的内容及要求:

利用单片机、电路板开发基于单片机的机械手关节直流电机控制电路,实现机械手关节直流电机控制电路,使直流电机对一个机械手壁关节的启、停、正转、反转控制。 具体要求如下:

(1) 按以上要求制定设计方案,并绘制出系统工作框图及程序 流程图; (2) 按要求设计单片机的外围电路,给出电路原理图; (3) 编写主要程序;

(4) 用protus进行仿真,给出仿真电路图;

(5) 单片机仿真器、电路板、电源等硬件正确可靠地连接; (6) 按键控制直流电机进行正反转,使机械手关节活动;

指导教师 年 月 日 负责教师 年 月 日 学生签字 年 月 日

目 录

0前言 .............................................................................................................................................. 1 1总体设计方案 .............................................................................................................................. 1 2.硬件电路设计 ............................................................................................................................. 2

2.1单片机系统 ....................................................................................................................... 2 2. 2独立按键 ........................................................................................................................... 3 2.3 电机驱动 ......................................................................................................................... 4 3.软件设计 ..................................................................................................................................... 6

3.1 按键子程序设计 ............................................................................................................ 8 3.2调速子程序设计 .............................................................................................................. 9 4调试分析 ................................................................................................................................... 10 5.结论及进一步设想 .............................................................................................................. 11 参考文献 ...................................................................................................................................... 11 课设体会 ...................................................................................................................................... 12 附录1 电路原理图 ................................................................................................................. 13 附录2 元件清单 .......................................................................................................................... 14 附录3 程序清单 ........................................................................................................................ 15

沈阳航空航天大学课程设计论文 基于单片机的机械手关节直流电机控制电路

基于单片机的机械手关节直流电机控制电路

摘要:本文设计了由单片机控制的机械手关节直流电机,由单片机、电机驱动芯片、机械手直流电机、控制电机的(正转、反转、启停、调速)键盘组成,主要使用了AT89C52、L298、直流电机主要器件,主要解决方案是利用单片机最小系统设计一个由按键控制的直流电机的在转动来控制机械手关节的运动。 关键字:单片机;直流电机;控制电路。

0前言

着我们工业自动化水平的不断提高,在机械加工和机械制造领域,以及各种装配与包装自动化生长线上,机械手的应用以相当普遍。机械手通常担任着上料,下料等加工任务。由于PLC顺序控制具有系统简单,可靠,控制灵活方便等特点,而且从PLC诞生之日起,其最基本,最普遍的应用领域就是在工业环境下的顺序控制。因此,基于PLC顺序控制的机械手在工业自动化领域中的到广泛的应用。

在实时检测和自动控制的系统中,单片机往往是作为一个核心部件来使用,但仅单片机方面的知识是不够的,还要根据具体的硬件结构,加以不同的辅助芯片,来完成所需要的工作。对于低档产品要求使用操作方便,量程(足够)宽,可靠性高,价格低。而对于中高档产品,则要求有高分辨率常常需要测量频率,通常这些都是较复杂的信号,如含有复杂频率成分、调制的或含有未知频率分量的、频率固定的或变化的、纯净的或叠加有干扰的等等。为了能正确地测量不同类型的信号,必须了解待测信号特性和各种频率测量仪器的性能。

本次所要设计的是一个由单片机控制电机正反转的系统,通过单片机和智能仪器所学的内容实现对电机经行正转与反转的控制,并实现将其对机械手的控制。

1总体设计方案

针对本课题的设计任务,进行分析得到:本次设计用按键控制直流电机的转动,用单片机作为控制芯片从而实现对机械手关节的控制。

该控制系统的设计,在总体上大致可分为以下几个部分:①控制按键部分;②电机驱动部分;③直流电机部分;系统原理图如图1

控制按键 单片机 电机驱动 直流电机 第1页

沈阳航空航天大学课程设计论文 基于单片机的机械手关节直流电机控制电路

图1 系统原理图

整个电路的工作原理是:单片机作为控制芯片,经过软件程序的加载用按键实现对直流电机的正转、反转、启停、调速的控制进而起到对机械手关节的运动的控制。

2.硬件电路设计

本设计通过AT89C52单片机、L298电机驱动芯片,直流电机、按键等实现对电机的控制。硬件原理框图如图2所示。

图2 硬件原理框图

独立按键 A T 8 9 C 52 L 2 9 8 驱动 直流电机 2.1单片机系统

单片机(single-chip microcomputer)是一块集成芯片,但不是一块实现某一个逻辑功能的芯片,而是在这块芯片当中,集成了一个计算机系统。如中央处理器(CPU)、存储器(ROM,RAM)、I/O接口、定时器/计数器、中断系统等。中央处理器是单片机的核心单元,他由运算器和控制器组成,他的主要功能是实现算术运算、逻辑运算、和控制。

51系列是基本型,包括8051、8751、8031、8951.这四个机种区别,仅在于片内程序储存器。8051为4KB ROM,8751为4KB EPROM,8031片内无程序储存器,8951为4KBEPROM。其他性能结构一样,有片内128B RAM,2个16位定时器/计数器,5个中断源。其中,8031性价比较高,又易于开发,目前应用面广泛。

本系统采用CPU为89C52的单片微机,89C52本身带有8K的内存储器,可以在编程器上实现闪烁式的电擦写达几万次以上,比以往惯用8031CPU外加EPROM为核心的单片机系统在硬件上具有更加简单、方便等优点,而且完全兼容MCS 51系列单片机的所有功能。 下面介绍89C52的主要管脚功能如下:VCC(40):电源+5V;VSS(20):接地;XTAL1(19)和XTAL2(18):外接石英晶体振荡器;P0口(32-39):双向I/O口,既可作低8 位既可作低8 位地址和8位数据总线使用,也可作普通I/O口;P1口(1-8):准双向通用I/O口;P2口(21-28):既可作高8位地址总线,也可作普通

第2页

沈阳航空航天大学课程设计论文 基于单片机的机械手关节直流电机控制电路

3.1 按键子程序设计

电机的转动情况由按键控制,实现电机的正转、反转、启停、调速如图8所示

图8 键盘子程序流程图

第8页

沈阳航空航天大学课程设计论文 基于单片机的机械手关节直流电机控制电路

3.2调速子程序设计

本设计的主要思想为利用PWM控制占空比从而达到改变电机速度。 PWM控制原理:

图9为PWM降压斩波器的原理电路及输出电压波形。在图9a中,假定晶体 管V1先导通T1,秒(忽略V1的管压降,这期间电源电压Ud全部加到电枢上),然后关断T2秒(这期间电枢端电压为零)。如此反复,则电枢端电压波形如图9b中所示。电动机电枢端电压Ua为其平均值。

a) b)

图9 PWM降压斩波器原理电路及输出电压波形

α为一个周期T中,晶体管V1导通时间的比率,称为负载率或占空比。使用下面三种方法中的任何一种,都可以改变α的值,从而达到调压的目的:

(1)定宽调频法:T1保持一定,使T2在0~∞范围内变化; (2)调宽调频法:T2保持一定,使T1在0~∞范围内变化 (3)定频调宽法:T1+T2=T保持一定,使T,在0~T范围内变化。 调速子程序中设置了四个速度档如图9所示

第9页

沈阳航空航天大学课程设计论文 基于单片机的机械手关节直流电机控制电路

开始 速度1 N 速度2 N 速度3 N 速度4 Y Y 电机转动 Y 返回

图9 调速子程序流程图

4调试分析

本课程设计在软件、硬件调试方面都出现过问题。

(1)在软件方面由于按键抖动是键盘显示不稳定通过加入延时消抖程序解决了此问题,另外加速程序开始时由于占空比调节较大结果加速效果不明显,而后及时调整占空比比例达到了预期效果。 (2)。在硬件方面由于使用的电机是线圈式的,在从运行状态突然转到停止状态和从顺时针状态突然转到逆时针状态时会产生很大的反向电流,所以在电路中加入了二极管对产生的反向电流进行泄流,保护芯片安全。

第10页

沈阳航空航天大学课程设计论文 基于单片机的机械手关节直流电机控制电路

5.结论及进一步设想

本课设通单片机开发实现了按键对机械手关节直流电机的控制达到了电机正转、反转、启停、调速的目的。整个系统体积较小,价格便宜,操作简单,显示清晰。由于单片机技术发展已经很成熟,我们更多的是借鉴前人的工作,完善我们的设计。这并不是简单意义上的重复,而是消化吸收和创新。

本设计可进一步拓展,可以加入电机测速模块实现对电机转速的显示,将设计进一步智能化。

参考文献

[1]公茂法.MCS—51/52单片机原理与应用. 北京:北京航空航天大学出版2009.3 [2]凌玉华. 单片机原理及应用系统设计.北京:电子工业出版社,2006.4 [3]周润景. 基于PROTEUS的电路及单片机系统设计与仿真.北京:北京航空航天大学出版社,2009.3

[4] 张毅刚. MCS-51单片机应用设计.哈尔滨:哈尔滨工业大学出版社1997 [5].单片机软件设计技术.重庆:科学文献出版社重庆分社,1989

第11页

沈阳航空航天大学课程设计论文 基于单片机的机械手关节直流电机控制电路

课设体会

本课设通过对单片机的开发,实现了基于单片机的机械手关节直流电机的控制,在设计过程中遇到了很多麻烦,所以在网上以及图书馆查了好多资料虽然很累但是学到了好多东西。在设计中运用了新的集成芯片,对硬件电路的工作原理更加深入了解,对智能化集成电路有了新的认识,同时在软件编写方面使我们对各个模块程序的编写,以及函数的调用进一步加强,对KEIL C编程软件,PROTUES电路仿真软件的使用能力有所提高。在以后的课设中还应该加强动手操作能力,在焊接电路时应该掌握好焊接顺序避免出麻烦。

程设计是理论知识与实践完美的结合,对于现代大学生的实践能力是个很好的培养。

第12页

沈阳航空航天大学课程设计论文 基于单片机的机械手关节直流电机控制电路

附录1 电路原理图

第13页

沈阳航空航天大学课程设计论文 基于单片机的机械手关节直流电机控制电路

附录2 元件清单

元件名称 型号 数量 芯片 L298 1 单片机 AT89C52 1 按键 普通按键 4 电阻 R20k欧姆 R10k欧姆 4 1 2 普通电容 C普通电容 22uf 极性电容 C极性电容 10uf 1 晶振片 12MHZ 1 电动机 M直流电动机 1 电源 5V电源 1

第14页

沈阳航空航天大学课程设计论文 基于单片机的机械手关节直流电机控制电路

附录3 程序清单

#include

#define uchar unsigned char #define uint unsigned int sbit PW1=P1^1 ;

sbit PW2=P1^0 ; //控制电机的两个输入 sbit pwm=P1^4;

sbit accelerate=P2^3 ; //调速按键 sbit stop=P2^2 ; //停止按键 sbit left=P2^0 ; //左转按键 sbit right=P2^1 ; //右转按键

#define right_turn PW1=0;PW2=1 //顺时针转动 #define left_turn PW1=1;PW2=0 //逆向转动 #define end_turn PW1=0;PW2=0 //停转 uint t0=58000,t1=2000; //初始时占空比为1/30

uint a=60000; // 设置定时器装载初值 60ms uchar 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)

第15页

沈阳航空航天大学课程设计论文 基于单片机的机械手关节直流电机控制电路

{ flag=0;

end_turn; a=t0; //t0的大小决定着低电平延续时间 TH0=(65536-a)/256;

TL0=(65536-a)%6; //重装载初值 } else {

flag= 1; //这个标志起到交替输出高低电平的作用 if(dflag==0) { pwm=1;

right_turn; //右转 } else { pwm=1;

left_turn; //左转 }

a=t1; //t1的大小决定着高电平延续时间 TH0=(65536-a)/256;

TL0=(65536-a)%6; //重装载初值 } }

void time_init() {

TMOD=0x01; //工作方式寄存器 软件起动定时器 定时器功能 方式1

定时器0

TH0=(65536-a)/256;

TL0=(65536-a)%6; //装载初值 ET0=1; //开启定时器中断使能 EA=1; // 开启总中断 TR0=0; }

第16页

沈阳航空航天大学课程设计论文 基于单片机的机械手关节直流电机控制电路

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) { pwm=0;

TR0=0; //关闭定时器0 即可停止转动 }

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=55000;

t1=5000; //占空比为1/12

第17页

沈阳航空航天大学课程设计论文 基于单片机的机械手关节直流电机控制电路

}

if(count==2) { t0=50000;

t1=10000; //占空比为百分之1/6 }

if(count==3) {

t0=45000;

t1=15000; //占空比为百分之1/4 }

if(count==4) {

t0=35000;

t1=25000; //占空比为百分之5/12 }

if(count==5) { count=0; } } } }

第18页

沈阳航空航天大学课程设计论文 基于单片机的机械手关节直流电机控制电路

}

if(count==2) { t0=50000;

t1=10000; //占空比为百分之1/6 }

if(count==3) {

t0=45000;

t1=15000; //占空比为百分之1/4 }

if(count==4) {

t0=35000;

t1=25000; //占空比为百分之5/12 }

if(count==5) { count=0; } } } }

第18页

本文来源:https://www.bwwdw.com/article/bfn6.html

Top