ATtiny1616の評価ボードで
これまでの赤外線シリアル通信、とりあえず優先のUARTを
単に赤外線リモコンICとか利用して38kHz搬送波に乗せた
無線通信に置き換えただけ・・・だった。
データも8ビットデータ2個セットで
1つ目はID、2つ目がデータってだけの簡単なもの
ただそれでもそこそここれまでは通信データも少なくて困らなかったんだけど
AD値のモニタをM5やスマホとかでやろうとするとデータ間隔を
短くしてくとデータが化けるようになってきた。
なのでちょいとデータ品質を上げる対策することにした。
チェックサムつけるだけなんだけど。
3バイトのデータにして3つ目は1つ目と2つ目の和を取るだけ・・・の
教本通りのチェックサム
ただそれだけなんだけど、当たり前にデータ品質が
ぱっと見では完璧?になった。
ATtinyのVcc、電池駆動でチップ電圧モニタしてると、
これまではたまに、9Vとか十数Vなど出てた。
それも横着して、3~4V以外は取り込まないってくらいでごまかしてた。
電池の電圧モニタくらいならそれでいけるけど
やはりいろんなデータやりとりし始めると具合が悪い。
ので、ここらで定番?のチェックサム処理を入れた。
通信速度の関係でデータはあまりふやしたくないってのもあって
手抜きしてた。
38kHz搬送波だと4800bpsも以前波形データ紹介した
みたいな感じで行けないことはないんだけど
フィルタ処理からしたらけっこうギリっぽい。
後々、Duty絞って発光パルスは短く強くして
通信距離稼ぐのが厳しそうだったので2400bpsにしてる。
でも2400だと単純に3バイトだと24パルス分。
ちょうど10msほど掛かってる。
送受信すると倍の時間掛かるので
理屈じゃ単純計算でざっと50Hzデータのやり取り分
まぁ手操作レベルの通信ならしばらく大丈夫かな・・・
でもって、
スマホ ⇔ M5StickC とはBLE通信
M5StickC ⇔ ATtiny1616 間は赤外線シリアル通信での
Lチカを試したのがこちら。
スタックちゃんには実験観察係で手伝ってもらった♪
マイクロロボ製作準備#ATtiny1616
— しん (@shinichi_nin) 2023年11月4日
#赤外線シリアル通信
#M5StickC #BLE 中継
スマホ操作で #Lチカ
スタックちゃんに協力してもらった♪
通信処理整理してチェックサムなど
通信品質アップできた...#M5Stack #Arduino #38kHz搬送波#スタックちゃん pic.twitter.com/7mkE7m2LiO
次はブラシレスモータを回してみる。。。
チップが小さいのでポートダイレクト駆動で
温度上昇どんなもんになるかなっての気になるところ。
駆動の仕方は以前紹介した3レベルインバータ方式で
2相バイポーラスッテッピングモータの2線駆動で。