有名な国内O社のTGシリーズの最新デジタルカメラを業務日誌用として購入したのは、2年前だった。
購入して1年チョットたった頃に、カメラの電源が入らなくなり、モニター画面が真っ暗となった。
保証期間がチョット切れた時点だったが、修理をお願いした。「基板交換」で修理費は3.5万円だった。修理には約3ヶ月かかり、正常に使えるようになった。
ところが、カメラが戻ってから約9ヶ月後(冬期間は使用しなかったので、再度使用した期間は3ヶ月程度)、また同じように電源が入らなくなった。
とりあえず、修理可能か確認してもらったところ、同じ基板の交換で、費用は4.5万円とのこと。
2回の修理費を加えると、新品のカメラよりも高くなる。「この様な同じところが短時間に壊れる故障はたまにある」とのこと。
そして、「修理後6ヶ月超なので再修理扱いにはならない」とのこと。
と、云われて・・、再修理しても、また直ぐ壊れる可能性が否定できず、修理を諦めた。
商品には「当たり外れ」が有るかもしれないが、
の2点が納得できない。どこが「タフ」?(外枠だけ)。
同社の他機種(旧TGも含む)も多数持っていて、それらは全て未だに無故障なので、残念である。
個人情報保護が大切と言われています。そこで、写真や文書画像などで個人情報を判らなくするため、フリーの画像処理ソフトであるGIMPでモザイクをかけてみます。
PIC16F13145ファミリのCLBには「専用3ビットハードウェアカウンタ(デコーダー付)」がモジュールとして付属されている。このカウンターはハードウェアで構成され、変更や他のモジュールの参考としては利用できない。
abc947では論理ゲートで作製したシフト回路を利用したが、今回は付属カウンターで5ビットLEDシフト点灯を試みた。
なお、ハードウェアはabc947をそのまま用いた。
【MCCでCLB用クロックの準備】
![]() |
<TMR0> Mode : 16-bit Source : FOSC/4 Prescaler: 32 Postscaler: 1 Period : 150mS Interrupt: 無し <PPSピン設定> CLB作成後に設定 ・条件を設定後 MCC_Generate |
【カウンタによるLEDシフト回路のデザイン】
|
<入力端子> STOP : ZERO(Misc) RESET: ZERO(Misc) <出力端子> COUNT_IS_0 : PPS_OUT0 COUNT_IS_1 : PPS_OUT1 COUNT_IS_2 : PPS_OUT2 COUNT_IS_3 : PPS_OUT3 COUNT_IS_4 : PPS_OUT4 ・デザイン後、Synthesize をクリック |
![]() |
【テストベンチの作製】
|
<入力端子> ZERRO_sync: 0(定数) <出力端子> 各outにLabelを接続(無くても可) <クロック周期> frequency : 10 kHz <シミュレーション周期> Duration time: 3mS ・デザイン後、Synthesize をクリック ★ ピン設定でPPSを設定しておく |
![]() |
【シミュレート】
各PPS_OUTにH信号パルスが順にシフト出力されていることが確認できた。
【コンパイルと書込】
Synthesizer出力と合成するため MCC_Generate を再度実行。
プログラムは何も記述せず、defaultのままコンパイルすると、TMR0の「非推奨」警告エラーが出るが、コンパイルは成功する。
このままでも、問題なくLEDシフト点灯が実行されるが、tmr0.h の行40を以下のようにコメントにすると警告エラーが出なくなる。
|
● PicKit4等でPIC16F13145に書き込み、動作を確認。
※なお、LED点灯シフト速度を変更するには TMR0 の period の変更で可能。
【カウンタ回路の改良】
カウンタは 0 - 7 までカウントし、H信号を出力しているが、LEDが 5 個なので 0 - 4 でしか点灯せず、5 - 7 間はLEDが点灯しない。
そこで、カウンタを 5 までしかカウントしないようにする。(5進同期式カウンタ)
![]() |
<テストベンチ>
ZERO_sync入力に定数の「0」
<シミュレート>
チャンと5パルス毎にリングカウントしている。
<動作テスト>
5アレーLED点灯のシフトとLED(RC2)も点滅を確認。
※ 本レポートの参考・利用は、あくまでも自己責任でお願いします。
![]() |
![]() |