RSB10

S.BUS制御回路                                                    2024/04/19


  




1.はじめに
 最近、小型で安価な受信機が入手できるようになったので、この受信機を使って超小型RC飛行機をコントロールするための回路です。
受信機としては、X-BOSSのAC900をターゲットにしました。
この受信機は、FUTABA S-FHJSS、Frsky D16の2つのプロトコルに対応していますので、どちらかに対応している送信機を使うことができます。
出力信号はS.BUSとなっているので、この信号からチャンネルを分離して、マグネット・アクチュエータ(又はサーボ)2ch、
ESC1ch、ON/OFF出力1chを出力できるようにしました。



2.機能
 ●マグネット・アクチュエータ出力(又はサーボ信号出力) 2ch
 ●ESC出力 1ch
 ●ON/OFF出力 1ch



3.仕様(受信機含む)
 ●基板外形 : 30*16*5(縦*横*高さ))
 ●電源電圧 : 3.7V(LiPo 1cell専用) 
 ●重量    : 2.3g(受信機含む)
 ●消費電流 : 50mA(@3.7V)
 ●ESC電流 : 2Amax
 ●マグネット・アクチュエータ電流 : 400mAmax
 ●ON/OFF出力電流 : 100mAmax



4.回路図




5.部品表
部品番号  部品名  仕様  メーカー  備考 
 IC1  ステップアップ・コンバータ  XCL102  TOREX SEMICONDUCTOT LTD  
 IC2  マイコン  ATmega88A  MicroChip Technorogy INC.  
 IC3  フルブリッジ・ドライバ  A3901  Allegro  
 Q1  抵抗内臓トランジスタ  RN1102  東芝  
 Q2  抵抗内臓トランジスタ  RN1105  東芝  
 Q3  Nch MOSFET  SSM3K104TU  東芝  
 D1  ショットキー・バリア・ダイオード  BAT60  Infineon Technologies  
 C1~C4  セラミックコンデンサ  22uF/10V    
 C5~C9  セラミックコンデンサ  0.1uF/16V    
 R1  抵抗  22kohm    
 R2  抵抗  10kohm    
 R3  抵抗  2.2kohm    
 R4  抵抗  10kohm    
 XT1  セラミック発振子  CSTNE8M00GH5C060R0  ムラタ  8MHz



6.マイコンプログラム
自作する場合は、マイコンにプログラムを書き込む必要があります。
下記ファイルをダウンロードしてマイコンへの書き込みを行って下さい。
(右クリックで ”対象をファイルに保存” を選択)

RSB102.hex


書き込み時の設定
・FUSE  0xF9(Extended_byte)、0x9E(High_byte)、 0x77(Low_byte)
・LOCK 0xFF



7.説明
 S.BUS信号は、シリアル通信の一種で、16ch分のデータを約15msec間隔で送っています。
今回製作した回路は、S.BUS信号から必要なチャンネルデータを抽出してマグネット・アクチュエータ、ESC、ON/OFF出力信号に変換します。
チャンネル割り当ては下記のようになっています。
1ch : マグネット・アクチュエータ 1ch(サーボ 1ch)
2ch : マグネット・アクチュエータ 2ch(サーボ 2ch)
3ch : ESC(モータ・スピード・コントロール)
5ch : ON/OFF出力
(4chは使っていません)



8.使い方
 本回路は、受信機とセットで使われることになるので、受信機と接着しました。
接続は下記を参照してください。




 マグネット・アクチュエータではなくサーボを使いたい場合は、JP1をショートさせてください。(JP2は予備)
マグネット・アクチュエータとサーボの混在は出来ません。
 予備パッドは、電源とパターン接続されていますので、サーボの電源等のパッドとして使うことが出来ます。
 ON/OFF出力は、5ch目に割り当てられており、100mA以下の電流を流すことができますので、LED点灯などに適しています。
LEDを接続する場合は、LEDのカソード側をON/OFF出力に接続し、抵抗を噛ましてアノード側を電源+に接続します。抵抗値は220Ω程度でよろしいかと思います。
 マグネット・アクチュエータの動作方向が反対だった場合は、2線を入れ替えてください。(送信機のリバースでも逆転可能ですが)
 ESCは、2段の電源電圧低下検出機能があります。
電源電圧が3.2V以下になると、モータ出力が1/3に低下します。
さらに3.0V以下になると、モータが停止します。
どちらの状況になっても、モータパワーを一旦OFFポジションにすると電圧低下検出したことを解除することが出来ます。
しかし、再び電源電圧が低下するとモータ出力1/3、モータ停止となりますので、電源電圧低下を検出したら直ちに着陸させることを推奨します。



9.送受信機の設定
9.1 送信機の設定
ここでは、私が入手した送信機 JUMPER T-LITE V2 jp4in1(モード2)の設定方法(あくまでも一例)を記述します。
この送信機は、多くの通信プロトコルに対応していて便利なのですが、設定操作がとても難しいと感じましたので、備忘録として記述します。

電源ボタン長押し ーー> 電源ON
MDLボタン長押し  ーー> 1/12ページが表示される ーー> UP/DOWNボタンでモデルを選択
UP/DOWNボタンで番号(例えば02)を選択した後、ENTボタン長押し ーー> UP/DOWNボタンでCreate modelを選択 ーー> ENTボタン押下
(選択されているモデルで)MDLボタン押下 ―ー> 2/12ページが表示される ーー> UP/DOWNボタンでModel nameを選択 ーー> ENTボタン押下
ーー> UP/DOWN、SYS/MDLボタンを駆使してモデル名を入力 ーー> ENTボタン押下
UP/DOWNボタンでELimitsを選択 ーー> ENTボタン押下 ーー> チェックが入る
UP/DOWNボタンでInternal RFModeを選択 ーー> ENTボタン押下 ーー> UP/DOWNボタンでMULTIを選択 ーー> ENTボタン押下
Futabaの場合(おすすめ)
 UP/DOWNボタンでTypeを選択 ーー> ENTボタン押下 ーー> UP/DOWNボタンでFutabaを選択 ーー> ENTボタン押下
FrSkyの場合
 UP/DOWNボタンでTypeを選択 ーー> ENTボタン押下 ーー> UP/DOWNボタンでFrSky Xを選択 ーー> ENTボタン押下
UP/DOWNボタンでFailsafeを選択 ーー> ENTボタン押下 ーー> UP/DOWNボタンでNo Pulsesを選択 ーー> ENTボタン押下 ーー> RTNボタン押下
5ch目にSWDスイッチを割り当てる場合(特にやらなくても良い)
 SYS/MDLボタンで5/12ページを表示する ーー> UP/DOWNボタンで05を選択 ーー> ENTボタン押下 ーー> UP/DOWNボタンでSourceを選択
 ーー> ENTボタン押下 ーー> SDWスイッチを入り切りする ーー> ENTボタン押下 ーー> RTNボタン押下
 SYS/MDLボタンで6/12ページを表示する ーー> UP/DOWNボタンでCH5を選択 ーー> ENTボタン押下 ーー> UP/DOWNボタンでSourceを選択
 ーー> ENTボタン押下 ーー> SDWスイッチを入り切りする ーー> ENTボタン押下 ーー> RTNボタン押下 ーー> RTNボタン押下
リバースの設定(必要に応じて実施。尚FUTABAの場合は、全CH(少なくとも1~5ch)をリバース設定にすること)
 SYS/MDLボタンで7/12ページを表示する ーー> UP/DOWNボタンでCH1を選択 ーー> ENTボタン押下 ーー> UP/DOWNボタンでEditを選択
 ーー> ENTボタン押下 ーー> UP/DOWNボタンでDirectionを選択 ーー> ENTボタン押下
 ーー> INVと表示される ーー> RTNボタン押下 (CH1の矢印の向きが左向きになったことが確認出来る)


9.2 受信機の設定
受信機にはAC900を使っています。
この受信機は、FutabaのS-FHSSとFrSky D16の2つのプロトコルに対応していますので、どちらの送信機でもバインド可能です。

まず、受信機に電源を接続してみます。(送信機の電源はOFFにしておきます。)
すると、LEDが点灯すると思いますが、LEDの色が 赤 ー> 赤 となった場合はFutaba S-FHSSプロトコルで、LEDの色が 緑 ー> 赤 となった場合はFrSky non-EU,
LEDの色が 黄 ー> 赤 となった場合はFrSky EU-LBTプロトコルです。
プロトコルを切り替えるには、受信機が電源ON状態のときに、受信機基板上にある(小さくて押しにくい)ボタンを長押しすると、3秒後にLEDが黄色点灯します。
そこでボタンから手を離します。
一旦、受信機の電源を切ってから、電源を再投入して、LEDの色変化を確認します。
目的のプロトコルでなかった場合は、上記の操作を再度実行します。
non-EUとEU-LBTの違いは解りませんが、送信機がJumper T-Liteの場合、Futaba S-FHSS又はFrSky non-EUに設定しておきます。


9.3バインド
バインドとは、送信機が持っている固有のコード(いわゆるIDみたいなもの)を受信機に覚えこませる行為で、
受信機は、一旦覚えたコード以外の送信機からの信号には反応しないため、混信を防ぐことが出来ます。

受信機のプロトコルは、すでに設定されているものとします。
送信機を受信機の近くに置きます。(1m以内)

送信機をJumter T-LiteでFrSkyに設定した場合
 まず、受信機をバインド・モードにする必要があります。
 受信機基板上にあるボタンを押したままの状態で、受信機の電源をONします。
 すると、LEDが緑色の点滅を始めるので、その状態になったら、ボタンから手を離します。
 次に送信機の電源を入れ 、MDLボタン長押し  ーー> 2/12ページが表示される ーー> UP/DOWNボタンInternal RFReceiverを選択
 ーー> SYS/MODボタンで[Bnd]を選択 ーー> ENTボタン押下ーー> UP/DOWNボタンでCh1-8 Telem OFFを選択 ーー> ENTボタン押下
 ーー> 送信機からピ、ピ、ピと音が出る ーー> 受信機のLEDが緑点滅→赤点灯→緑点灯に変化する
 以上でバインド完了です。一旦、送信機、受信機の電源をOFFします。

送信機をJumter T-LiteでFutabaに設定した場合
  まず、受信機をバインド・モードにする必要があります。
 受信機基板上にあるボタンを押したままの状態で、受信機の電源をONします。
 すると、LEDが緑色の点滅を始めるので、その状態になったら、ボタンから手を離します。
 つぎに送信機の電源を入れる ーー> 受信機のLEDが赤点灯→緑点灯に変化する
 以上でバインド完了です。一旦、送信機、受信機の電源をOFFします。

以上は、送信機がJumper T-Liteの場合のバインド方法ですが、こうやったらバインドできたということであり、他のやり方もあるかもしれません。
送信機がJumper T-Liteでは、Futaba、FrSkyどちらのプロトコル設定可能ですが、FrSkyはプロトコルがさらに何種類かに分かれていてどれを選択したら
いいのか悩みました。またバインドに関しても、Futaba S-FHSSの方が簡単なので、Futaba S-FHSSプロトコルをおすすめします。
他の送信機に関しては、取説に従ってください。



10.追記
基板を作り直して、少し小さくなりました。