基于单片机的机械臂控制系统设计与制作
基于单片机的机械手运动控制系统设计说明

毕业论文(设计)材料
题目:基于单片机的机械手运动控制系统
设计
学生:韬
学生学号: 0808020119 系别:电气信息工程系
专业:自动化
届别: 2012届
指导教师:苗磊
填写说明
1、本材料包括师学院本科毕业论文(设计)任务书、开题报告以及毕业论文(设计)评审表三部分容。
2、本材料填写顺序依次为:
(1)指导教师下达毕业论文(设计)任务书;
(2)学生根据毕业论文(设计)任务书的要求,在文献查阅的基础上撰写开题报告,送交指导教师审阅并签字认可;
(3)毕业论文(设计)工作后期,学生填写毕业论文(设计)主要容,连同毕业论文(设计)全文一并送交指导教师审阅,指导教师根据学生实际完成的论文(设计)质量进行评价;
(4)指导教师将此表连同学生毕业论文(设计)全文一并送交评阅教师评阅。
3、指导教师、评阅教师对学生毕业论文(设计)的成绩评定均采用百分制。
4、毕业论文(设计)答辩记录不包括在此表中。
一、毕业论文(设计)任务书
二、毕业论文(设计)开题报告
三、毕业论文(设计)评审表。
本科毕业论文-基于单片机的多自由度机械手臂控制器设计

本科毕业论文-基于单片机的多自由度机械手臂控制器设计摘要:随着自动化技术的不断发展,机械手臂在工业生产中扮演着越来越重要的角色,越来越得到人们的关注。
现代机械手臂控制器尤其是多自由度机械手臂控制器的设计与实现成为了本领域中的研究热点。
本文基于单片机芯片设计了一种多自由度机械手控制器,采用了串行通信的方式从计算机发送命令控制机械手臂的动作。
在硬件设计方面,使用了AT89S52单片机作为主控制器,引入了五个伺服电机控制模块作为机械手的动力源,以及一组角度传感器作为手臂的姿态测量元件。
在软件设计方面,采用C语言编写程序,实现了机械手臂自动运动、复位、姿态检测等功能。
同时,对机械手臂的自动防撞、误操作检测等进行了设计。
最终实验表明,本文设计的多自由度机械手控制器具有较强的动作准确性和鲁棒性。
关键词:多自由度机械手,单片机,控制器,硬件设计,软件设计Abstract:With the continuous development of automation technology, the role of robotic manipulators in industrial production is becoming more and more important, and it has attracted more and more attention from people. The design and implementation of modern robotic controller, especially multi-degree-of-freedom robotic controller, has become a hot research topic in this field.In this paper, a multi-degree-of-freedom robotic arm controller based on MCU chip is designed, and the motion of the robotic arm is controlled by serial communication from the computer. In terms of hardware design, AT89S52 MCU is used as the main controller. Five servo motor control modules are introduced as the power source of the manipulator, and a set of angle sensors are used as the posture measurement element of the arm.In terms of software design, the program is written in C language, and the functions of automatic movement, reset and posture detection of the robotic arm are realized. At the same time, the automatic anti-collision and misoperation detection of the robotic arm are also designed. Finally, the experiment shows that the multi-degree-of-freedom robotic arm controller designed in this paper has strong motion accuracy and robustness.Keywords: multi-degree-of-freedom robotic arm, MCU, controller, hardware design, software design一、引言机器人技术早产业生产中广泛使用,将传统的出产系统向自动化和智能化方向推进。
基于单片机的多自由度机械手臂设计

基于单片机的多自由度机械手臂设计近年来,机器人技术蓬勃发展,越来越多的高新机器人先后亮相。
在各种机器人中,带机械手臂类机器人应用最为广泛。
带机械手臂的机器人能模仿人的肢体动作,代替人的工作,特别是在重物装卸,精细加工中有着非常重要的优势。
机械手臂关节的自由度、灵活性和准确性是机械手臂机器人的工作前提。
文章基于单片机,设计一个小型机器人的一只手臂能在空间四个自由度转动。
加入机械手的机械结构,通过对四个电机的正反转实验论证方案的可靠性和可行性。
标签:单片机;四自由度;机械手臂;电机引言机器手臂作为一种工业技术装备,它能代替人搬运物件或货物分拣操作。
近年来工业机器人在工厂自动化改革中发挥着巨大的作用,代替人处理一些高危险、高危害、高工作负荷的工作,大大加快了生产效率,缩减了生产周期。
然而在这些自动化生产中,机械臂机器人占了最大的比重。
如汽车生产中的无缝焊接,钢厂里的钢材打包分拣,都用到了机器人机械臂。
机器手臂具有三个部分组成:机械臂、控制部分和工作部分。
机械臂的大小,规格决定了机械臂的应用,转角轴等,控制部分工业上一般是工控机,通过编程设计控制机械臂进行相应的操作。
工作部分由具体工作事项决定,如电焊机器人的电焊手,搬运机器人的挂钩。
1 系统功能介绍本设计采用电动式多自由度机器机器手臂模型,应用单片机控制,步进电动机的方式来驱动。
该手臂具有四个关节,每个关节可以前后转动,手臂转动采用4台微型步进电机驱动,可以完成前后左右360度摆臂等简单动作,系统控制图如图1控制部分采用80C51单片机,完成对电机的控制,即完成对手臂转动的控制。
2 软硬件设计机械手臂在动力传动方式上有连杆式、齿轮式和绳索式等。
采用齿轮结构是主流的机械手发展趋势,因为齿轮式机械手臂传动精度高、结构紧、承载高等优点。
随着工业的发展,对机械手臂要求越来越高,机械手臂向多自由度发展。
本设计为了简单起见,选用第三种传动方式——绳索式。
2.1 机械结构4自由度机械臂采用四个步进电机控制,如图2,步进电机1控制底座,实现自由旋转,步进电机2、3、4可自由旋转,完成伸展、收缩等动作。
基于单片机的遥控机械臂设计

摘要机械臂的控制涉及到电子、机械设计、自动控制技术、传感器技术和计算机技术等学科,是一项跨学科的综合控制技术。
现如今工业自动化发展迅速,机械手成为了不可或缺的一部分,它在工业生产等领域的应用越来越广泛。
本设计主要以自主学习为目的,以Atm1280单片机为核心控制舵机的转动来完成机械手的动作。
机械设计部分主要利用Auto CAD来制图,根据所制图纸来手工打造机械手。
程序设计是基于C语言的基础知识来完成,软件主要是运用Arduino 控制板自带的程序开发平台。
本设计以AT89C51 单片机为核心,采用LMD18200 电机控制芯片达到控制步进电机的启停、速度和方向,完成了筛选机械手臂基本要求和发挥部分的要求。
在筛选机械手臂设计中,采用了PWM 技术对电机进行控制,通过对占空比的计算达到精确调速的目的。
关键词:Arduino;单片机;舵机;机械手臂;串口通讯ABSTRACTThe control of the manipulator involves electronic, mechanical design, automatic control technology, the sensor technology and computer technology, discipline, is an interdisciplinary comprehensive control technology. Nowadays industrial automation development is rapid, manipulator became indispensable part in industrial production, it is widely used in the fields of the. This design is mainly for the purpose, the autonomous learning Atmega 1280 singlechip control the rotation of the steering gear to complete the manipulator of actions. Mechanical design of the main use Auto CAD to drawing, according to system made by hand manipulator blueprint.Based on C language program design is the basic knowledge to complete, the software is mainly used to bring program Arduino panel development platform. This design take at89C51 monolithic integrated circuit as a core, uses the LMD18200 motor control chip to achieve the control direct current machine to open stops, the speed and the direction,completed has screened the manipulator essential requirements and the display part request. In screens the manipulator to design, used the PWM technology to carry on the control to the electrical machinery, through the computation achieved the precise velocity modulation to the duty factor the goal.Key words:Arduino;SCM;Steeringgear; Manipulator; Serial communication .目录摘要 (I)ABSTRACT (II)第1章绪论 (1)1.1机械臂的概述 (1)1.2步进电机概述 (3)1.3遥控机械臂发展现状 (4)1.4课题研究任务及工作内容 (6)1.4.1设计(论文)的任务 (6)1.4.2设计(论文)需要重点解决的问题 (6)第2章电路硬件设计 (7)2.1总体设计方案 (7)2.1.1设计思路 (8)2.1.2方案选择 (8)2.1.3系统组成 (10)2.2硬件设计 (10)2.2.1硬件结构 (10)2.2.2机械手臂的组成 (10)2.2.3 机械手臂的分类 (11)2.2.4 机械手尺寸的确定 (12)2.2.5 驱动部分的设计 (12)2.2.6单片机系统 (14)2.2.7电机驱动芯片原理及应用 (15)2.2.8串口通信电路 (17)2.2.9电机驱动电路 (20)2.2.10转速测量电路 (21)第3章电路软件设计 (23)3.1软件结构 (23)3.2系统模块程序 (24)3.2.1步进电机控制模块 (24)3.2.2电机调速模块 (28)3.2.3主程序模块 (31)第4章系统调试 (34)4.1硬件调试设备 (34)4.2软件调试环境 (34)4.3调试项目 (35)4.4调试过程 (35)4.5硬件连接与跳线的配置 (36)4.6实物图 (37)4.7调试结果 (38)结束语 (39)感谢 (40)参考文献 (41)附录 (42)附录A:程序设计 (42)第1章绪论1.1机械臂的概述机械臂(Manipulator)是一种模拟人的手臂而形成的一种非生物结构。
51单片机机械臂设计流程

51单片机机械臂设计流程
设计一个基于51单片机的机械臂需要经过以下几个步骤:
1. 需求分析:明确机械臂需要完成的任务,例如抓取、移动、释放等。
根据任务需求,确定机械臂的关节数量、自由度以及工作范围等。
2. 机械设计:根据需求,设计机械臂的各个关节和结构。
这一步通常需要使用CAD软件(如SolidWorks、AutoCAD等)进行建模和仿真。
3. 控制系统设计:确定使用51单片机作为主控制器,并为其编写控制程序。
根据机械臂的自由度和关节数量,选择合适的电机和驱动器,如步进电机、舵机等。
4. 硬件搭建:根据设计,采购并搭建控制系统所需的硬件,包括51单片机、电机驱动器、传感器等。
同时,也需要设计和制作机械臂的电路板。
5. 软件编程:使用C语言或汇编语言为51单片机编写控制程序,实现对机械臂的精确控制。
这一步需要编写各种算法,如PID控制、模糊控制等,以实现精确的运动控制。
6. 系统调试:在完成硬件搭建和软件编程后,需要进行系统调试,确保机械臂能够按照预期工作。
这一步可能需要反复修改硬件和软件,直到达到满意的效果。
7. 优化和完善:在初步实现机械臂的基本功能后,需要进行优化和完善,以提高机械臂的性能和工作效率。
以上是一个基于51单片机的机械臂设计的基本流程,具体的设计过程可能会因实际需求和条件的不同而有所调整。
浅谈基于单片机的机械手臂控制系统设计

浅谈基于单片机的机械手臂控制系统设计摘要】随着我国近几年来工业化生产水平的不断提高,当前很多大型企业在进行产品生产过程当中,都会将机械手臂应用到产品加工和产品生产中。
而且机械手臂已经成为了当前自动化生产线中的重要组成部分。
随着自动化技术的不断发展,机械手臂的研究与设计工作也在不断的进行但是当前很多企业在进行机械手臂应用过程当中,仅仅只重视机械手臂,如何科学合理的设计却忽略了机械手臂控制系统的设计,因此,本文将会就基于单片机的机械手臂控制系统设计进行分析。
【关键词】单片机机械手臂控制系统设计研究与分析机械手臂是当前我国自动化技术发展过程当中重要的产品。
而且在自动化技术整体发展过程当中,机械手臂的应用,标志着我国当前企业的生产技术生产技术,生产水平迈入了全新的阶段。
而且随着机械手臂的出现,我国当前大部分企业的生产流程,生产技术,生产规划都发生了重大的改变。
很多企业在进行产品生产过程当中,开始运用自动化流水线,对于我国当前的企业而言,属于一种全新的生产方法,它不仅有效地解放了人力,也节约了很多物力与财力,提高了企业的产品生产效率和产品生产质量。
但相对于国外的自动化技术而言,我国当前的自动化技术在发展过程当中仍然存在一些没有解决的问题,其中就包括机械手臂的控制系统设计。
机械手臂控制系统设计工作的开展,是当前很多企业正在深入开展的重要工作,只有针对自动化生产线当中的自动化机械手臂进行控制系统设计,才能够更好的保证生产精度。
一、设计方案在进行机械手臂控制系统设计过程当中,首先要针对机械手臂控制系统内部的硬件结构进行详细的设计,其次针对软件结构进行设计,再进行硬件结构和软件结构设计,完成之后要开展仿真模拟实验。
实际上,机械手臂控制系统是由机械系统和电气系统共同组成的。
而我国当前很多企业在进行机械手臂应用过程当中,针对机械手臂控制系统的设计时,所选择的控制单元是运用单片机进行控制。
有的企业则是运用PLC对机械手臂的应用进行控制。
基于单片机的机械臂控制系统设计与制作

目录课程设计题目及要求第一章绪论1.1 设计题目及要求1.2 设计内容第二章硬件设计2.1 硬件结构图2.2 各模块工作原理及设计2.2.1 控制模块2.2.2 显示模块2.2.3 按键模块2.2.4 舵机模块2.3 软件程序设计第三章硬件制作以及程序的下载调试3.1 电路板的制作3.2 元器件的焊接3.3 程序的下载与调试第四章总结4.1 课程设计体会4.2 奇瑞参观感受课程设计题目及要求题目:基于单片机的机械臂控制系统设计与制作实习内容:1,完成基于单片机的机械臂控制系统原理图和PCB的绘制,在基本要求的基础上自己可以作一定的扩展;2,利用热转印纸、三氯化铁腐蚀液等完成PCB板的制作;3,完成相应电路的焊接和调试;4,完成相应软件程序的编写;5,完成软、硬件的联调;6,交付实习报告。
实习要求:1,两人一组,自由搭配,但要遵循能力强弱搭配、男女搭配、考研和不考研的搭配;2,充分发挥主观能动性,遇到问题尽量自己解决,在基本要求基础上可自由发挥;3,第一次制作电路,电路不可追求复杂;4,注意安全!熨斗、烙铁。
第一章绪论单片机自20世纪70年代问世以来,以其极高的性价比,受到人们的重视和关注,应用广泛,发展迅速。
单片机集体积小、重量轻、抗干扰能力强、环境要求低、价格低廉、可靠性高、灵活性好、开发较为容易等众多优点,以广泛用于工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,无论在民间、商业、及军事领域单片机都发挥着十分重要的作用二十一世纪,随着机械化、自动化水平的不断提高,不仅减轻了劳动强度、提高生产率,而且把人类活动从危险、恶劣环境中替换出来。
而其中机器人技术,显示出极大的优越性;在宇宙探索、海洋开发以及军事应用上具有重要的实用价值。
大力发展机器人技术,一方面能让社会从劳动苦力型转换到福利休闲型,另一方面能极大的提高民众的幸福感。
在新时期的世界各国,随着应用日益广泛,机器人技术将不断发展并走向成熟。
【精品毕设】基于单片机的多自由度机械手臂控制器设计

唐山学院毕业设计设计题目:基于单片机的多自由度机械手臂控制器设计系别:信息工程系班级:11电气工程及其自动化3班*名:*****师:***2015年6月1日基于单片机的多自由度机械手臂控制器设计摘要机械臂控制器作为机械臂的大脑,对于它的研究有着十分重要的意义。
随着微电子技术和控制方法的不断进步,以单片机作为控制器的控制系统越来越成熟。
本课题正是基于单片机的机械臂控制系统的研究。
本文首先介绍了国内外机械臂发展状况以及控制系统的发展状况。
其次,阐述了四自由度机械手臂控制系统的硬件电路设计及软件实现。
详细阐述了机械臂控制系统中单片机及其外围电路设计、电源电路设计和舵机驱动电路设计。
在程序设计中,着重介绍了利用微分插补法进行PWM调速的程序设计。
并给出了控制器软件设计及流程图。
最后,给出了系统调试中出现的软硬件问题,进行了详细的分析并给出了相应的解决办法。
关键词:机械臂单片机自由度舵机PWMDesign of Multi DOF Manipulator ControllerBased on MCUAbstractAs the brain of robot arm, manipulator controller is very important for its research.With the development of microelectronics technology and control method, the control system of MCU is becoming more and more mature.This thesis is based on the research of the manipulator control system of MCU.Firstly,it is introduced the development of the manipulator and the control system at home and abroad.Secondly,it is given the circuit and software design for the four DOF manipulator in this disertation.it is expatiated the Single Chip Microcomputer(SCM),the relative circuit design ,Power circuit design,and driver circuit design of manipulator control system.In the design of the program, the design of PWM speed regulation by differential interpolation is introduced emphatically. The software design and flow chart of the controller are given.Finally,it is presented the problems of hardware and software in practive given resolves.Key word: Manipulator;MCU;DOF;Steering engine;PWM目录1引言 (1)1.1研究的背景和意义 (1)1.2国内外机械臂研究现状 (2)1.2.1国外机械臂研究现状 (2)1.2.2国内机械臂研究现状 (3)1.3机械臂控制器的发展现状 (3)1.4本设计研究的任务 (4)2机械结构与控制系统概述 (5)2.1机械结构 (5)2.2控制系统 (6)2.3系统功能介绍 (8)2.4舵机工作原理与控制方法 (8)2.4.1概述 (8)2.4.2舵机的组成 (8)2.4.3舵机工作原理 (9)3系统硬件电路设计 (11)3.1时钟电路设计 (11)3.2复位电路设计 (11)3.3控制器电源电路设计 (12)3.4舵机驱动电路 (13)3.5串口通信电路设计 (13)4系统软件设计 (14)4.1四自由机械臂轨迹规划 (15)4.2主程序设计 (16)4.3舵机调速程序设计 (17)4.3.1舵机PWM信号 (17)4.3.2利用微分插补法实现对多路PWM信号的输出 (18)4.4初末位置置换子程序 (21)4.5机械爪控制程序 (22)4.6定时器中断子程序 (23)4.6.1定时器T1中断程序 (23)4.6.2定时器T0中断子程序 (24)5系统软硬件调试 (25)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录课程设计题目及要求第一章绪论1.1 设计题目及要求1.2 设计内容第二章硬件设计2.1 硬件结构图2.2 各模块工作原理及设计2.2.1 控制模块2.2.2 显示模块2.2.3 按键模块2.2.4 舵机模块2.3 软件程序设计第三章硬件制作以及程序的下载调试3.1 电路板的制作3.2 元器件的焊接3.3 程序的下载与调试第四章总结4.1 课程设计体会4.2 奇瑞参观感受课程设计题目及要求题目:基于单片机的机械臂控制系统设计与制作实习内容:1,完成基于单片机的机械臂控制系统原理图和PCB的绘制,在基本要求的基础上自己可以作一定的扩展;2,利用热转印纸、三氯化铁腐蚀液等完成PCB板的制作;3,完成相应电路的焊接和调试;4,完成相应软件程序的编写;5,完成软、硬件的联调;6,交付实习报告。
实习要求:1,两人一组,自由搭配,但要遵循能力强弱搭配、男女搭配、考研和不考研的搭配;2,充分发挥主观能动性,遇到问题尽量自己解决,在基本要求基础上可自由发挥;3,第一次制作电路,电路不可追求复杂;4,注意安全!熨斗、烙铁。
第一章绪论单片机自20世纪70年代问世以来,以其极高的性价比,受到人们的重视和关注,应用广泛,发展迅速。
单片机集体积小、重量轻、抗干扰能力强、环境要求低、价格低廉、可靠性高、灵活性好、开发较为容易等众多优点,以广泛用于工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,无论在民间、商业、及军事领域单片机都发挥着十分重要的作用二十一世纪,随着机械化、自动化水平的不断提高,不仅减轻了劳动强度、提高生产率,而且把人类活动从危险、恶劣环境中替换出来。
而其中机器人技术,显示出极大的优越性;在宇宙探索、海洋开发以及军事应用上具有重要的实用价值。
大力发展机器人技术,一方面能让社会从劳动苦力型转换到福利休闲型,另一方面能极大的提高民众的幸福感。
在新时期的世界各国,随着应用日益广泛,机器人技术将不断发展并走向成熟。
本次课程设以单片机作为控制器实现对机械手臂的简单控制。
在单片机最小系统的基础上扩展按键接口和舵机接口以及LED显示器,构成最简单的机械臂控制系统。
第二章硬件设计2.1 硬件结构图本系统的控制器采用的是STC 12C5A32S2单片机,具有A/D转换功能,并能产生PWM信号,有内部EEPROM、双串口,具有单时钟/机器周期(1T),是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码不仅完全兼容传统8051,而且速度快8-12倍。
本系统是在单片机最小系统的基础上扩展键盘接口和舵机接口以及LED显示模块。
硬件结构图如下:图1 硬件结构2.2 各模块工作原理及设计2.2.1 控制模块本系统的控制模块选用STC 12C5A32S2单片机引脚及功能:CLKOUT2/P1.0 P1.1 ECI/P1.2 CCP0/P1.3 SS/CCP1/P1.4 MOSI/P1.5 MISO/P1.6SCLK/P1.7P4.7/RSTRXD/P3.0TXD/P3.1INT0/P3.2INT1/P3.3 CLKOUT0/P3.4 CLKOUT1/P3.5WR/P3.6RD/P3.7XTAL2XTAL1GNDVccP0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7EX_LVD/P4.6/RST2ALE/P4.5NA/P4.4P2.7/A15P2.6/A14P2.5/A13P2.4/A12P2.3/A11P2.2/A10P2.1/A9P2.0/A8PDIP-4012345678910111213141516171819204039383736353433323130292827262524232221STC12C5A32S2单片机引脚图P0.0—P0.7(39—32引脚):P0口是一个漏极开路型准双向I/O 口。
在访问外部存储器时,它是分时多路转换的地址(低8位)和数据总线,在访问期间激活了内部的上拉电阻。
在EPROM编程时,它接收指令字节,而在验证程序时,则输出指令字节。
验证时,必须外接上拉电阻。
P1.0—P1.7(1-8):P1口是带内部上拉电阻的8位双向I/O口。
在EPROM编程和程序验证时,它接收低8位地址。
P2.0—P2.7(21-28):P2口是一个带内部上拉电阻的8位双向I/O 口。
在访问外部存储器时,它送出高8位地址。
在对EFROM编程和程序验证期间,它接收高8位地址。
P3.0—P3.7(10-17):P3口是一个带内部上拉电阻的8位双向I/O 口。
STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制、强干扰场合。
本次设计基本原理是通过P3口的6个引脚输出周期固定占空比可调的PWM波形来控制舵机的转动及角度,通过按键实现对舵机角度的控制,从而实现对物品的转移。
通过P0口输出数据以及P2口高四位的扫描实现数码管的显示。
通过P1口以及P2低四位引脚连接按键,控制舵机转动。
2.2.2 舵机模块舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。
目前在航模,包括飞机模型、潜艇模型,遥控机器人中已经使用得比较普遍。
舵机是一种俗称,其实是一种伺服马达。
一般来讲,舵机主要由以下几个部分组成:舵盘、减速齿轮组、位置反馈电位计5k、直流电机、控制电路板等。
工作原理:控制电路板接受来自信号线的控制信号,控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵盘。
舵机的输出轴和位置反馈电位计是相连的,舵盘转动的同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机的转动方向和速度,从而达到目标停止。
标准的舵机有3条导线,分别是:电源线、地线、控制线,如图2所示。
电源和地线给舵机提供最基本的能源保证,主要是电机的转动消耗。
舵机的控制信号为周期是20ms的脉宽调制(PWM)信号,其中脉冲宽度从0.5ms-2.5ms,相对应舵盘的位置为0-180度,呈线性变化。
也就是说,给它提供一定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。
程序实现上可通过定时器来实现舵机的转速取决于信号脉宽的变化速度。
如果信号脉宽变化速度太较快的话,舵机会反应不过来;将脉宽变化值线性到要求的时间内,一点一点的增加脉宽值,就可以控制舵机的速度了。
具体来说需要在调试时修改数值,以使舵机的运动更平滑。
由于舵机在每一次脉宽值改变的时候总会有一个转速由零增加再减速为零的过程,所以舵机会产生像步进电机一样运动的原因。
由于本设计中选用的舵机所需电源与单片机电源不一致故要单独供电,地线应接在一起。
同时因为舵机所需的驱动电流比较大,因此P3输出口需接上拉电阻。
2.2.3 显示模块由于LED显示器集易控制、性能很稳定、耗能少、成本低等众多优点故本设计采用LED显示器。
本次设计,选用四联LED显示器,采用动态扫描方式,分别显示所按键位和转动角度。
LED的每段需接一个限流电阻再接至P0口,显示电路如下图所示。
这样,就完成的扩展模块的LED显示功能,可以很清晰的观察到对应的舵机转动的角度。
LED显示电路2.2.4 按键模块本系统采用独立按键查询工作方式,通过12个(6组)按键控制舵机的转动,即通过P2口低四位和P1口控制六个自由度的舵机正反转动。
由于系统比较简单,且接口充足,所以采用独立按键即可。
当有按键按下时,可控制不同的舵机转动,其中两个按键控制一个舵机,分别控制舵机的正向转动和反向转动。
转动的度数可以通过按键时间的长短控制,最大的转动角度为180度。
2.3 软件程序设计由于使用汇编程序编程能对单片机内部结构及运行原理有深一步了解,同时有程序占用存储空间小等优点,故本实验采用汇编语言汇编语言的特点:目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。
汇编语言基本保留了机器语言的灵活性。
使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。
汇编语言程序称为源程序,运行时汇编程序要将源程序翻译成目标程序。
目标程序是机器语言程序,当它被安置在内存的预定位置上,就能被计算机的CPU处理和执行。
汇编程序如下:ORG 0000HLJMP MAINORG 000BHLJMP T0INTORG 001BHLJMP T1INTORG 1000HMEDL EQU 4EH MEDH EQU 4FH WAVE EQU 33H DGL EQU 30H DGH EQU 31H FLAG EQU 32H RANG_S EQU 2FH.1 RANG_X EQU 2FH.2 FLAG_X EQU 2FH.0 DIS_DAT EQU 55H LED_DUAN EQU P0 NUM_JI EQU 58H NUM_DAT EQU 37H NUM_FLAG EQU 3EH MAIN:MOV TMOD,#11HMOV TH0,#0B1HMOV TL0,#0F7HSETB ET1SETB ET0SETB EASETB TR0MOV MEDH,#0FAHMOV MEDL,#3AHMOV SP,#60HMOV WAVE,#0EFHMOV FLAG,#0CLR RANG_SCLR RANG_XCLR FLAG_XMOV NUM_FLAG,#0MOV DGL,#40HMOV DGH,#41HMOV 41H,#0FAHMOV 40H,#3AHMOV 43H,#0FAHMOV 42H,#3AHMOV 45H,#0FAHMOV 44H,#3AHMOV 47H,#0FAHMOV 46H,#3AHMOV 49H,#0FAHMOV 48H,#3AHMOV 4BH,#0FAHMOV 4AH,#3AHMOV 38H,#0MOV 39H,#0MOV 3AH,#0MOV 3BH,#0MOV 3CH,#0MOV 3DH,#0MOV 55H,#0MOV 56H,#0MOV 57H,#16MOV 58H,#0 START:LCALL PADCESLCALL DISPLAY JMP START DISPLAY:SETB P2.4CLR P2.5CLR P2.6CLR P2.7MOV A,#3LCALL DUANXIANCLR P2.4SETB P2.5CLR P2.6CLR P2.7MOV A,#2LCALL DUANXIAN CLR P2.4CLR P2.5SETB P2.6CLR P2.7MOV A,#1LCALL DUANXIANCLR P2.4CLR P2.5CLR P2.6SETB P2.7MOV A,#0LCALL DUANXIAN RETDUANXIAN:ADD A,#DIS_DATMOV R0,AMOV A,@R0MOVDPTR,#TAB_duanMOVC A,@A+DPTRMOV LED_DUAN,AMOV R5,#0FFHMOV R6,#3DO: DJNZ R5,$MOV R5,#0FFHDJNZ R6,DO RETTAB_duan:DB0C0H,0F9H,0A4H,0B0H,99H,92 H,82H,0F8HDB80H,90H,88H,83H,0C6H,0A1H, 86H,8EH,0BFH,0FFH PADCES:MOV P1,#0FFHMOV A,P2ANL A,#0F0HORL A,#0FHMOV P2,AMOV A,P1CPL AJZ NEXTCJMP DNDNNEXTC: MOV A,P2CPL AANL A,#0FHJZ NNJMP DNDNNN: LJMP BANDNDN: MOV R6,#10DO1: MOV R5,#0FFHDJNZ R5,$DJNZ R6,DO1PD: MOV A,P1CPL AJZ NEXTPCJNE A,#1,PAN1MOV FLAG,#1JMP PDNPAN1: CJNE A,#2H,PAN2MOV FLAG,#2JMP PDNPAN2: CJNE A,#4H,PAN3MOV FLAG,#3JMP PDNPAN3: CJNE A,#8H,PAN4MOV FLAG,#4JMP PDNPAN4: CJNE A,#10H,PAN5 MOV FLAG,#5JMP PDNPAN5: CJNE A,#20H,PAN6 MOV FLAG,#6JMP PDNPAN6: CJNE A,#40H,PAN7 MOV FLAG,#7JMP PDNPAN7: CJNE A,#80H,PDNMOV FLAG,#8JMP PDNNEXTP:MOV A,P2CPL AANL A,#0FHJZ BANDJMP KEDBAND:LJMP BAN KED:MOV A,P2CPL AANL A,#0FHCJNE A,#1,PAN11MOV FLAG,#9JMP PDNPAN11: CJNE A,#2,PAN12 MOV FLAG,#10JMP PDNPAN12:CJNE A,#4,PAN13MOV FLAG,#11JMP PDNPAN13:CJNE A,#8,PDNMOV FLAG,#12JMP PDNPDN:LCALL DATCES CES: MOV A,FLAGMOV B,#2CLR CDIV ABMOV A,BJZ JIASETB FLAG_XJMP DNJIA:CLR FLAG_X DN: LCALL CHESHI JB FLAG_X,C1JB RANG_S,JINCLR RANG_XMOV R0,DGLMOV R1,DGHMOV A,@R0CLR CADD A,#01HJMP C2C1: JB RANG_X,JINCLR RANG_SMOV R0,DGLMOV R1,DGHMOV A,@R0CLR CSUBB A,#01HC2: MOV @R0,AJNC JINMOV A,@R1JB FLAG_X,C11INC AMOV @R1,AJMP JINC11: DEC AMOV @R1,A JIN: LCALL NUMCESMOV A,P2ANL A,#0F0HORL A,#0FHMOV P2,AMOV A,P1CPL AJZ NEXTCAJMP DNDY NEXTCA:MOV A,P2CPL AANL A,#0FHJZ BANDNDY: MOV R6,#5DY1: MOV R5,#0FFHDJNZ R5,$DJNZ R6,DY1LCALL DISPLAYLJMP PDBAN:RETCHESHI:CLR CMOV A,56HMOV B,#10MUL ABADD A,55HMOV R3,AMOV A,57HCJNE A,#17,FUSHIMOV A,R3CLR CSUBB A,#90JC CHESHIDSETB RANG_SCLR RANG_XJMP CHESHID FUSHI: MOV A,57HCJNE A,#16,CHESHID MOV A,R3CLR CSUBB A,#90JC CHESHIDSETB RANG_XCLR RANG_SJMP CHESHID CHESHID:RETNUMCES:MOV R0,DGLMOV R1,DGHMOV A,@R0MOV R5,AMOV A,@R1MOV R4,ACLR CMOV A,MEDLSUBB A,R5JC JIEWEIMOV R5,ACLR CMOV A,MEDHSUBB A,R4MOV R4,AJMP JIAND JIEWEI:MOV R5,AINC R4CLR CMOV A,MEDHSUBB A,R4MOV R4,A JIAND:MOV A,R4ANL A,#80HJNZ FUSHUOMOV R7,#0BHLCALL DIVOKMOV A,R3MOV B,#10DIV ABMOV 55H,BMOV 56H,AMOV 57H,#16JMP NUMENDFUSHUO:MOV A,R5CPL ACLR CINC AMOV R5,AJC JIA1MOV A,R4CPL AMOV R4,AJMP JDFJIA1:MOV A,R4CPL AINC AMOV R4,AJDF: MOV R7,#0BHLCALL DIVOKMOV A,R3MOV B,#10DIV ABMOV 55H,BMOV 56H,AMOV 57H,#17JMP NUMENDNUMEND:RETDATCES:MOV R3,FLAGMOV A,R3CLR CSUBB A,#3JNC E1MOV WAVE,#0F8HMOV DGL,#40HMOV DGH,#41HMOV NUM_JI,#1MOV NUM_DAT,#38HJMP ENE1: MOV A,R3CLR CSUBB A,#5JNC E2MOV WAVE,#0F4HMOV DGL,#42HMOV DGH,#43HMOV NUM_JI,#2MOV NUM_DAT,#39HJMP ENE2: MOV A,R3CLR CSUBB A,#7JNC E3MOV WAVE,#0ECHMOV DGL,#44HMOV DGH,#45HMOV NUM_JI,#3MOV NUM_DAT,#3AHJMP ENE3: MOV A,R3CLR CSUBB A,#9JNC E4MOV WAVE,#0DCHMOV DGL,#46HMOV DGH,#47HMOV NUM_JI,#4MOV NUM_DAT,#3BHJMP ENE4: MOV A,R3CLR CSUBB A,#11JNC E5MOV WAVE,#0BCHMOV DGL,#48HMOV DGH,#49HMOV NUM_JI,#5MOV NUM_DAT,#3CHJMP ENE5: MOV WAVE,#7CH MOV DGL,#4AHMOV DGH,#4BHMOV NUM_JI,#6MOV NUM_DAT,#3DH EN:RETCLR RS1SETB RS0ORL P3,#0FCHSETB TR1CLR TR0MOV TH0,#0B1HMOV TL0,#0F7HMOV R0,DGLMOV R1,DGHMOV TH1,@R1MOV TL1,@R0 SETB TR0CLR RS1CLR RS0RETIT1INT:PUSH ACCMOV A,P3ANL A,#03HORL A,WAVEMOV P3,ACLR TR1POP ACCRETIDIVOK: CLR CMOV A,R4SUBB A,R7JC DV50SETB OVRETDV50: MOV R6,#8 DV51: MOV A,R5RLC AMOV R5,AMOV A,R4RLC AMOV R4,AMOV F0,CCLR CSUBB A,R7ANL C,/F0JC DV52MOV R4,ADV52: CPL CMOV A,R3RLC AMOV R3,ADJNZ R6,DV51MOV A,R4ADD A,R4JC DV53SUBB A,R7JC DV54DV53: INC R3DV54: CLR OVRETEND第三章硬件制作以及程序的下载调试3.1 电路板制作首先用protel 99 SE绘制原理图,生成PCB并手工调整布局,之后手工布线。