Aitendoで買い込んでおいた蛍光表示管モジュールである。FUTABA製らしいが、データシートは既にAitendoにもなくなっていた。電子工作をされている人が保存されているのが見つかり、こちらにも控えをとった。
Arduinoで作ったニキシー管時計の要領で、もう少し低圧を発生させればよさそうだ。表示管の在庫は2台あります。
流行の温度センサーDS18B20使って温度も10桁ならば時間と同時に表示が出来ますね。
Aitendoで買い込んでおいた蛍光表示管モジュールである。FUTABA製らしいが、データシートは既にAitendoにもなくなっていた。電子工作をされている人が保存されているのが見つかり、こちらにも控えをとった。
Arduinoで作ったニキシー管時計の要領で、もう少し低圧を発生させればよさそうだ。表示管の在庫は2台あります。
流行の温度センサーDS18B20使って温度も10桁ならば時間と同時に表示が出来ますね。
前回の報告で、電界が弱くなっているのではないかというご指摘をいただき、同軸処理の見直しを行いアンテナ側のコネクター処置について再度更新を行い十分なはんだ付けがなされるようにしたところ電界強度メーターの段階でも強くなっていることが見てとれる状況となったので、復活したといえるのだろう。
ガス半田ごてを利用しての野外でのはんだ付けではあるが、風に吹かれたりして温度が必ずしも確保できず、最後は鏝先を外してトーチにしてのロウ付け状態とした。同様に屋内側についても見直した。
組み込みの里では、少し懐かしいAT89S52などのデバイスを用いたキットのカスタマイズなどもしていて旧来ながらのROMライターも必要となります。
従来使ってきたROMライターのドライバーが署名なしでWindows8や10での環境で利用できなくなりましたので、最近のモデルを追加しました。
TL866CSというモデルで多くのデバイスに対応しています。
AVR PICにも対応しています。
スペック割れの嫌疑をかけられていた中華市場のDS18B20ですが、問題解決いたしました。
結論は、使い方のスペック割れで1Wireのスペックを満たしていないソフトウェアで利用していたことが判明しました。オリジナルのソフトウェアではリセットパルスが333uSで480uSの規格を割っていました。この問題は、おそらくシステムクロックの動作速度変更を行った段階で、1Wireのタイミング修正を行わなかったことに起因していると思われます。システムクロックの周波数からソフトウェアタイミングが自動的に算定されるようなdefineを指定することで解決されるはずですが、組み込み案件では、こうした問題で実機確認で終わりがちなので注意が必要ですね。
あいにくと8952(8051)のコンパイラでフリーで使えるものにはコードサイズの生成制限などがあり、とりあえず逆アセンブルしてHEXファイルからパッチすることにしました。
当該の1WireのバスラインはAT89S52のPort1のビット0を使っているので書かれているMCUかからイメージファイルをHEX形式で吸い出して、それからD52.EXEでリバースアセンブルして二箇所の修正ポイントを割り出して、リセットパルスとタイミングパルスのコードをバイナリで修正しました。結果は解決となりました。ただしくロジアナも解釈メッセージをつけて、デバイスが応答しているのも確認とれるようになりました。
不良と思われるDS18B20群を並列給電したままの形でマルチドロップしての動作確認をしています。
検査に供したのは、DallasSemiconのライブラリーにあるTesterスケッチを用いて行いました。出力フォーマットのみ変更しています。
使い方として、NGになる要因追求はするのですが、精度観点でいかがなものかという問い合わせがありますので、16本(時計アプリではEor2となる不良品)を用いて行いました。
22度から23.5度という測定結果が得られました。精度が±0.5度ということですので達成されているのかも知れませんね。
こうやってみると、一通り動作しているようにも見えるので、不良条件の特定がなかなか決めてがなくなってきました。