TXA0

TWELITEを使ったラジコン送信機
                                                    2021/12/14

  
   




1.はじめに
 2.4GHz帯の無線モジュールTWELITEを使ったラジコン(RC)送信機です。(対応する受信機はRXA0です。)
数年前にモノワイヤレス(株)から提供されている開発環境がTWELITE SDKからMWSTAGEに変わり、これを機に、MWSTAGEで新たにRC用
のプロポシステムを制作をしてみることにしました。
 新しい開発環境は、aruduinoライクで、以前の開発環境よりは、とっつきやすかったです。
ところが、いざ制作してみるとサーボがスムーズに動作しないのです。
原因は、データの送信間隔で、RCプロポシステムでは、最低でも20msec以下の間隔でデータを送信する必要がありますが、データが時々歯抜けになってしまっています。
プログラムの作り方が悪いのか、或いはどこかに重たい処理があるのかわかりませんが、駄目でした。
しかたないので、旧開発環境のTWELITE SDKで新たに制作してみました。
 今回は、ブレッドボード上で動作確認しただけで、今後プリント基板化する予定です。プリント基板が完成したら、追記します。

TWELITE SDKは、メーカー非推奨となっているようなので、ご注意ください。

尚、ソフト作成にあたり、下記のサイトを参考にさせていただきました。

http://dsas.blog.klab.org/archives/52201101.html


2.機能
 ●ラジコン送信機
 ●プロポーショナル チャンネル : 4ch
 ●デジタル チャンネル : 8ch



3.仕様
 ●入力電源電圧 : 3.7V〜4.5V (Li-Po:1セル or Ni-MH:3セル or 単三乾電池:3本)
 ●消費電流 : 20mA
 ●基板外形 : 
 ●重量 : 



4.回路図(MD1の端子名はデバイス本来の名称で記載しています。)




5.部品表
部品番号  部品名  仕様  メーカー  備考 
 MD1  無線モジュール  TWELITE-DIP  モノワイヤレス  BLUE or RED
 IC1  3端子レギュレータ  TAR5SB33  東芝  
 IC2  可変レギュレータ  NJM11100  日本無線  
 LED1  LED      青、白色以外で高輝度タイプを推奨
 C1_C4  セラミックコンデンサ  10uF/16V  
 C5  セラミックコンデンサ   0.1uF/25V    
 C6  セラミックコンデンサ  100pF/50V    
 C7  セラミックコンデンサ  0.1uF/25V    
 C8_C12  セラミックコンデンサ  0.1uF/25V    
 R1  抵抗  15kΩ    
 R2  抵抗  9.1kΩ    
 R3  抵抗  10kΩ    
 R4  抵抗  10kΩ 9.1kΩ    
 R5  抵抗  470Ω    
 VR1_VR4  ポテンショメータ  RKJXV122400R etc  アルプス電気  ジョイスティック(数量:2)
 VR5  ポテンショメータ  1kΩ 2kΩ    
 SW1_SW8  トグルスイッチ      必要な分だけ



6.プログラム

ソースリスト

txa00.c


オブジェクト・コード(バイナリファイル)

BLUE
TXA0_Master_JN5164_1_2_15.bin


RED
TXA0_Master_RED_L1101_V1-2-15.bin


7.調整
 TWELITE(MD1)の10番ピン(DIO6)からジョイスティック(VR1〜VR4)の電圧のAD変換値が出力されていますので、
この出力を利用して、ジョイスティックをニュートラルにした状態で、AD変換値が0x0200になるようにVR5を調整します。
すべてのAD変換値を0x200にすることは、まず不可能ですので、なるべく0x200に合わせればOKです。
 別の調整方法として、IC2の出力(4番ピン)をVR5を回して、2.52Vになるように調整します。(多少ずれていても問題ありません。)



8.説明
8.1 バッテリーモニタ機能について
 回路上にあるLED1は、バッテリーモニタを兼ねています。
通常は、電源ONで点灯しますが、バッテリー電圧が低下すると点滅に変わります。
抵抗R1とR2で分圧された電圧が約1.23V以下になるとLEDが点滅して、バッテリー電圧低下を警告します。
乾電池4本(6V)でも送信機としての動作に問題ありませんが、その場合はR1とR2の値を39kΩ、15kΩ程度にするとよろしいかと思います。

8.2 バインド(ペアリング)
 本システムでは、プログラム上で送信機と受信機の周波数チャンネルとアプリケーションIDを直接書き込んでいるので、バインドさせる操作は不要です。
本システムを同時に複数使用すると混信してしまいますが、混信を避けるには、プログラム上のTX_CH(周波数チャンネル)を書き換えるのが簡単です。TX_CHは11から26まで選択可です。
また、TX_IDを変えても混信を避けることができます。TX_IDは、16進で0〜Fの任意の16文字で設定します。
周波数チャンネル、アプリケーションIDを変更した場合は、受信機のTX_CHとTX_IDも同じ値に変更してください。

8.3 デジタル入力
 デジタル入力は、8chありますが、これは、おまけ機能のようなもので、模型側に取り付けたLEDなどを簡単にON/OFFさせることができるものです。
SW1〜SW8は、必要数だけ取り付ければいいです。内部プルアップされていますので、使わないSW入力はオープンのままで構いません。

8.4 ジョイスティックについて
 本送信機は、最大で4つのサーボモータをコントロールできるように、2チャンネルのジョイスティックを左右2個使った4ch仕様になっています。
しかし、必ず4ch使わなければいけないものではありませんが、使わないAD入力は、オープンのままにしないで、GNDかVcc(3.3V)に接続してください。
 ちょっと話が横道にそれますが、 RC飛行機のスティックについて説明します。
ジョイスティックは左右2つあって、それぞれ左手と右手で操作します。
右手の左右方向の操作は、エルロンコントロール(3ch仕様の場合はラダーコントロール)。
右手の上下方向の操作は、モード1ではエンジンコントロール、モード2ではエレベータコントロール。
左手の左右方向の操作は、ラダーコントロール。
左手の上下方向の操作は、モード1ではエレベータコントロール、モード2ではエンジンコントロール。
モード1、モード2という言葉がでてきましたが、モード1とモード2では、エンジンコントロールとエレベータコントロールの操作が左手と右手で反対になります。
海外では、モード2が主流ですが、日本においては、昔からRC飛行機をやっている人たちの間ではモード1が主流になっています。
私の場合は、モード2ですので、右のジョイスティックの左右がch1、上下がch2。左のジョイスティックの左右がch4、上下がch3としています。
ここで、問題となるのは、エンジンコントロール(エンコン)スティックで、エンコン以外のスティックは、手を離すとニュートラルに戻りますが、エンコンスティックだけは、中立に戻らない構造になっているのが普通です。
ラジコン用のプロポ送信機では、スティックを中立に戻すバネを外すだけですみますが、市販のジョイスティックは、ほとんどのものが中立に戻る構造なので、
エンコンスティックに使うには何らかの改造が必要となります。
 話を回路に戻しますが、ジョイスティックに使われているポテンショメータには1チャンネルにつき3本の端子があります。
3本のうち真ん中の1本はADコンバータ入力に接続しますが、左右は、2.52V電源とGNDに接続します。
左右どちらを2.52V電源、GNDに接続しても動作はしますが、サーボの回転方向が反対になります。
どちらかに統一しておいた方がよろしいかと思いますので、ここではジョイスティックを(右手操作側、左手操作側ともに)右に倒すとポテンショメータの電圧が上がる方向、
ジョイスティック上下に関しては、上に倒すとポテンショメータの電圧が上がる方向とします。(下図参照)


8.5 無線モジュールについて
 無線モジュールTWELITEには、電波出力が標準のBLUEと高出力のREDの2種類があります。(BLUEとREDでは、ファームウェア書き込みのオブジェクト・コード(バイナリコード)が異なります。)
受信機は、BLUEで問題ないですが、送信機の実用上電波到達距離は、BLUEで50〜100m、REDで200〜300mくらいです。(条件によって大きく変わります)
室内用のRCカーや小さな公園で飛ばせる超小型飛行機でしたら、送信機側もBLUEで十分ですが、予算に余裕があれば、電波出力に余裕があるREDをお勧めします。(書き込み時のバイナリファイルが異なります。)
また、外部ダイポールアンテナ(同軸コネクタ タイプ)にすると、更に電波到達距離アップが期待できます。



9.動画

https://youtu.be/i7ZUgfaSBno