<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

讓地平線X3運行PX4(硬件篇)

云深之無跡 ? 來源:云深之無跡 ? 2023-06-02 17:06 ? 次閱讀

現在看下來開源的飛控已經很穩定了,就是PX4和APM(國內有個基于模型開發的,不過在國外,全球的市場看,不太行,加油吧~),剩下就是FPV這塊了,也是一個樹下7個娃。接著就是一些開源的小飛控。

所以對于現在不用DJI商用飛控這些無人機,那現在選擇也就是PX4了,至于為什么不是APM,我也說不明白,PX4總體是更高級一些的,而且在設計之初就選用很好的技術路線,所以也是高端和專業的代名詞。

PX4,一種是開發板就是上面有IMU,MCU,接口什么的,專注于飛行本身。還有一種是偏向于上層控制的,就是一個較強的計算模塊來發送飛行指令的。

隨著開源硬件樹莓派,這些廉價的ARM硬件盛行,有人就在想,和PX4飛行固件能不能碰撞出不一樣的火花,那有人就想,直接讓樹莓派運行固件就好。

2877e496-fae1-11ed-90ce-dac502259ad0.png

就是這樣

樹莓派硬件運行PX4飛控固件, 這文章好像是21年寫的。

28944596-fae1-11ed-90ce-dac502259ad0.png

當時的文章現在在現在看起來是有點呆逼的

重溫這篇文章,或是重寫這個文章的理由也很簡單,重溫這個硬件,以及試著給地平線設計一個飛行的載板,地平線的邊緣算力是有點強的。

閑話不多說,開始!

28aae864-fae1-11ed-90ce-dac502259ad0.png

我們從板子的設計上面看,就是6個功能塊:GPS,雙路的IMU,多樣的RC輸入,氣壓,額外的接口(ADC,I2C,UART),電源控制。

1. 雙IMU芯片。Navio2采用兩只IMU芯片,既可以提高飛行性能,也實現了冗余設計,提高了可靠性。

2. 改進的MS5611性能。之前MS5611與總線上其他芯片共享,會產生噪聲。Navio2獨立MS5611于I2C總線上,消除了這一影響。

3. 用微控制器代替PCA9685 PWM發生器。之前版本采用PCA9685芯片產生PWM,但其每個通道的頻率不能獨立控制,給馬達和舵機帶來問題。Navio2采用微控制器代替,可以按組設置每個輸出通道的頻率,解決這個問題。

4. PPM/SBUS解碼由微控制器代替DMA完成。之前Navio+采用DMA采樣PPM信號,占用大量系統資源。Navio2由微控制器完成PPM/SBUS采樣,釋放Raspberry Pi 2的處理器核心用于其他任務。

5. AUX SPI。Navio2是第一個利用Raspberry Pi的AUX SPI控制器的HAT。兩個SPI控制器允許更有效地分配傳感器。

6. ADC接口。之前Navio+的ADC通道只在板底的焊盤上可用,不方便。Navio2的這些通道在DF13接口上可方便訪問。

7. 更好的Linux集成。PWM、ADC、SBUS和PPM通過Linux sysfs集成,可以方便從任何編程語言訪問。未來會有更深入的集成。

28c79b4e-fae1-11ed-90ce-dac502259ad0.png

具體的傳感器就是這幾個

因為還面臨一個硬件驅動的問題,所以給出的驅動代碼也要學習!

MPU9250,實際上是內部集成了一個 MPU6500 六軸傳感器和一個 AK8963 三軸磁力計,他們共用一個 IIC 接口,這樣組合成一個九軸傳感器。

28e41c38-fae1-11ed-90ce-dac502259ad0.png

MPU9250使用的是SPI,20Mhz的采樣頻率

28fd165c-fae1-11ed-90ce-dac502259ad0.png

函數庫很簡單的,就是一個更新函數就可以得到數據的

291920ae-fae1-11ed-90ce-dac502259ad0.png

寫一個獲取ACC的函數

291fa262-fae1-11ed-90ce-dac502259ad0.png

這些是芯片的電氣參數

29353bfe-fae1-11ed-90ce-dac502259ad0.png

這個是芯片的引腳,現在的資料都是IIC的,SPI的設計需要看芯片手冊的

293c9c1e-fae1-11ed-90ce-dac502259ad0.png

這里放一個IIC的原理圖

296777d6-fae1-11ed-90ce-dac502259ad0.png

SPI的使用就是傳輸速率很穩定性上面

MPU9250內置慣性測量單元(IMU)芯片可以通過SPI接口或IIC接口與主機通信。相比而言,SPI接口有以下優點:

1. 速度更快。SPI通??梢赃_到更高的通信速度,最大可以達到10MHz以上。IIC通常最高只有400KHz,通信速度較慢。

2. 并行通信。SPI采用并行通信,可以同時發送和接收多位數據,通信效率更高。IIC采用串行通信,一次只能發送和接收1位數據。

3. 更簡單。SPI只需要4條線(SCLK,MOSI,MISO,CSN)即可完成全雙工通信。IIC需要至少2條線(SDA,SCL),通信協議也較為復雜。

4. 可實現更長傳輸距離。采用SPI可以實現較長(10米以上)的傳輸距離。IIC由于采用開漏輸出,傳輸距離較短,一般只有幾米。

5. 支持更高靈活性。SPI通信可以由片選信號(CSN)控制從機,主機可以與多個從機通信; each從機也可以有自己的通信速率。IIC只能固定通信,通信速率也相同。

6. 更強的抗干擾能力。SPI采用差分信號,對噪聲更加魯棒。IIC易受電磁干擾影響,通信質量較差。

ST的這個IMU,我源碼里面沒有找到驅動?

298b4f26-fae1-11ed-90ce-dac502259ad0.png

隨便看了看,IIC,不是SPI的

29d75222-fae1-11ed-90ce-dac502259ad0.png

數據手冊里面有

29e835d8-fae1-11ed-90ce-dac502259ad0.png

芯片的引腳圖

29fe6fec-fae1-11ed-90ce-dac502259ad0.png

定義

2a19fe2e-fae1-11ed-90ce-dac502259ad0.png

原理圖

2a442532-fae1-11ed-90ce-dac502259ad0.png

兩個IMU,SPI的接口

emmmm,我要不是搞錯了+和2這個版本,要不就是驅動里面沒有寫這個芯片的驅動。

寫了,我搞錯了。

2a664702-fae1-11ed-90ce-dac502259ad0.png

也是SPI的

2ab19112-fae1-11ed-90ce-dac502259ad0.png

這個是氣壓傳感器,電阻

2ab7823e-fae1-11ed-90ce-dac502259ad0.png

氣壓傳感器是使用的IIC

2accdd6e-fae1-11ed-90ce-dac502259ad0.png

這個是2,最大的改變就是STM32芯片的引入是處理RC信號的

2b5f73ea-fae1-11ed-90ce-dac502259ad0.png

這個是+,兩個版本

2bc51f60-fae1-11ed-90ce-dac502259ad0.png

這個是老版本的

Selected: MPU9250 Connection established: True Acc: +0.014 +0.139 +9.974 Gyr: -0.042 +0.022 +0.011 Mag: -3525.450 +29.584 +0.000 Acc: -0.010 +0.268 +10.036 Gyr: -0.042 +0.019 +0.015 Mag: -14.963 +43.390 -50.130 Acc: -0.010 +0.278 +9.888 Gyr: -0.043 +0.021 +0.012 Mag: -16.566 +42.852 -50.302 Acc: +0.010 +0.187 +10.041 Gyr: -0.039 +0.021 +0.011 Mag: -14.963 +42.314 -50.817 Acc: -0.062 +0.158 +9.855 Gyr: -0.039 +0.020 +0.011 Mag: -15.497 +42.493 -49.959 Acc: -0.067 +0.196 +10.056 Gyr: -0.044 +0.020 +0.013 Mag: -14.963 +43.748 -50.130

打印出來的數據

2be41316-fae1-11ed-90ce-dac502259ad0.png

這個是擴展的接口

2c0fa8aa-fae1-11ed-90ce-dac502259ad0.png

這個就是有趣的東西,有了這個就可以設計電路板了

2代少了PWM的驅動芯片,ADS1115,ADC轉換芯片。

2c16aaf6-fae1-11ed-90ce-dac502259ad0.png

這個好像是一代的引腳來著

這東西不難設計,主要是不想自己寫驅動,想直接用。

2c20b01e-fae1-11ed-90ce-dac502259ad0.png

還有這個小玩意兒,我也是設計完了,上圖是印度小哥的

目前,我就繪制IMU,GPU,留些接口就行,這個STM32的設計是需要一些時間的。

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    6863

    瀏覽量

    148223
  • gpu
    gpu
    +關注

    關注

    27

    文章

    4474

    瀏覽量

    127101
  • 地平線
    +關注

    關注

    0

    文章

    308

    瀏覽量

    14675

原文標題:讓地平線X3運行PX4(硬件篇)

文章出處:【微信號:TT1827652464,微信公眾號:云深之無跡】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    PX4開發者手冊

    參考資料PX4 Github主頁:PX4 Github(代碼有分支,請查看v1.10.0分支)PX4開發者手冊:PX4手冊 v1.11(手冊有分支,請查看v1.11.0分支)
    發表于 08-23 07:42

    PX4和Audupilot的區別與聯系是什么

    ArduPilot固件也叫APM。二、兩者的聯系后來APM硬件性能不太夠,所以APM固件也就針對兼容了Pixhawh硬件平臺所以在pixhawk硬件平臺上可以運行
    發表于 02-15 07:32

    基于Nuttx系統進行開發的開源PX4

    PX4二次開發——程序運行過程一、寫在前面?px4固件程序與最開始我們所學習的對單片機外設開發不同,是因為飛行器控制系統是一個復雜的系統,要求實時性好,完成復雜的控制任務,簡簡單單的按照之前
    發表于 02-17 07:02

    地平線旭日X3派試用體驗】開箱與板載資源介紹視頻

    本視頻為地平線旭日X3派的開箱視頻,講解板載資源.
    發表于 07-10 00:14

    地平線旭日X3派試用體驗】燒錄鏡像與UBUNTU桌面環境初體驗視頻

    本視頻講解地平線旭日X3派開發板燒錄鏡像,以及體驗UBUNTU桌面系統。
    發表于 07-10 00:24

    地平線旭日X3派試用體驗】#旭日X3派首百嘗鮮#資料下載及環境搭建初試

    前言:非常高興成為地平線旭日X3派的新品體驗官,一直想做一些不一樣的東西,看到地平線旭日X3派的發布會,加之電子發燒友有開發板試用活動,果斷申請。非常高興被選中。收到開發板后打開貨品,
    發表于 07-12 13:45

    地平線旭日X3派試用體驗】開箱+快速上手體驗

    首先很高興能夠成為地平線旭日X3派的新品體驗官,前不久開發板到了,目前玩了有一個星期左右了,先來簡單發一個開箱帖子?!鹃_箱】收到開發板的那一瞬間感覺外盒挺有趣的。盒子里面配了一塊散熱片、USB轉
    發表于 07-17 22:31

    地平線旭日X3派試用體驗】#首百嘗鮮# 第二 旭日X3派基礎實驗操作演示

    前言:前一的環境在板子上已經OK,接下來將旭日X3派用戶手冊中的幾個實驗跑一下,實際操作演示,出現的問題及演示效果進行分享。本實驗使用串口操作旭日X3派開發板,手冊中還有其他網絡方式,大家自行實驗
    發表于 07-19 15:00

    地平線旭日X3派試用體驗】開箱硬件介紹

    地平線旭日X3是夢寐以求的開發板,上圖,地平線是一家細心的公司,包裝都做得這么精致。還帶個散熱片。接口:一個CSI的相機接口,板載USB有3個,包含1個USB3.0和2個USB2.0,
    發表于 07-26 19:13

    地平線旭日X3派試用體驗】 HHP環境搭建及簡單demo演示

    1. 前言 — 地平線機器人平臺用戶手冊 1.0 文檔 (horizon.ai)前言: 前面兩基本測試了板端跑Ubuntu Server鏡像及基本外設功能,接下來測試地平線機器人平臺HHP,根據
    發表于 07-31 20:18

    地平線旭日X3派試用體驗】01. X3派開箱及上手

    1、開箱突然一天接到地平線官方小姐姐的電話說我的X3派申請試用通過了,確實我有點意外被選中成為試用者,非常感謝地平線官方和電子發燒友開展本次旭日X
    發表于 08-09 17:32

    #旭日X3派首百嘗鮮# 用solidworks畫了一個旭日X3派的模型

    的是SOLIDWORKS2021,低版本打不開這個模型文件,只能用2021或者更高版本),和.STL文件(可用于3D打?。?b class='flag-5'>地平線旭日X3派,開啟你的嵌入式開發之旅」,歡迎正在閱讀的你申請試用,一起交流開發心得此處下載附件
    發表于 08-31 11:18

    [經驗] 【 地平線旭日X3派試用體驗】X3派開箱及開發環境搭建

    地平線旭日X3派開發板是我見過,AI計算算力最強,開源程度最深,AI算法集成度最高的開發板,再此表示感謝。環境安裝在進行AI算法開發之前請參考X3派用戶手冊完成系統安裝及配置,此時X3
    發表于 09-01 01:17

    地平線旭日X3派試用體驗】地平線旭日X3派AGV智能車設計

    本項目是做一個基于地平線旭日X3派ROS-SLAM激光雷達自主導航AGV機器人原型設計。地平線旭日X3派ROS主機、副控板及驅動、控制端,通過xrbase節點調用xrmiddlewar
    發表于 09-12 19:25

    旭日,從地平線升起——地平線旭日X3派開箱試用

    地平線旭日X3派,開啟你的嵌入式開發之旅
    的頭像 發表于 11-08 15:22 ?1220次閱讀
    旭日,從<b class='flag-5'>地平線</b>升起——<b class='flag-5'>地平線</b>旭日<b class='flag-5'>X3</b>派開箱試用
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>