版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
桂林电子科技大学毕业设计(论文)报告用纸目录HYPERLINK1 绪论 1HYPERLINK1.1课题的研究背景 1HYPERLINK1.2现有的数字舵机存在的问题及解决办法 2HYPERLINK1.2.1数字舵机存在的问题 2HYPERLINK1.2.2解决的方法 2HYPERLINK1.3数字舵机未来的发展潜力 3HYPERLINK1.4本章小结 3HYPERLINK2 系统方案的设计 4HYPERLINK2.1主控电路方案的设计 4HYPERLINK2.1.1主控制电路方案一的设计 4HYPERLINK2.1.2主控制电路方案二的设计 6HYPERLINK2.1.3主控制方案三的设计 8HYPERLINK2.1.4主控制方案的确定 8HYPERLINK2.2驱动电路方案的设计 9HYPERLINK2.2.1方案一:三极管驱动 9HYPERLINK2.2.2方案二:用芯片驱动 10HYPERLINK2.3直流电机方案的确定 12HYPERLINK2.4电机角度采集方案的设计 13HYPERLINK2.4.1方案一:采用传感器 13HYPERLINK2.4.2方案二:采用电位器 13HYPERLINK2.4.3方案的比较与确定 14HYPERLINK2.5PC接口与单片机接口电路的设计 14HYPERLINK2.6本章小结 16HYPERLINK3系统的仿真设计 17HYPERLINK3.1系统的串口模块 17HYPERLINK3.1.1键盘模拟PC的输入 17HYPERLINK3.1.2实际的串口与PC显示设计 17HYPERLINK3.2系统电机角度的控制 18HYPERLINK3.2.1PWM控制直流电机的设计 18HYPERLINK3.2.2电机角度的实现 19HYPERLINK3.3本章小结 20HYPERLINK4软件设计 21HYPERLINK4.1程序总体流程图的设计 21HYPERLINK4.2PID控制算法软件实现与参数整定 22HYPERLINK4.3串口模块程序的设计 24HYPERLINK4.1.2A/D转换模块程序的设计 28HYPERLINK4.1.3主程序的设计 29HYPERLINK4.2本章小节 31HYPERLINK5系统调试 31HYPERLINK5.1硬件调试 31HYPERLINK5.2软件调试 31HYPERLINK6结论 32HYPERLINK谢辞 33HYPERLINK参考文献 34HYPERLINK附录1 35HYPERLINK附录2 39桂林电子科技大学毕业设计(论文)报告用纸第57页共59页绪论1.1课题的研究背景随着计算机技术和通信技术的飞速发展,现代生活正在向数字化、信息化时代大踏步前进。而在电机方面,随着电动机的数字控制是电动机控制的发展趋势,用单片机对电动机进行控制是实现电动机数字控制的最常用的手段。因为微处理器的关系,数字电机可以在将动力脉冲发送到电机之前,对输入的信号根据设定的参数进行处理。这意味着动力脉冲的宽度,就是说激励马达的动力,可以根据微处理器的程序运算而调整,以适应不同的功能要求,并优化电机的性能。传统舵机的控制方式以20ms为一个周期,用一个1.5ms±0.5ms的脉冲来控制舵机的角度变化。目前舵机的控制在人们的生活中已经非常普遍,如航模,包括飞机模型,潜艇模型;遥控机器人中,所以舵机控制效果和性能是非常重要的。而传统的舵机控制还存在着一些缺点,主要表现在一下方面。(1)模拟舵机在空载时,没有动力被传到舵机马达。当有信号输入使舵机移动,或者舵机的摇臂受到外力的时候,舵机会作出反应,向舵机马达传动动力(电压)。这种动力实际上每秒传递50次,被调制成开/关脉冲的最大电压,并产生小段的动力。当加大每一个脉冲的宽度的时候,如电子变速器的效能就会出现,直到最大的动力/电压被传送到马达,马达转动使舵机摇臂指到一个新的位置。然后,当舵机电位器告诉电子部分它已经到达指定的位置,那么动力脉冲就会减小脉冲宽度,并使马达减速。直到没有任何动力输入,马达完全停止。(2)当一个模拟舵机接收到一个短促的动力脉冲,紧接着很长的停顿,并不能给马达施加多少激励,使其转动。这意味着如果有一个比较小的控制动作,舵机就会发送很小的初始脉冲到马达,这是非常低效率的。这也是为什么模拟舵机有“无反应区”的存在。比如说,舵机对于发射机的细小动作,反应非常迟钝,或者根本就没有反应。而随着以CPU为主的数字革命的兴起,现在的舵机已成为模拟舵机和数字舵机并存的局面,但即使是现在的数字舵机,其控制接口也还是传统的1.5ms±0.5ms的模拟控制接口,但是控制芯片不再是普通的模拟芯片,因此相对于传统模拟舵机,数字舵机具有以下的优势:(1)因为微处理器的关系,数字舵机可以在将动力脉冲发送到舵机马达之前,对输入的信号根据设定的参数进行处理。这意味着动力脉冲的宽度,就是说激励马达的动力,可以根据微处理器的程序运算而调整,以适应不同的功能要求,并优化舵机的性能。(2)数字舵机以高得多的频率向马达发送动力脉冲。就是说,相对与传统的50脉冲/秒,现在是300脉冲/秒。虽然,以为频率高的关系,每个动力脉冲的宽度被减小了,但马达在同一时间里收到更多的激励信号,并转动得更快。(3)数字舵机的马达以更高的频率响应发射机的信号,而且“无反应区”变小。(4)反应变得更快;加速和减速时也更迅速、更柔和。(5)数字舵机提供更高的精度和更好的固定力量。1.2现有的数字舵机存在的问题及解决办法从上面一节的介绍我们知道数字舵机和传统的模拟舵机的区别,同时也了解了数字舵机的优点,在现实中我们也知道模拟舵机对于极轻微的外力干扰导致舵机盘移位的敏感度,和舵机执行命令的精确度,是远不如数字舵机的,这么多的优点是不说现实中我们应该尽量使用数字舵机而把模拟舵机给淘汰了呢?其实不然数字舵机存在许多优点的同时也存在着一些不足,1.2.1数字舵机存在的问题(1)数字舵机需要消耗更多的动力。数字舵机以更高频率去修正马达,这一定会增加总体的动力消耗。所以要求电源的能耗就更多,在国家倡导建设节约型社会中,这无疑是给科技的创新提出一个新的难题。(2)相对的寿命教短。数字舵机可以控制舵机的速度,从而实现高速转动,这就要求马达需要更高的功率,从电源端输送功率到马达,电流经过电机的各个部分,当电流突然加大,这对电机内部的绝缘体要求的程度会加深,电流过大会在电机里面形成涡流,也会影响电机里面带有磁性的东西。每个部件组合在一起,只要有一个部件出现问题都可以影响到电机的运行。(3)精度太高。我们知道要求达到高精度,马达就需要不停的转来转去的修正,这样就会在时间上有所延时,在延时阶段如果电机重新接到新的信号,可能这两个信号会出现误差,给电机带来不必要的故障。而且我们知道在模型车上应用的时候,很多时候太高的精度并不是好事,这会给模型的调试带来高难度的技术要求,同时太高的精度也会给制造厂商带来成本的提高。1.2.2解决的方法综合以上所述的问题,我们知道数字舵机的问题是需要的能耗比较大,精度高等缺点,我们可以从一下几个方面进行研究:(1)电源方面。现在的电池科技可谓日新月异,同样的重量,同样的尺寸,但是出厂的容量几乎每个月都在增加。虽然数字舵机以更大的耗电量换取更多的性能,但是对于现在的电池来说这已经不是一个问题。但我们要注意的是,如果使用数字舵机,就必须在允许的尺寸和重量内安装最大容量的电池。(2)舵机的材料和体型上。现在随着不同材料方面取得突破性的进展,舵机在选材方面可以选择的方案增多,相应的性能也不断增强,所以材料方面需要进行的是多方位的选材。而在舵机的体型上,随着电子技术的发展,设计出体型小、功耗低等性能的电机也是现在发展的方向,也符合国家提出的建设资源节约型、环境友好型社会的要求。(3)降低精度要求。精度太高对于技术要求过高,在调试的时候也很难实现,所以在现有的条件下,牺牲一点精度而实现精度和成本互利双赢的局面。这样对电机的影响也不是很大。1.3数字舵机未来的发展潜力随着高新技术的发展,每一个高新的产品生产都会在一个我们的生活得到应用,无不例外的,数字舵机也会在我们的生活运用得越来越广,比如说数字舵机在航空中的运用。舵机是飞行器制导与控制系统的重要组成部分,也是制导与控制系统的执行机构,其接收自动驾驶仪的控制指令,用以操纵舵翼的偏转,其性能的好坏直接决定着飞行器飞行过程的动态品质。因此研究出简单可靠、工艺性好、使用维护方便、能源单一、成本低廉、易于控制等特性的电动舵机将会在航空方面得到广泛的应用。数字电机在机器人的运用。现在各国都加大对机器人的研究,都有一个美好的设想,在未来,人类将不用自己工作,所有的工作都实现自动化,而控制自动化的机械的将是机器人,而实现高精度、低功耗的舵机是实现机器人灵活控制的基础。而数字舵机将会很好的解决这一问题。同时数字舵机还在航模,包括飞机模型,潜艇模型等得到普遍的运用。总之数字舵机无论是在现代生活还是未来中都会越来越重要,因此研究数字式舵机的控制精度高、可靠性高、抗干扰能力强、参数便于调整的数字式舵机在未来将是一个热门。1.4本章小结本章介绍了现有的舵机控制方式,比较两种舵机的优缺点,提出数字舵机存在的问题,以及以后数字舵机得发展潜力,未来数字舵机的将会如何发展。系统方案的设计本系统是基于一直流电机控制器。要求实现对电机正反转、角度自由变化和角度的采集功能。基本思路是,采用合适的电位器采集电机角度模拟参数数据,并经嵌入式芯片(单片机)进行数据处理,单片机将相应的数据处理结果通过接口(RS-232)传送给电脑,人为的改变电脑数据使之反馈给单片机,单片机再根据相关指令做出相应动作,并能对电机实施实时控制。系统模型如图2-1所示。电脑单电脑单片机驱动电路RS232电机RS232电机电位器电位器图2-1系统模型图2.1主控电路方案的设计主控制电路是控制电机的核心,因此选择一个好的设计方案和好的芯片是事关重要的,它不仅可以减少电路原理图的设计,在电路实现精度、功耗、速度等发面发挥重要作用,而且在以后工业化生产中可以大量的减少成本,使企业在激烈的市场竞争中占得先机。主控制电路要实现的功能:(1)输出PWM脉冲驱动电机的运转。主控电路输出PWM脉冲,实现对电机的启动、正反转、停止;输出PWM脉冲还要实现占空比实现对电机角度的控制,实现舵机功能。(2)A/D转换。电位器实现对电机电压的反应,把反馈信号采集,经过主控制电路的A/D转换后把相关的信息反馈给电脑。(3)信号传送给电脑端,实现电机与电脑的联系。要实现数字控制,就需要实现实时控制,因此电脑端和电机就需要随时的传送数据,掌握电机的运行情况。2.1.1主控制电路方案一的设计现在流行用的主控制电路芯片是AT89S51单片机,在很多场合中用AT89S51单片机可以给控制都带来了很多方便,而且在大学中也专门开课介绍了AT89S51单片机,平常也有用过。下面将简单介绍一下AT89S51单片机。AT89S51是美国ATMEL公司生产的高性能、低功耗CMOS8位单片机,单片机内含有4Kbytes可系统编程的Flash制度程序存储器,其主要性能参数如下:4K字节在系统编程(ISP)Flash闪速存储器;1000次擦写周期;4.0-5.5V工作电压范围;全静态工作模式:0Hz-33Hz;128×8字节内部RAM;2个16为定时/计数器、6个中断源;32个可编程I/O口线;全双工串行UART通道;看门狗(WDT)及双数据指针;灵活的在系统编程(ISP-字节或页写模式)采用AT89S51单片机有中断源,可以以555芯片结合输出PWM脉冲,从而可以控制脉冲的占空比,控制电机的角度。同时AT89S51单片机也可以采集来自电位器所采集的电压经过ADC0809转换,把信号传送给电脑。用AT89S51单片机做主控制电路图如图2-2所示。图2-2主控制电路图由AT89S51单片机做主控制电路,可以实现电机的驱动、电位的采集、低功耗,但是由于内部集成的原因AT89S51单片机还是存在一定的缺点,其存在的缺点如下:(1)内部没有集成A/D转换模块。由于内部没有集成A/D转换模块,因此需要在AT89S51单片机外围设置ADC0809采集模块,这样再画电路原理图中会多出电路连接,而且在导入PCB图时会比较麻烦,画PCB图时也很容易出错。在制作电路板是由于芯片的增加会导致跳线的增多,也会增加硬件出错的概率,同时也有可能导致本次研究的失败。(2)不能利用内部的中断产生PWM脉冲的占空比。要实现对电机角度的控制,就需要主控制电路输出PWM脉冲的占空比,AT89S51单片机只有与555芯片结合才能产生PWM占空比,PWM脉冲本身又很容易受到外界的影响,现在外部电路的增加,会增加电路对PWM脉冲的影响,从而使电机的精度会大大减少。2.1.2主控制电路方案二的设计利用兼容AT89S51单片机的AVR单片机做主控制电路,下面将简单介绍一下AVR单片机。AVR单片机是2021年由ATMEL公司研发出的增强型内置Flashd的RISC精简指令集高速8位单片机。AVR单片机有多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时功能,使得电路设计变得非常简单,并且内容资源丰富,一般都集成A/D转换器、SPI、PWM、USART、TWI通信口和丰富的中断源等。其特性简介如下:(1)AVR单片机采用了具有独立的数据总线和程序总线的哈弗结构,采用流水线方式执行,大大提高了指令的执行效率,大部分指令可以在一个时钟周期内完成。理论上,其执行速度是传统的80C51单片机的12倍,实际上在10倍左右。(2)AVR单片机I/O结构的设计使得外部电子原件数量可达到最小化,其I/O线具有可设置上拉电阻、可单独设定为输入或输出、可设定(初始)高阻输入、驱动能力强(输入/输出可达20mA)等特性,可直接驱动数码管、LED、小型继电器等。(3)AVR单片机内嵌高质量的Flash程序储存器,擦写方便,可反复擦写1000~10000次,支持ISP和IAP,便于产品的调试、开发、生产、更新。内嵌长寿命的EEPROM可长期保存关键数据,避免断电丢失。片内大容量的RAM有效支持使用高级语言开发的系统程序。(4)AVR单片机片内具有多种独立的时钟分频器,可通过软件设定分频系数,提供多种档次的定时时间。AVR单片机中定时器/计数器可双向计数产生三角波,再与输出比较匹配寄存器,产生占空比可变、频率可变、相位可变的脉冲调制输出PWM。(5)片内有多通道10位A/D转换器,处理模拟量时得心应手;串行异步通信USART不占用定时器和SPI传输功能;具有多个固定的中断向量入口,因此可快速响应中断。从上面的介绍我们知道,AVR单片机I/O口功能丰富,最主要的是AVR单片机的内部集成了PWM脉冲,ADC转换模块,这样在设计电路图时将会减少很多原件与芯片,只画PCB时简单方便,同时在经济也得到了节约。而且AVR单片机的速度远远比AT89S51单片机运行的速度快,因此主控制电路的控制速度将会得到提高,精度也会随着提高,这样出现的误差将会减少。跟据自己本身所学与对AVR单片机的了解,自己选择了ATmega16单片机作为自己主控制芯片,下面将简单介绍ATmega16单片机芯片。ATmega16是一种基于增强型AVRRISC结构的低功耗8位CMOS微控制器,由于其先进的指令系统及单周期指令执行时间,这款单片机数据吞吐率可高达1MIPS/MHz。其特点可以归结为如下几点:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW);512字节EEPROM,1K字节SRAM;32个通用I/O口线;32个通用工作寄存器;8路10位具有可选差分输入级可编程增益(TQFP封装)的ADC;支持片内调试与编程;三个具有比较模式的灵活的定时器/计数器;可编程串行USART;具有片内振荡器的可编程看门狗定时器;六个可以通过软件进行选择的省电模式;两个具有PWM功能的8位定时器/计时器ATmega16有一个10位的逐次逼近型ADC。ADC与一个8通道的模拟多路复用器连接,能对来自端口A的8路单端输入电压进行采样。单端电压输入以0V(GND)为基准。器件还支持16路差分电压输入组合。两路差分输入(ADC1、ADC0与ADC3、ADC2)有可编程增益级,在A/D转换前给差分输入电压提供0dB(1x)、20dB(10x)或46dB(200x)的放大级。七路差分模拟输入通道共享一个通用负端(ADC1),而其他任何ADC输入可做为正输入端。如果使用1x或10x增益,可得到8位分辨率。如果使用200x增益,可得到7位分辨率。ADC包括一个采样保持电路,以确保在转换过程中输入到ADC的电压保持恒定。基准电压可以通过在AREF引脚上加一个电容进行解耦,以更好地抑制噪声。集成AD转换电路使得设计者在使用的过程中大大了简化了外围电路的设计,同时也减小了硬件出现错误的几率。除此之外ATmega16还有两个8位具有PWM功能且操作简单的定时/计时器。因此它也常常用于PWM调光、调速等系统的设计之中。由以上我们知道了ATmega16单片机的优点,这样我们在设计主控制电路图时就可以很好的利用这些优点,使自己的电路图更简单明了,外围电路减少,这样就可以在制作电路板和调试时带来方便,同时也使自己设计的数字化电机实现高精度、低功耗、高速度、高性能的要求。为了以后方便的运用,同时也为了弥补自己设计时考虑不周全,得重新设计电路版,自己在设计时把电路引脚用两排插针引出来,这样在写程序和调试时想用哪个管脚都可以,因此自己设计的主控制电路如图2-3所示图2-3主控制电路图2.1.3主控制方案三的设计基于DSP的全数字舵机控制器,充分利用其丰富的周边接口,使系统的结构大为简化,并能实现实时控制,下面简单介绍一下DSP技术。DSP(digitalsignalprocessor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号。再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。DSP微处理器(芯片)一般具有如下主要特点:在一个指令周期内可完成一次乘法和一次加法;程序和数据空间分开,可以同时访问指令和数据;片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;具有低开销或无开销循环及跳转的硬件支持;快速的中断处理和硬件I/O支持;具有在单周期内操作的多个硬件地址产生器;可以并行执行多个操作;支持流水线操作,使取指、译码和执行等操作可以重叠执行。DSP的优点:对元件值的容限不敏感,受温度、环境等外部因素影响小;容易实现集成;VLSI可以分时复用,共享处理器;方便调整处理器的系数实现自适应滤波;可实现模拟处理不能实现的功能:线性相位、多抽样率处理、级联、易于存储等;可用于频率非常低的信号。DSP的缺点:需要模数转换;受采样频率的限制,处理频率范围有限;数字系统由耗电的有源器件构成,没有无源设备可靠。由于本系统需要A/D转换,同时也需要低能耗,虽然DSP的功能很强大,但DSP芯片在这两方面都影响对其选择的要求,2.1.4主控制方案的确定综合上面的对比与自己的了解,我选择了设计方案二作为本系统主控制电路的研究,方案二采用了ATmega16单片机作为主控制芯片,充分利用了ATmega16单片机内部集成的A/D模块,以及可以方便的输出PWM脉冲,方案二基本满足了设计的要求,而且也实现了高精度、低功耗、高性能等要求。主控制电路板如图2-4所示图2-4主控制电路板2.2驱动电路方案的设计从主控电路输出的信号是很小的,信号不可能驱动直流电机的远行,更不用说要实现电机的启动、正反转、停止等功能的要求,因此要实现对电机的控制必须要设计出一个功率足够大的电路来驱动电机实现的运行。而要实现电机的正反转,就需要设计一H桥驱动电路,其原理如图2-5所示。图2-5H桥驱动电路原理图H桥式电机驱动电路包括4个三极管和一个电机。要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。2.2.1方案一:三极管驱动在刚开始的设计中,我选择了三级管作为放大电路,实现功率的放大。三极管我选择8050、8550和9012,其原理如图2-6所示图2-6三极管的H桥电路8050和8550可以实现电机的正反转和电路驱动的,但是这几种三极管的放大的倍数较小,只适合于小的电机驱动,不能满足电机的快速启动、停止和电机的正反转,而且用分立元件制作H桥是很麻烦的,所以该方案的设计不是很理想,好在现在市面上有很多封装好的H桥集成电路,接上电源、电机和控制信号就可以使用了,在额定的电压和电流内使用非常方便可靠。比如常用的L293D、L298N、TA7257P、SN754410等。2.2.2方案二:用芯片驱动用集成H桥集成电路电路的芯片,芯片集成了H桥的所有功能,而且芯片可以承受高电压、大电流的电机驱动,而且只用一片芯片就集成了多个三极管的功能,这样在画PCB图时可以节约大量的时间,制作出来的电路板出现的问题也相对较少,在调试的时候可以节省时间,而且也调试成功的概率加大。通过了解我选择了L298N芯片作为自己驱动的主控制芯片。下面简单介绍L298N芯片。L298是SGS公司生产的一种高电压、大电流电机驱动芯片。该芯片的主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器、线圈等感性负载;采用标准TTL逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作;有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。可以方便的驱动两个直流电机,或一个两相步进电机。用l298n设计的H桥驱动电路的原理图如图2-7所示。图2-7H桥芯片设计该设计充分利用了L298N内部的资源,设计两路电机的驱动口,而自己的设计只用到一路,不过这不影响本次研究的驱动电机的功能。多留出的一个控制接口只需要在买元件时多买四个二极管而已,而二极管很便宜不会多浪费经费,而多留的接口在以后的设计中还可以利用,使资源得到充分的利用。用L298N作为驱动电路的主控制芯片实现了设计功能的要求,即实现了电机的启动、正反转和停止,而且电路对从ATmega16单片机输出的PWM脉冲实现很好的放大的作用,这样就能很好的控制电机精度。把驱动电路作为一个单独的模块,这样在调试电路时可以快速的检测驱动电路的好坏。驱动电路实物板如图2-8所示图2-8驱动电路图2.3直流电机方案的确定在本课题的研究中需要对电机实现角度的采集,因此需要实现模数转换,在现有的单片机中要实现对模数转换都有一个要求就是转换的速度不要太快,否则单片机所采集的信号可能不能反应当时所采集的信号,可能是反应下一个时刻的信号,而舵机的实现也对电机转速要求不高,因此自己所选择的电机的转速要求不高。直流电机具有优良的调速特性,调速平滑、方便,调速范围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速启动、制动和反转;能满足生产自动化系统各种不同的特殊运动要求。无刷直流电机保持了传统直流电机优点的基础上,性能较传统的直流电机有很大提高,具有低噪声、高效率、无励磁需要、易维护、寿命长、控制结构简单等优点,在电动舵机中获得较广泛的应用。因此本设计中我选择了无刷直流电机中的减速电机作为电机的研究。减速电机的特点:减速电机结合国际技术要求制造,具有很高的科技含量;节省空间,可靠耐用,承受过载能力高,功率可达95KW以上;能耗低,性能优越,减速机效率高达95%以上。振动小,噪音低,节能高,选用优质段钢材料,钢性铸铁箱体,齿轮表面经过高频热处理;经过精密加工,确保定位精度,这一切构成了齿轮传动总成的齿轮减速电机配置了各类电机,形成了机电一体化,完全保证了产品使用质量特征;产品才用了系列化、模块化的设计思想,有广泛的适应性,本系列产品有极其多的电机组合、安装位置和结构方案,可按实际需要选择任意转速和各种结构形式。根据我现有的资源与了解我选择的减速电机实物如图2-9所示。图2-9电机实物图我选择的电机每秒钟的转速是两圈,这基本上符合了低转速的要求,同时单片机也有足够的时间来进行信号的采集。2.4电机角度采集方案的设计2.4.1方案一:采用传感器传感器是一种物理装置或生物器官,能够探测、感受外界的信号、物理条件(如光、热、湿度)或化学组成(如烟雾),并将探知的信息传递给其他装置或器官。本课题的设计主要是对电机角度的采集,因此,选择角位移传感器作为对角度的采集。角度传感器是把对角度测量量转换成其物理量的测测量,角度传感器的原理是将角度变化的测量变为测量的变阻器式传感器或是将角度变化量的测量变化为电容型传感器。要将角度传感器得到有用的信息显示出来,就必须将没有干扰的信号和噪声排除,所以在使用传感器时就必须要设计滤波电路和解调电路。采用角位移传感器的特点:(1)优点:位置传感器采集的速度快;高性能、低功耗;准确度高,一般相对误差可以达到5%左右。(2)缺点:采集的速度过快,单片机不能实现实时处理;对于电机高精度将会使电机的寿命减少,也不容易控制电机的角度。2.4.2方案二:采用电位器电位器是用于分压的可变电阻器。在裸露的电阻体上,紧压着一至两个可移金属触点。触点位置确定电阻体任一端与触点间的阻值。按材料分线绕、炭膜、实芯式电位器;按输出与输入电压比与旋转角度的关系分直线式电位器(呈线性关系)、函数电位器(呈曲线关系)。主要参数为阻值、容差、额定功率。广泛用于电子设备,在音响和接收机中作音量控制用。电位器的工作原理是电阻体的两个固定触电之间外加一个电压时,通过转动或滑动系统改变触点在电阻体上的位置,在动触点与固定触点之间便可得到一个与动触点位置成一定关系的电压。下面简单介绍两种电位器。(1)线绕电位器:具有高精度、稳定性好、温度系数小,接触可靠等优点,并且耐高温,功率负荷能力强。缺点是阻值范围不够宽、高频性能差、分辨力不高,而且高阻值的线绕电位器易断线、体积较大、售价较高。这种电位器广泛应用于电子仪器、仪表中。线绕电位器的电阻体由电阻丝缠绕在绝缘物上构成,电阻丝的种类很多,电阻丝的材料是根据电位器的结构、容纳电阻丝的空间、电阻值和温度系数来选择的。电阻丝越细,在给定空间内将获得较大的电阻值和分辨率。但电阻丝太细,在使用过程中容易断开,影响传感器的寿命。(2)合成碳膜电位器:具有阻值范围宽、分辨力较好、工艺简单、价格低廉等特点,但动噪声大、耐潮性差。这类电位器宜作函数式电位器,在消费类电子产品中大量应用。采用印刷工艺可使碳膜片的生产实现自动化。2.4.3方案的比较与确定从上面章节的介绍我们知道,单片机内集成A/D转换模块,给电路的设计带来了方便,但是单片机的A/D转换的速度有一定的限制,如果采用角位移传感器作为电机的角度的反馈,将会对芯片采集速度提出更高的要求,对单片机还要控制其他功能不利,而且采用角位移传感器电机控制的角度会更加精确,会使电机寿命大大缩短。本次课题的研究也不需要实现精度过高的位置采集,所以不需要选择角位移传感器。电位器使用简单,而且稳定性好、温度系数小,接触可靠、阻值范围宽、分辨力较好、工艺简单、价格低廉等特点,所以采用电位器作为电机电位的采集。而电位器有两种,而线绕电位器易断线、体积较大、售价较高等特点,也不宜采用。合成碳膜电位器由于具有阻值范围宽、分辨力较好、工艺简单、价格低廉等特点,这些都很符合自己设计的要求所以自己选择合成碳膜电位器作为反馈电机角度的控制。所用的电位器如图2-10所示。图2-10电位器实物图2.5PC接口与单片机接口电路的设计PC接口与单片机实现良好的连接是非常重要的,因为PC接口与单片机是进行实时连接的,一个好的连接线在的数据传送时将体现在传送的速度上。在计算机系统中,串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。串行通信有两种基本通信方式:异步通信和同步通信。同步通信是按照软件识别同步字符来实现数据的发送和接收,异步通信是一种利用字符的再同步技术的通信方式。(1)异步通信:在异步通行中有两个比较重要的指标:字符帧格式和波特率。数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。接收端检测到传输线上发送过来的低电平逻辑"0"(即字符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕。(2)同步通信:同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。它们均由同步字符、数据字符和校验字符(CRC)组成。其中同步字符位于帧开头,用于确认数据字符的开始。数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有1到2个,用于接收端对接收到的字符序列进行正确性的校验。同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。常用标准异步通信接口有RS-232C、RS-422/485、USB通用接口等几类。EIARS-232C是由美国电子工业协会EIA(ElectronicIndustryAssociation)在1969年颁布的一种串行物理接口标准。RS(RecommendedStandard)是英文“推荐标准”的缩写,232为标识号,C表示修改次数。
RS-232C标准规定的数据传输速率为每秒150、300、600、1200、2400、4800、9600、19200波特。
RS-232C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。RS-232C总线标准:RS-232C标准总线为25条信号线,采用一个25脚的连接器,一般使用标准的D型25芯插头座(DB-25)。连接器的25条信号线包括一个主通道和一个辅助通道。在大多数情况下RS-232C接口主要使用主通道,对于一般的双工通信,通常仅需使用RXD、TXD和GND三条信号线,因此RS-232C又经常采用D型9芯插座头(DB-9)。RS-232C采用负逻辑,即逻辑1用-5V~-15V表示,逻辑0用+5V~+15V表示。因此,RS-232C不能和TTL电平直接相连。目前,RS-232C与TTL之间通常需进行电平转换,最常用的是MAX232芯片。MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。包含两路发送器和两路接收器。两路发送器的输入端T1IN、T2IN引脚为TTL/COMS电平输入端;两路接收器的输出端R1OUT、R2OUT为TTL/COMS电平输出端,。实际使用时,可从两路发送/接收器中任选一路作为接口,但要注意发送、接收端子必须对应。串口通信设计如图2-11所示图2-11串口通信电路设计图2.6本章小结本章具体介绍与分析了系统总体设计的方案,又把系统分成五个模块进行介绍,而五个模块又从不同角度进行系统的设计,论证了各个方案的优缺点,从中选择可行的模块设计方案进行全面的完善。这五个模块分别是:主控制电路的设计;驱动电路方案的设计;电机的选择;电位器的对比;串口的设计。3系统的仿真设计3.1系统的串口模块在计算机系统中,串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。3.1.1键盘模拟PC的输入在仿真中,为了方便显示也为了以后的调试,在设计的时候,设计单片机的PC引脚作为仿真中PC端的输入系统,每一个按键分别代表电机要运行到的角度。按键的设计如图3-1所示。图3-1按键的设计3.1.2实际的串口与PC显示设计好的显示才能显示出电机实际的运行情况,才能根据需要实现对电机的实时控制,显示部分要求实现PC跟串口的连接,显示电机的动态和静态的显示。(1)系统串口部分系统串口的实现是与单片机相连的,实现PC与主控制电路的连接,在仿真中用到PD口作为单片机与串口的连接,系统串口的设计如图3-2所示。图3-2串口设计电路图(2)在仿真中为了实现电脑显示部分,采用了串口调试作为电脑的显示端,其可以观察到当键盘输入指令时电机角度的变化,也可以向单片机输出控制角度,它相当与电脑的显示器,键盘与串口调试很好的实现了仿真中要求的功能,即实现对电机角度变化的显示,对电机输出指令的控制。数据参数的设计:串口号选择了COM,波特率选择9600,数据位7为,停止位1位,自动换行显示,发送间隔时间是1000ms。串口调试端口的设计与参数如图3-3所示。图3-3串口参数的设计3.2系统电机角度的控制3.2.1PWM控制直流电机的设计PWM信号只有两种状态,高电平和低电平,对于一个给定的周期来说,高电平所占的时间和总的一个周期时间之比叫做占空比,电机的速度与施加的平均电压成正比,输出转矩则与电流成正比。直流电机高效运行的最常见方法是施加一个
PWM(脉宽调制)方波,其通-断比率对应于所需速度。即直流电机的转速正比于在一个周期内PWM的电压有效值。电机起到一个低通滤波器作用,将
PWM
信号转换为有效直流电平。PWM
驱动信号很常用,因为使用微处理器的控制器很容易产生
PWM
信号。虽然用精确的脉冲宽度可以调节电机的速度,实际应用中的
PWM
频率却是可变的。驱动器由功率电子器件和集成电路等构成,其功能是:接受电动机的启动、停止、制动信号,以控制电动机的启动、停止和制动;接受位置传感器信号和正反转信号,用来控制逆变桥各功率管的通断,产生连续转矩;接受速度指令和速度反馈信号,用来控制和调整转速;提供保护和显示等等。图3-4PWM原理MOTORUsUiT图3-4PWM原理MOTORUsUiTt1t2UiUattPWM调速原理、控制电压波形和电枢两端的电压波形如图3-4所示。当开关管MOSFET的栅极输入高平时,开关管导通,直流电机电枢绕组两端有电压从电源向电机提供能量,电动机储能。T1时间后,栅极输入为低电平,开关管截止,中断了供电电源U,向电动机提供能量,但在开关管接通期间电枢电感所储存的能量此时通过续流二极管VDI使电动机电流继续流通。3.2.2电机角度的实现(1)设计发光二极管代表电机角度变化。为了方便调试时显示电机角度区别,电机角度的实现都会用一个相应的发光二极管来表示,发光二极管的设计的电路如图3-6所示。图3-6发光二极管的设计(2)电机角度的实时控制与波形的显示。在PC端输入相应的控制角度,观察PC端的数据与示波器相应的波形,如图3-7所示电机角度是90度与波形相对应。图3-7电机90度与波形的对应3.3本章小结本章主要介绍了系统各个模块的仿真,实现的功能,并附上相应的电路图。4软件设计4.1程序总体流程图的设计本系统所要完成的设计是基于直流电机的控制设计,实现的功能从ATmega16单片机输出PWM脉冲控制电机的正反转和电机的线性运行,而电机位置的改变需要通过电位器采集的信号,即通过采集到的电压来判断电机的位置,把采集的信号通过单片机的AD转换传给串口通信,实现PC对电机电位的实时监控。而PC也可以根据需要随时输入一个角度,通过单片机输出PWM脉冲实现对电机的实时控制,实现的实时控制包括:电机的启动、正反转、线性运行、停止功能。根据课题要求和本人理解,对本控制系统软件的主体设计思路是:控制系统上电复位,单片机开始工作。首先对各模块进行初始化,设定好定时器,中断量和被监控量的范围等数据,AD开始工作,单片机一直读取AD采集到的信息和开关量状态。软件编写总体流程图见图4-1所示。图4-1主程序流程图图4-1为软件总体流程图,其中还可分为若干程序模块,如数据采集分析模块,驱动电路模块,串口通信模块等等。下面将从各个模块设计子程序流程图,并给出相应的子程序。4.2PID控制算法软件实现与参数整定在实际的控制系统中调节器采用的基本条件规律有比例、积分和微分调节规律,简称PID调节。可以通过P、I和D三个环节不同的组合,得到常用各种调节规律。在新型的控制算法不断出现的今天,PID作为最基本的控制方式依然是占最主要的地位,因而其获得最广泛的应用。PID控制器具有原理简单、鲁棒性强、适应性广、算法易于实现等优点。随着人们对PID算法的深入探讨,有许多改进型的PID算法,比如遇限削弱积分法、积分分离法、微分先行等改进型PID算法。 在PID控制器参数整定方面前人积累了丰富的经验公式,给PID控制器应用带来很大的方便。下面将详细描述经典PID控制器设计和参数整定方法。 PID调节器是一种线性调节器,这种调节器是将设定值r(t)与输出值c(t)进行比较构成控制偏差e(t)=r(t)-c(t)将其按比例、积分、微分运算后,并通过线性组合构成控制量,如图所示,所以简称为P(比例)、I(积分)、D(微分)调节器。PID调节器KpPID调节器Kp+被控对象Kir(t)++u(t)c(t)被控对象KiKd- +Kd图4.1PID控制器框图基本连续PID控制器的理想算式为(4-7)u(t)——控制器(也称调节器)的输出;e(t)——控制器的输入(常常是设定值与被控量之差,即e(t)=r(t)-c(t));Kp——控制器的比例放大系数;Ti——控制器的积分时间;Td——控制器的微分时间。因为微机是通过软件实现其控制算法。必须对模拟调节器进行离散化处理,这样它只能根据采样时刻的偏差值计算控制量。因此,不能对积分和微分项直接准确计算,只能用数值计算的方法逼近。用离散的差分方程来代替连续的微分方程。根据输出量u(k)的形式可分为位置式PID控制算法和增量式PID控制算法两种。 (1)位置式PID控制算法设u(k)为第k次采样时刻控制器的输出值,微分用一阶差分近似得:(4-8) 可得离散的PID算式:(4-9)u(k)——控制器(也称调节器)的输出;e(k)——系统本次采样偏差(常常是设定值与被控量之差,即e(t)=r(t)-c(t));e(k-1)-系统上次采样偏差Kp——控制器的比例放大系数;Ti——控制器的积分时间;Td——控制器的微分时间; T——采样周期。由于计算机的输出u(k)直接控制执行机构(如阀门),u(k)的值与执行机构的位置(如阀门开度)一一对应,所以通常称式(2)为位置式PID控制算法。位置式PID控制算法的缺点:当前采样时刻的输出与过去的各个状态有关,计算时要对e(k)进行累加,运算量大;而且控制器的输出u(k)对应的是执行机构的实际位置,如果计算机出现故障,u(k)的大幅度变化会引起执行机构位置的大幅度变化。(2)增量式PID控制算法增量式PID是指数字控制器的输出只是控制量的增量Δu(k)。采用增量式算法时,计算机输出的控制量Δu(k)对应的是本次执行机构位置的增量,而不是对应执行机构的实际位置,因此如果执行机构对控制量增量的累积功能,则直接送控制量Δu(k)个执行器就可以;如果执行机构对控制量增量的不具有累积功能,则必须微机在计算过程中应该保存上次的总体输出量,在本次输出是叠加上本次的增量Δu(k)后送至执行器。完成对被控对象的控制操作。增量式PID控制算式:(4-10)进一步可以改写成(4-11)式中、、一般计算机控制系统的采样周期T在选定后就不再改变,所以,一旦确定了Kp、Ti、Td,只要使用前后3次测量的偏差值即可由式(4-10)或式(4-11)求出控制增量。4.3串口模块程序的设计ATmega16单片机通过引脚RXD和引脚TXD与外界进行通信,串行口内部有两个物理上相互独立的数据缓冲区SBUF,一个用于发送数据,另一个用于接收数据。发送缓冲器只能写入数据,接收缓冲器只能读出数据,因此两个缓冲区共用一个地址(99H)。软件设计主要是将串口进行初始化,然后在主程序中等待数据发送完成,当发送完成一个数据后就产生中断。(1)串口子程序流程图如图4-2所示。关键代码:VoidUSART_init()//串口初始化子程序{UBRRL=12;/4800/*设置波特率*/UCSRA=0x00;UCSRB=0x98;//10011000接收使能,发送使能,接受结束中断使能UCSRC=0x84;//10000100异步,无奇偶,1个停止位,7位数据位}voidFasong(ucharfasong_data){while(1){UDR=fasong_data;//发送采集的电压值 while(!(UCSRA&(BIT(TXC))));//等待发送结束 break;} }(2)串口接收子程序为了方便调试时容易区分电机角度的变化,电机角度改变时用相对应的发光二极管来表示,串口接收子程序流程图如图4-2所示。图4-2串口接收子程序流程图关键代码:voidJieshou(void){USART_data=UDR;if(USART_data==0x41)//接收到A{ USART_data_1=jiaodu_data[1];//转45度 while(1) { Fasong(0x34);//发送45度 delay(5); Fasong(0x35); delay(5); break; }for(j=0;j<2;j++)//LED1闪烁 { PORTB|=BIT(0);//10000000 delay(300); PORTB&=~BIT(0);//01111111 delay(300); }}elseif(USART_data==0x42)//接收到B{USART_data_1=jiaodu_data[2];//转90度 while(1) { Fasong(0x39);//发送90度 delay(5); Fasong(0x30); delay(5); break; } for(j=0;j<2;j++)//LED2闪烁{ PORTB|=BIT(1); delay(300); PORTB&=~BIT(1); delay(300);} } elseif(USART_data==0x43)//接收到C{USART_data_1=jiaodu_data[3];//转135度 while(1) { Fasong(0x31);//发送135 delay(5); Fasong(0x33); delay(5); Fasong(0x35); delay(5); break; } for(j=0;j<2;j++)//LED3闪烁{ PORTB|=BIT(2); delay(300); PORTB&=~BIT(2); delay(300);} }elseif(USART_data==0x44)//接收到D{USART_data_1=jiaodu_data[4];//转180度 while(1) { Fasong(0x31);//发送180 delay(5); Fasong(0x38); delay(5); Fasong(0x30); delay(5); break; } for(j=0;j<2;j++)//LED4闪烁{ PORTB|=BIT(3); delay(300); PORTB&=~BIT(3); delay(300);} }elseif(USART_data==0x45)//接收到E{USART_data_1=jiaodu_data[5];//转225度 while(1) { Fasong(0x32);//发送225 delay(5); Fasong(0x32); delay(5); Fasong(0x35); delay(5); break; } for(j=0;j<2;j++)//LED5闪烁{ PORTB|=BIT(4); delay(300); PORTB&=~BIT(4); delay(300);} } Jieshou_1=1;}4.1.2A/D转换模块程序的设计在各类数字化电子产品中,A/D转换器是模拟物理量与数字计算机之间建立联系的桥梁,ADC的任务是将连续变化的模拟信号转换为离散的数字信号。以便与数字系统进行计算、处理、存储、控制和显示。(1)A/D转换流程图如图4-3所示。图4-3A/D转换流程图(2)A/D转换子程序uintm16_ADC(){intaddata;ADMUX=0x00;//00000000外部参考电压,单端输入,左对齐ADCSRA=0x80;//10000000ADC使能ADCSRA|=BIT(ADSC);//开始转换while(!(ADCSRA&(BIT(ADIF))));//等待转换结束addata=ADCL;//读取数据addata=addata+ADCH*256;//计算转换结果returnaddata;}4.1.3主程序的设计为了方便自己设计和修改程序,同时也为了方便其他人的读取程序,我所画的流程图将会尽量的详细,如图4-4主程序流程图。详细的主程序清单将会在附录2中介绍。图4-4主程序流程图 4.2本章小节本章主要是软件的设计,本章基于系统的主要控制开始,设计主要的程序流程图,然后从各个子程序入手设计各个模块的子程序,实现研究功能。5系统调试系统的调试主要是将设计制作出来的硬件电路接入到机械结构上,并编写程序编译成功后下载到单片机上进行整机调试。调试要考虑系统的协调性和稳定性,还要保证连贯性。5.1硬件调试硬件调试主要是测试制作出来的PCB电路板电气性能是否能正常。以下是我调试电路板的步骤:(1)首先是先不插上芯片,用万用表测试电源输入端两个管脚是否有短路现象,如果有短路,则一部一部往下查,看电路板上短路出现在哪个位置,处理完后再测试,没问题的就可以通电了。如果没有短路现象,则可以直接通电测试。(2)接上电后,用万用表电压档测试电源输入端的电压是否正常,能否达到设计所要的电压值。比如稳压管后的电压,如果不正常,出现电压过高,则断电后测量稳压管管脚是否有短路现象,有的话则稳压管是损害的,换一个稳压管重新测试。测量稳压管后的电压正常后,我把电源输入开掉,插上芯片后测试芯片电源脚,测量电压值,正常后就可以下载程序测试了。5.2软件调试软件调试就是在硬件条件调试好的情况下进行的,本设计系统的控制程序是采用C语言编程,在语句中出现的语法错误,该软件会提示出来,以便于更正。因此,软件调试主要的工作是检查头文件是否正确,是否与单片机的端口地址相匹配。其次,就是检查初始化程序的正确性,根据设计的要求定义正确的初始化程序,为后面程序的执行做好铺垫作用。然后就是根据软件实现步骤逐个检查程序的可行性,以及程序的嵌套性是否都能达到设计的要求。通过这一系列的调试,我不仅对软件有了很大的提高,我也学习到了软硬件结合排斥故障的方法,提升了动手能力。为今后的学习工作奠定了良好的基础。6结论本课题目的是电机控制设计,以ATmega16单片机为核心,经过H桥驱动电机,实现电机线性运行与正反转,利用电位器来测量电机角度的变化,经过单片机的ADC进行采样,传送给电脑端,使电脑端可以实时控制电机。由于本课题涵盖的知识面广,涉及的学科相对较多,有利于整合多学科知识,实现多学科之间的交叉互动,使本课题更具实践性和创新性。给学生提供多种思考方式和解决方案,具有重基础,重动手能力的优势。强调理论联系实际,能够使学生从理论的高度过渡到实际操作上。选题相对适中,没有超出本科生设计的要求。通过本次毕业设计我认真学习、翻阅了很多文献资料,对单片机的应用技术有了更深的了解,对C语言程序有了很大提高,也认真学习了相关软件(protel、protues、ICCAVR等)。这不仅使我巩固了理论基础,也极大的提高了我的动手能力,能够灵活的将书本的理论运用到实际问题当中。从本次毕业设计中,我学习的不仅是知识,更重要的为人处事的道理,和面对困境时寻求解决的方法,为我今后的学习工作打下了坚实的基础,也给自己提升到更高的层次。谢辞走的最快的总是时间,来不及感叹,大学生活已近尾声,四年多的努力与付出,随着本次论文的完成,将要划下完美的句号。本论文设计在郝卫东老师的悉心指导和严格要求下业已完成,从课题选择到具体的写作过程,论文初稿与定稿无不凝聚着郝卫东老师的心血和汗水,在我的毕业设计期间,郝卫东老师为我提供了种种专业知识上的指导和一些富于创造性的建议,郝卫东一丝不苟的作风,严谨求实的态度使我深受感动,没有这样的帮助和关怀和熏陶,我不会这么顺利的完成毕业设计。在此向郝卫东老师表示深深的感谢和崇高的敬意!在临近毕业之际,我还要借此机会向在这四年中给予我诸多教诲和帮助的各位老师表示由衷的谢意,感谢他们四年来的辛勤栽培。各位任课老师认真负责,在他们的悉心帮助和支持下,我能够很好的掌握和运用专业知识,并在设计中得以体现,顺利完成毕业论文。同时,在论文写作过程中,我还参考了有关的书籍和论文,在这里一并向有关的作者表示谢意。我还要感谢同组的各位同学以及我的各位室友,在毕业设计的这段时间里,你们给了我很多的启发,提出了很多宝贵的意见,对于你们帮助和支持,在此我表示深深地感谢。参考文献[1]王福瑞.单片微机测控系统设计大全[M].北京:北京航空航天大学出版社,2021.[2]丁镇生.C语言应用编程方法范例精讲[M].北京:电子工业出版社,2021.[3]姜志海,赵艳雷.单片机的C语言程序设计与应用.北京:电子工业出版社,2021.[4]谭浩强.C语言设计(第三版).北京:清华大学出版社,2021.[5]刘同法.陈忠平.眭仁武.单片机基础与最小系统实践.北京航空航天大学出版社,2021.[6]徐益民.范红刚.苏凤武.零基础学AVR单片机:基于ATmega16、C语言.机械工业出版社,2021.[7]谢筑森.单片机开发与典型应用设计[M].北京:机械工业出版社,2021.[8]胡伟,季晓衡编著.单片机C程序设计及应用实例[M].北京:人民邮电出版社,2021.[9]余永权.单片机在控制系统的应用[M].北京:电子工业出版社,2021,10.[10]龚振邦等.机器人机械设计.北京:电子工业出版社,1995.11.[11]高海生等,《单片机应用技术大全》[M],西安:西南交大出版社,1996.[12]吉雷.Protel99从入门到精通.北京:中国人民邮电出版社,2021,10.[13]马忠梅等.单片机的C语言应用程序设计.北京:北京航空航天大学出版社,2021.11.[14]谢自美.电子线路设计实验测试[M].武汉:华中科技大学出版社,2021.[15]康华光.电子技术基础数字部分(第四版).北京:高等教育出版社,2021.[16]康华光.电子技术基础模拟部分(第四版).北京:高等教育出版社,2021.[17]马潮.AVR单片机嵌入式系统原理与应用实践[M].1版.北京航空航天大学出版社,2021.[18]周兴华.手把手教你学AVR单片机C程序设计[M].1版.北京航空航天大学出版社,2021.[19]REGISMADE.ATCOMMANDSFORGSM[M].USA:WAVECOMEASIAPACIFICLIMITED,2021.附录1原理图如下:附一主控制原理图附二主控制PCB图附三驱动电路原理图附四驱动电路PCB图附五仿真图附六系统电路板附七整个系统电路原理图附录2程序清单:#include<iom16v.h>#include<macros.h>#pragmainterrupt_handlerJieshou:12#defineucharunsignedchar#defineuintunsignedint#definekeyinPINCintADdata,ADdata_1;uchari,k;intj;uintstar,over;uintzhengzhuan,fanzhuan,jiasu_1,jiasu_2,jiasu_3,jiasu_4;uintjiasu_5_f,jiasu_6_f,jiasu_7_f,jiasu_8_f;uintUSART_data,USART_data_1;uintJieshou_1;uintdianji,dianji_T,duoji;uintdata_1[]={0x34,0x35,0xff};//45uintdata_2[]={0x39,0x30,0xff};//90uintdata_3[]={0x31,0x33,0X35};//135uintdata_4[]={0x31,0x38,0X30};//180uintdata_5[]={0x32,0x32,0X35};//225uintdata_6[]={0x32,0x37,0X30};//270uintjiaodu_data[6]={171,341,511,681,851,1024};//角度0度45度,90度;135度,180度;225度;270度//*******************************////IO端口初始化//******************************//voidIO_init(){ DDRA=0X00;//00000000AD采集输入 PORTA=0X00;//00000000 DDRB=0XFF;//11111111LED指示输出 PORTB=0X00;//00000000输出低电平 DDRC=0X00;//00000000键盘输入 PORTC=0Xff;//11111111 DDRD=0X30;//00110000串口上位机;PWM输出 PORTD=0X00;//00000000}//*******************************////PWM初始化子程序//******************************//intm16_PWM(intm16_pwm){DDRD|=0x70;//01110000PD4,PD5为输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年望奎县带编教师招聘考试备考题库及答案解析
- 2027年贵阳市中考数学押题试卷(含答案解析)
- 2026年明溪县带编教师招聘考试模拟试题及答案解析
- 2026年西盟佤族自治县带编教师招聘考试参考题库及答案解析
- DB32/T 5300-2025 后备种鸽饲养管理技术规程
- DB32/T 5331-2025 内陆淡水湿地生态修复固碳增汇成效评估技术规程
- 2026年措美县带编教师招聘考试备考试题及答案解析
- 2026年宝清县带编教师招聘考试备考题库及答案解析
- 2026年改则县带编教师招聘考试参考题库及答案解析
- 2026年安溪县带编教师招聘笔试模拟试题及答案解析
- 2026电动重卡换电模式推广障碍与基础设施需求报告
- 2026年云南睿城建设项目管理有限公司、云南朗锐工程咨询服务有限公司招聘(6人)笔试备考题库及答案详解
- 心房颤动防治科普课件
- 《2.我的肖像》课件2026-2027学年人美版五年级上册美术
- 2026年秋季学期学校德育工作计划
- 2026年应急救援知识安全生产应用试题题库(附答案)
- 第7课《培养德智体美劳全面发展的社会主义建设者和接班人》课件
- 新版部编人教版四年级上册道德与法治(课件)11学会合理消费
- DB11-T 383-2023 建筑工程施工现场安全资料管理规程
- CJT 288-2017 预制双层不锈钢烟道及烟囱
- 铁路防雷及接地工程技术规范(TB 10180-2016)
评论
0/150
提交评论