Darkside(リンクエラー修正しました)

2018年11月04日の記事

2018年11月4日(日) 19:37

現リモコン強化

 現在の無線リモコンは、子機と中継機は TWE LITE(低出力版)だけで、マイコンは搭載していない。しかし、親機は PIC16F88 を搭載している。これを、PIC16F1827 に換装しようと思い付いた。
 実は、動作不良が最近になって発生するようになった。カメラの操作が全くできなかったり、操作が欠落したり。それも、再現性がない。そこで、有線リモコン部分の接触不良・断線し掛けが疑われる。この際、マイコン換装によるバージョンアップを計ろうと考えたわけだ。

 動作不良自体は、障害物検知によるトリガー機能を持った新リモコンを構想したのが原因だと疑っている。
 時期的にも、動作不良は今年になってから発生するようになった。なぜそれが新リモコンと関係するのかと言うと、試験のため有線リモコン部分を付け外しするようになった。もともと有線リモコン部は、親機本体に結束バンドで保持されていた。それでは付け外しできないので、結束を解除したのだ。当然ながらそうなると、外力が外部配線に直接加わるようになる。
 無理な力を加えないように注意していたものの、すべてのテンションを制御することはできない。結束解除が、悪影響を与えたのではないか?

 少なくとも当分、結束し直して外さないようにするつもりである。新リモコンは当分作業停止してるし。

 PIC16F27 にすると同時に、使用言語をアセンブラからCに変更。これで、機能を強化し易くなる。
 オートパワーオフは無理だが、録画中に子機のボタンを受け付けるようにすることは可能だろう。

 現リモコンの親機制御は、録画タイミング合わせ自体に割り込みを使用していない。オートパワーオフを防止するための自動録画に、割り込みを使用している。それを、全面的に割り込みを使用するようにする。
 割り込みは、0.5秒に1回発生させたい。ところが、PIC16F1827 の割り込みは余り間隔を長く出来ない。PIC16F88 でも事情は同じなので、クロックを2MHzまで落としていた。親機制御に、大したCPUパワーは必要ないからである。だが、今回はCを使うので速度が落ちる。それも考えて、8MHzで動かすことにした。

 MCCでは、割り込みハンドラを呼ぶ頻度をソフト的に減らすことができる。要するに、割り込み何回かに1回だけハンドラを呼べば良い。普通はそういうソフト的な処理は自前でやるが、MCCはそこまで面倒を見てくれる。
 割り込み間隔を1秒とかにしたい需要は多いはずで、割り込み間隔を長く出来ない仕様に相当な苦情が行ったものと思われる。

 さて、子機のボタンを押すと「何秒か待って」から「何秒か録画を行う」のだが、その待ち秒数と録画秒数の設定は親機のボタン操作で行う。そして、設定はPIC内蔵のフラッシュメモリーに行う。
 このフラッシュメモリーの読み書きは非常に厄介で、PIC16F84A から PIC16F88 に移行する際に大変な苦労をした記憶がある。

 ところが、PIC16F1827 では簡単に終了。なぜならMCCが使えるからだ。「使いたい」と指定すれば勝手にアクセス用ルーチンが用意される。それを使うだけで、何の問題もなく読み書きできた。

written by higashino [カメラ] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL
Darkside(リンクエラー修正しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4