厦门大学培训心得体会- 本文关键词:心得体会,厦门大学,培训
厦门大学培训心得体会- 本文简介:厦门大学培训心得体会贵州省XXXXXXX2018年x月xx日至x月x日,按照统一安排,我有幸赴厦门大学参加了由集团公司主办的“xxxx企业集团管理人员培训班”的培训学习。厦门大学历史悠久,学校秉承“自强不息,止于至善”的校训,是一所在国际上有广泛影响的综合性大学。能够在厦门大学聆听国内管理学、经济学
厦门大学培训心得体会- 本文内容:
厦门大学培训心得体会
贵州省XXXX
XXX
2018年x月xx日至x月x日,按照统一安排,我有幸赴厦门大学参加了由集团公司主办的“xxxx企业集团管理人员培训班”的培训学习。厦门大学历史悠久,学校秉承“自强不息,止于至善”的校训,是一所在国际上有广泛影响的综合性大学。能够在厦门大学聆听国内管理学、经济学方面知名学者教授的讲课,使我极大的开拓了视野,自身管理水平和能力得到了提高,受益匪浅,下面我就具体谈谈自己此次培训的心得和体会。
1、
对于公司经营的法律风险及其防范有了深刻认识
在厦大的培训,第一堂课就是朱炎生教授的《公司经营的法律风险及其防范》,通过学习是我深刻意识到企业管理渗透到法律服务中去的必要性和重要性。公司作为一种组织体,运营过程中时刻都处于动态之中,其所从事的决策或交易之间往往具有一定的关联性,因此法律风险的发生或法律问题的出现常常是全局运作中因果链条中的一环。通过朱教授的讲解,对如何解决公司各种法律困境、有效预防风险,如何将法律手段融于公司运营的全过程,堵塞法律漏洞,实现规范管理有了深刻的认识。
二、对于战略管理和科学决策的理解更系统
我认为无论在什么岗位学习都是必要的,虽然在实际工作中,我得到了锻炼,但理论基础还不够扎实,需要通过学习进一步提升自己在各方面的能力。通过何福龙教授的《战略管理与投资决策》课程,我学到了很多管理相关知识,对此也有了一些自己的粗浅认识:
首先,我认为企业的战略管理是相当重要的。战略管理是企业中高层管理人员,为了企业长期生存和发展,在充分分析企业外部环境和内部条件的基础上,确定和选择并达到目标的有效战略,并将战略付诸实施和对战略实施的过程进行控制和评价的一个动态管理过程。
其次,我认为战略管理要加强。战略管理者的观念和能力,是影响企业战略管理成功与否的关键因素。目前,我们很多监属企业由于短期经营思想占上风,也没有把企业战略提到重要议事日程。而市场变化快,技术发展快,产品或服务供求关系变化快,企业要不断适应这些变化,就必须加强战略管理。
再次,我认为提高战略水平需要更新观念、思维创新。意识要更新。要树立科技意识、环保意识、品牌意识、人才意识、知识意识、信息意识、服务意识、未来意识、创新意识、学习意识等一系列现代意识,而不是仅仅满足于产量、规模、成本、质量等传统意识。思维要创新。思维创新往往是技术、治理、体制等许多创新的基础,绝不能思维方式固化。
最后,决策是领导干部的主要职责。面对错综复杂的局面和瞬息万变的形势,领导干部要善于及时作出正确抉择,抉择不及时就会贻误战机,影响企业发展。作为企业领导干部要有决策的魄力,通过科学的比较,全面的分析,进行权衡利弊得失,作出正确的决策。
四、以十九大精神为引领,在企业发展中全面贯彻十九大精神
党的十九大提出,我国社会主要矛盾已经转化为人民日益增长的美好生活需要和不平衡不充分的发展之间的矛盾,经济已由高速增长阶段转向高质量发展阶段,经济社会正发生根本性、深层次的变革。十九大提出要贯彻新发展理念,建设现代化经济体系。xx企业也同全国一样,面临着转变发展方式、优化经济结构、转换增长动力三大关口。因此,要把思想统一到十九大精神上来,把认识统一到十九大部署的各项工作上来,把十九大精神转化为抓安全、促生产、谋发展、保稳定的实际行动。
五、对于差距和不足看得更清
经过一周的学习,同时和兄弟单位的领导同志交流后,也发现本人在对企业日常管理等方面仍然存在一些问题和不足,兄弟单位在项目引进,规范管理等方面有很多好的措施和办法,值得我们借鉴。今后我将积极运用所学知识,进一步加强学习,在实践中改正缺点和不足,不断提升管理水平,切实贯彻落实好上级党委、集团公司有关企业经济发展、生产安全、规范管理等方面的要求,加强企业队伍建设,强化规范管理,为企业的发展、稳定做出新的、更大的贡献!
2018年x月x日
4
篇2:厦门大学校园停车收费管理智能卡申请表
厦门大学校园停车收费管理智能卡申请表 本文关键词:厦门,智能卡,申请表,大学校园,收费管理
厦门大学校园停车收费管理智能卡申请表 本文简介:厦门大学校门通行管理智能卡申请表编号:申请日期:*年*月*日姓名身份证号码移动电话工作单位电话户口地址电话居住地址同上()/电话申办车辆基本情况车牌号码年检期限年月品牌车型颜色申办智能卡类型申办期限:*年*月*日至*年*月*日申办类型:A()B()C()D()E()申请事由:申请人因申办车辆进出厦门
厦门大学校园停车收费管理智能卡申请表 本文内容:
厦门大学校门通行管理智能卡申请表
编
号:
申请日期:*年*月*日
姓
名
身份证号码
移动电话
工作单位
电话
户口地址
电话
居住地址
同上(
)/
电话
申办车辆基本情况
车牌号码
年检期限
年
月
品
牌
车
型
颜
色
申办智能卡类型
申办期限:*年*月*日至*年*月*日
申办类型:A(
)
B(
)
C(
)
D(
)
E(
)
申请事由:
申请人因申办车辆进出厦门大学校园/停放的需要,依照学校校园停车收费管理的规定,自愿申办校门通行管理智能卡,按照核准类别缴交当期的校门通行与校园停车场所租用费。申请人已经知晓厦门大学有关校园交通管理与停车收费管理等相关规定,保证自觉予以遵循,服从管理和指挥。
申请人签名:
所在单位核实情况
申请人系我单位(具体机构、合同期限等)
。
经核实,其实际居住在校园内(
)/
外(
),申办车辆过夜地点为:
。
单位名称(公章)
负责人(签字):
二○○*年*月*日
核准智能卡类别、费用标准
初审意见:
经审验按照以下类别交费:
A(
)B(
)
C(90元/月)(
)
D(120元/月)(
)
E(180元/月)(
)
经办人签名:
日
期:*年*月*日
复核确认:
经审验按照以下类别交费:
A(
)B(
)
C(90元/月)(
)
D(120元/月)(
)
E(180元/月)(
)
经办人签名:
日
期:*年*月*日
卡号
备注
限次卡不填此表。
提示:
《厦门大学校门通行管理智能卡申办须知》详见背面,请参阅;请于备选项标注(√)。
申
办
须
知
1、为维护校园内道路交通秩序,限制校外机动车穿行和随意停放,合理利用学校停车场地资源,规范校园机动车停放秩序,创造良好的校园交通安全环境;根据《厦门大学停车收费管理暂行办法》,日常进出与停放在学校校园本部的机动车,除临时性进出外,均可申办“厦门大学校门车辆通行管理智能卡”。
2、车辆持有有效的智能卡,将便利校门车辆进出管理系统自动识别与放行。学校对于没有持有智能卡的车辆(特种车辆除外)实行计时收费管理:在进门时应领取计时卡,出门时按照物价部门核定标准缴交车辆停放费。
3、申办智能卡必须符合《厦门大学停车收费管理暂行办法》及其实施细则的要求。申请人应如实填报相关信息,经由所在单位核实后,按照下表附送相关证件的复印资料(A4纸张格式),交验原件申报办理。
类
别
费用(元)
申
报
资
料
备
注
月
年
A
本校公车
《公务车辆确认证明》
由保卫处交管科核定
B
本校教职员工私车
行驶证、驾驶证、户口簿
居住在校外
C
本校教职员工私车
90
1080
行驶证、驾驶证、户口簿
居住在校内
D
教职员工直系亲属私车
120
1440
行驶证、驾驶证、户口簿
居住在校内
E
外单位驻校机构车辆
180
2160
行驶证、驾驶证
校内租房户
F
非脱产学生用车
3元/次
凭办学单位证明和花名册集中购卡、充值;学习期满按册退卡,过期未退的,次卡失效。
4、相关说明:
(1)本校教职员工:由学校人事信息系统核对确认,属于事业单位编制外的人员应当提交聘用合同或者劳动合同。直系亲属:指本校教职员工的父母或者子女。
(2)C类申请人实际居住在校外的,须提供单位(院系)和居委会证明,经调查属实的,可按B类条件办卡。
(3)B类申请人实际居住在校内的,应按C类标准办卡交费。否则,车辆一年内实际在校内停放过夜超过五个月(含五个月)的,应补交年费;一个月内实际在校内停放过夜超过15天(含15天)的,应补交月费。
(4)社区居委会在编、在职工作人员私家车,比照C类标准办理年卡;其余驻校机构在编、在职工作人员私家车,校内租房户,按E类标准办理年卡。校内租房户办理E类年卡,应当提交房屋租赁合同,出具业主书面证明。
(5)申请办卡人与机动车行驶证注明的车主不符的,不予办卡;但申请人居住在校外,材料能证明车主系其配偶,车辆实际使用人为申请人的,准予办卡(B类),但限办一户一车一卡。
5、无有效驾驶证或准驾车型与所申请办卡车型不符的,不予办卡;中、大型以上私家车,不予办卡。
6、申请人采取欺骗手段或使用虚假材料,办理了免费卡的,一经发现,一律按计时收费处理。
7、对于新购车辆尚未上牌的,学校提供20天免费卡(从购车之日算起),以方便进出校门。
8、申领智能卡应当按照成本价缴交押金;办理退卡时如经检查确认无损的,由收费用部门原值退还押金。智能卡如有损坏或遗失,应照价赔偿。
特
别
提
示
智能卡有效期间,申请人即与学校的委托单位后勤物业服务有限公司确立了附条件(特定对象、履约承诺)的校门通行与校园停车场所使用关系;但不论有偿与否,后者并不承担车辆及他财产的保管责任。
篇3:电磁组厦门大学嘉庚学院电磁组自强队技术报告
电磁组厦门大学嘉庚学院电磁组自强队技术报告 本文关键词:电磁,强队,厦门大学,报告,学院
电磁组厦门大学嘉庚学院电磁组自强队技术报告 本文简介:第七届“飞思卡尔”杯全国大学生智能汽车竞赛技术报告学校:厦门大学嘉庚学院队伍名称:自强队参赛队员:徐杰生曾海涵王明南带队老师:康恺吴天宝关于技术报告和研究论文使用授权的说明本人完全了解第七届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比
电磁组厦门大学嘉庚学院电磁组自强队技术报告 本文内容:
第七届“飞思卡尔”杯全国大学生
智能汽车竞赛
技术报告
学校:厦门大学嘉庚学院
队伍名称:自强队
参赛队员:徐杰生
曾海涵
王明南
带队老师:康恺
吴天宝
关于技术报告和研究论文使用授权的说明
本人完全了解第七届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。
参赛队员签名:徐杰生
曾海涵
王明南
带队教师签名:康恺
吴天宝
日
期:2012-8-14
26
摘要
本文介绍一套直立智能车速度磁导航的设计,该智能车以COLDFIRE
MCF52259作为整个系统信息处理和控制的核心。该系统通过3个方面进行控制。由陀螺仪ENC-03MB和加速度计MMA7361车体在直立过程中的信息,通过PID控制对智能小车直立进行控制;速度控制是由2个编码器对电机两端进行测速,将测得的速度与给定的速度进行PID速度闭环控制;由互感线圈采集赛道信息,得到多个互感线圈的信息值,通过PID的控制起到寻线方向控制。
关键词:COLDFIREMCF52259
PID
直立
速度
寻线方向
目录
第一章、引言.
1
1.1概述.
1
1.2整车设计思路.
1
第二章、直立寻线小车的原理2
2.1直立寻线小车的原理.
2
2.2速度控制原理.
6
2.3车模方向控制原理.
7
第三章、电路设计.
7
3.1传感器的电路设计.
7
3.1.1寻线互感运放电路.
8
3.1.2陀螺仪和加速度传感器电路
.8
3.2电源电路模块.
.
8
第四章、传感器安装及机械设计
9
4.1电杆的固定.
.
9
4.2电路板的固定.
10
4.3轮胎的改进.
10
4.4底盘的加固.
.10
4.5车子布局.
.
.11
4.6电机保护.
.
.
11
第五章、软件处理及控制算法.
11
参考文献.
.11
附录.
第一章、引言
1.1概述
“飞思卡尔”杯全国大学生智能汽车竞赛是由教育部高等自动化专业教学指导分委员会主办的一项以智能汽车为研究对象的创意性科技竞赛,是面向全国大学生的一种具有探索性工程实践活动,是教育部倡导的大学生科技竞赛之一。该竞赛以“立足培养,重在参与,鼓励探索,追求卓越”为指导思想,旨在促进高等学校素质教育,培养大学生的综合知识运用能力、基本工程实践能力和创新意识,激发大学生从事科学研究与探索的兴趣和潜能,倡导理论联系实际、求真务实的学风和团队协作的人文精神,为优秀人才的脱颖而出创造条件。该竞赛以汽车电子为背景,涵盖自动控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科的科技创意性比赛。
比赛要求在大赛组委会统一提供的竞赛车模,我们选择了飞思卡尔32位微控制器COLDFIREMCF52259作为核心控制单元的基础上,自主构思控制方案及系统设计,包括传感器信号采集处理、控制算法及执行、动力电机驱动等,最终实现能够自主识别路线,并且可以实时输出车体状态的智能车控制硬件系统。
我们从一月份开始经过接近7个月的制作与调试,终于完成了目前的直立智能小车的制作。期间我们合作共勉,学习开发调试软件的使用、主控芯片控制、控制原理、编程语言等方面的知识,在对机械进行了调整的基础上,对小车软件进行调试,在发现问题后努力解决问题,进一步优化智能小车的机械、软件、和传感器的方案。
1.2整车设计思路
本车是主要运用COLDFIRE
MUF52259为处理核心,本次竞赛中要求小车直立寻线走,直立、速度、方向控制对应同一个执行器(电机),要进行不同的控制,达到尽量解耦控制的效果。首先通过陀螺仪、加速度计传感器的信息处理输出相应的PWM波驱动电机,起到直立的效果。本次竞赛对速度和方向的要求非常高,所以我们用了左右两个编码器对左右轮进行测速,将得到的值与我们给定的速度进行比较,用过PID的简单闭环控制达到近似匀速的效果,在方向方面我们通过两个电感进行一字型摆放,通过兩电感的值通过简单的模糊控制,实现寻线的效果。具体的设计思路如下图1.1。
ENC-03MB
陀螺仪
电磁线检测
AD*2
电源3.3V供电
速度检测
编码器*2
MMA7361加速度计
驱动电路BTS7960
COLD
FIRE
图1.1设计思路框图
第二章、直立寻线小车的原理
2.1直立原理
车模直立是通过负反馈实现的。因为车模有两个轮子着地,因此车体只会在轮子滚动的方向上发生倾斜。控制轮子转动,抵消倾斜的趋势便可以保持车体直立了。如图下2.1所示。
图2.1通过车轮运动控制保持车体直立
要将车子最后保持平稳,一般都是建立车模的运动学和动力学数学模型,通过设计最优控制来保证车模的稳定。为了使得同学们能够比较清楚理解其中的物理过程。我们通过对比单摆模型来说明保持车模稳定的控制规律。
重力场中使用细线悬挂着重物经过简化便形成理想化的单摆模型。直立着的车模可以看成放置在可以左右移动平台上的倒立着的单摆。如图2.2所示。
图2.2车模简化的倒立摆模型
普通的单摆受力分析如图2.3所示。
图2.3普通的单摆受力分析
倒立摆之所以不能象单摆一样可以稳定在垂直位置,就是因为在它偏离平衡位置的时候,所受到的回复力与位移方向相同,而不是相反!因此,倒立摆便会加速偏离垂直位置,直到倒下。
在控制车模的直立的过程中,控制倒立摆底部车轮,使得它作加速运动。这样站在小车上(非惯性系)看倒立摆,它就会受到额外的力(惯性力),该力与车轮的加速度方向相反,大小成正比。这样倒立摆所受到的回复力为
2-1式
式中,由于θ很小,所以进行了线性化。假设负反馈控制是车轮加速度与偏角aθ成正比,比例为。如果比例,(是重力加速度)那么回复力的方向便于位移方向相反了。
按照上面的控制方法,可把倒立摆模型变为单摆模型,能够稳定在垂直位置。因此,可得控制车轮加速度的控制算法
(2-3)
式中,θ为车模倾角;θ
为角速度;k1、k2均为比例系数;两项相加后作为车轮加速度的控制量。只要保证在k1>g,
k2>0条件下,可以使得车模像单摆一样维持在直立状态。其中有两个控制参数k1,k2,k1决定了车模是否能够稳定到垂直平衡位置,它必须大于重力加速度;k2决定了车模回到垂直位置的阻尼系数,选取合适的阻尼系数可以保证车模尽快稳定在垂直位置
假设倒立车模简化成高度为L,质量为m的简单倒立摆,它放置在可以左右移动的车轮上。假设外力干扰引起车模产生角加速度x(t)。沿着垂直于车模地盘方向进行受力分析,可以得到车模倾角与车轮运动加速度a(t)以及外力干扰加速度x(t)之间的运动方程。运动方程图如下2.3所示。
图2.3车模运动方程
对应车模静止时,系统输入输出的传递函数为:
,此时两极点为。一个极点位于s平面的右半平面,因此车模不稳定。车模引入比例、微分反馈之后的系统如下图所示:
系统传递函数为:,此时两个系统极点位于:系统稳定需要两个极点都位于s平面的左半平面。要满足这一点,需要k1>g,
k2>0.所以我们给直立控制用简单的PD值控制只能小车的平衡。
2.2速度控制原理
对于直立车模速度的控制相对于普通车模的速度控制则比较复杂。由于在速度控制过程中需要始终保持车模的平衡,因此车模速度控制不能够直接通过改变电机转速来实现。直立控制和速度控制有耦合的关系。我们利用控制单片机的计数器测量在固定时间间隔内速度脉冲信号的个数可以反映电机的转速。
我们假设直立的阶段我们是以某一个角度稳定的,车模角度控制规律可以看出车模倾角设定量与车模倾角变化之间大体呈现一个一阶惯性环节
做简化假设如下:
(1)
车模角度在直立控制下简化成一个一阶过渡过程。
(2)车模倾角是由车轮运动产生,因此车轮速度是倾角变量求导再乘以车模长度。
(3)
忽略车模倾角引起车轮加速度。由于这个讨论仅对控制一开始短暂的过渡阶段而言,此时由于车模倾角比较小,引起速度变化很小。
(4)
系统只进行速度比例负反馈。
简化模型如下图2.4所示:
图2.4车模倾角控制分析
有得到的式子中可以看出为了保证系统稳定,往往取的车模倾角控制时间常数Tz很大。这样便会引起系统产生两个共轭极点,而且极点的实部变得很小,使得系统的速度控制会产生的震荡现象。所以在控制反馈中增加速度微分控制。
2.3车模方向控制原理
实现车模方向控制是保证车模沿着竞赛道路比赛的关键。直立车模所在的电磁组的道路中心线铺设有一根漆包线,里面通有100mA的20kHz交变电流。因此在道路中心线周围产生一个交变磁场。通过道路电磁中心线偏差检测与电机差动控制实现方向控制,从而进一步保证车模在赛道上。
我们用电感和电容的互感采集10mA的20KHz的交变电流导线的信号通过两个互感电容的信号差动,在车模直立控制和速度控制的基础上给电机左右轮差速实现转向的效果。具体控制框图如下2.5所示:
图2.5
通过电机驱动差动电压控制车模方向
我们通过官方给的文档只给了比例控制的基础上发现,当速度超过一定值的时候,很容易出现震荡丢线的现象,所以在此基础上我们加了适当的积分常数,这样能够在速度高速时,即使的提前控制,起到控制优化的效果。
第三章、电路设计
3.1传感器的电路设计
3.1.1寻线互感运放电路
我们通过同10mh的电感和6800pf的电容互感经过下面的运放电路如下图3.1所示:
图3.1
电感运放电路
同过AD620对互感得到的小信号进行放大滤波后,采集的AD值传入单片机的AD口。
3.1.2陀螺仪和加速度传感器电路
陀螺仪电路信号放大电路如下图3.2所示:
图3.2陀螺仪运放电路图
其中图中的RW电阻大小能取到对陀螺仪信号放倍数的调整。R1和R4接上拉和下拉,使得陀螺仪本身输出的差值变到0.1~0.2V再经过运放能过得到较为线性的AD值。
加速度计我们使用龙丘出产的MMA7361模块。电路图如3.3下所示:
图3.3加速度MMA7361电路图
3.2电源电路模块
我们使用的电源模块电路图如3.4所示:
图3.4电源电路
其中电源模块中,+3.3V是直接给陀螺仪、加速度计、和单片机供电用,+5V和-5V给运放模块正负电源供电所用。
3.3驱动电路模块
我们使用BTS7960作为我们的驱动芯片,电路图如下3.5所示:
其中两片BTS7960驱动一个电机。
第四章传感器安装计机械设计
4.1电杆的固定
电感的安装如下图4.1所示:是我们自行设计了电杆的安装座,为一圆孔台阶座,电感支架的材料为碳纤维棒,支架为T字型。两个杆用尼龙材料的连接件固定,连接件上带有两个紧定螺丝,可以调整两个杆的相对位置。需要强调的是,碳纤棒为实心的,碳纤管为空心的,在这里我们应该要用碳纤棒,因为碳纤维管比碳纤棒容易弯曲折断。电感支架的前杠用4根棉线固定在车身,防止支架晃动。
4.2电路板的固定
电路板固定于,电杆安装座下方的四个白色螺丝位置。
4.3轮胎的改进
轮胎应选择较软的胎,软胎还应打磨之更加柔软,但是要保留一些纹路。
4.4底盘的加固
前后底盘的中间以及两边都需要用pcb板加螺丝固定。如下图所示,不能用热熔胶固定,因为用热熔胶连接的部分容易变形、脱落。
4.5车子布局:
车子的电池固定在底盘后部,支架以及电路板固定在底盘前部,这样能使撤职在平衡时底盘微微向前倾。
4.6电机保护
电机线容易断裂,应用热缩管将正负引线包好,再用热熔胶固定在电机架上。
第五章、软件处理及控制算法
微处理器:CodFire系列处理器
型号---MCF52259
控制理论:利用陀螺仪加速计计算出车体的倾斜角度,利用PD控制来控制直立,然后利用车速模块(编码器)测得当前小车的行驶速度,利用PI控制原理把速度控制在某个自己设定的值实现小车匀速行驶。利用AD口读取左右两个电感的电压值,再通过两个电感的差值实现对路径的检测,用PD控制来控制车模的转向。
算法:由于控制小车需要控制其直立,速度和方向,而输出量只有两个电机的PWM脉冲。为了避免各个控制输出量的互相影响,我们把各个控制分配到中断的分段中,使其不互相影响。
代码设计:代码主要分为
1初始化
2
信息的获取
3
控制
其中初始化包括:PLL设置,PWM,AD,计数器IO,液晶屏,按键等模块的端口初始化
信息的获取包括:各模块的AD值,脉冲数,电感电压等
控制包括:直立,速度,方向控制
参考文献
[1]
飞思卡尔秘书处
,《电磁组直立行车参考设计方案1.0》
2011-12-22
[2]
飞思卡尔秘书处
,《电磁组直立行车参考设计方案2.0》
2012-3-1
[3]
邵贝贝等
《学做智能车2004年》
北京航空航天大学出版社
[4]
陶永华主编
《新型PID控制及其应用》
机械工业出版社
2002年
附录
源程序
/********************************************************
龙丘MCF52259多功能开发板V1.0
编写:龙丘
Designed
by
Chiu
Sir
E-mail:[email protected]
软件版本:V1.1
最后更新:2010年7月8日
相关信息参考下列地址:
网站:
http://www.jsfw8.com
------------------------------------
Code
Warrior
7.1
Target
:
MCF52259
Crystal:
48.000Mhz*******************************************************/
/********************端口使用说明*******************
ICOC3-----------内部计数器GPT3,TA3,PWM7
PWM1--DTIN2-----13左轮
TC
PWM3--DTIN3
TA
PWM4--ICOC0-----46右轮
PWM6--ICOC1
AD0---AN0-------陀螺仪
AN
AD1---AN1-------加速度计
AD2---AN2-------矫正位
A3----DC
命令数据选择管脚
TE
A2----RES
模块复位管脚
A1----D1(MOSI)
,主输出从输入数据脚,由MCU控制
A0----D0(SCLK)
,时钟脚,由MCU控制
A8-A15--外部计数器存储位
TF
A16---TG0
外部计数器控制位
TG
A17---TG1***************************************************/
#include
“support_common.h“/*
include
peripheral
declarations
and
more/
#include
“MCF52259_PIT_driver.h“#include
“MCF52259_UART_driver.h“#include
“MCF52259_PWM_driver.h“#include
“Get_info.h“#include
“Control.h“#include
“LQ12864.h“uint8
txtbuf0[16];
uint8
txtbuf1[16];
uint8
txtbuf2[16];
uint8
txtbuf3[16];
//中断全局变量
int
step=0;
int
index=0;
int
count_s=1;
int
count_d=1;
int
SpeedPluse=0;
int
adi=0;
//*****************函数区****************//
void
delay(uint16
ms)
{
int
ii,jj;
if
(ms-0.5
LCD_Print(8,0,txtbuf0);
LCD_Print(0,2,txtbuf1);
LCD_Print(0,4,txtbuf2);
LCD_Print(70,4,txtbuf3);
//
LCD_Fill(0xff);
//
LCD_Fill(0x00);
//
LCD_CLS();
//LCD_Print(0,0,(uint8)“龙丘“);
//index=0;
//}
//index++;
}
}
__declspec(interrupt:0)
void
PIT0_handler(void)//interrupt
source
55
{
if(step==0)
{
Pulse_counter();
MCF_GPIO_PORTTG|=MCF_GPIO_PORTTG_PORTTG0;
MCF_GPIO_PORTTG|=MCF_GPIO_PORTTG_PORTTG1;
MCF_GPIO_PORTTG
}
else
if(step==1)
{
/*
for(adi=0;adi=20)
{
if(g_nRightPulseI=10))
{
SpeedPluse=g_nRightPulseI;
SpeedControl(SpeedPluse+5);
}
else
SpeedControl(1000);
sprintf(txtbuf1,“%5d“,g_nRightPulseI);
g_nLeftPulseI=0;
g_nRightPulseI=0;
count_s=1;
}
else
{
SpeedControlOutput(count_s);
//速度调节
count_s++;
}
}
else
if(step==4)
{
Direction_votage();
ftostr(g_fLeftVoltageI,txtbuf2,3);
ftostr(g_fRightVoltageI,txtbuf3,3);
DirectionControl();
//方向控制
}
step++;
if(step>4)
step=0;
MCF_PIT_PCSR(0)|=MCF_PIT_PCSR_PIF;
}
#include
“Control.h“#include
“MCF52259.h“#include
“support_common.h“#include
“Get_info.h“//直立调节参数
float
g_fAngleOut=0.0;
#define
ANGLE_P
0.05*450
#define
ANGLE_D
0.05*14
//速度调节参数
#define
SPEED_P
0.05*9//10.5//10//3.2//4//3//3//0.1//3//0.5
#define
SPEED_I
0.05*2.5//1.8///2.5//2.5//2.5//2//2.5
#define
DEAD_VAL
0.05*250
float
g_fSpeedOld=0;
float
g_fSpeedNew=0;
float
g_fSpeedIntegral=0;
floatg_fSpeedOut
=0;
float
g_fLeftOut=0;
float
g_fRightOut=0;
//方向调节参数
#define
DIRECTION_P
0.05*600//475//430
#define
DIRECTION_D
0.05*800//16000//10000//15500//680//500//478//585//580
float
g_fDirectionOut=0;
float
g_fDoutold=0;
float
g_fDoutnew=0;
float
diff_now,diff_before;
//-------------------------------------------------------------------------*
//函数名:AngleControl
//功
能:直立控制
//参
数:无
//返
回:无
//-------------------------------------------------------------------------*
void
AngleControl()
{
g_fAngleOut
=ANGLE_P*Angle+ANGLE_D*agvelocity_gyro;
}
//-------------------------------------------------------------------------*
//函数名:SpeedControl
//功
能:速度控制
//参
数:无
//返
回:无
//-------------------------------------------------------------------------*
void
SpeedControl(int
speedset)
{
int
fspeederror;
int
speednow;
speednow=g_nRightPulseI;
fspeederror=speedset-speednow;
g_fSpeedOld=g_fSpeedNew;
g_fSpeedIntegral+=SPEED_I*fspeederror;
g_fSpeedNew=g_fSpeedIntegral+SPEED_P*fspeederror;
}
//速度调节
void
SpeedControlOutput(int
fen)
{
float
fValue;
fValue
=g_fSpeedNew
-
g_fSpeedOld;
g_fSpeedOut=(fValue/19)*fen
+
g_fSpeedOld;
}
//-------------------------------------------------------------------------*
//函数名:DirectionControl
//功
能:方向控制
//参
数:无
//返
回:无
//-------------------------------------------------------------------------*
void
DirectionControl()
{
float
fLeft,fRight;
fLeft=g_fLeftVoltageI;
fRight=g_fRightVoltageI;
diff_now=(fLeft-fRight)/(fLeft+fRight);
g_fDoutold=g_fDoutnew;
if(diff_now==0)
{
g_fDirectionOut=0;
}
else
{
g_fDirectionOut=diff_now*DIRECTION_P+(diff_now-diff_before)*DIRECTION_D;
}
diff_before=diff_now;
}
//-------------------------------------------------------------------------*
//函数名:MotorSpeedOut
//功
能:电机输出
//参
数:无
//返
回:无
//-------------------------------------------------------------------------*
void
MotorSpeedOut()
{
if(g_fLeftOut
>=
0)
{
if(g_fLeftOut
>200)
g_fLeftOut
=
200;
MCF_PWM_PWMDTY(4)=g_fLeftOut+DEAD_VAL;
MCF_PWM_PWMDTY(6)=0;
}
else
{
if(g_fLeftOut
=
0)
{
if(g_fRightOut
>
200)
g_fRightOut
=
200;
MCF_PWM_PWMDTY(1)=g_fRightOut+DEAD_VAL;
MCF_PWM_PWMDTY(3)=0;
}
else
{
if(g_fRightOut
<
-200)
g_fRightOut
=
-200;
MCF_PWM_PWMDTY(1)=0;
MCF_PWM_PWMDTY(3)=-g_fRightOut+DEAD_VAL;
}
}
void
MotorOutput()
{
g_fLeftOut=g_fAngleOut+g_fSpeedOut+g_fDirectionOut;
g_fRightOut=g_fAngleOut+g_fSpeedOut-g_fDirectionOut;
MotorSpeedOut();
}