明けましておめでとうございます.今年も頑張ります.
さて,去年の暮れから忙しくてまとめられませんでしたが,Futaba S.BusをArduinoで動かしていこうと思います.
YouTubeでドローンのリアルタイム姿勢制御をPythonでやりたいって人もいますが,基本的に面倒なので既製品フライトコントローラを使用します.Pythonはインタプリタだから今回のような制御には不向きだと思います…
また,海外フォーラムだと互換機が使われていますが,購入が面倒なのでArduinoでやります.
速度:100kbps
送信間隔:14ms or 7ms
1データ長:25Byte[packet0][packet1]...[packet23][packet24]
データフォーマット:1 Start bit, 8 Data bit, 1 Parity bit, 2 Stop bit (8E2)
データの内訳:
[packet0]:0b11110000
[packet1~22]:11bit unsigned int x 16 (0~2047)
[packet23]:0b(bit7:digital1)(bit6:digital2)(bit5:FrameLost)(bit4:Failsafe)xxxx
[packet24]:0b00000000
ちなみに,bit0からbit7へ順に送ります.
このプロトコルを実装するArduinoを選定します.
汎用的なSerialを使用します.
Arduino Unoだと,D0,D1
Arduino Micro(Leonardo)だと,USBserial さらにSerial1(D0,D1)
Arduino Mega(DUE)だと,USBserial さらにSerial1,Serial2,Serial3
が使えます.詳しくはここ
いずれかのSerial(TX)出力信号を反転回路で反転してフライトコントローラのS.Busポートに入力します(詳しい回路は後日).
しかし…
サポートされている通信速度が決まってます!
なので,好きな速度が決められないので,今回のS.Busでは使えません.
さて,去年の暮れから忙しくてまとめられませんでしたが,Futaba S.BusをArduinoで動かしていこうと思います.
YouTubeでドローンのリアルタイム姿勢制御をPythonでやりたいって人もいますが,基本的に面倒なので既製品フライトコントローラを使用します.Pythonはインタプリタだから今回のような制御には不向きだと思います…
また,海外フォーラムだと互換機が使われていますが,購入が面倒なのでArduinoでやります.
今回は,S.BUSプロトコルとArduinoの機能についてです.
S.Busの仕様は,速度:100kbps
送信間隔:14ms or 7ms
1データ長:25Byte[packet0][packet1]...[packet23][packet24]
データフォーマット:1 Start bit, 8 Data bit, 1 Parity bit, 2 Stop bit (8E2)
データの内訳:
[packet0]:0b11110000
[packet1~22]:11bit unsigned int x 16 (0~2047)
[packet23]:0b(bit7:digital1)(bit6:digital2)(bit5:FrameLost)(bit4:Failsafe)xxxx
[packet24]:0b00000000
ちなみに,bit0からbit7へ順に送ります.
このプロトコルを実装するArduinoを選定します.
汎用的なSerialを使用します.
Arduino Unoだと,D0,D1
Arduino Micro(Leonardo)だと,USBserial さらにSerial1(D0,D1)
Arduino Mega(DUE)だと,USBserial さらにSerial1,Serial2,Serial3
が使えます.詳しくはここ
いずれかのSerial(TX)出力信号を反転回路で反転してフライトコントローラのS.Busポートに入力します(詳しい回路は後日).
私がオススメするのは,Arduino Microです.Serial1をS.Busに,Serialをパソコンとの通信に使えるからです.それと小さいから.
次回は,プログラムについてまとめます.SoftwareSerialについて雑記
Arduinoには,割り込み可能なピンと適当なピンを使って,Serialを拡張できるSoftwareSerialというライブラリがあります.このライブラリは通常の使用であれば,結構柔軟に使える,使いやすいものです.しかし…
サポートされている通信速度が決まってます!
なので,好きな速度が決められないので,今回のS.Busでは使えません.
コメント
コメントを投稿