工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

セーリングボート用高度オートパイロット - Arduinoで精密自動操舵

主要コンポーネント

システム概要

単独航海時に「ティータイム」を楽しむための自動操舵システムです。GPSで船首方位を保持し、ステッピングモーターでラダーを制御。ウォッチドッグ (Nano) がUNOを監視し、フリーズ時にリセットします。

操作インターフェース

セーリングボート用高度オートパイロット - Arduinoで精密自動操舵

回路設計のポイント

セーリングボート用高度オートパイロット - Arduinoで精密自動操舵
セーリングボート用高度オートパイロット - Arduinoで精密自動操舵
セーリングボート用高度オートパイロット - Arduinoで精密自動操舵
セーリングボート用高度オートパイロット - Arduinoで精密自動操舵
セーリングボート用高度オートパイロット - Arduinoで精密自動操舵
セーリングボート用高度オートパイロット - Arduinoで精密自動操舵
セーリングボート用高度オートパイロット - Arduinoで精密自動操舵
セーリングボート用高度オートパイロット - Arduinoで精密自動操舵

PCBと組み立て

片面基板2枚をスタック (下:電源、上:オートパイロット)。ジャンパー線で配線し、全てピンヘッダ/デュポンコネクタで接続 (将来的な再利用と修理性重視)。本番運用では全ハンダ付け推奨。

セーリングボート用高度オートパイロット - Arduinoで精密自動操舵
セーリングボート用高度オートパイロット - Arduinoで精密自動操舵

パラメータ設定 (黒ボタンで項目切替、±ボタンで変更)

これらはプーリー径、ラダー感度、ロッド長などに合わせて実船でチューニングします。

実動作の流れ

  1. 青ボタンで一時停止解除 (STOP表示消灯)。GPSフィックス取得まで待機。
  2. 表示: R=目標針路、H=現在針路、速度、時刻。R=Hで針路維持。
  3. ステッピングモーターのロープをラダー棒に接続。
  4. 青ボタンで操舵開始。偏差に応じて±補正を繰り返す。
  5. 針路変更は赤/緑ボタンまたはリモコンで。手動復帰は青ボタンで一時停止→ロープ外す。
セーリングボート用高度オートパイロット - Arduinoで精密自動操舵

ソフトウェア構成

ソースコード

オートパイロットスケッチ (UNO用)

/* Autopilot for small sailing boats - Marco Zonca 2019 */
#include <LiquidCrystal_I2C.h>
#include <NewTone.h>
#include <Stepper.h>
#include <Wire.h>
// ... (全文はGitHub参照、主要関数のみ抜粋)
void loop() {
  // センサー監視 (10秒毎)
  // ステアリング制御 (Interval毎に偏差計算→モーター駆動→戻し)
  // RF/ハードウェアボタンチェック
  // GPS NMEAパース & 表示更新
  // ウォッチドッグ給餌
}
// 設定モード、EEPROM読み書き、NMEAチェックサム、ボタン判定等の関数多数

ウォッチドッグスケッチ (Nano用)

/* Watchdog for Arduino Nano */
const int feedingPin = 14, ledPin = 15, restartPin = 16, buzzerPin = 17;
const long feedingInterval = 2500, timeForClientStart = 16000;

void setup() {
  digitalWrite(restartPin, HIGH);
  pinMode(ledPin, OUTPUT); pinMode(buzzerPin, OUTPUT); pinMode(restartPin, OUTPUT); pinMode(feedingPin, INPUT);
  delay(timeForClientStart);
}

void loop() {
  // LED 1Hz点滅
  // feedingPinのH→L遷移を監視、feedingInterval超過でrestartPin=LOW→HIGHでUNOリセット
}

完全なコード: GitHub (プロジェクトページ参照)

3Dプリント部品

セーリングボート用高度オートパイロット - Arduinoで精密自動操舵

回路図

セーリングボート用高度オートパイロット - Arduinoで精密自動操舵
セーリングボート用高度オートパイロット - Arduinoで精密自動操舵
セーリングボート用高度オートパイロット - Arduinoで精密自動操舵
セーリングボート用高度オートパイロット - Arduinoで精密自動操舵

免責事項

これは趣味のプロジェクトであり、実用の航海用オートパイロットではありません。本物のオートパイロットはハードウェア/ソフトウェア共に極めて高信頼性が求められます。安全な環境でお楽しみください。

— Marco Zonca

製造プロセス

  1. 継続的監視はあなたの運営に適した選択か?
  2. Raspberry Pi用DIY赤外線モーションセンサー構築 - ステップバイステップガイド
  3. UAV 用弾道パラシュート回収システムの設計
  4. マニュアル・オートマチックトランスミッションの動力伝達メカニズム
  5. オートマチックトランスミッション(AT)完全ガイド:種類・構造・仕組み
  6. 自動給油システム(ALS)完全ガイド:仕組み・種類・導入メリット
  7. ATI Industrial Automation:産業用ロボット向け自動工具交換装置のリーダー
  8. H.B. Rouse PFVシステムポリゴンカッター:自動旋盤用調整可能高性能カッター
  9. R07 シンコムCNC自動盤:小径部品向け精密7mm加工
  10. 革命的超音速推進システム、大陸間30分以内移動を実現へ
  11. 製造現場はIoT導入の準備ができているか? 実践ガイド
項目初期値範囲説明
Interval2000 ms1000-5000操舵試行間隔
Minimum2°0-20介入する最小偏差
Max40°10-451回の最大操舵角
Coefficient1.500.1-4.0操舵角ゲイン (偏差×係数)