RM新时代网站-首页

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>帆船自動(dòng)駕駛儀(自動(dòng)轉(zhuǎn)向系統(tǒng))開源分享

帆船自動(dòng)駕駛儀(自動(dòng)轉(zhuǎn)向系統(tǒng))開源分享

2022-10-21 | zip | 2.06 MB | 次下載 | 免費(fèi)

資料介紹

描述

前言:

我喜歡獨(dú)自航行,因?yàn)楫?dāng)一個(gè)人帶著他的帆船在海上航行時(shí),他得到了進(jìn)化到更高水平所需的一切。在惡劣天氣的生海中航行可能非常困難,但如果他選擇陽(yáng)光和風(fēng)好的天氣好的日子,享受將是最大的。

幸福意味著無(wú)限的視野,完美的運(yùn)動(dòng)技術(shù),最佳的選擇,也意味著人類的東西,如一杯好酒和美味的三明治!正是在這個(gè)時(shí)候,自動(dòng)駕駛儀提供了幫助:它代替您工作,同時(shí)您在海上享用下午 5:00 的茶和餅干。:-)

Autopilot 能為您做什么:

帆船沒(méi)有引擎,不能沿著程序化的路徑從港口到海灘,然后到釣魚點(diǎn),繞過(guò)燈塔再返回,它不能。

整個(gè)工作由水手完成,此時(shí)我們必須了解它:修剪風(fēng)帆,控制天氣和風(fēng)源/速度,加固或釋放繩索,注意與其他船只的交通,決定方向和轉(zhuǎn)向......水手決定休息一下,比如說(shuō) 10 秒或幾分鐘(著名的“下午茶時(shí)間”),他打開了自動(dòng)駕駛儀。在幾秒鐘內(nèi),它的 GPS 會(huì)獲取船的位置、速度和方向,并能夠保持方向(路線)。轉(zhuǎn)向系統(tǒng)是一根連接到方向舵的操縱桿,通常由專業(yè)的水手手移動(dòng),現(xiàn)在由自動(dòng)駕駛儀通過(guò)由滑輪和繩索連接的步進(jìn)電機(jī)控制。

控制方向舵是微調(diào)或粗調(diào)的連續(xù)工作。船更?。ǜp),影響它的方向因素的變化更大:海浪,風(fēng)的方向和壓力,水手運(yùn)動(dòng)引起的船上重量轉(zhuǎn)移,海流。但是Sailor總是醒著,即使自動(dòng)駕駛開啟,通過(guò)遙控的方式改變實(shí)際路線:上面有4個(gè)按鈕,標(biāo)記為+1 -1 +10 -10,用于角度的小或大變化,增加或減少值。這些按鈕也出現(xiàn)在自動(dòng)駕駛儀上,綠色(右)和紅色(左)按鈕。藍(lán)色按鈕(中間)用于激活或停用自動(dòng)駕駛儀,即暫停。它也是一個(gè)黑色按鈕,用于設(shè)置內(nèi)存中的參數(shù)。

pYYBAGNPQqaAJSdRAAKNWUCSlok198.png
?

電路:

主要處理由 MCU Arduino Uno完成。另一個(gè) MCU,Arduino Nano ,是看門狗:我知道它在 Uno 內(nèi)部確實(shí)存在一種看門狗,但我喜歡用獨(dú)立的外部微控制器來(lái)做,這是我一生的夢(mèng)想,我現(xiàn)在很開心!Uno 必須通過(guò)引腳 3 -> A0 將 Nano 喂入高/低,5/0 伏,至少每 2.5 秒一次(喂食間隔);如果不是,則表示 Uno 正在“休眠”或“阻塞”,Nano 會(huì)重置 Uno……它從未發(fā)生過(guò),你能相信嗎?

它與焊接在一起的i2c 電路轉(zhuǎn)換器一起使用流行的顯示器,最后僅使用 4 根線顯著節(jié)省了與 Uno 通信的數(shù)字引腳。還有按鈕和遙控器的連接方式電阻分壓器完成,以達(dá)到使用盡可能少的 MCU 端口的目標(biāo);我選擇了 1% 精度的電阻,模擬比較值應(yīng)該在我輸入代碼的值之間;如果由于您選擇了其他類型的電阻而無(wú)法識(shí)別某些按鈕,也只需對(duì)常量進(jìn)行一些更改(修改“checkRfRC()”和“checkHWButtons()”處的代碼)。RF 433Mhz 遙控 (RC) 電路運(yùn)行良好;為了提高距離覆蓋范圍和成功機(jī)會(huì),我添加了一個(gè)你可以用一根銅線自己制作的線圈天線;我在 10 米外對(duì)其進(jìn)行了測(cè)試,但我認(rèn)為它甚至可以在 20 米或更遠(yuǎn)的地方工作,考慮到我用來(lái)測(cè)試 Autopilot 的目標(biāo)帆船只有 4.20 米長(zhǎng),這已經(jīng)綽綽有余了。

GPS單元我一開始用的是EM406A不錯(cuò),可惜后來(lái)發(fā)現(xiàn)有Week-Rollover-Bug,太舊了,只好換了個(gè)很不錯(cuò)的備受歡迎的北天BN-220T。使用其配置軟件,請(qǐng)將其設(shè)置為每秒“吐”出 2 次(2Hz),這是必要的“$GNRMC”NMEA 序列句。GPS 將 (TX) 串行數(shù)據(jù)發(fā)送到 Uno 的引腳 0 (RX)。該數(shù)據(jù)包含用于計(jì)算電機(jī)校正的所有導(dǎo)航數(shù)據(jù):日期、時(shí)間、位置緯度和經(jīng)度、真實(shí)航向、速度和衛(wèi)星定位的有效性。由于 Arduino 的 IDE 編程也使用 pin 0 (RX) 端口,請(qǐng)記住在此操作期間暫時(shí)斷開 GPS...

我的另一個(gè)夢(mèng)想是使用 EEPROM 。IC 2404 是一個(gè)漂亮的 512 字節(jié) i2c 集成電路,我用于在此存儲(chǔ)芯片中讀取/寫入步進(jìn)電機(jī)運(yùn)動(dòng)的一些參數(shù),我將在稍后的“軟件”段落中解釋。

組件列表:

  • Arduino Uno 作為 MCU
  • Arduino Nano 作為 WatchDog
  • 北天BN-220T GPS
  • 步進(jìn)電機(jī),型號(hào) 23LM,54 步 = 1/4 轉(zhuǎn)
  • RF433Mhz RC XD-YK04+4鍵遙控器+線圈天線
  • 6 個(gè)常開按鈕(2xRed、2xGreen、1xBlack 和 1xBlue)
  • 用于外部步進(jìn)電機(jī)的母頭 + 公頭 6 針圓形連接器
  • 蜂鳴器
  • 顯示LCD1602 2x16字符+i2c轉(zhuǎn)換電路
  • 3 個(gè) LED(紅色、藍(lán)色和黃色))
  • IC 24c04 i2c eeprom
  • 電池 LiPo 2s 7.4v 2600mA
  • IC 7805 穩(wěn)壓器 + 散熱器
  • 熱敏電阻 NTC MF52-103 10k
  • 自恢復(fù)保險(xiǎn)絲 2A
  • Autopilot 防護(hù)罩上的電阻器(R1=330, R2=1k, R3=2k, R4=5.1k, R5=1k, R6/R7/R14=330, R8-R13=10k, R15=10M)
  • 2W 0.22 歐姆電阻 (R6)
  • 公針
  • 母長(zhǎng)針頭
  • 外殼透明且“防水”

電路上有幾個(gè)傳感器都通過(guò)IC 4051 多路復(fù)用器連接到 Arduino Uno 。它是一個(gè)熱敏電阻,以控制穩(wěn)壓器散熱器溫度,一個(gè)2W電阻和4x10k作為分壓器來(lái)計(jì)算安培作為整個(gè)電路的功耗。電池電壓得到控制:當(dāng)單個(gè)元件放電到 3.3v 以下時(shí),LiPo 是關(guān)鍵的;該電路在一個(gè)封裝中包含兩個(gè)元件 (2S) LiPo,在低電壓(低于 7.0v)的情況下,蜂鳴器會(huì)以短促的嗶嗶聲通知您。不要等待太久關(guān)閉,并盡快充電!發(fā)光二極管:黃色以 1Hz 閃爍,讓您知道 WatchDog 正在工作;自動(dòng)駕駛開啟時(shí)藍(lán)色開啟,暫停則關(guān)閉;按下遙控器按鈕之一時(shí),紅色 LED 閃爍。

所有電路工作電壓為 5.0v,由 LiPo 2S 7.4v 2600mA/h 電池和IC 7805 穩(wěn)壓器供電電流不應(yīng)大于800mA,但通常在100-450mA左右。請(qǐng)?jiān)谏厦娣乓粋€(gè)散熱器。熱敏電阻放在上面,如果溫度超過(guò) 50°C,蜂鳴器會(huì)發(fā)出嗶嗶聲。

?
?
?
poYBAGNPQqqAFPhlAAa3oFRpZlk762.jpg
?
1 / 8 ? Autopilot 原型板電路“實(shí)時(shí)”(更多圖片請(qǐng)按“>”)
?

PCB印刷電路板和組裝:

由于這個(gè)原因,我使用了單面 PCB ,我必須包括一些跳線(虛線)來(lái)解決整個(gè)電路的路線。此處顯示了組件面,但在下方您有所有文件、組件和焊接面,鏡像,用于通過(guò)激光打印機(jī)在“黃色”或“藍(lán)色”紙張上下載和打印。我用的是黃色的,但他們說(shuō)藍(lán)色更好(但價(jià)格要高得多)。打印時(shí)請(qǐng)記住禁用碳粉節(jié)省設(shè)置,改為使用 1200 dpi 分辨率以獲得深黑色效果。從魔術(shù)片到PCB的墨粉轉(zhuǎn)移過(guò)程是使用熱熨斗完成的……在兩面印刷,也在元件面上印刷,可以輕松識(shí)別物品的位置,甚至使項(xiàng)目“專業(yè)”。

兩塊 PCB 的尺寸都可以作為堆棧安裝在另一個(gè) Arduino Uno 上:首先是電源單元,然后是自動(dòng)駕駛儀單元。

我的選擇是將所有東西放在一起,PCB、MCU、RC、電機(jī)驅(qū)動(dòng)電路、電池、GPS、按鈕、開關(guān)、電線、連接器等。想著有一天可以重復(fù)使用它們:我沒(méi)有把它們焊接在一起,我頭和流行的杜邦電線/連接代替。然后大約有200個(gè)未焊接的連接,這意味著不時(shí)會(huì)發(fā)生意外和不需要的故障或電路的不同行為,這是正常的。建議焊接一切以獲得更穩(wěn)定的電路!

?
?
?
pYYBAGNPQqyAFIhaAAF09pKkO38461.png
?
1 / 2 ?自動(dòng)駕駛儀板屏蔽,組件面(更多圖片請(qǐng)按“>”)
?

參數(shù)設(shè)置和顯示傳感器值:

按下盒子側(cè)面的黑色按鈕,進(jìn)入設(shè)置模式;這也可以在主動(dòng)導(dǎo)航期間完成,無(wú)需先輸入 Pause。顯示屏第一頁(yè)顯示電池電壓(V=7.83)、功耗(mA=177)和散熱器附近熱敏電阻傳感器的溫度(38°C);一次又一次地按下進(jìn)入下一頁(yè)的黑色按鈕;第 2、3、4、5 頁(yè)顯示下列參數(shù),您可以通過(guò) -1 和 +1 按鈕更改這些值。第 6 頁(yè)顯示“正在更新...”如果您更改了某些內(nèi)容,則值將保存在 EEPROM 存儲(chǔ)器中。

  • 間隔:即2000毫秒,是步進(jìn)電機(jī)一次嘗試和另一次嘗試之間的時(shí)間,以恢復(fù)“H”航向“R”路線,向右或向左移動(dòng)舵桿;
  • 最小值:即 2°,是自動(dòng)駕駛干預(yù)的最小偏離路線度數(shù);達(dá)到此值,方向舵穩(wěn)定地保持在中心位置;
  • Max:即40°,是步進(jìn)電機(jī)一次的最大轉(zhuǎn)向變化;如果計(jì)算的是 50° 變化,實(shí)際上 Stepper 只會(huì)移動(dòng) 40°;
  • Coeffic.:即1.50 x°,是一次轉(zhuǎn)向變化的系數(shù);如果計(jì)算是針對(duì) 40° 變化,實(shí)際上步進(jìn)電機(jī)將移動(dòng) (40 x 1.50)=60°;

當(dāng)安裝在帆船上時(shí),這些參數(shù)是微調(diào) Autopilot所必需的。響應(yīng)性、靈敏度和平滑度取決于滑輪的直徑、滑輪的數(shù)量、步進(jìn)電機(jī)上主滑輪的直徑、舵的靈敏度、舵桿連接在其上的長(zhǎng)度等。讓我們安裝一切,并嘗試在船上體驗(yàn)。當(dāng)然,在所有測(cè)試階段都選擇一個(gè)陽(yáng)光明媚、風(fēng)輕云淡的日子!

它是如何“現(xiàn)場(chǎng)”工作的:

您正在海上、湖上或海港周圍航行。現(xiàn)在是下午茶時(shí)間,你的可樂(lè)和你最喜歡的三明治在口袋里等著。我們?cè)?/font>這里:打開 Autopilot并讓它進(jìn)行衛(wèi)星 GPS 定位,您現(xiàn)在應(yīng)該在顯示屏上讀取以節(jié)為單位的實(shí)際速度、時(shí)鐘和航向方向,即 H270°(R=要遵循的路線,H=實(shí)際航向)以度為單位(記住180°=南,270°=西,360°或0°=北,90°=東)。在暫停模式下(顯示 STOP),R 和 H 值相同。現(xiàn)在連接轉(zhuǎn)向繩,從步進(jìn)電機(jī)到舵桿,然后按藍(lán)色按鈕啟動(dòng) Autopilot 轉(zhuǎn)向在這一點(diǎn)上,自動(dòng)駕駛儀保持 R=路線方向,并且可以控制 H=航向時(shí)發(fā)生的情況。標(biāo)題編號(hào)肯定會(huì)更改 ,根據(jù)我們已經(jīng)討論過(guò)的天氣條件,緩慢或快速。然后自動(dòng)駕駛儀嘗試恢復(fù)到 R=路線方向進(jìn)行修正,即 -10°、+5° 等,直到 H 值等于 R 值。您可以決定對(duì)路線進(jìn)行一些更改,您可以使用設(shè)備上的紅色和綠色按鈕(-1 -10 +1 +10)或通過(guò)遙控器來(lái)修改數(shù)字。要收回對(duì)轉(zhuǎn)向的控制您只需按下暫停藍(lán)色按鈕,將繩索從舵桿上斷開,用手繼續(xù)工作。做得好。

軟件方面:

代碼很長(zhǎng),但我希望它足夠清晰,易于理解。無(wú)論如何,我會(huì)解釋它是如何做的。該草圖使用了大約 65% 的程序和大約 45% 的內(nèi)存。即使使用 String 類,主要用于 Serial NMEA 語(yǔ)句操作,整個(gè)闡述流程也穩(wěn)定可靠;它使用“serialEvent()”每秒兩次從 GPS 接收數(shù)據(jù),然后調(diào)用“nmeaExtractData()”,最后使用“nmea0183_checksum()”檢查數(shù)據(jù)包以確保數(shù)據(jù)完整性。如果您使用其他品牌和型號(hào)的 GPS確保句子結(jié)構(gòu)相同,否則您必須在此處進(jìn)行一些更改。例如EM406A 使用 "$GPRMC" packet id ,BT220 使用 "$GNRMC" 代替...只是一個(gè)小的名稱更改...https://nmachecksum.eqth.net - 這里是一個(gè)完整的 NMEA 句子的示例,它包含:id、時(shí)間、有效性、緯度、經(jīng)度、速度、真實(shí)路線、日期、變化和校驗(yàn)和。

$GPRMC, 095836.000, A, 4551.9676, N, 01328.7118, E, 2.09, 341.84, 280519,, *08

在“Setup()”期間檢查 EEPROM :如果是新的或未知的,它會(huì)被初始化(格式化)。內(nèi)存中的參數(shù)以字節(jié)讀取/寫入:0=0x29, 1=0x00, 2-3=interval, 4-5=min, 6-7=max, 8-11=coefficient (byte, byte, int, int,漂?。?。我小心地處理了 EEPROM 讀/寫操作,可能防御性太強(qiáng)了……傳感器每 10 秒通過(guò)多路復(fù)用器的“readMuxSensors()”檢查一次,如果電池電量低或溫度高,就會(huì)發(fā)出警報(bào)。功耗分辨率低,步長(zhǎng)40mA左右。不斷檢查硬件和 RC 按鈕;他們所做的取決于“IsSetup”布爾值以及顯示“RefreshDisplay()”是否. 代碼的核心是 STEERING CONTROL 部分,它調(diào)用“gomotor()”函數(shù)將步進(jìn)器移出和移回;是的,它可能會(huì)將方向舵向右移動(dòng) 10°,并且在間隔值之后它會(huì)移動(dòng)回零方向舵位置,等等在新一輪計(jì)算之后。如前所述,轉(zhuǎn)向工作也在設(shè)置期間進(jìn)行,因?yàn)樗挥绊憥讉€(gè)按鈕和顯示行為。Whatchdog 喂食非常簡(jiǎn)單但很重要:只要盡快打開/關(guān)閉它的 Pin。

如何在帆船上安裝它:

如下圖所示,我選擇將Autopilot和步進(jìn)電機(jī)放在船尾,都用螺栓等固定好;一根直徑為 6 毫米的繩子從主電機(jī)滑輪開始,繞著放置在兩側(cè)的另外兩個(gè)滑輪。這兩個(gè)滑輪應(yīng)通過(guò)兩個(gè)蹦極環(huán)“固定”在船上,以保持繩索略微張緊。此時(shí),最后,你要決定如何將繩索連接到舵桿(臨時(shí)連接);它必須在您希望 Autopilot 運(yùn)行時(shí)連接,易于連接和斷開連接。讓 Autopilot 系統(tǒng)遠(yuǎn)離水!:-)

poYBAGNPQrCANMp8AAVSO_Ll3Tk321.jpg
帆船上的自動(dòng)駕駛儀安裝
?

新聞與更新:

  • 10.05.2020 ,添加用于下載步進(jìn)滑輪(由我制作)和安裝板(由 Andrew Barney 制作)的 .STEP 3D CAD 項(xiàng)目文件,以及它們的 3D 預(yù)覽圖片。
  • 14.01.2022 ,我發(fā)現(xiàn) NTC 溫度計(jì)算方面的改進(jìn),因此您應(yīng)該更改 readMuxSensors() 函數(shù)中的值,如下所示:
  • 浮動(dòng) R1 = 100000; // 100k Ohm 分壓電阻
  • 浮動(dòng) c1 = 6.66082410500E-004; // 斯坦哈特-哈特 C1
  • 浮動(dòng) c2 = 2.23928204100E-004; // 斯坦哈特-哈特 C2
  • 浮動(dòng) c3 = 7.19951882000E-008; // 斯坦哈特-哈特 C3

免責(zé)聲明和警告:

可以說(shuō)這是我們?cè)谶@里玩的游戲,沒(méi)什么認(rèn)真的!幾年前,我進(jìn)行了一次長(zhǎng)達(dá) 16 個(gè)月的長(zhǎng)途旅行,乘坐帆船環(huán)游世界。在所有天氣條件下,甚至在惡劣的天氣條件下,我們都使用真正的自動(dòng)駕駛儀(不是這個(gè)?。┻M(jìn)行了廣泛的導(dǎo)航。真正的自動(dòng)駕駛儀是非常強(qiáng)大的硬件和軟件,你必須非常信任。相反,這款 Arduino Autopilot是一款非常棒的游戲,可以用來(lái)玩游戲花時(shí)間娛樂(lè)。

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)
RM新时代网站-首页