欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于单片机和delhi串行通信的步进电机控制.docx

    • 资源ID:846670       资源大小:566.81KB        全文页数:52页
    • 资源格式: DOCX        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机和delhi串行通信的步进电机控制.docx

    1、基于单片机和delphi串行通信的步进电机控制设计 中南大学摘 要在现代电子产品中,步进电机广泛应用于ATM机、喷绘机、刻字机、写真机、喷涂设备、医疗仪器及设备、计算机外设及海量存储设备、精密仪器、工业控制系统、办公自动化、机器人等领域。所以步进电机的控制是一门很实用的技术。本实验主要是基于STC89C52RC单片机和delphi串行通信的步进电机控制的设计。同时还进行了proteus仿真设计和虚拟串行通信。本设计的主要思路是通过对DELPHI界面的控制,通过串行通信实现对单片机的控制,由单片机产生脉冲信号,最终实现对步进电机的控制。同时由单片机把步进电机实时运行状况经串口反馈给计算机,在所编

    2、写的DELPHI界面上显示和监控。Delphi软件是Borland公司推出的快速应用开发工具。它具有功能强大、易于学习和使用、编程效率高以及易于调试等特点。串行通信是指外设和计算机间使用数据信号线,数据在数据信号线上按位进行传输,每一位数据都占据一个固定的时间长度。此系统可以通过键盘输入相关数据, 并根据需要, 实时对步进电机工作方式进行设置, 具有实时性和交互性的特点。该设计可应用于步进电机控制的大多数场合关键词:步进电机,STC89C52RC,delphi,串行通信,proteus仿真目录摘 要I第1章工程训练设计任务11.1工程训练设计的目的和要求11.2工程训练设计设备环境11.3工程

    3、训练设计的内容11.4课题开发与设计方向2第2章绪论22.1引言22.2步进电机常见的控制方案与驱动技术简介32.2.1 常见的步进电机控制方案32.3步进电机驱动42.3.1 单电压驱动52.3.2 双电压驱动62.3.3 高低压驱动62.4步进电机工作原理7第3章系统总体设计93.1整体方案设计93.2系统的方案简述与设计要求103.3系统的组成及其对应功能简述103.4通信系统12第4章系统硬件设计134.1单片机的选择144.2单片机接口设计144.3显示模块设计154.4独立键盘设计174.5RS-232与单片机通讯17第5章系统软件设计185.1下位机(单片机)软件设计185.1.

    4、1 系统软件主流程图185.1.2 系统初始化流程图195.1.3 按键子程序195.1.4 典型程序模块及典型编程技巧分析215.2上位机软件(delphi界面)设计235.2.1 系统所用组件235.2.2 应用软件的具体操作步骤:27第6章调试296.1硬件调试296.2软件调试306.3硬件软件连接调试31第7章心得体会32参考文献33附录347.1单片机程序347.2Delphi程序428面lphi计了四 单元,位变量的处理和数据传送。494949494949494949494949494949494949494949494949494949494949494949494949494

    5、94949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949494949 基于单片机和delphi串行通信的步进电机控制设计 中南大学 第1章 工程训练设计任务1.1 工程训练设计的目的和要求自动化工程训练是自动化专业学生在完成自动控制理论、单片机原理及应用、计算机控制技术等专业课程学习后的一个重要实践环节,其目的主要在于使学生掌握自动化技术的实际工程应用知识,对典型控制系统的硬件、软件进行针对性的设计和调试,进一步拓宽知识面,达

    6、到提高学生独立解决实际工程问题能力的目的。因此,本工程训练必须紧密联系实际,强调解决实际问题的能力,学生要着重学会面对一个实际问题,收集资料(包括网上检索),学习新的知识,如何利用已有的实验装置、实验条件等制定解决问题的方案并通过实践不断地去分析和解决前进道路上的问题,最终完成课程设计的实验验收。本次设计,要求在两周内独立设计,完成老师所分配的任务(学生也可自定设计任务,在设计指导教师认可的前题下,进行设计并完成全部要求的内容)。课程设计结束时,要求每人提交课程设计报告一份(包括电子稿),并进行成果现场演示。本次设计任务是:某冶金机械厂全厂总降压变电所的电气设计。1.2 工程训练设计设备环境硬

    7、件:1、 微机32位接口实训平台2、 基于单片机USB接口技术实验平台3、 基于STC89C52RC单片机实验系统软件:Windows xp操作系统、Keil 开发软件、Proteus虚拟软件等。1.3 工程训练设计的内容1、了解课程设计任务书所规定的设计内容。2、查阅资料文献,了解所选题目的具体要求、国内外现状,熟悉实验装置的结构、功能,看懂现有的技术、工程图纸(电气原理图、工程施工图)。3、设计报告中涉及的系统中各主要部分的功能、工作原理。4、针对实际的实验装置进行系统实验,包括设计实验方法、步骤、故障分析与排除。注意在调试过程中需注意人员及实验设备的安全,爱护实验室公共财产,遵守实验室有

    8、关规定。5、总结实验数据,分析结果,得出结论,撰写5000字以上的设计报告。1.4 课题开发与设计方向基于STC89C52RC单片机实验系统的综合实验应用开发与设计:要求在掌握相关基础性实验项目的基础上,完成综合性实验项目,并在此基础上增加键盘输入功能、数据显示功能和通信功能等。经过研究讨论,将课程任务定为:基于单片机和delphi串行通信的步进电机控制。第2章 绪论2.1 引言步进电动机又称脉冲电动机或阶跃电动机,国外一般称为Steppingmotor、 Pulse motor或Stepper servo,其应用发展已有约80年的历史。步进电机是一种把电脉冲信号变成直线位移或角位移的控制电机

    9、,其位移速度与脉冲频率成正比,位移量与脉冲数成正比。步进电机在结构上也是由定子和转子组成,可以对旋转角度和转动速度进行高精度控制。当电流流过定子绕组时,定子绕组产生一矢量磁场,该矢量场会带动转子旋转一角度,使得转子的一对磁极磁场方向与定子的磁场方向一着该磁场旋转一个角度。因此,控制电机转子旋转实际上就是以一定的规律控制定子绕组的电流来产生旋转的磁场。每来一个脉冲电压,转子就旋转一个步距角,称为一步。根据电压脉冲的分配方式,步进电机各相绕组的电流轮流切换,在供给连续脉冲时,就能一步一步地连续转动,从而使电机旋转。步进电机每转一周的步数相同,在不丢步的情况下运行,其步距误差不会长期积累。在非超载的

    10、情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,同时步进电机只有周期性的误差而无累积误差,精度高,步进电动机可以在宽广的频率范围内通过改变脉冲频率来实现调速、快速起停、正反转控制等,这是步进电动机最突出的优点。正是由于步进电机具有突出的优点,广泛应用在各种自动化控制系统中。随着微电子和计算机技术的发展,步进电机的需求量与日俱增,在各个国民经济领域都有应用。比如在数控系统中就得到广泛的应用。目前世界各国都在大力发展数控技术,我国的数控系统也取得了很大的发展,我国已经能够自行研制开发适合我国数控机床发展需要的各种档次的数控系统。近年来由于微型计算机方面的快速发展

    11、,使步进电机的控制发生了革命性变革。优点明显的步进电机被广泛应用在电子计算机的许多外围设备中,例如打印机,纸带输送机构,卡片阅读机,主动轮驱动机构和存储器存取机构等,步进电机也在军用仪器,通信和雷达设备,摄影系统,光电组合装置,阀门控制,数控机床,电子钟,医疗设备及自动绘图仪,数字控制系统,工具机控制,程序控制系统以及许多航天工业的系统中得到应用。因而,对于步进电机控制的研究也就显得尤为重要了。2.2 步进电机常见的控制方案与驱动技术简介2.2.1 常见的步进电机控制方案 1、基于电子电路的控制步进电机受电脉冲信号控制,电脉冲信号的产生、分配、放大全靠电子元器件的动作来实现。由于脉冲控制信号的

    12、驱动能力一般都很弱,因此必须有功率放大驱动电路。步进电机与控制电路、功率放大驱动电路组成一体,构成步进电机驱动系统。此种控制电路设计简单,功能强大,可实现一般步进电机的细分任务。这个系统由三部分组成:脉冲信号产生电路、脉冲信号分配电路、功率放大驱动电路。系统组成如图1.1所示。功率放大驱动电路脉冲控制器环形分配器步进电机图1.1基于电子电路控制系统此种方案即可为开环控制,也可闭环控制。开环时,其平稳性好,成本低,设计简单,但未能实现高精度细分。采用闭环控制,即能实现高精度细分,实现无级调速。闭环控制是不断直接或间接地检测转子的位置和速度,然后通过反馈和适当的处理,自动给出脉冲链,使步进电机每一

    13、步响应控制信号的命令,从而只要控制策略正确电机不可能轻易失步4。该方案多通过一些大规模集成电路来控制其脉冲输出频率和脉冲输出数,功能相对较单一,如需改变控制方案,必须需重新设计,因此灵活性不高。2、基于单片机的控制采用单片机来控制步进电机,实现了软件与硬件相结合的控制方法。用软件代替环形分配器,达到了对步进电机的最佳控制。系统中采用单片机接口线直接去控制步进电机各相驱动线路。由于单片机的强大功能,还可设计大量的外围电路,键盘作为一个外部中断源,设置了步进电机正转、反转、档次、停止等功能,采用中断和查询相结合的方法来调用中断服务程序,完成对步进电机的最佳控制,显示器及时显示正转、反转速度等状态。

    14、环形分配器其功能由单片机系统实现,采用软件编程的办法实现脉冲的分配。本方案有以下优点:(1)单片机软件编程可以使复杂的控制过程实现自动控制和精确控制,避免了失步、振荡等对控制精度的影响;(2)用软件代替环形分配器,通过对单片机的设定,用同一种电路实现了多相步进电机的控制和驱动,大大提高了接口电路的灵活性和通用性;(3)单片机的强大功能使显示电路、键盘电路、复位电路等外围电路有机的组合,大大提高系统的交互性5。2.3 步进电机驱动步进电动机驱动器的主要构成如图3.1所示,一般由环形分配器、信号处理级、推动级、驱动级等各部分组成,用于功率步进电动机的驱动器还需要有多种保护电路。环形分配器信号放大与

    15、处理推动级驱动级保护图3.1 步进电动机驱动器构成环形分配器用来接受来自控制器的CP脉冲,并按步进电动机状态转换表要求的状态顺序产生各相导通或截止的信号。每来一个CP脉冲,环形分配器的输出转换一次。同时,环形分配器还必须接受控制器的方向信号,从而决定其输出的状态转换是按正序或者反序转换,决定了步进电动机的转向。因此,步进电动机转速的高低、升速或降速、起动或停止都完全取决于CP脉冲的有无或频率的高低。信号放大与处理的作用是将环分输出信号加以放大,变成足够大的信号送入推动级。信号处理是实现某些转换、合成等功能,产生斩波、抑制等特殊功能的信号,从而产生特殊功能的驱动。本级还经常与各种保护电路、各种控

    16、制电路组合在一起,形成较高性能的驱动输出。推动级的作用是将较小的信号加以放大,变成足以推动驱动级的较大的信号。有时推动级还承担电平转换的作用。保护级的作用是保护驱动级的安全。一般可根据需要设置过电流保护、过热保护、过压保护、欠压保护等。2.3.1 单电压驱动单电压驱动是通过改变电路的时间常数以提高电机的高频特性。它的优点是结构简单、成本低;缺点是串接电阻器的做法将产生大量的能量损耗,尤其是在高频工作时更加严重,因而它只适用于小功率或对性能指标要求不高的步进电机驱动。单电压串电阻驱动是在单电压驱动技术的基础上为电枢绕组回路串入电阻,用以改善电路的时间常数以提高电机的高频特性。它提高了步进电机的高

    17、频响应、减少了电动机的共振,也带来了损耗大、效率低的缺点。这种驱动方式目前主要用于小功率或启动、运行频率要求不高的场合。图3.3 单电压串电阻驱动的原理图图3.2 单电压驱动的原理理图2.3.2 双电压驱动双电压驱动的基本思想是在较低频段用较低的电压驱动,而在高频段用较高电压驱动,原理线路见图3.4所示。电源直接接到由大功率管和二极管组成的电源转换开关上。当关断时,低压电源通过给电路提供驱动电压,当导通时,高压电源通过给电路提供驱动电压,处于反向截止状态,低压电源自动停止供电。图3.4 双电压驱动的原理图2.3.3 高低压驱动高低压驱动是指不论电动机的工作频率是多少,在导通相的前沿用高电压供电

    18、来提高电流的上升沿斜率,而在前沿过后采用低电压来维持绕组的电流,即采用加大绕组电流的注入量以提高出力,而不是通过改善电路的时间常数来使矩频性能得以提高。但是使用这种驱动方式的电机,其绕组的电流波形在高压工作结束和低压工作开始的衔接处呈凹形,致使电机的输出力矩有所下降。这种驱动方式目前在实际应用中还比较常见。图3.5 高低压驱动的原理图2.4 步进电机工作原理步进电机的工作就是步进转动,其功用是将脉冲电信号变换为相应的角位移或是直线位移,就是给一个脉冲信号,电动机转动一个角度或是前进一步。步进电机的角位移量与脉冲数成正比,它的转速与脉冲频率(f)成正比,在非超载的情况下,电机的转速、停止的位置只

    19、取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。如下所示的步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。图2.1是该四相反应式步进电机工作原理示意图。 基于单片机和delphi串行通信的步进电机控制设计 中南大学图2.1四相步进电机步进示意图开始时,开关SB接通电源,SA、SC、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1

    20、、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。单四拍、双四拍与八拍工作方式的电源通电时序与波形分别如图2.2所示:图2.2 步进电机工作时序波形图基于单片机和delphi串行通信的步进电机控制设计 中南大学第3章 系统总体设计3.1 整体方案设计显示系统单片机通信系统驱动器步进电机步进电机的控制系统主要由单片机STC89C52RC、电机驱动芯片L298N,串口方式的共阳LED显示电路(由4片级联的74LS164 驱动)

    21、 、电源和时钟电路等几个单元组成(如图21):图21系统整体方案设计借助于STC89C52RC中内置的看门狗,可使系统在失控时恢复正常运行。整个系统外围元件少,具有结构简单、成本低廉、可靠性高、使用方便、通用性强等特点。在实际应用中,也可采用大功率的管子来代替L298N对步进电机进行驱动,成本比较低,缺点是管子的特性有一定差异,对驱动效果有一定的影响。本设计是用所学到的DELPHI程序设计软件,设计出一个应用程序界面使计算机与单片机相通讯来控制一台步进电机。在计算机上就可以方便的控制步进电机,使步进电机能够可靠实现正反转和停止。记录出步进电机所走的步数和显示出步进电机此时此刻所走的状态。3.2

    22、 系统的方案简述与设计要求本设计采用单片机STC89C52RC来作为整个步进电机控制系统的运动控制核心部件,采用了电机驱动芯片L298及其外围电路构成了整个系统的驱动部分,再加上作为执行部件的步进电机来构成了一个基本的步进电机控制系统。系统的具体功能和要求如下: 1.单片机最小系统板的设计; 2.设计兼有两相两拍和两相四拍的脉冲分配器; 3.实现步进电机的启停、正转、反转控制; 4.驱动电路可提供电压为12V,电流为0.3A的驱动信号; 5.能实现步进电机的转速调节,最低转速为25转/分,最高转速为100转/分; 6.步进电机的转速由数码管显示; 7.键盘扫描电路的设计3.3 系统的组成及其对

    23、应功能简述整个系统的组成包括单片机最小系统,电机驱动模块,串口下载模块,数码管显示模块,电机驱动电流检测模块,独立按键等模块组成。具体框图如图3.1所示:图3.1系统总体框图单片机最小系统作为整个系统的控制核心,它主要负责产生控制步进电机转动的脉冲,通过单片机的软件编程代替环形脉冲分配器输出控制步进电机的脉冲信号,步进电机转动的角度大小与单片机输出的脉冲数成正比步进电机转动的速度与输出的脉冲频率成正比,而步进电机转动的的方向与输出的脉冲顺序有关。同时单片机系统还负责处理来自电机驱动电流检测模块检测到的电流值。与此同时,单片机将会把电机转速,电机的转动方向,以及电流检测模块检测到的电机驱动的电流

    24、通过数码管显示出来。电机驱动模块负责将单片机发给步进电机的信号功率放大,从而驱动电机工作。串口下载模块主要是负责实行计算机和单片机之间的通信,将在计算机里面编写好的程序下载到单片机芯片当中。数码管显示模块就主要是显示电机转速,电机转向,和通过电机的电流等系统的实时信息。电机驱动电流检测模块主要是检测通过电机驱动芯片的电流,然后通过运放将检测到的信号放大,最后将放大后的信号通过模数转换芯片ADC0804处理后送给单片机。独立按键作为一个外部中断源,和单片机端口连接,通过它设置了电机的正转,反转,加速,减速,显示电机电流等功能。采用了中断和查询相结合的方法来调用中断服务程序,完成了对步进电机的最佳

    25、的及时的控制。本节主要是在第一章和第二章的基础上引出了本论文将要采用的设计方案,并详细的清楚的一条条列出了设计要实现的基本设计要求。然后是基于我的设计方案,比较简单的但有条理的描述了系统的各个部分的组成以及其对应的基本功能。通过这一章的内容,我们能对本设计有一个简单的总体的把握,既是能清楚的知道本题目的设计内容,设计方法,以及最终的预期目标。3.4 通信系统目前RS-232是计算机与通信工业中应用最广泛的一种串行接口,考虑到计算机有RS-232接口,可以很方便地与计算机之间通信,该系统通讯模块选用RS-232串行数据接口在电气特性上RS-232采用负逻辑,要求高、低两信号间有较大的幅度,标准如

    26、下:逻辑1为-3-15V;逻辑0为315 V;而单片机串口信号电平为TTL电平;逻辑1为大于3.6V逻辑0为小于0.3V图 RS232串口串口标准是种在低速率串行通讯种增加通讯距离的单端标准。RS-232采取不平衡传输方式,即单端通讯。其收发端的数据信号都是相对于地信号的。所以其共模抑制能力差,再加上双绞线的分布电容,其传输距离最大约为15M,最高速率为20KBPS,且其只能支持点对点通信。由于RS-232信号必须进行二者之间的电平转换,在此使用集成电平转换芯片MAX232来进行RS-232/TTL电平转换,MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单

    27、电源供电。内部结构基本可分三个部分: 第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。 第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。 其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。 8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。 TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DP9插头;DP9插头的RS-232数据

    28、从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。 第三部分是供电。15脚DNG、16脚VCC(+5v)。第4章 系统硬件设计系统硬件设计结构图如下:图4.1 硬件电路设计图4.1 单片机的选择图4.2 STC89C52RC芯片本设计所用的STC89C52RC是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和I

    29、SP Flash存储单元,功能强大的微型计算机的STC89C52RC可为许多嵌入式控制应用系统提供高性价比的解决方案。STC89C52RC具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。4.2 单片机接口设计STC89C52RC单片机中两条主电源引脚,两条外接晶体引脚,4条控制电源复位引脚,32条I/O引脚。其中19脚、20脚外接晶振11.0592MHZ及两个30P电

    30、容,9脚外接复位电路,40脚、20脚分别接电源正负极,31脚接+5V电源,以上所述是保证单片机能正常工作的外接条件。P0口:共8条引脚,即3932脚,是双向8为三态I/O口。其中P0.0到P0.4控制步进电机驱动器,通过P0.0发出的时钟脉冲来控制步进电机的起停,通过控制P0.0口始终脉冲的快慢来实现对步进电机的定速控制,通过P0.0时钟脉冲的次数来实现对步进电机的定位控制。P0.1口控制步进电机的正反转,步进电机的驱动器根据P0.1口的时钟脉冲来改变步进电机线圈励磁的顺序,以此来改变其正反转。P1口:共8条引脚,即18脚,P1口是一个带有内部上拉电阻的8为双向I/O口。在EPROM编程和程序

    31、验证时,他接收低8位地址,能驱动4个LSTTL输入。P1口是显示系统段码的控制端,能驱动74HC574工作。P2口:共8条引脚,即18脚,P2口是一个带有内部上拉电阻的8为双向I/O口。在EPROM编程和程序验证时,他接收低8位地址,能驱动4个LSTTL输入。P2口是独立按键系统的控制端,能驱动74HC574工作。P3口:共8条引脚,即1017脚,P1口是一个带有内部上拉电阻的8为双向I/O口。P3口的每个引脚都有各自的第二功能。P3.0口的第二功能时RXD,既串行数据接收端,P3.1口的第二功能是TXD,既串行数据发送端,P3.0、P3.1在系统中起着与计算机互传数据的作用,是步进电机通信控

    32、制的主要端口。4.3 显示模块设计图4.3 显示模块部分本电路显示系统有一个八位共阴数码管和两个74HC574芯片组成,在单片机系统中,通常用数码显示器来显示各种数字或符号。由于它具有显示清晰、高亮度、使用电压低、寿命长的特点,因此使用非常广泛。8位共阴数码管的管脚分配如下图3.5所示:图4.4四位共阳数码管管脚定义数码管的管脚排列:从数码管的正面观看,左下角的那个脚为1脚,从1脚开始,按照逆时针方向排列依次是1脚到12脚,其中12、9、8、6为公共角,为位选信号输入端。剩余的八个脚是段选信号输入端,其对应方式是A-11、B-7、C-4、D-2、E-1、F-10、G-5、DP-3。只有详细的了

    33、解了数码管的管脚定义,以及段选位选情况,我们才能通过编程对其正常的显示进行很好的控制。在本设计当中采用了数码管动态扫描的方式进行显示,下面我们对数码管动态扫描显示作一详细介绍。数码管动态显示介面是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp 的同名端连在一起,另外为每个数码管的公共极COM增加位元选通控制电路,位元选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位元选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位元就显示出字

    34、形,没有选通的数码管就不会亮。通过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位元数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O口,而且功耗更低。4.4 独立键盘设计图4.5 独立键盘部分本设计一共设计了六个按键,分别为启动,停止,加速,减速,正向和反向六个按键。此时按键的工作原理是按下按键之后就相当于是把对应的端口的电势拉低。该电路采用独立式键盘,就

    35、是每个按钮单独占一根I/O口线,每根I/O口线的按键不会影响其它的I/O口线上的工作状态。因此,通过检测输入线的电平状态可以很容易判断哪个键被按下。独立式键盘的优点是电路配置灵活,软件结构简单,并且能同时检测到多个键被按下的情况。但是每个按键需占用一个I/O口,在按键数量多时,I/O的浪费大,电路结构复杂。本电路由上拉电阻和按键组成,对每一个键来讲,当键没有被按下时单片机相应的引脚上的电平为高电平,当键被按下时,单片机相应的引脚的电平为低电平。其中,S1是启动/停止安键,S2是正转按键,S3是反转按键,如图5所示。在处理按键程序前就先去抖动,防止因按键时产生的机械抖动而错误的重复执行相应程序。

    36、所有按键处理程序都是在等按下后执行的。这些在软件编设计部分都会有说明。4.5 RS-232与单片机通讯首先用RS-232与单片机相连接来通讯。单片机控制板用来发送二进制数控制驱动电路工作,所发送的二进制是根据驱动电路的原理和步进电机的特性说明来确定的,控制板上可以显示出步进电机所走的步数和状态。驱动电路是由八个三极管所组成的桥电路,根据三极管的开关特性来控制步进电机的端口A,B,C,D的输出二进制。本设计所用的是一台两相四拍的步进电机,AC为一相,BD为一相,正转流程为AB -BC-CD -DA在返回,所以端口所送的二进制为1100,0110,0011,1001。如果反转时先送DA最后再送BA

    37、,二进制同样与上面相反。RS-232是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的。RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。其传送距离最大约为15米,最高速率为20kb/s,并且RS-232是为点对点(即只用一对收、发设备)通讯而设计的。所以,RS232只适合于本地通讯使用。第5章 系统软件设计5.1 下位机(单片机)软件设计本系统的软件设计主要分为系统初始化、延时子程序、按键响应程序,数码管显示程序,读ADC0804子程序及控制脉冲输出几部分,事实上每一部分都是紧密相关的,每个功能模块对于整体设计都是非常重要,单片

    38、机AT89S51通过软件编程才能使系统真正的运行起来,软件设计的好坏也直接决定了系统的运行质量。程序流程图的设计遵循自顶向下的原则,即从主体遂逐步细分到每一个模块的流程。在流程图中把设计者的控制过程梳理清楚。具体程序的讲解将在本章各节做详细讲解。5.1.1 系统软件主流程图当给系统供电以后,通过单片机复位电路对系统进行上电复位系统经过初始化以后,便开始执行按键查询等待相应的操作,当有按键按下的时候程序便调用并执行相应的子程序,其具体的主流程图4.1如下所示:图5.1主程序图5.1.2 系统初始化流程图对相应的系统参数进行初始化,包括系统上电默认运行参数设定,包括两相四拍的工作方式,初始速度档位

    39、是30转/分,系统中断设定,定时器设定,载入定时器初值和默认的工作参数等,具体流程图如图4.2所示。图5.2系统初始化流程图5.1.3 按键子程序1、延时子程序:在本延时子程序当中每调用一次延时子程序延时时间是1毫秒。2、按键响应子函数:在本设计当中按键的一端接地,另一端接单片机的对应端口,所以当按键按下,既是将单片机对应端口电平拉低。所以在编程的时候判断按键按下是低电平有效。图4.3画出的是电机增速和减速的子程序框图。图5.3增速减速子程序 3、读ADC0804和模式切换程序框图如下图4.4所示,在本设计当中我的模式切换按键只有一个,负责电机的正反转控制,电流控制和电机启动和停止控制。由于编

    40、程的时候设置的系统工作的默认状态是正转,转速30转/分。所以通过连续按模式切换键依次实现的功能是电机反转并显示转速,显示电机电流,系统停止工作,系统正转并显示转速依次切换。编程控制ADC0804工作就主要是负责读和写端口的电平来实现的。图5.4读ADC0804子程序及模式切换子程序4、控制步进电机转动的脉冲输入方式:两相四拍通电方式:正转:ABaBabAbAB反转:ABAbabaBAB两相八拍通电方式:正转:ABBaBaabbAbAAB反转:ABAAbbabaaBBAB5.1.4 典型程序模块及典型编程技巧分析1.主函数模块 主函数MAIN主要是综合调用各子函数,以完成对四项八拍步进电机转速和

    41、转向的控制,并在数码管上实时显示电机的运行状态、转向和转速档位。本次设计的电机转速分为四个档,分为一二三四档,在数码管的档位部分显示,分别显示1,2,3,4。当程序开始运行时,数码管上显示初始状态: -(反转)01(速度为1档)独立按键“5和6” 控制电机转向:程序默认初始态为正转;按下该键,电机可以切换转向,第一个数码管无显示表示电机运行方向为正转;“负号”表示电机运行方向为逆时针。 小键盘“3和4”控制电机开始和暂停两个状态之间的切换:电机转动时按下“3”键,电机停止,当前电机运行参数不变,再次按下“4”时,电机继续按暂停前参数运行。 小键盘“2”控制电机的减速:按下该键,电机减速一档。小

    42、键盘“7”控制电机的加速:按下该键,电机加速一档。即实现了电机的调速,并且可以实现任意档速的切换。2. 键盘扫描与显示子程序模块此子函数是用来扫描独立键盘是否有键按下,当确定某行某列有键按下时,再把相应的键值保存起来。3 .保存键值子程序此函数完成在按下小键盘按键后,将其相应的电机运行状态、转向和转速数值保存起来,以备其它子程序使用。4. 显示键值子程序将保存示值子函数中保存下的电机运行状态、转向和转速值送到数码管上显示。数码管的段位顺序如右图所示:一般来说在一个字节中按照abcdefg dp的顺序放置字型码,比如在一个“共阴极”数码管上要显示“1”,则b、c段需被点亮,因此在段选线中写入60

    43、H。对应规则:a-D7 b-D6c-D5d-D4 e-D3 f-D2g-D1 图5.5 数码管显示dp-D0LED显示器的显示方法有两种静态显示法和动态扫描显示法。静态显示就是每一个显示器各笔画段都要独占具有所存功能的输出口线,CPU把要显示的字符代码送到输出口上,就可以是显示器显示所需的数字后符号。但由于它站用的I/O口线较多,硬件成本高。所以我们选用了动态扫描显示法。6. 清除数码管显示子程序将段位置0即可清除数码管显示,即将00H分别送入A口(驱动LED灯和B口(驱动数码管)便可实验此功能7. 软件延时子程序延时子函数,可供别的程序调用以实现较好的显示和操作效果。读取键盘时要有一定的延时

    44、,来跳过键盘在刚按下时产生的抖动。判断档位,进行相应的延时,注意延时的时候也应每隔一定时间调用keyscan()键盘扫描及显示程序,已保证及时响应键盘输入,和刷新数码管,使数码管常亮。应注意调用子程序前要将CX与AX寄存器的内容入栈进行保护。5.2 上位机软件(delphi界面)设计本项目所用到的软件是Borland公司推出的快速应用开发工具Delphi。它具有功能强大、易于学习和使用、编程效率高以及易于调试等特点。它将可视化应用程序开发环境IDE、面向对象程序设计语言Object Pascal、快速编译器和数据库编程工具完美地结合在一起,使用它可以更直观、更快捷地开发出高质量的应用程序,具有

    45、丰富的组件集、强大的代码自动生成功能和丰富的数据库管理工具等。使用它的集成开发环境,编程人员可以更快地建立应用程序。5.2.1 系统所用组件本项目设计所用到的Delphi组件有,一个RadioGroup1、若干个TButton、六个Shape、三个Tedit、Tlabel、两个Memo、一个StatusBar1和一个串行通讯组件SPComm组件等。目前,利用 Delphi实现串口通信的常用的方法有 3种:一是利用控件,如 MSCOMM控件和 SPCOMM控件;二是使用 API函数;三是调用其他串口通信程序。其中利用 API编写串口通信程序较为复杂,需要掌握大量的通信知识。相比较而言,利用 SP

    46、COMM控件则相对较简单,并且该控件具有丰富的与串口通信密切相关的属性及事件,提供了对串口的各种操作,而且还支持多线程。所以此项目所用到的控件是SPCOMM。实现步骤如下。、实现步骤启动Delphi7.0,创建一个新的应用程序界面,在新窗体Form上放置上述的组件。、设置各个组件的属性根据所要实现的功能设置所用的组件的属性如下:RadioGroup1组件该组件用来选者串口,在组件的Items属性中设置出COM1,和COM2两个端口供用户选者。TButton组件这个组件是用来做各种开关的,有打开串口、关闭串口、正转、和反转、停止、清除发送接受数据等。在打开串口(TButton)组件中的Enabled属性中设置成true、其它的Enabled属性中设置成false,所起的作用是打开应用程序时默认的值有打开串口


    注意事项

    本文(基于单片机和delhi串行通信的步进电机控制.docx)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922