基于vc++的模拟舵机系统设计摘要:在无人机半物理仿真实验中,为了节约实验成本,提出用模拟舵机系统代替真实舵机的方法。基于vc++设计了模拟舵机系统。在半物理仿真系统中连入模拟舵机,并用该系统模拟副翼、升降舵、油门的舵机。通过实验验证了该模拟舵机系统的有效性。实验结果表明,该模拟舵机系统具有实时性好,可模拟多种舵机的特点。
0 引言
无人机飞行控制仿真主要包括数字仿真和半物理仿真。半物理仿真将系统部分实物引入仿真回路,尽可能真实模拟现场情况,比数字仿真更能有效验证飞行控制系统的可靠性,尤其在其在初期试飞调参以及后期控制策略改进阶段应用广泛。
做无人机的半物理仿真时,需要使用真实舵机,而舵机价格比较昂贵,且多次实验时存在损坏的风险,无形中增加了实验成本。本文根据舵机在飞行控制系统中的作用及特点,基于vc++设计模拟舵机;该模拟舵机由综合记录计算机和若干板卡构成,运行于综合记录计算机中;代替实现真实舵机的功能,节约了实验成本。
1 模拟舵机硬件设计
模拟舵机系统,首先要能模拟舵机在半物理仿真中的功能;其次要不影响半物理仿真接入真实舵机。这个是通过pcld-785b(继电器输出板)来选择的,当do不输出任何值时,ci和nci是导通的,当do输出时,ci和noi导通(i=0,1,2,…,9)。
系统硬件设计如图1所示,为了简洁,省去pcl-880接线板。
图1中的pcld-782b是光电隔离板,为了隔离pcld-785b带来的噪声和提高电压(飞控盒输出电压是3.3 v,提高到ttl电平)。而pcl-836(频率采集卡)和pcl-726(d/a输出卡),pcl-812(a/d采集卡)和位于综合记录计算机内,在vc++中的操作方法如图2所示。
2 舵机函数关系的输入
为了仿真多种舵机的需要,舵机函数关系应该可调;同时系统要满足自动获取接在图1仿真舵机上舵机的舵机函数。系统用pcl-836发出pwm波,pcl-726采集反馈电压。程序界面如图3所示。
图中k,b为v=kt+b中的系数,v代表反馈电压,t代表脉宽(单位:ms)。
3 模拟舵机软件设计
3.1 pwm波采集方法
对pwm的采集是程序的难点,这里使用pcl-836的事件计数功能来实现对pwm的测量。pcl-836共有6路计数器,其中clk5用来产生时钟信号。在pwm的下降沿时去读计数器的值,然后根据时钟的频率算出pwm高电平的时间。检测pwm下降沿的常见的方法是使用中断和查询。在pwm每次下降沿时触发中断,在中断程序里去读计数器的值。但是pcl-836只支持一个外接中断,并且是上升沿触发中断,而整个仿真需要4个舵机,在目前的硬件条件下并不能直接实现,需要一定的辅助电路,如非门等。其次用查询的方法,用一个线程来读di,在下降沿时去读计数器的值。但这样cpu的占用很高,影响系统的整体性能。所以不使用查询和中断的方法。为了能够检测pwm下降沿,并考虑现实性,决定用1 ms定时器来实现。如果上次读到高定平,而这次读到低电平,就认为是下降沿。虽然有不定的延迟,但是延迟小于1 ms,同时可以得到正确的值,而且系统占用要远远低于查询方法。
3.2 使用多媒体定时器采集pwm波
微软提供了精确定时器的底层api,支持能够提供高精度的定时器服务,利用多媒体定时器可以精确地读出系统的当前时间,并在很精确的时间间隔内处理事件,可以到1 ms的精度。多媒体定时器的回调函数的程序流程图如图4所示。
用多媒体定时器采集pwm的方法带来的不定延迟,加上windows系统的实时性差带来的延迟,使得模拟舵机系统实时性变差。但是飞控盒发出的pwm波几乎是同时发出,即上升沿在时间上是一致的。所以可以用中断加查询的方法来检测,用一路pwm做中断源,每次中断的时候去查询,最终检测到下降沿。
3.3 中断加查询采集pwm波
pcl-836支持一路外部中断,上升沿触发。首先使用drv_enableevent函数使能中断,开始中断线程,在中断线程里用drv_checkevent函数检测中断。中断线程流程图如图5所示。
使用中断加查询的方法采集pwm,实时性比较好,系统占用高于定时器方法,但是低于查询方法。
4 仿真分析
在半物理仿真系统中连人该模拟舵机,系统模拟副翼、升降舵、油门三个舵机。使用该系统采集飞控盒发出的pwm,并反馈电压给模型机。经仿真采集到各舵机的pwm曲线如图6~图8,可知该系统实现具有实时性好,可模拟多种舵机的特点。
5 结语
本文基于vc++设计的模拟舵机系统,实现了无人机飞行控制半物理仿真中真实舵机的功能,一定程度上降低了实验成本。该系统功能全面,设计灵活,可实现多种类型舵机,是一种行之有效的仿真方法。
苹果iPhone手机已在各大电商平台通过各种方式进行了大幅度降价
拒绝黑暗,汽车大灯照明效果自我检测
在线教育开创中国文化出海新方式 Lingo Bus亮相世界互联网大会
移动互联网流大幅增长 手机信号增强器市场有望新突破
利用深度学习模型与计算机视觉构建虚拟更衣室
基于VC++设计的模拟舵机系统,可实现多种类型舵机
利用可编程逻辑技术实现各类音视频产品的信号处理
iphone8什么时候上市?iphone8依然是3GB运存,你还会为苹果买单吗?
人工智能软件在执行任务时竟然自己找捷径
硬件案例分析之迷你LED闪烁的原因所在
台积电1.4nm制程工艺研发持续,预计2027-2028年量产
半导体材料供应商盘点
天玑9300被曝CPU压力测试降频,性能下降了46%
数控开料机设计操作简单方便,易于安装和维护
腾讯长三角人工智能超算中心基地项目投资超150亿元
用IR传感器和Arduino制作一个数字转速计(附代码)
最全解析西门子S7-200使用Modbus协议
KT6368A蓝牙模块关于IOS系统或者手机获取蓝牙mac地址的方法说明-V1
4开关降压-升压控制器,具备直通功能,可以消除开关噪声
携手EP电力展,博威合金打开新型电力系统建设“开关”