0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

四轴飞行器DIY图解

454398 来源:网络整理 作者:网络整理 2019-11-20 10:10 次阅读

步骤1:

我们使用的ST360 ARF Quadcopter套件购自亚马逊含税价约200美元。如果这是您的第一个版本,或者您没有人指导您完成电子设备和编码工作,我建议您使用准备飞行(RTF)套件,并且应该使用随附的飞行控制器。稍后,您将获得用于无线或自主控制的单独微控制器,并且如果与您的主板兼容,请使用随附的无线发射器。另外,我建议您从微型直升机开始。您可以以便宜的价格获得250套件,它们确实很稳定,并且您可以学习控制直升机的基本知识。在购买更昂贵的道具和马达之前,您需要进行一些练习。

我们的套件随附了四个ESC,2个CW道具,2个CCW道具,4个马达,一个底盘和一个飞行控制器。

我在ESC上找不到任何规格,尽管我们确定它们对大约0.25毫秒至1.5毫秒之间的脉冲宽度做出响应。我将在随后的步骤中讨论PAC及其PWM功能。

CW道具的尺寸标记为8045,而CCW道具的标记尺寸为8045P,其中“ p”表示“推动”道具。许多业余爱好者称之为CCW道具。

此套件具有8045个道具,即直径8英寸,节距4.5英寸。基本上,道具的直径决定了直升机的敏捷性:较长的道具改变速度的速度较慢,但它们的稳定性要高得多。另外,螺距确定螺旋桨旋转一圈时排出的空气量。因此,更长的螺距长度将需要更多的电力以给定速度通过电动机运行。

电动机为KT2210,额定电压为1050kV。本质上,kV额定值是电压:rpm比率; 1伏特将以1050rpm的速度驱动电动机。由于螺旋桨的尺寸会影响电动机可施加的扭矩,因此必须将电动机与合适尺寸的螺旋桨配对。如果您想选择自己的电动机/道具设置,这里有一些资源可以帮助您:

我从这里开始:

http://www.tomshardware.com/reviews/multi-rotor-qu。 。.

然后,我通过一堆Google搜索和/r/quadcopter进行了广泛的扫描。在我对基本物理原理的理解和这些建议的基础上,我认为大型电动机的额定电压较低,通常与大型螺旋桨搭配使用,它们可以提升较大的负载,但不能很快改变速度,因此它们并不特别敏捷。较小的电动机与较小的螺旋桨配对使用,尽管它们比较大的装置敏捷得多,却无法承受那么大的负载。此外,更大的螺旋桨将需要更大容量的电池。

大多数多旋翼飞机设置中使用的电池是锂聚合物电池或LiPo电池。电池的容量由电流额定值乘以充电额定值确定。例如,在20C时额定为2200 mAh的电池将具有44000mAh的总容量。 S数是电池中的每个电芯平均保持3.7 V的电芯数量。最常见的是保持11.1V的3S。大多数构建版本将使用2-3S且在1200-2200 mAh之间。

您要研究的一些外围设备包括IMU(故障测量单元)和无线接收器/收发器。 IMU是通常包括陀螺仪,高度计和指南针的设备。陀螺仪测量旋转速度,指南针测量方位,高度计测量从给定参考点到多旋翼飞机的高度。对于无线接收器/收发器,或所谓的rx/tx,可以是与控制器配对的任何无线模块。我们使用了蓝牙模块,该模块连接到作为控制器的android应用程序。尽管该解决方案的成本很小,但您需要将控制它的应用程序放在一起。 Google Play上有可用的示例,同样,Reddit是一个不错的资源,但是您需要确保该应用程序和飞行控制器以相同的格式发送消息。我将在后面的部分中对此进行更详细的讨论。

步骤2:ESC,飞行控制和功率分配

本节将简要概述如何连接ESC和如何控制ESC。使用单个电动机输出的四轴飞行器。

使用无刷电机时,首先要注意的是,共有三行,并且它们都是相同的颜色。没有您的商品没有缺陷;这是设计使然。 ESC的工作方式与磁悬浮类似。运动是由电磁铁以高速率打开和关闭而产生的。线路的连接顺序将确定电动机是顺时针还是逆时针旋转。并且,您可以通过将任意两条线切换到ESC来反转旋转方向。

当ESC通电时,每个ESC上应有一些LED指示灯以恒定速率闪烁。我不确定闪烁速率的重要性,不同的速率可能表示电池中电池的电量不同,即,当电池电量较低时,LED会更快闪烁;不过,那只是猜测。

通常情况下,ESC设计为将脉冲宽度调制(PWM)信号接收到数据引脚(白色)中。生成该信号可以由飞行控制器处理,并可以通过随附的软件进行修改。如果您使用标准的微控制器来控制多旋翼飞机,那么您将在代码中显式地控制PWM。这将包括计时器和中断的使用,我将在审查Hydra-X PAC 5210时进行讨论。

我购买的电池确实很漂亮:

http://amzn。 to/1FGu9qa

这是两包,我在销售时就买到了。他认为减少两次航班之间的停机时间将是一件好事。整洁的是Venom电池随附的通用插头系统。大多数电池需要4mm的子弹头连接器或类似的东西,但是“通用插头系统”使Venom电池可以适应几种不同类型的插头。话虽如此,大多数ESC设计用于子弹连接器。如果您要获得套件,则将处理所有这些细节,但是如果您想组装一架多轴直升机,则需要做一些额外的研究,并确保您有足够的电池和可连接的电调它没有太多麻烦。对于大多数人来说,您只需要一些基本的焊接技巧,尽管您将要确保无需使用过多的焊料就能获得牢固的连接。

如果您使用的是预先构建的飞行控制器,偏航/俯仰/等应该已经在控制器中进行了编码。如果您决定设计自己的飞行控制器,则上面的最后一张图片描述了将在每个轴上产生运动的四个电动机之间的速度差。

如果电动机1是北方,电动机2是东方,电动机3是南,电动机4是西,则:

向前倾斜是俯仰=电动机3-电动机1;例如,对于增加的螺距,电动机3》电动机1

逆时针旋转是Yaw =(电动机2 +电动机4)-(电动机3 +电动机1);例如,电动机2,电动机4》电动机1,电动机3

顺时针旋转为Roll =电动机4-电动机2;

您需要确定导致电机速度发生明显变化。对于我的设置,将脉冲宽度更改为0.2毫秒是最小的明显更改。

步骤3:Hydra X PAC5210

本节将简要概述PAC以及定时器和中断的使用。

在这里我想重申一下,我在嵌入式系统上的所有经验都是在Arduino micro上进行的,因此我告诫读者注意,我的观点不是行业专家甚至是经验丰富的开发人员。话虽如此,我是一个业余修修补补者,对马克斯·罗伊克罗夫特(Max Roycroft)和何塞·奎诺斯(JoseQuinoñes)所做的宝贵努力表示感谢,他们在协助自己和我的团队以及与德克萨斯大学达拉斯分校合作举办HydraX竞赛方面做出了宝贵的努力。希望这场比赛将成为更多活动的基础,使更多的活动参与其中,并使学生和行业专业人士见面并交流。

Hydra-X10是配备PAC5210微控制器的开发平台。 PAC5xxx系列设备就是我们所谓的Power Application微控制器。与所有其他微控制器相比,Active-Semi的这一系列控制器旨在在高达52V的输入上运行。这意味着,用户可以驱动将近52V的设备负载。它具有37个通用I/O引脚,其中包括14个启用PWM的引脚和11个具有模数转换的模拟引脚,其中两个具有数模转换功能以及一些我不熟悉的功能。

不过,评估设置确实有一些怪癖。 HydraX10平台设计为默认在至少16V的电压下运行,这是因为其电路允许最大52V的电压。用户手册中提供了“低压”模式并进行了描述,但是该模式仍然需要12V的电压才能运行,这意味着您将需要一个外部电源才能开始对其进行修补。在我决定使用哪种电池之前,这对我来说很麻烦。当然,只有在订购完这些组件之后才能开始测试,但是我希望能够在不寻找电源的情况下自行修改电路板本身。公平地说,如果我刚刚去购买必要的连接器,一对串联的9伏就足够了。

无论如何,一旦板子通电,您就需要下载第三方CooCox IDE以及其CoLinkEx USB驱动程序。 CooCox IDE存在一些重大的内存问题,并且仅在关机时才进行分配。这可能是Java的基本问题;我试图坚持自己。但是,这不是一个大问题,当IDE不可避免地提示错误,即内存不足时,只需关闭并重新打开它即可。

一旦平台启动并初始化了IDE,下一个步骤是下载PAC5210控制器的库。第一次启动IDE时,它将要求您加载库并列出它可以访问库的某些芯片和板。如果需要返回到此页面,可以转到“查看”下拉菜单,然后选择“存储库”。在列表中寻找Active-Semi;它应该在底部。如果未显示,请单击窗口右上方的刷新按钮。单击Active-Semi之后,选择适当的控制器;然后单击“确定”。我正在使用PAC5210。您将需要的主要库是“ CMSIS Core and BOOT”以及Active-Semi库“ LIB”。下载并添加这些内容后,您将拥有进入下一部分的所有内容。

第4步:计时器,PWM等。..

本节将讨论如何使用PAC的时钟和计时器来初始化PWM输出。

PAC的一大特色是它具有大量的PWM输出和数量。可用于运行其他中断驱动功能的单独计时器。控制器具有一个以4MHz运行的振荡器,并驱动两个独立的时钟,每个时钟都可以由内部PWM引擎中的四个定时器用作参考。该引擎使用计时器生成其14个PWM输出。

在低电压和高电压模式下,该板均会生成5V,3.3V和1.8V输出,以为外围设备和组件供电

上面的图片是我用来设置PWM输出的代码示例。您可以对timerB,C和D进行相同的操作。也可以将HCLK或ACLK用于时钟配置。而且时钟输入最多可被分频为2 ^ 7。

您会注意到有一块代码引用了系统代码。此股票代码是一个内部计时器,可用于定期触发事件。我用它每10ms更新一次我所有电动机的速度。 ESC每21 ms仅收到一个新的脉冲宽度,因此10ms速度更新应始终及时更新PWM输出。

步骤5:通信

本节将概述UART外设以及如何在PAC5210上设置rx/tx。

UART外设已连接到PE2和PE1板上的rx/tx端口。在此处连接RF接收器或蓝牙模块。该板默认设置为将UART连接到USB,因此您可以在进行无线通信之前调试通信代码。 HydraX平台中间有一块,有4个开关。前两个对应于UART链接,并且通过更改这两个开关,可以使PE1和PE2与UART外设通信。

上面的第一张图片显示了我用于配置UART的代码。我还有一些锁存器和分数除数的示例计算,用于描述UART外设的系统配置。

配置完成后,您需要定义一个处理程序,只要触发UART中断,该处理程序就会被调用。它的名称必须定义为:void UART_IRQHandler(void)。这是触发UART中断时系统寻找的东西。下一张图片显示了Max指导我的更多代码。

最后一步是编写处理输入消息的函数。在上面的代码中,此函数称为uart_messgae_process(),但可以命名为任何东西。您将需要具有一个开关或某些其他流控制结构,这些结构将根据接收到的数据唯一地执行。在处理结束时,您应该生成一条返回消息以提供有关所发生情况的反馈。传入和传出消息都应具有一个“开始消息”字节,该字节告诉哪个设备正在接收消息的开始位置。接下来,应该包括状态消息,然后是要发送的任何数据。最后,应采用某种数据验证/确认方法以确保传输在途中不被破坏。我使用消息的8位总和作为校验和,并将其保存在消息的最后一个字节中。

通信的下一部分是将无线收发器设置为在收发器中发送和接收消息。 UART代码中描述的格式。有很多可用于编写蓝牙应用程序的指南,大多数收发器消息处理与UART消息处理类似,因此,我将由您自定义该部分。

步骤6:结束构建

安装了所有软件后,剩下的就是电路了。评估套件随附一个原型板,可用于在连接到HydraX平台之前确定连接方向。

请注意:HydraX平台没有缓解电流过载的电路,因此您需要确保所有连接线都已妥善存放,以防止输入和输出意外交叉。如果您确实收到了简短的提示,那么董事会就死定了。我建议不要再加电。某些组件可能是从油炸板上抢下来的。

当然,在进行连接之前,您需要确定要使用的引脚。请记住,多轴直升机很容易受到其重心变化的影响,因此您要确保每个组件尽可能地平衡。修剪电线,直到结构紧凑,不会对多旋翼飞机周围的气流产生负面影响。最后但并非最不重要的一点是,贴花,玩得开心,并准备打动所有女士,因为您有翅膀!其中四个。
责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 四轴飞行器
    +关注

    关注

    55

    文章

    206

    浏览量

    50862
收藏 人收藏

    评论

    相关推荐

    单片机制作飞行器使用什么电机驱动模块性价比高?

    制作飞行器使用什么电机驱动模块性价比高
    发表于 11-10 07:36

    你们正点原子的mini飞行器的控制是多少位的?

    你们正点原子的mini飞行器的控制是多少位的
    发表于 11-08 07:40

    飞行器的电机有哪些?

    目前有微型,也有像小米、大疆的飞行器。 今天无刷的先不谈,只谈有刷的空心杯电机。 1、目前用在
    发表于 11-06 06:54

    飞行器在姿态控制中怎么消除横风的影响?

    目前做的受横风影响很大,该怎么解决
    发表于 10-16 07:33

    飞行的控制过程中可以用什么算法来控制姿态?

    飞行的控制过程中可以用什么算法来控制​姿态
    发表于 10-12 07:03

    【精选推荐】DIY创意作品秀!智能小车、飞控?可不止这些!

    情人节都过完了哦!其实爱对了人,情人节每天都过哟~) 纯手工劳动开始了,没有多大的技术难度,就是要心细,考验美学、逻辑和刀工。 5、飞行器玩腻了?来打造属于自己的三
    发表于 10-09 15:25

    请问飞行器电源控制采用的什么机制?

    飞行器电源控制采用的什么机制?
    发表于 10-08 10:18

    空拍机飞行器独立充电应用

    电子发烧友网站提供《空拍机飞行器独立充电应用.rar》资料免费下载
    发表于 10-07 16:30 0次下载
    空拍机<b class='flag-5'>飞行器</b>独立充电应用

    【开源项目】YMFC开源小无人飞行器

    系列教学视频 合集·飞行器原理及制作教程 公告 第一集(项目历史和原理图) 第二集(深入代码) 第三集(无人机组装和测试) 第集(控制无刷电机) 第五集(从无人机到软件无线电)
    发表于 09-26 13:53

    旋翼飞行器设计资料

    学习做旋翼飞行器的参考资料,PCB和控制程序
    发表于 09-26 06:54

    飞行器可以用硬件pid实现平衡吗?

    请问飞行器可以用硬件实现平衡吗
    发表于 09-25 07:40

    多轴飞行器抗浪涌静电保护方案

    多轴飞行器因其结构简单,组装方便,已经越来越接近大家的生活。随着MEMS传感器、微控制器、电机和电池技术的发展和普及,多轴飞行器已经成为微小型无人机中的新锐力量。直到今天,多轴飞行器已经应用到
    的头像 发表于 08-10 08:31 453次阅读
    多轴<b class='flag-5'>飞行器</b>抗浪涌静电保护方案

    Arduino Uno制作的四轴飞行器

    电子发烧友网站提供《Arduino Uno制作的四轴飞行器.zip》资料免费下载
    发表于 06-15 09:26 4次下载
    Arduino Uno制作的四轴<b class='flag-5'>飞行器</b>

    飞行器姿态计算

    飞行器的控制中,姿态计算是至关重要的一步。姿态计算的目标是确定飞行器相对于参考坐标系的姿态,通常以欧拉角(滚转、俯仰和偏航)或四元数的形式表示。
    的头像 发表于 06-14 10:41 1318次阅读
    <b class='flag-5'>飞行器</b>姿态计算

    如何在Arduino Zero和ESP8266之间获得更高的通信速度吗?

    大家好, 所以基本上我的想法是使用 ESP8266 作为 Wifi 接入点并广播由在 Arduino Zero 中运行的飞行器控制回路生成的所有遥测数据。
    发表于 05-23 06:24