版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、关于技术报告和研究使用的说明本人完全了解第十四届全国大学生“恩智浦”杯智能汽车竞赛关于保留、使用技术报告和研究的规定,即:参赛著作权归参赛者本人,比赛组委会和恩智浦半导体公司可以在相关主页上收录并公开参赛的设计方案、技术报告以及参赛模型车的集中。、图像资料,并将相关内容编纂收录在组委会参赛队员签名: 带队教师签名: 期: 日II键入文字目录第一章 引言1第二章 方案设计22.1 总体设计思路22.2 电容如何充电32.3 电容的电用在哪里3第三章 机械结构调整与优化33.1 机械结构部分33.2 车辆设计53.3 电池位置53.4 支架安装53.5 轮胎的处理53.6 电源管理53.7 直流电
2、机模块6第四章 电路的设计说明64.1 电磁传感器电路的设计64.2 主控板的设计74.3 方向原理74.4 陀螺仪的作用84.5 无线模块8第五章的设计说明115.1 程序的说明115.2 智能车系统模块组成框图135.3 速度的.13第六章开发工具与调试过程说明14第七章的主要技术参数14第八章总结15参考文献16附 录I1源代码.I2第一章 引言第一章 引言全国大学生智能汽车竞赛是教育部高等学校自动化类专业教学指导委员会主办,旨在培养创新精神、协作精神,提高工程实践能力的科技活动。该竞赛是以迅猛发展的为背景,涵盖了、模式识别、传感技术、电气、计算机、机械等多个学科交叉的科技创意性比赛。本
3、校积极组队参加第十四届“恩智浦”杯全国大学生智能汽车竞赛。从 2019 年五月着手准备,历时两个多中获得了较过不断试验设计,最终设计出较为完整的智能。在赛区比赛综合性能和成绩。在本次比赛中,采用大赛组委会统一提供的竞模,采用恩智浦公司 S9KEAZ128AMLK单元,构思方案及系算法统设计,进行机械结构的调整与优化,硬件的设计与组装、的编写与改进等过程(小车上的具体方案模块有传感器信号处理、算法及执行、动力电机驱动等)从而实现小车智能化的识别道路,最终实现智能化竞速。本技术报告主要对小车的整体设计思路,硬件与设计与优化,机械结构的安装以及的调试操作等过程作简要的说明。1第一节全国大学生智能汽车
4、邀请赛技术报告第二章 方案设计2.1 总体设计思路是以检测通以 20KHz、100mA 的导线的电磁场为基础,通过单片机处理到的磁感应电压信号,实现对的转向迹的目的。,进而识别赛道达到路径寻根据电磁寻迹的设计方案,整体以下四大模块:1.单片机模块 2.电磁传感器模块 3.电机驱动模块 4.电源管理模块等,除此之外还有一些外部,例如直流电机驱动车体,干簧管起跑线识别等。如图 2.1、图 2.2 所示单片机系统图 2.1 系统结构图PortB457ADCPortT0MCU (9S12DG128B)图 2.2 车模系统控2测速传感器A44EDC-MotorSensorReceiveEmit传感器工作
5、指示灯Servo Motor电源直流电机串行通信口电机驱动起跑线检测人机交互传感器信号检测第二章 方案设计2.2 小车储能系统设计我们的储能器件选用 5 支 100F 的法拉电容。电容是的应用保障,电容充电是一个比较重要的问题。电容的能量来源,是发射线圈产生的交流电,在接收线圈上感应到交流电,再经过整流后充到电容中。经过 XL2596 降压降压之后,再通过 4 个场效应管升压。最终通过 LTM4605 开关电源同步整流之后输出平滑的直流电。2.3 供电系统设计智能车很多部分需要电能方可工作。具体耗能部件可分为以下几个部分:(1)供电(2)电机驱动(3)传感器。单片机及信号放大电路供电所消耗的比
6、较小,但是对供电电源的纯净度要求很高。KEAZ128如供电电压不稳,容易出现程序跑飞现象。传感器检测赛道导线,电压值很小,需要经过放大才能供给单片机。的供电电压不稳,可能直接导致赛道检测错误,智能车冲出赛道。电机为整个智能车主要耗能部分。电机转动电路是电机驱动。为了使智能车更快完成跑圈任务,我选用 12V 为驱动电路供电。第三章机械结构调整与优化3.1 机械结构部分机械机构部分工作主要 簧的安装、驱动模块的安装、3.1.1 传感器的安装含传感器的安装、主控板的连接与固定、干弹差速的调整以及的防滑处理等。传感器采用的是 5 个磁场检测电感按一字和八字的方式安装。如图 3.1 所示红外传感器装于车
7、头处。3.1.2 主控板的连接与固定3第一节全国大学生智能汽车邀请赛技术报告采用接插件与焊接结合的方式连接传感器、主控板、电机驱动电路、电机, 既考虑可靠性又兼顾结构调整与安装的便利性。具体安装结构如图 3.2 所示图 3.23.1.3 赛道起始检测采用干簧管作为赛道起始线检测元件,采用两两并联,在实际比赛时,与比赛用的起始线磁铁水平宽度相比,我们的干簧管的安装宽度较大,如此考虑,可以增大检测的范围,好处是可以有效地防止车子多而导致不能检测到起跑线不能停车的情况的发生。3.1.4 电机驱动模块终点时因跑偏太驱动模块采用 BTN7971B 的驱动电路,由于车模电机自身的空载电流很小,导致工作时电
8、流偏大,但实际运行中,匀速运行,导致发热,为提高可靠性,采用并联分流驱动,运行。如图 3.4 所示图 3.4 电机驱动4第四章 电路设计3.1.5 信号检测模块信号检测模块是整个车方向的,我们使用了 OPA2350。OPA2350,通过对微弱的磁场信号进行放大,采用两个电感水平放置检测道路滤波整流后将电感距中心线的距离转化成为电平的大小。3.2 车辆设计我们的采用碳纤维的底盘,式的车轮以及铝合金的轮毂。这样赛车的总重量就会很轻,并且达到最大的坚固性。空心杯的动力可以叫的速度和达到一定的巅峰值,叫的速度提上来。因为是碳纤维的材质可以放心大胆的进行3.3 电池位置测试。这样可以看出最性能。我们考虑
9、到是节能组一切为了节能不易太重,所以我们采用了 100F 的电容。考虑到要进行环岛等我们选择降低重心,保证过环岛的性。因此我们把电池座用螺丝固定在后面,与后轮轴同一高度的地方。3.4 支架安装为了减小转动惯量,我们使用了轻质的炭纤维管支架,长度约 210MM,支架与车体使用了螺丝穿孔的连接方式,可以使支架倾斜一个角度。车子正常运行状态下,向前有一个较大的前倾角度,这样的设计可以使检测头3.5 轮胎的处理碰地。在高速状态下,车子过弯会产生很大的离心力,这个使轮毂从中滑出来,影响车子进行,而且某些情况下轮毂与打滑,使电机输出的动力无法全部传到轮毂上。鉴于这个情况,3.6 电源管理轮毂与用胶水粘牢。
10、为了智能车提供的电源的前提下,为了简化电路,我门采用了TPS630701RNMT 线性稳压电源,这种电路简单、纹波很小,适合我们使用。TPS630701RNMT 是半导体公司生产的一款线性低漏极失调电流稳压器,最大电流 1A,线性度非常好,非常适合为模拟器件提供的电源。5第一节全国大学生智能汽车邀请赛技术报告第四章 电路的设计说明4.1 电磁传感器电路的设计电磁传感器是所示循迹的前提,由放大电路、谐振回路组成。如下图电路4.1.1选频电路赛道上使用 20KHZ 的交变磁场作为路径导航信号,在频谱上可以有效地避开周围其他磁场的干扰,因此信号放大需要进行选频,使得 20KHZ 的信号能准确的被我们
11、识别,去除其他干扰信号的影响。因此我们使用 LC 并联电路来实现选频电路。4.1.2 放大电路由于赛道中磁场信号弱,小车正常行驶的情况下检测头距地面 1015CM,检测头到的信号幅值大约为 50100MV,因此需要一套增益足够大的放大电路并且不能失真,不能引入其他噪声,为此我们专门设计一套放大电路。OPA2350OPA2350使我们解决了这些麻烦。是近些年研发出来的新型,具有高速轨对轨输出的性能,可工作在+405V 至+11V 单电源或 5V 至 25V 双电源供电。完全满足智能车对微弱电磁场的放大的需求。而且该上的空间。具有超小型素双的封装,可以节省 PCB6第四章 电路设计4.1.3 整流
12、滤波电路微小的信号经过放大后原有正弦波变成正半波的正弦波,通过 RC 滤波后变成直流电平,电平的高低反应磁场的4.1.4 小车巡线。节能组用的是电磁线来进行任务的完成。我们采用了 5 个工字电感不同位置放置来进行信号的。我们通过信号发生器发出的无线电磁波,在通过 5个工字电感接收电磁信号将数据传到单片机内,由单片机现小车的巡线功能。4.1.5 小车避障电机转数从而实利用红外测距模块,检测物与小车的距离,当连续检测到 50 次就执行避障程序,避障靠模拟算法来实现小车的距离。模拟算法就是在程序设计语言中,可使用随机函数来模拟自然界中发生的不可情况。C 语言中使用 srand()和 rand()函数
13、可生成随机数。4.2 主控板的设计主板承担着整部各类电源的提供以及信号的任务,主要由各类电源电路和单片机系统与接口电路主成。我们把传感器和传感器电路设计也放在主板上,虽然工作难度增大但是这样可以更好地图。了。以下是我们的主4.3 方向原理实现车模方向是保证车模沿着赛道比赛的关键。车模所在的电磁组的道路中心铺设有一根漆包线,里面通有 100MA 的 20KHZ 交变电流。因此在道路7第一节全国大学生智能汽车邀请赛技术报告中心线周围产生交变磁场。利用电磁线偏差检测信号分别与车模速度电压,使得车模左右轮运行角速度不一致进而车模方向。由于电磁引导线的磁场强度与检测线圈的距离和方向都有。当车模的方向偏差
14、很大时,比如在车模前方出现急转弯的时候,检测线圈中轴线与电磁引导线不在垂直,出现一个很大的角度偏差。此时两个检测线圈的感应电动势都下降。为了更能准确反映车模重心距离电磁线的距离差,避免角度影响,在进行方向时,使用左右两个线圈感应电动势之差除以左右两个线圈感应电动势之和,使用该比值进行方向4.4 陀螺仪的作用。这样可以消除检测线圈角度的影响。陀螺仪输出的是车模的角速度,受到车体的影响,因此该信号中噪声很小。车模的角度又是通过对角速度积分而得,这可进一步平滑信号,从而使得角度信号更加仪所得到的信号。4.5 无线充电模块。因此车模所需要的角度和角速度可以使用陀螺节能组需要节能,所以不能采用传统的电池
15、等。我们用电容作为能量储存然后用电磁产生电压进行充电。我们的无线充电模块采用 LTM4605。LTM4605 高效、同步、四开关降压-升压型LTM4605 是一款高性能降压升压型开关稳压器器。器,可在输入电压高于低于或等于输出电压的条件下恒定频率电流模式架构提供了一个高达 400kHz 的可锁相频率凭借 4V 至 30V(最大值为 36V)的宽输入和输出范围以及不同操作模式间的无缝切换,LTM4605 成为汽车、电信和电池供电型系统的理想选择该器的工作模式是通过 FCB 引脚来确定的对于升压应用,FCB 模式引脚能够在突发模式(BurstMode)操作不连续模式和强制连续模式之间进行选择在降压
16、操期间FCB 模式引脚可在跳周期模式不连续模式和强制连续模式之间进行选择。突发模式操作和跳周期模式可在轻负载条件下实现高效操作而强制连续模式和不连续模式则上作在一个恒定的频率上由一个输出过压比较器和内部折返电流限制电路提供了故障保护功能,当输出处于其设计调整点的 7.5%以内时,电源良好输出引脚将发出指示信号。LTM4605 特点是,单电感器架构范围宽、同步整流效率高达 98%、可锁相固定频率、用于 MOSFET 电源的内部 LDO。同时,四 N 沟道 MOSFET 同步驱动在停机期间 Vour 与 V 断接,可调软起动电流斜坡上升,可选低电流模式。无线充电模块原理图如下8第四章电路设计无线充
17、电模块原理图9第一节全国大学生智能汽车邀请赛技术报告3.7 直流电机模块驱动电机采用德国空心杯直流电机,其特性如表3.7所示:表 3.7 直流电机特10电压空载情况最大效率情况启动情况范围额定速度电流速度电流转矩输出转矩电流V/DCV/DCrpmARpmAmN-mg-cmwattsmN-mg-cmA3-97.2162000.5140603.310.911116.082.384021.6第五章设计第五章的设计说明5.1 程序的说明整个智能车系统由恩智浦公司的 S9KEAZ128AMLK。整个系统由单片机为主控 MCU,对模拟和数字传感器信号进行处理,并对输出的过电路驱动来分别,进行电机的,陀螺仪
18、来决定的角度,通电机,决定的速度。进行十字交叉路口、坡道、环岛、横断路障以及断路赛道的运行与实现。程序整体框架下图所示。电机输出驱动电机速度反馈调速输出(与运算处理)MCU模拟传感器信号11数字信号输出数字信号输入人机交互管理第一节全国大学生智能汽车邀请赛技术报告程序中用到的硬件资源有口,主程序流程图如下:模块、AD 模块、脉冲累加器、普通数字 I/O开始 N 有磁场?YYYPIT 中断时刻到?到达终点?NNY是否冲出赛道?NN是否冲出赛道?Y是否?NY12停车速度回归设定值,陀螺仪调整电机速度陀螺仪角度延时测取速度模拟传感器值最小二乘拟合各模块初始化第五章设计5.2 智能车系统模块组成框图智
19、能车系统主要由电源转换模块、寻迹传感器(Sensor)模块、直流电机(DC-Motor)模块组成,如图 5.2 所示。5.3 速度的的速度我们进行了无数次的实验最终得到最快最稳的数值。速度也写在了 K128 的。这样可以叫根据实际情况去改变速度从而保直观,技术证了速度的最大化。我们的速度采用 PID,PID可靠,对被控对象的模型适应性强。位置式 PID 算式连续系统中的 PID规律是:1de(t) + xx(t) = K e(t) + e(t )dt + Ttpd0Tdt0i其中 x0 是偏差信号为零时的作用,是量的基准。利用外接矩形法进行数值积分,一阶后向差分进行数值微分,当选定采样周期为
20、T 时,可得如下位置式 PID 的离散差分方程:13PartsSensorK128 系统板DC-MotorRegulatorLTC3780 6VLTC3780 5VVoltageSourcecapacitor3-11.5v第一节全国大学生智能汽车邀请赛技术报告x(t) = K e(t) + Tek+ Td T(e - e) + xkk -1pj0Tj =0i计算机时,常采用增量式 PID 算法。计算每周期的 PID 输出增量,在于前一周期的输出相加,得出最终的 PID的 PID 输出增量计算算法如下:输出。增量式 PID 算法的每周期+ T+ TdD= K e - e(e - 2e+ ee)k
21、 -1pkk -1k -1k -2kkTTi每周期的 PID 输出增量反映了第 k 和第 k1 周期输出之间的增量。算式的结果可正可负的。利用增量算式执行机构,执行机构每次只增加一个增量,因此执行机构起了一个累加的作用。对于整个系统来说,位置和增量式两种算式并无本质区别,但增量式有不少优点:算式只与最近几次采样值有关,不易引起误差累积;误动作影响小,易于加逻辑保护;增量算法在实际中应用得比位置式更。电机 PID 的具体代码可参见本文附录所附的源程序。电机的(1)通过电机有三个作用:度实现小车平衡。(2) 通过电机速度,实现小车恒速运行和静止。通过速度,可以提小车性。(3)通过电机差速,可以实现
22、小车方向。第六章 开发工具与调试过程说明使用 Internal Area Router 作为程序的编写、编译、调试工具。在调试中,建议使用无线模块进行运行的实时在线电机速度监视。实现了闭环 率。参数的完全在线调试验证,极大改进了调试效果,提高了解决问题的效第七章的主要技术参数14车模300/250/200(mm)电容型号及个数100F 电容5 个S9KEAZ128AMLK传感器个数电磁传感器 5 个红外传感器 1 个电机个数2 个第八章 总结第八章 总结设计制作中我们的收获与体会都相当多。在运用了现在这两个多月的有的理论基础之上,再通过课外的拓展,将理论应用于实际,在这个过程中充分锻炼了我们的
23、动手能力、项目统筹安排的能力、解决问题的态度与技巧,以及与队友的团结合作等等。由于本系统采用模块化设计,在功能上还有很大的扩展空间,例如增加显示和键盘模块,实时显示速度,在线调节相应的参数,使其更具可视可控性;引入通信模块,使其具有强大的通信功能,实现网络通信。使其成为一个集路面检测、动态决策、行为、实时反馈一体的多功能综合系统。在参加赛区比赛后,与兄弟学校的对比,发现了一些不足之处,如:整体结构 继续努力!工艺及坚固性有待进一步改进完善等问题。克服这些问题15第一节全国大学生智能汽车邀请赛技术报告参考文献,传感器与检测技术M第 1 版,123:高等教育.学做智能车“恩智浦”杯.:航空航天大学
24、出社.基于磁场检测的寻线小车传感器布局研究,4 竞赛组5 竞赛组处.路径检测设计参考方案处 技术组.20KHz 电源参考设计方案678910.基于磁场检测的寻线小车传感器布局研究J.载流直导线的电磁场特性分析J.山东师范大学.2007.,. 一种改进的数字 PID算法及其在励磁系统中的应用电网技术J. 计算机系统M.交通大学电磁二队的技术报告.11哈尔滨工程大学电磁组飞车三号队的技术报告.12三角洲电磁队的技术报告.161附 录源代码(1)main.c 文件代码#define #define #define #define/#defineMotorMax 14000MotorMin 10NMA
25、X ZSPEED K3/使用 3 个电感拟合130/10010/#define Kp 1;/PID 的三个参数/#define Ki 1;/#define Kd 1; #include #include #include #include #include int ad8=0;float a=0,b=0,y1=0,y2=0;unsigned int *p=ad,*pold4=0,*pold5=0,admax=0; int stop=0;int nowspeed=0, setspeed=0;unsigned char LEDflag=1,admaxnum=0; static float ek3=
26、0;/#include PBset.h #include SCI.h#include derivative.h #include abs.h #include delay_1ms.h/* derivative-specific definitions */#include ad.h#include ZXEC.h #include wait.h #include PID.h #include PIT.h/#include Copy of PIT.h #include Busclock80MHz.h#include .h#include Portinit.h #include AD_Init.hI
27、#include intmoto.h #include intsteer.h #include IOC.h #include Set_almode.h void main(void)/unsigned int a=0,b=0; Set_almode();Dly_ms(2000);/延时两秒 等 ADZXEC();/PORTB_PB1=0;wait(); setspeed=50; EnableInterrupts;for(;)/直线拟合if(ad22|ad32|ad410|ad510)&LEDflag) /ad210|ad310|PORTA_PA1=0;/接驱动板上的 IN2;IN1 接stop
28、=0;01/DTY01=3000;PORTA_PA0=1;/INH elsesetspeed=0;/Dly_ms(500);/count=0; while(count=500); PORTA_PA0=0;/while(stop=1)&(nowspeed!=0)&(ad210|ad310|ad410|ad510)/if(nowspeed=0)stop=0;elseDTY01=200*nowspeed;IIPORTA_PA0=1;Dly_ms(1); PORTA_PA1=1;Dly_ms(6);/PORTA_PA0=0;Dly_ms(1);DTY01=0; PORTA_PA0=0;Dly_ms(1
29、);/Dly_ms(1000);/* Dly_ms(1000);a= ad5*100/51; b= a/100;a= a%100;sprintf(txtbuf,nAD5: %d.%02dV %dn,b,a,ad5); putstr(txtbuf);Dly_ms(1000); a= ad2*100/51; b= a/100;a= a%100;sprintf(txtbuf,nAD2: %d.%02dV %dn,b,a,ad2); putstr(txtbuf);Dly_ms(1000); a= ad3*100/51; b= a/100;a= a%100;sprintf(txtbuf,nAD3: %d
30、.%02dV %dn,b,a,ad3); putstr(txtbuf);Dly_ms(1000); a= ad4*100/51; b= a/100;a= a%100;sprintf(txtbuf,nAD4: %d.%02dV %dn,b,a,ATD0DR4L); putstr(txtbuf);Dly_ms(1000); a= ad5*100/51; b= a/100;IIIa= a%100;sprintf(txtbuf,nAD5: %d.%02dV %dn,b,a,ATD0DR5L); putstr(txtbuf);/*Dly_ms(1000); a= ad6*100/51; b= a/100
31、;a= a%100;sprintf(txtbuf,nAD6: %d.%02dV %dn,b,a,ad6); putstr(txtbuf);Dly_ms(1000); a= ad7*100/51; b= a/100;a= a%100;sprintf(txtbuf,nAD7: %d.%02dV %dn,b,a,ad7); IOCcnt=IOCcnt/500*50/107*206.298/10;sprintf(txtbuf,n motor speed: %f %s%s%sn,IOCcnt,M,/,S); putstr(txtbuf);Dly_ms(1000); sprintf(txtbuf,nrat
32、io: %f%n,(float)putstr(txtbuf); Dly_ms(1000); sprintf(txtbuf,n putstr(txtbuf); */Dly_ms(200);/sprintf(txtbuf,n/putstr(txtbuf); Dly_ms(100);23PER23*100);dutyDTY23/DTY23: %un,DTY23);DTY01:%dn ,DTY01);/,stop ,sprintf(txtbuf,n %d n,nowspeed);/,stop Motor putstr(txtbuf);PORTB_PB0=PORTB_PB0;/ _FEED_COP();
33、 /* feeds the dog */:%f,Motor#pragma CODE_SEG NEAR_SEG NON_BANKEDinterrupt 29 void pll_selfclock(void)CRG_SCMIF=1;SetBusCLK_80M();IV(2)SCI.h 文件代码byte u8_RCV_Ch=0; char txtbuf30=;static void SCI_Init(void)SCI0CR2=0x2c; /enable Receive Full Interrupt,RX enable,Tx enable SCI0BDH=0x02; /busclk8MHz,19200
34、bps,SCI0BDL=0x1a SCI0BDL=0x08; /SCI0BDL=busclk/(16*SCI0BDL)/超频到 48M/use SCIvoid uart_putchar(char ch)if (ch = n)while(!(SCI0SR1&0x80) ; SCI0DRL= 0x0d;return;while(!(SCI0SR1&0x80) ; SCI0DRL=ch;void putstr( char ch)unsigned char ptr=0; while(chptr)/outputCR/keep waiting when not emptyuart_putchar(unsi
35、gned char)chptr+);unsigned char uart_getkey(void)byte res=0; while(!(SCI0SR1&0x80) ; return (SCI0DRL);/keep waiting when not empty#pragma CODE_SEG NEAR_SEG NON_BANKEDvoid interrupt 20 SCI0_ISR(void) /串口中断SCI0CR2_RIE=0;V/此处为串口中断需要处理的事情uart_putchar(u8_RCV_Ch=uart_getkey(); PORTB_PB1=PORTB_PB1;switch(u
36、8_RCV_Ch)case 1:putstr( ok ); u8_RCV_Ch=0xff;if(DTY0114545)&( DTY01+=50; DTY23=0)if(DTY23=0)break; case 0:putstr( ok ); u8_RCV_Ch=0xff;if(DTY01=14545)&( DTY01-=50; DTY230)if(DTY230)break;case W:PORTA_PA1=0;/接驱动板上的 IN2;IN1 接stop=0;PORTA_PA0=1;/接驱动板上的 INH break;case S: PORTA_PA0=0;stop=1;break; case F
37、:PORTA_PA1=1;break;/switch(u8_RCV_Ch)/Beep(); SCI0CR2_RIE = 1;01(3)ZXEC.h 文件代码void ZXEC()/最小二乘法VIfloat x=0,y=0,xx=0,xy=0;intn=0,nn=0,ad2=0,ad3=0;/*for(nn=0;nn10;n+)*/ ad() ;ad2=ad2;ad3=ad3 ; for(n=1;n=NMAX;n+)x+=(4-n)*20;xx+=(4-n)*(4-n)*400;y+=(adn-1+ad6-n)/2 ;xy+=(4-n)*(adn-1+ad6-n)/2;b=(xx*y-x*xy)
38、/(xx*NMA);a=(y-b*NMAX)/x;/算出拟合直线 y=ax+b 的 a,b/*sprintf(txtbuf,nb: %f a:%fn,b,a); putstr(txtbuf);sprintf(txtbuf,nad0:n,ad0,ad1,ad2,ad3);putstr(txtbuf); Dly_ms(1000); sprintf(txtbuf,nad4:n,ad4,ad5,ad6,ad7);putstr(txtbuf); */%dad1:%dad2:%dad3:%d%dad5:%dad6:%dad7:%d/n=0; PORTB_PB3=0;/b=b/10; a=a/10;(4)
39、Busclock80MHz.h 文件代码void SetBusCLK_80M(void)CLKSEL=0X00;PLLCTL_CME=1; PLLCTL_SCME=0; CRGINT_SCMIE=1; PLLCTL_PLLON=1; SYNR =0xc0 | 0x09; REFDV=0x80 | 0x01; POSTDIV=0x00;/时钟/外部晶振失效进入自给时钟/时钟状态改变时中断/turn on PLL/pllclock=2*osc*(1+SYNR)/(1+REFDV)=160MHz;VII_asm(nop);_asm(nop); while(!(CRG/BUS CLOCK=80MHz_
40、LOCK=1);CLKSEL_PLLSEL =1;void SetBusCLK_64M(void)CLKSEL=0X00; PLLCTL_PLLON=1; SYNR =0xc0 | 0x07; REFDV=0x80 | 0x01; POSTDIV=0x00;_asm(nop);_asm(nop);while(!(CRG_LOCK=1);CLKSEL_PLLSEL =1;void SetBusCLK_48M(void)CLKSEL=0X00; PLLCTL_PLLON=1; SYNR =0xc0 | 0x05; REFDV=0x80 | 0x01; POSTDIV=0x00;_asm(nop);
41、_asm(nop);while(!(CRG_LOCK=1);CLKSEL_PLLSEL =1;(5)AD_int.h 文件代码void AD_Init(void)/ATD0STAT0_SCF=0;ATD0CTL1=0x14; ATD0CTL2=0x40; ATD0CTL3=0xc0;下继续转ATD0CTL4=0x04; ATD0CTL5=0x30; ATD0DIEN=0x00;/7:1-外部触发,6,5:10-12 位精度,4=1:放电,3210:ch/右对外部触发, 中断开启 ASCIE:AD 中断标志符号,每次转换 8 个序列, No FIFO,ze 模式/特殊通道,连续转换,多通道轮流采
42、样/数字输入VIII(6)intmoto.h 文件代码void intmotor(void)PORTA_PA0=0;/接驱动板上的 INH PORTA_PA1=0;/接驱动板上的 IN2;IN1 接stop=0;01E_ E_E1 = 1;/开启E5 = 1;/开启0145(7)delay.h 文件代码void Dly_ms(int ms)int ii,jj;if (ms1) ms=1; for(ii=0;iims;ii+)for(jj=0;jj13330;jj+);(7)PIT.h 文件代码/80MHz 1ms/Init PITunsigned count=0,count0=0,count1
43、=0,count1l=0,count2l=0; static void PIT_Init(void)PITCFLMT_PITE = 0;/关闭 PIT 模块PITMTLD0 = 80-1; /微时基0 的频率是对总线频率80MHz 进行80 分频PITLD0 = 10000-1; /PITClock = 0.001*5000 = 10MsPITMUX_PMUX0 = 0;/0-与 16 位定时器与微时基 0 连接1uSPITCE_PCE0 = 1;/开启 PIT 通道 0PITINTE_PINTE0 = 1; /开启 PIT0 溢出中断PITCFLMT_PITE = 1;/开启 PIT 模块#
44、pragma CODE_SEG NEAR_SEG NON_BANKEDvoid interrupt 66 PIT0(void)static int chazhi,flog=0,ad2=0,ad3=0;/,chazhi_old;差值的变化无法反映传感器的变化/int i=0,j=5,counter=0; int mn=0;static unsigned int LEDcount=0, LEDcountold=0,ad4old=0, ad5old=0;IXfloat ukold; ad();mn=0; for(mn=0;mn6;mn+)if(admax5|ad45)*/* else if (ad2
45、5|ad35)y1=(ad2-b)/a;y2=(ad3-b)/a;else if (ad05|ad55)y1=(ad0-b)/a;y2=(ad5-b)/a;*/舵机最大 36300 最小 27000/nowspeed=PACNT; /电机转速保存/chazhi_old=chazhi;/count+;/chazhi= ABS(ad2-ad3); /chazhi 取绝对值/*if(ad4ad5&chazhiad4-5&chazhiad4+5)flog=0; uk=-4000; else flog=1;if(ad4ad5-5&chazhi100)LEDflag=0; stop=1;ukold=uk; if(ad15&ad45)y1=(ad1-b)/a;y2=(ad4-b)/a; if(y10)y1=0;if(y20)y2=0; PID();/y1=(adadmaxnum-b)/a;/ y2=(ad5-admaxnum-b)/a;setspeed=ZSPEED;/if(uk-400.0)/setspeed=70;/ /else setspeed=30;/* uk_old=uk-uk_o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025河南建筑安全员-A证考试题库附答案
- 贵州大学《医学统计学规培》2023-2024学年第一学期期末试卷
- 贵州财经职业学院《火灾动力学》2023-2024学年第一学期期末试卷
- 2025福建建筑安全员考试题库
- 贵阳学院《保险投资学》2023-2024学年第一学期期末试卷
- 硅湖职业技术学院《植物造景技术(一)》2023-2024学年第一学期期末试卷
- 广州幼儿师范高等专科学校《无人机结构与系统》2023-2024学年第一学期期末试卷
- 2025年贵州省安全员B证考试题库及答案
- 2025江苏建筑安全员《B证》考试题库及答案
- 2025年河南省安全员《C证》考试题库及答案
- 2024-2025学年北京房山区初三(上)期末英语试卷
- 公路工程质量与安全管理课件
- 四年级道德与法治试卷分析范文(通用5篇)
- 封条模板A4直接打印版
- 常见化疗药物的不良反应及预防 课件
- 电解铜箔制造工艺简介
- 15MW风力发电机
- 正面管教 读书分享(课堂PPT)
- 教练技术CP理论PPT课件
- 产品生命周期曲线(高清)
- 机械工程学报标准格式
评论
0/150
提交评论