プログラミング

プログラミング

照明開発(21) レジスタ設定ミスの解析をしてみた

先に、バグの原因をレポートしたが、実際に、どのような状況で不具合が発生していたのかを確認しておこうと思う。つまりは、“CMCON=0b00000111”とすべきところを“CMCON=0x00000111”とするとPICはどのような挙動を示す...
プログラミング

照明開発(20) 動作不具合対策

恥ずかしながら、こんな簡単な回路であるにもかかわらず、動作が不安定で、なかなか消息していなかった。だいたいは、電源を入れた直後には設計通りの動作をするのだが、その後、徐々におかしな動作になると言うもの。しかし、場合によっては、電源投入直後に...
負荷機器

照明開発(19) 人感センサライト2号機

今回造ったもののひとつ。洗面所用人感センサーライトが完成。もうひとつ、3号機は、2Fのトイレ用に作成中。照度センサは、あれこれ調整したのだけど、結局、削除。洗面台の明りを点けると、その明るさで天井の電気が付かなくなってしまうため、特に照度セ...
プログラミング

照明開発(18) 人感センサライト

今日は、一日中雨がザブザブ降ってたので、久しぶりに電気工作。MOSFETのドライブ回路の調整は、少しおやすみして、先日eBayで入手した焦電型人感センサを利用したセンサライトの制御回路を造ってみた。以前造ったものを1Fのトイレで使っているの...
プログラミング

DCDCコン開発(58) 敗北感満載で週末終了・・・・

昨日は、もいっこ、大きなバグが取れた。先に説明した移動平均のロジックで、測定値が異常値となり緊急停止し、異常値が正常に戻って再開する際、移動平均を計算する配列に前の値が残ったまま移動平均の計算を再開すると、残っている値に新しい値が加算され、...
プログラミング

DCDCコン開発(57) タフな虫取り

庭のさくらんぼの木にイラガの毛虫が付いて、退治にたいへんな思いをしました。イラガというのは繭が小さいウズラの卵みたいな見栄えをしていて、幼虫は緑でフラクタル型のとげとげがはえています。このとげに毒を持っていて、皮膚の柔らかいところに触れたり...
プログラミング

DCDCコン開発(56) 気持ち悪いので不具合解析してみた

昨日の1ビットの設定ミスによる挙動不審は解決したのだけど、なぜ、あのような不可解な現象が起きたのか、放っておくのも気持ち悪いので、原因を解析してみた。PIC16F1823のデータシートを再度熟読。不具合の原因が特定できた。ただし、発生した現...
プログラミング

DCDCコン開発(55) ブレッドボードに逆戻り

本番機向けに、太陽光パネルのMPPT制御のみにロジックをスリム化するようプログラムを大幅に変更したのだけど、甘かった。。。。本番機用のボードのLED点滅パタンで状態を表示するだけだと、電圧測定値が何かおかしいところまでは突きとめられたのだが...
プログラミング

DCDCコン開発(54) TMR0割込み判定のノウハウ

写真は、夕方暗くなってきて、発電がほとんど停まりかけの時の状態。暗闇に白色LEDと緑色LEDがきれい。部品を乗せたオーダーメイドのDCDCコンバータを太陽光パネルに繋いで調整開始。表示を液晶パネルからLEDに変更したのだけど、先ずは、きちん...
プログラミング

DCDCコン開発(52) バグ解析について

プログラムのバグは、直ってしまえばそれでハッピーなのだが、バグによる現象を解析しておくと、次回に似たような現象に出会ったときにその原因の特定に役立つというメリットがある。余裕のあるときには、きちんと検証しておくと、スキルアップにつながるはず...
プログラミング

DCDCコン開発(51) またやってしまった。同じミス再び

PICKit3でデバッグ環境ができたので、ほいほいと進展すると思いきや、またまたケアレスミスで、バグ取りに苦労してしまった。今までは、挙動をできるだけ詳細に把握するため、表示情報量の多い液晶ディスプレイ(LCD)に動作モードや電圧測定値など...
プログラミング

DCDCコン開発(50) 入力専用ポートを出力に使う

組込用マイコンPICは、なかなかの優れもの。この写真はPIC12F1822というミッドレンジクラスでアキバの秋月で¥80という超安価で手に入るものにもかかわらず、10ビットAD変換を始め、PWM、I2Cなど、機能盛りだくさん。しかも、内部ク...