基于S08单片机的舵机控制系统设计
- 格式:pdf
- 大小:340.72 KB
- 文档页数:20
基于单片机的轮式机器人舵机控制摘要在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。
论文设计了一种采用舵机控制技术的轮式机器人,单片机软件程序采用c语言编程,通过使用单片机内部计数器的定时器功能,在中断服务程序中,对I/O口进行操作输出PWM,对舵机的方向及速度进行控制。
将设计的机器人系统在proteus仿真环境中搭建,对整个系统进行仿真,模拟系统的控制。
最后,将仿真调试好的系统应用于实际的轮式机器人中,实验结果表明,本设计方案可以实现机器人的转角控制,速度控制,实现了轮式机器人的智能化运动。
关键词:单片机;定时器; proteus仿真; 舵机控制Wheeled Robot Servo Control Based on Microcomputer Abstract In mechanical and electrical control system of the robot, the steering gear control effect is one of the important factors affecting performance. A kind of steering gear control technology of the wheeled robot is designed in the paper. The single-chip microcomputer software program using c language programming and the single chip microcomputer internal counter timer function to manipulate output PWM in the interrupt service routine. I/O ports control the direction and speed of the steering gear. The designed robot system is set up in the protues simulation environment and simulates control system. Finally, the simulation debugging good system is applied to the actual wheeled robot. Experimental results show that the designed mechanism can control the corner angle and speed of robot and implements the intelligent movement of wheeled robots.Key words:single chip microcomputer; timer; protues simulation; servo control目录引言 (1)1总体方案设计 (2)2硬件设计 (2)2.1控制模块 (2)2.2舵机模块 (8)2.3红外接收模块 (9)2.4电源设计 (10)3软件设计 (10)3.1综合程序设计 (10)3.2舵机驱动程序设计 (10)3.3红外程序设计 (12)3.4程序 (12)4开发和仿真 (12)4.1程序开发环境介绍和应用 (12)4.2仿真系统的介绍和应用 (14)5组装和调试 (17)5.1舵机调零 (17)5.2组装 (17)5.3 调试 (18)结论 (21)致谢 (21)参考文献 (22)附录 (22)引言轮式机器人在当今社会中的应用越来越广泛,具有移动速度快,运行平稳的特点。
创新设计报告书课程设计题目:基于S08单片机的舵机控制系统设计专业班级:_ 自动化 0706 学生姓名:_ _张俊彦学号:20074280622 指导教师:__王威课程设计地点:嵩山路校区中心实验楼601课程设计时间: 2010-12-26成绩:年月日创新设计与实训任务书学生姓名张俊彦专业班级自动化0706学号20074280622题目基于S08单片机的舵机控制系统设计课题性质其他课题来源自拟指导教师王威主要内容(参数)舵机用于对角度的控制,具有控制精度高,响应速度快等特点,广泛应用于各种控制系统,例如无人直升机、无人驾驶汽车等。
本设计基于S08单片机设计舵机控制系统,内容如下:1、根据所选舵机,分析其控制要求,设计相应电路;2、利用S08的PWM输出功能,编写相应的控制程序实现对舵机的控制;3、设计舵机角度显示及设置等相关人机接口。
通过本次创新设计使得学生巩固所学的理论与技能,提高学生的实践能力和应用能力,初步掌握实际的工程设计方法,设计步骤,为将来的学习与毕业设计打下坚实的基础。
任务要求(进度)(包括应具备的条件、图表等)设计要求:1. 设计舵机驱动接口电路;2. 利用S08 PWM功能编写相应的程序;3、绘制相应的硬件图纸及软件流程图;4. 完成软件与硬件设计并加以调试;5. 按照要求撰写创新设计与实践报告书。
主要参考资料[1] 王威.嵌入式微控制器S08AW原理与实践[M].北京:北京航空航天大学出版社,2009.[2]陈杰.传感器与检测技术[M].北京:高教出版社,2004.[3] 邵贝贝龚光华.单片机认识与实践[M].北京:北京航空航天大学出版社,2006.[4] 阎石.数字电子技术基础(第三版).北京:高等教育出版社,1989审查意见系(教研室)主任签字:年月日1.课程设计背景及目的 (4)1.1学习要求 (4)2 总体方案设计 (4)2.1微控制器的选择 (4)2.2MC9S08AW60芯片引脚图 (5)2.3舵机控制 (6)2.4舵机参数 (6)2.5显示器的选择 (8)2.6LCD显示原理 (8)3硬件框图 (9)3.1接线图原理图 (10)4软件流程图 (11)4.1舵机控制及角度显示程序 (12)个人总结 (18)参考文献 (18)附录:元器件列表 (20)1.课程设计背景及目的舵机控制应用在很多方面,舵机控制具有位置精度高,控制容易等优点。
单片机舵机控制程序论文题目:基于单片机的舵机控制程序设计第一章:引言(介绍背景、意义和目的)舵机是一种用来控制机械运动的装置,广泛应用于各种自动控制系统中。
作为一种常见的终端执行元件,舵机的控制方式对系统的性能和准确性有很大的影响。
因此,设计一种高效、精准的舵机控制程序成为研究的重点。
第二章:相关技术介绍(介绍舵机的原理、分类和常用控制方法)本章将详细介绍舵机的工作原理和分类。
首先介绍舵机的基本构造和工作原理,其中包括电机、减速机、角度传感器和控制电路等。
接着介绍舵机的分类,包括开环控制和闭环控制两种方式。
最后,对常用的舵机控制方法进行详细讲解,包括位置式控制和速度式控制等。
第三章:舵机控制程序设计(详细介绍舵机控制程序的设计方法和步骤)本章将详细介绍舵机控制程序的设计方法和步骤。
首先,介绍如何选择适当的舵机控制芯片和开发环境。
然后,详细讲解舵机控制程序的编写过程,包括初始化舵机、设置舵机参数以及控制舵机运动等。
最后,通过实例说明舵机控制程序设计的实际操作过程。
第四章:实验结果与分析(通过实验验证舵机控制程序的性能和准确性)本章将通过实际实验来验证所设计的舵机控制程序的性能和准确性。
首先介绍实验所需的硬件设备和软件环境。
然后,详细记录实验过程中的实测数据,并进行数据分析和结果展示。
最后,对实验结果进行评价和讨论,说明所设计的舵机控制程序的优点和不足之处,并提出改进和优化的建议。
结论本论文通过对舵机的原理、分类和控制方法的介绍,设计了一种高效、精准的舵机控制程序。
通过实验验证,结果表明所设计的舵机控制程序具有良好的性能和准确性。
然而,舵机控制程序的设计仍然有一些局限性,需要进一步研究和改进。
相信随着技术的进步和舵机控制程序的不断优化,舵机在各种自动控制领域的应用将更加广泛和成熟。
第一章:引言舵机是一种常见的终端执行元件,它广泛应用于各种自动控制系统中,如机器人、无人机、机械臂等。
舵机的控制方式对于系统的性能和准确性有着重要的影响。
目录引言一、舵机概述二、舵机的结构和控制三、单片机控制原理四、系统软件设计1、位置环设计2、速度反馈3、电流反馈4 、试验结果五、结语参考文献引言舵机作为无人机制导系统的主要组成部分,是操纵机动飞行的重要执行机构。
舵机的作用是根据飞行器制导控制电路输出的一定大小和极性的信号,操纵无人机的舵面或副翼或改变发动机的推力矢量,控制舵面按要求快速、精确的偏转,实现舵机控制的各项指标,以达到对无人机的飞行稳定控制。
飞行器经过近半个多世纪的发展,关键技术渐已成熟,但输出力巨大,响应速度快,控制精度高,体积小,重量轻,高可靠性始终是无人机舵机发展的目标。
PLC单片机的突出特点是体积小,功耗低,、指令集精简,抗干扰性好,有较强的模拟接口,代码保密性好,其兼容的Flash程序储存器,支持低电压快速擦写,程序修改方便。
在一些小型的应用中比传统的51单片机更灵活,外围电路更少,因而得到了广泛应用。
在无人机舵机控制系统的设计中,PLC单片机很好的满足了其小体积限制,抗干扰高,功耗低等要求。
本文介绍以PLC单片机为控制核心的无人机舵机控制系统的设计与实现,并给出了调试结果。
一、舵机概述舵机最早出现在航模运动中。
在航空模型中,飞行机的飞行姿态是通过调节发动机和各个控制舵面来实现的。
举个简单的四通飞机来说,飞机上有以下几个地方需要控制:1.发动机进气量,来控制发动机的拉力(或推力);2.副翼舵面(安装在飞机机翼后缘),用来控制飞机的横滚运动;3.水平尾舵面,用来控制飞机的俯仰角;4.垂直尾舵面,用来控制飞机的偏航角;遥控器有四个通道,分别对应四个舵机,而舵机又通过连杆等传动元件带动舵面的转动,从而改变飞机的运动状态。
舵机因此得名:控制舵面的伺服电机。
不仅在航模飞机中,在其他的模型运动中都可以看到它的应用:船模上用来控制尾舵,车模中用来转向等等。
由此可见,凡是需要操作性动作时都可以用舵机来实现。
二、结构和控制一般来讲,舵机主要由以下几个部分组成,舵盘、减速齿轮组、位置反馈电位计5k、直流电机、控制电路板等。
基于单片机的舵机控制方法具有简单、精度高、成本低、体积小的特点,并可根据不同的舵机数量加以灵活应用。
在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。
舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。
舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。
其工作原理是:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。
它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。
最后,电压差的正负输出到电机驱动芯片决定电机的正反转。
当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。
图1舵机的控制要求舵机的控制信号是PWM信号,利用占空比的变化改变舵机的位置。
一般舵机的控制要求如图1所示。
单片机实现舵机转角控制可以使用FPGA、模拟电路、单片机来产生舵机的控制信号,但FPGA成本高且电路复杂。
对于脉宽调制信号的脉宽变换,常用的一种方法是采用调制信号获取有源滤波后的直流电压,但是需要50Hz(周期是20ms)的信号,这对运放器件的选择有较高要求,从电路体积和功耗考虑也不易采用。
5mV以上的控制电压的变化就会引起舵机的抖动,对于机载的测控系统而言,电源和其他器件的信号噪声都远大于5mV,所以滤波电路的精度难以达到舵机的控制精度要求。
也可以用单片机作为舵机的控制单元,使PWM信号的脉冲宽度实现微秒级的变化,从而提高舵机的转角精度。
单片机完成控制算法,再将计算结果转化为PWM信号输出到舵机,由于单片机系统是一个数字系统,其控制信号的变化完全依靠硬件计数,所以受外界干扰较小,整个系统工作可靠。
单片机系统实现对舵机输出转角的控制,必须首先完成两个任务:首先是产生基本的PWM周期信号,本设计是产生20ms的周期信号;其次是脉宽的调整,即单片机模拟PWM信号的输出,并且调整占空比。
单片机控制舵机章节一:引言舵机是一种能够精确控制角度的电动执行元件,广泛应用于机器人、航模模型、自动门窗等领域。
而单片机作为一种嵌入式系统,具有高性能、低功耗和易编程等特点,是控制舵机的理想选择。
本论文将介绍单片机控制舵机的原理、方法和应用。
章节二:舵机原理与工作原理舵机是由一个电机和一个控制电路组成。
电机驱动舵轮旋转,而控制电路则根据输入信号产生相应的输出脉冲,控制电机驱动舵轮转动的位置和角度。
舵机的工作原理可以分为三个阶段:解码脉冲、驱动电机和反馈传感。
在解码脉冲阶段,舵机接收控制信号,将其转化为输出脉冲信号。
在驱动电机阶段,舵机根据输出脉冲信号驱动电机旋转。
在反馈传感阶段,舵机通过内置的位置传感器反馈当前位置信息给控制电路,以实现闭环控制。
章节三:单片机控制舵机的方法单片机控制舵机的方法主要包括PWM控制和定时中断控制。
PWM控制是通过改变脉宽来控制舵机的角度。
单片机通过定时器产生一定频率的PWM信号,占空比表示舵机的角度位置。
定时中断控制是通过定时中断产生一系列的脉冲信号,根据脉冲信号的频率和宽度来控制舵机的位置和角度。
在具体实现中,可以使用脉宽编码来表示舵机的位置信息,可以使用软件算法来驱动舵机旋转,也可以使用硬件模块来实现舵机的控制。
章节四:单片机控制舵机的应用单片机控制舵机的应用十分广泛。
在机器人领域,单片机控制舵机可以控制机器人的头部、手臂和腿部,实现精确的动作控制。
在航模模型中,单片机控制舵机可以控制模型的机翼、尾翼和升降舵,实现精确的飞行控制。
在自动门窗领域,单片机控制舵机可以实现门窗的开启和关闭,实现自动化管理。
综上所述,单片机控制舵机是一种高效、灵活和可靠的控制方法,可以应用于多个领域。
通过合理的算法设计和硬件布局,单片机可以实现精确控制舵机的位置和角度,满足各种实际需求。
未来,随着单片机技术的不断发展,单片机控制舵机的应用将会越来越广泛。
通过单片机控制舵机,可以实现精确的位置和角度控制,提高了机器人、航模模型和自动门窗等设备的灵活性和智能化水平。
单片机控制多路舵机第一章:引言(约200字)随着科技的不断发展,单片机技术在各个领域的应用越来越广泛。
在机器人、自动化控制等方面,多路舵机常常被用于实现机械的运动控制。
本论文将介绍一种基于单片机的多路舵机控制系统,旨在实现更加灵活和精确的机械运动控制。
第二章:多路舵机系统设计与实现(约300字)本章将详细介绍多路舵机系统的设计和实现细节。
首先,我们选用了一片高性能的单片机作为控制器,通过其IO口控制多个舵机的运动。
然后,根据实际需要,设计了电源电路、信号放大电路等。
接着,我们以舵机的类型和运动范围为基础,设计了控制算法,并利用单片机的定时/计数功能来实现对舵机的精确控制。
第三章:多路舵机系统性能测试与分析(约300字)为了验证多路舵机系统的性能,我们进行了一系列测试。
首先,我们测试了舵机的精确度和速度,通过与标准运动模式进行比较,得到了较为准确的评估结果。
其次,我们测试了整个系统的响应速度和稳定性,在不同负载情况下进行了多次测试,并对结果进行了统计和分析。
最后,我们还对系统的功耗和可靠性进行了测试和评估。
第四章:多路舵机系统应用案例分析(约200字)本章将介绍多路舵机系统在机器人控制领域的应用案例。
通过对一种特定机器人的控制需求进行分析,我们设计了一套多路舵机系统,用于实现机器人的自主行走和手臂动作控制。
通过实际测试,我们证明了多路舵机系统在机器人控制方面的灵活性和可靠性,为机器人技术的发展提供了可靠的基础。
第五章:总结与展望(约200字)通过对多路舵机系统的设计和实验结果进行总结,我们可以得出以下结论:多路舵机系统能够实现对多个舵机的高速、高精度控制,具有良好的扩展性和应用性。
然而,目前的多路舵机系统仍存在一些问题,如功耗较高、响应速度可以进一步提高等。
因此,未来的工作重点可以放在降低功耗、提高响应速度和研究更加精确的控制算法等方面,以进一步提高多路舵机系统的性能和应用范围。
第二章:多路舵机系统设计与实现(约300字)本章将详细介绍多路舵机系统的设计和实现细节。
如何用单片机控制舵机章节一:引言(约200字)舵机是一种常用于机器人、飞机模型等设备中的装置,能够控制装置在水平或垂直方向上旋转。
本论文将介绍使用单片机来控制舵机的基本原理和步骤。
随着科技的发展,单片机已成为电子控制中普遍使用的一种控制器,其具有成本低、易于编程以及可嵌入各种电子设备等优势。
本论文将分为四个章节,分别介绍舵机的基本原理、单片机的工作原理、控制舵机的硬件电路设计以及编写单片机控制舵机的程序。
章节二:舵机的基本原理(约300字)舵机是一种伺服系统,其由直流电机、减速装置和反馈装置组成。
控制信号的输入使得舵机能够转动到预定位置,而反馈装置可以将舵机转动的实际位置反馈给控制系统,以便调整控制信号。
舵机通常采用PWM(脉宽调制)信号进行控制,脉宽的长短决定舵机转动的角度。
当脉宽为1.5ms时,舵机处于中立位置;小于1.5ms时,舵机逆时针旋转;大于1.5ms时,舵机顺时针旋转。
在单片机控制舵机时,需要通过输出PWM信号来控制舵机的转动。
章节三:单片机的工作原理(约300字)单片机是一种高度集成的微处理器芯片,具有输入输出接口、存储器和中央处理器等功能。
通过程序编写,在单片机中设置输出引脚,将输出引脚与舵机的控制信号引脚相连,可实现对舵机转动的控制。
单片机中的定时器可以产生PWM信号,通过改变PWM信号的占空比来实现对舵机转动角度的调整。
单片机还可以通过接收外部传感器的反馈信号来实现对舵机位置的闭环控制。
单片机的工作原理为我们控制舵机提供了可靠的基础。
章节四:控制舵机的硬件电路设计与编程(约200字)为了实现对舵机的控制,我们需要设计相应的硬件电路和编写单片机的程序。
硬件电路包括单片机与舵机的连接-将单片机的输出引脚与舵机的控制信号引脚相连,并通过合适的电路设计保证信号的稳定传输。
通过编程,我们可以设置单片机定时器产生PWM波,通过改变占空比来控制舵机转动。
同时,我们可以根据实际需求设置单片机的输入输出接口和传感器,以实现舵机控制的自动化和精确性。
用单片机控制舵机基于单片机的舵机控制系统摘要:单片机作为一种嵌入式系统的核心元件,在各个领域发挥了重要的作用。
本文基于单片机设计了一种舵机控制系统,并通过实验验证了其效果。
论文分为四个章节,分别介绍了舵机的原理和分类、单片机的工作原理、舵机控制系统的设计以及实验验证。
实验结果表明,所设计的舵机控制系统能够准确地实现目标角度位置的控制。
第一章引言舵机是一种常见的运动控制装置,广泛应用于机器人、无人机、汽车等各个领域。
控制舵机运动的方式有多种,其中基于单片机的控制方式被广泛应用。
本章主要介绍舵机的原理和分类,并概述本文的研究内容。
第二章单片机的工作原理本章详细介绍了单片机的工作原理。
首先介绍了单片机的组成结构和工作过程,然后介绍了舵机控制所需的输入输出接口,最后介绍了如何使用单片机控制舵机运动。
第三章舵机控制系统的设计本章详细介绍了舵机控制系统的设计。
首先介绍了系统的总体设计思路,包括硬件电路设计和软件程序设计。
然后介绍了舵机控制系统的运行流程,包括数据采集、信号处理和控制命令输出。
最后介绍了舵机控制系统的调试方法和注意事项。
第四章实验验证本章通过实验验证了所设计的舵机控制系统的效果。
首先介绍了实验所使用的硬件和软件环境,然后通过一系列实验测试了舵机在不同角度位置上的运动精度和响应速度。
最后对实验结果进行了分析和总结,验证了所设计的舵机控制系统的可行性和有效性。
结论本论文通过基于单片机的舵机控制系统的设计和实验验证,证明了该控制系统能够准确地实现目标角度位置的控制。
这对于舵机的应用和发展具有重要意义。
希望本文的研究成果能够为相关领域的研究者提供参考,促进舵机控制技术的进一步发展。
关键词:单片机、舵机、控制系统、角度位置、实验验证第一章引言舵机是一种能够控制角度位置的电机设备,广泛应用于各种需要精确运动控制的场景。
基于单片机的舵机控制系统能够实现高精度的角度位置控制,因此在机器人、自动化系统等领域被广泛应用。
创新设计报告书课程设计题目:基于S08单片机的舵机控制系统设计专业班级:_ 自动化 0706 学生姓名:_ _张俊彦学号:20074280622 指导教师:__王威课程设计地点:嵩山路校区中心实验楼601课程设计时间: 2010-12-26成绩:年月日创新设计与实训任务书学生姓名张俊彦专业班级自动化0706学号20074280622题目基于S08单片机的舵机控制系统设计课题性质其他课题来源自拟指导教师王威主要内容(参数)舵机用于对角度的控制,具有控制精度高,响应速度快等特点,广泛应用于各种控制系统,例如无人直升机、无人驾驶汽车等。
本设计基于S08单片机设计舵机控制系统,内容如下:1、根据所选舵机,分析其控制要求,设计相应电路;2、利用S08的PWM输出功能,编写相应的控制程序实现对舵机的控制;3、设计舵机角度显示及设置等相关人机接口。
通过本次创新设计使得学生巩固所学的理论与技能,提高学生的实践能力和应用能力,初步掌握实际的工程设计方法,设计步骤,为将来的学习与毕业设计打下坚实的基础。
任务要求(进度)(包括应具备的条件、图表等)设计要求:1. 设计舵机驱动接口电路;2. 利用S08 PWM功能编写相应的程序;3、绘制相应的硬件图纸及软件流程图;4. 完成软件与硬件设计并加以调试;5. 按照要求撰写创新设计与实践报告书。
主要参考资料[1] 王威.嵌入式微控制器S08AW原理与实践[M].北京:北京航空航天大学出版社,2009.[2]陈杰.传感器与检测技术[M].北京:高教出版社,2004.[3] 邵贝贝龚光华.单片机认识与实践[M].北京:北京航空航天大学出版社,2006.[4] 阎石.数字电子技术基础(第三版).北京:高等教育出版社,1989审查意见系(教研室)主任签字:年月日1.课程设计背景及目的 (4)1.1学习要求 (4)2 总体方案设计 (4)2.1微控制器的选择 (4)2.2MC9S08AW60芯片引脚图 (5)2.3舵机控制 (6)2.4舵机参数 (6)2.5显示器的选择 (8)2.6LCD显示原理 (8)3硬件框图 (9)3.1接线图原理图 (10)4软件流程图 (11)4.1舵机控制及角度显示程序 (12)个人总结 (18)参考文献 (18)附录:元器件列表 (20)1.课程设计背景及目的舵机控制应用在很多方面,舵机控制具有位置精度高,控制容易等优点。
在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。
舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口。
舵机用于对角度的控制,具有控制精度高,响应速度快等特点,广泛应用于各种控制系统,例如无人直升机、无人驾驶汽车等。
通过本次创新设计使得学生巩固所学的理论与技能,初步掌握实际的工程设计方法,设计步骤,为将来的学习与毕业设计打下坚实的基础。
1.1学习要求1. 熟悉单片机系统的硬件设计方法;2. 掌握单片机定时器及PWM的产生方法;3. 熟悉模拟电路的基本设计方法;4. 掌握MC9S08AW60芯片的性能和应用;5. 熟悉C语言的编程方法;6. 初步掌握C语言程序的调试;7. 应用Protel99画出电路图。
2 总体方案设计2.1微控制器的选择S08AW是Freescale公司首款基于高性能S08 CPU内核支持2.5-5.5 V电源的微控制器,它包含众多应用价值的特性:约62KB的 Flash 存储器,高达2KB 的RAM、灵活而无需外部元件的内部时钟发生器、低电压检测、高性能模/数转换器 ADC和串行通信模块等。
本课题主要应用了定时器的定时中断和定时器管脚的捕捉中断,从而能够在一定时间内计数一定量的脉冲,计算出电机的转速,另外通过A、B、C口和LCD 相连从而把转速在LCD上显示出来。
MC9S08AW60 微处理器足以满足本课题的功能设计要求。
2.2 MC9S08AW60芯片引脚图图2.1MC9S08AW60是首个能支持5V而基于高性能HCS08核系列成员。
它包含众多有价值的特性-60K flash存储器、2K RAM、灵活而无需外部元件的内部时钟发生器、低压检测、高性能、模数转换器(ADC)、串行通信模块等。
即使在各类恶劣环境下,9S08AW系列亦达到极佳的EMC性能。
它提供了不同的引脚数(64、48或44)、封装选项(QFP、LQFP或QPN)及温度范围(-40至85和-40至125摄氏度)。
本创新设计采用44引脚、LQFP封装的MC9S08AW60。
2.3舵机控制舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。
其工作原理是:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。
它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。
最后,电压差的正负输出到电机驱动芯片决定电机的正反转。
当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。
舵机的控制信号是PWM信号,利用占空比的变化改变舵机的位置。
图2.2利用角度传感器KM241和芯片UZZ9000把角度0~180转换成0~5V的电压送到MC9S08DZ60的模拟量输入端,经过A/D转换成对应的数字量,然后经过特定的数据处理,得到当前角度值,送给显示部分,最终在LCD上面显示出来。
2.4舵机参数舵机基本参数型号:S3010电压: 4.0 ~ 6.0 [V]角度控制:1°/ 400us工作速度:0.16 + 0.02堵转力矩: 6.5 + 1.3 [ Kg.cm] 舵机的连接方法:三线连接方法:黑线:地线;红线:电源线;两种标准:4.8V, 6V;蓝线(黄线):控制信号线;颜色区分电源线和底线;转角与脉宽:图2.32.5显示器的选择方案一:LED数码管显示器可分为两种显示方式:静态显示和动态显示。
LED数码管静态显示,多片七段译码器驱动显示,这不仅增加了成本,还需要占用单片机多个I/O口,也给电路的焊接带来一定的困难,因此不选用这种方案作为显示模块,所以排除此方案。
方案二:LED数码管显示器动态显示方式下,将所有位的段选线并联在起,由位选线控制哪位接收字段码。
采用动态扫描显示,也就是在显示过中,轮流向各位送出字形码和相应的字位选择,同一时刻只有一位显示,其他各位熄灭。
但是此显示方案稳定性较差,并且还需要焊接外围电路,所以不采用此方案。
方案三:LCD数码管液晶显示,由单片机驱动.它主要用来显示大量数据、文字、图形,能够显示的位数多,显示得清晰多样、美观,同时液晶显示器的编写程序简单,价格便宜,故采用此种方案。
2.6LCD显示原理12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。
3硬件框图角度采集角度转换成模拟量S08AW60 LCD显示出角度键盘中断PWM输出舵机图3.13.1接线图原理图123456ABCD654321D CBATitleNum ber Rev isionSize B Date:10-Jan-2011She et of File :E:\原理图\duo ji 张俊彦.ddbDra wn By :PTC41RESET 3IRQ 2PTF04PTF15PTF46PTF57PTE 08PTE 19TPM1CH 010TPM1CH 111P T E 412P T E 513P T E 614P T E 715V S S 16V D D 17P T G 018P T G 119P T G 220P T A 021P T A 122PTB023PTB124PTB225PTB326PTD 027PTD 128VD DAD 29VSSAD 30PTD 231PTD 332PTG 333V R E F H34V R E F L35B K G D 36P T G 537P T G 638V S S 39P T C 040P T C 141P T C 242P T C 343P T C 544MC9S08A W60C10.1u F+C210u FC30.1u F +5X14MHzC45-25pF C55-25pF R14.7-10KC60.1u FR24.7-10KC70.1u F123456JP1BD M1234567891011121314151617181920JP2L C D 12864R9200S1SW -PBS2SW -PBS3SW -PBS4SW -PBS5SW -PBR310K123PW MV+V-伺服电机-Uo 11-Uo 22Ucc 23Ucc 14+U o15+U o26GN D27GN D18J3KMZ41U12+1U11+2Udd 23Uss 4GN D 5GN D 6GN D 78GN D 9GN D 10 11Uo12UIa 213UIa 114OFFS215OFFS116Udd a 17Ussa 18GN D 19GN D 20Udd 12122U12-23U11-24J4UZ Z9000Rp1Rp2Rp3Rp4伺服电机接口角度采集接口图3.2总电路4软件流程图开始MCU及LCD初始化模拟量输入键盘输入PWM值AD转换PWM输出数据处理是舵机LCD是否忙?否LCD显示图4.14.1舵机控制及角度显示程序/*************************************************************\ * * 河南工业大学联合实验室* * 文件名:创新设计* * MCU:MC9S08AW60* * 调试环境:CodeWarrior 6.3* * 程序员:王晓瑞* * 版本:V6.3* * 描述:舵机角度显示及控制* * 日期:2010.12\*************************************************************/#include <hidef.h> /* for EnableInterrupts macro */#include "derivative.h" /* include peripheral declarations */#define lcden PTGD_PTGD3#define lcdrw PTAD_PTAD1#define lcdrs PTAD_PTAD0#define anjian2 PTED_PTED4#define anjian4 PTED_PTED6#define anjian3 PTED_PTED5#define anjian5 PTGD_PTGD0unsigned char data_string[4]={0};/*存储要显示的数据*/int jiaodu;int zu[]={0,0,0,0};void ADC_Init(void){ADC1SC1=0x00;ADC1SC2=0x00;ADC1CFG=0x71;APCTL1=0x01;}void ADC_Proc(void){int ADC_V;ADC1SC1=0x00;while(!ADC1SC1_COCO)__RESET_WA TCHDOG();ADC_V=ADC1RL;jiaodu=ADC_V*180/255;}/*************************************************************\ * * 函数名:init_TPM* * 功能描述:定时器初始化* * 输入参数:无* * 输出参数:无* * 返回值:无\*************************************************************/ void init_TPM(void){TPM1MOD=2000; /*预置数寄存器设置预置数为6250 */ TPM1C1V=0; /*边缘对齐,清除比较输出*/TPM1C1SC=0x28;TPM1SC=0x0E; /*总线时钟,64分频*/}void delay(unsigned char count) //延时子程序{unsigned char i,j;for(i=0;i<count;i++)for(j=0;j<500;j++)__RESET_WA TCHDOG();}void write_data(unsigned char data){unsigned char shu1;lcdrs=1;lcdrw=0;shu1=data>>4;PTDD=shu1;lcden=0;lcden=1;delay(20);lcden=0;PTDD=data;lcden=1;delay(20);lcden=0;}void write_com(unsigned char num){unsigned char shu;lcdrs=0;lcdrw=0;shu=num>>4;PTDD=shu;lcden=0;lcden=1;delay(20);lcden=0;PTDD=num;lcden=1;delay(20);lcden=0;}void lcd_init(){write_com(0x01); //清屏write_com(0x06); // 写入DDRAM后,地址指针加一write_com(0x0C); //打开显示屏,不显示光标,光标所在位置的字符不闪烁write_com(0x20); //八位MCU接口、基本指令集write_com(0x20); //写两次才能设置成功}/*************************************************************\* * 函数名;transform()* * 功能描述:数字转换成对应的ASCII值* * 输入参数:需要转化的数据* * 输出参数:无* * 返回值:无\*************************************************************/void transform(unsigned int data){unsigned char temp0;unsigned char temp1;unsigned char temp2;unsigned char temp3;temp0=data/1000%10; /*提取数的千位、百位、个位*/ temp1=data/100%10;temp2=data/10%10;temp3=data%10;data_string[0]=temp0+0x30; /*数字与其对应的ASCII值相差48*/ data_string[1]=temp1+0x30;data_string[2]=temp2+0x30;data_string[3]=temp3+0x30;}void main(void) {int i;PTADD=0xFF;PTAD=0xFF;PTGDD_PTGDD3=1;PTGD_PTGD3=1;PTDDD=0xFF;PTDD=0x00;PTEDD=0x00;PTEPE=0xFF;PTGDD_PTGDD0=0;PTGPE_PTGPE0=1;IRQSC=0x12; /*外部中断,下降沿有效,中断使能*/ADC_Init() ;init_TPM();lcd_init();EnableInterrupts; /* enable interrupts *//* include your code here */for(;;) {transform(jiaodu);write_com(0x90);for(i=0;i<4;i++) {write_data(data_string[i]) ;write_com(0x90+1+i);}TPM1C1V=zu[0]+zu[1]*10+zu[2]*100+zu[3]*1000 ;__RESET_W ATCHDOG(); /* feeds the dog */} /* loop forever *//* please make sure that you never leave main */}interrupt VectorNumber_Virq void IRQ_ISR(void){DisableInterrupts;IRQSC_IRQACK=1 ; /*清除中断标志*/for(;;){__RESET_WA TCHDOG();if(anjian2==0) {delay(900) ;if(anjian2==0) {break;}}if(anjian3==0) {delay(3500) ;if(anjian3==0)a1=a1+1;if(a1>=4)a1-=4;}write_com(0x90+8+a1);write_com(0x0D);if(anjian5==1){if(anjian4==0){delay(3500) ;if(anjian4==0) {zu3[a1]+=1;if(zu3[a1]>=10)zu3[a1]=0;write_data(zu3[a1]+0x30);/*数字与其对应的ASCII值相差48,所以加0x30*/}}}if(anjian4==1){if(anjian5==0){delay(3500) ;if(anjian5==0) {zu3[a1]-=1;if(zu3[a1]<=-1)zu3[a1]=9;write_data(zu3[a1]+0x30);}}}}EnableInterrupts;}个人总结通过本次创新设计使得我本人巩固了所学的理论与技能,提高了我的实践能力和应用能力,初步掌握了实际的工程设计方法,设计步骤,为明年的与毕业设计打下坚实的基础。