s
パーツのうち、注意が必要なのはTM1637ディスプレイです。
まず、同じ4桁ディスプレイでも、クロック表示用(真ん中にコロンがあるもの)と、各桁にドットがあるもの、あるいは両方あるものがあります。とはいえ、7セグメントLEDをTM1637ICにセットしてあるわけなので、コロンかドットかは回路上ではどちらかに固定されています。ここで使用するのはもちろんドット付の方です。
また、接続方法はI2Cにそっくりなのですが、スレーブアドレスがありません。ですから、複数個をとりつけるためにはピンを複数に2つずつ割当てる必要がありますが、普通は1個だけですので合理的といえばそうです。
そういうわけですから、I2Cなどに必要なプルアップ抵抗を内蔵しているのが普通です。
ところが、最近のものでプルアップ抵抗をつけていないTM1637ディスプレイがあります。どうするかといえば、ソフトウェアでプルアップさせようというものですが、CLKピンは問題ないとして、DIOピン側は入/出力を切り替える使い方であるため、処理がそう簡単ではありません。
使うべきArduinoのライブラリーが裏面に明記されているのですが、そのライブラリーはサイズがかなり大きいのです。そこで、他にライブラリーを数個以上使うArduinoの工作では、小さなこれまでのTM1637ライブラリーを使ってメモリーは節約したいところです。それには回路でプルアップするのが妥当だと思います(ArduinoといってもESPを使うときは容量を気にする必要はありませんが)。
上の写真で一番右下のものはピンが予め取り付けられていないので実装には大変使いやすいですが、プルアップがされていません。次のように接続に使わない側の端子の裏に小さな10kΩ抵抗を半田付けします。こういうことは何にも書いてありませんね。それどころか海外を中心に「全く動かないものがある」という記事がこれの写真とともにWebには沢山でてます。それらのいくつかにはこの解決方法を投稿しておきましたが。。
このモジュールがそのままではプルアップされていないことは、CLKとDIOをオシロで見ればすぐにわかります。あるいはプラスとの間の抵抗を測っても直ちにわかるでしょうが、むやみな電圧は与えたくないものです。
この写真のものは、取り付けネジ穴が3ミリφでとりつけも簡単です。本器ではスペースがないので次のように高さが低いATmegaの上に重ねて取り付けました。この例では右側を接続に使っていますので、左側の裏にプルアップ抵抗を隠してあります。穴がハンダでふさがっているのでわかりますね。
結果としては、もう少しスペースのある基板に作り、厚くならないようにする方が携帯に便利かと思いました。今後の機会にそういうのも作ることにします。
なおディスプレイの表示部保護シートは完成後に剥がします。
次に、RTC(リアルタイムクロック)についてです。今や非常に正確なDS3231モジュールが海外ネットで100円未満で手にはいりますが、I2C接続で便利なパーツです。殆どが1年間で数秒しか狂いません。その値段でCR2032電池までついてくるのもあります。
ところが問題はすべてArduino向けになっており、L型のピン端子がついていることです。実装には適しませんので、筆者はそのピンをカットして逆側(上の写真では右側)にあるI2C端子だけを使います。ピンが半田付けされていないモジュールは、なぜか売られていません。半田を溶かして外してもよいのですがそれなりの手間がかかり、スルーホールを壊したこともあるので、現在ではこうしています。一番上の出来上がりの写真の右下です。
本器はこのRTCの時刻設定を自分で行なえるようにしてあるので、RTC自体を半田付けしてしまって構いません。しかし、Arduinoの容量を食わない法がいい場合は、別のRTCライターで時刻設定をして取り付けるという方法も考えられます。その場合はにはこのL型端子があると楽ですね。
次にMPUのクロック用クリスタルについてです。Arduino-nanoなどの小型製品を使って作成すればクリスタルは必要ありませんが、製品は電流をたくさん消耗するのとスペースをとりすぎるので、筆者が製作する場合はATmega328Pをそのまま使う場合が殆どです。そうすると外付けのクリスタルとキャパシター(クロック用の22pFを2個と電源用の例えば100µFを1個)が必要です。
16MHzクリスタルは、次の写真のなかで円筒形(Cylinder)のものが場所をとらず、ブレッドボードでも実機でも最も使いやすいです。もちろんどれもとても正確です。
左の種類の2つは、海外ネットで1つ5円ほどですが、円筒形のものは倍以上の10数円とです。大体20個以上の単位で売っていますが、eBayをたった今みると20個で265円というところですね。
次に基板ですが、最近はCADツールでガーバーファイルを作りオーダーしても結構安くできるようです。しかしこういう単純な回路は自作が適当かと思います。筆者は時間をかけないために生基板をCNCで削って作りますが、エッチングなどのどんな方法でもよいと思います。もちろんパターンは十分に点検してから。
本機の場合のパターンは次のとおりです。
そして次の動画は削っているところです。
CNCですとすぐできあがりです。筆者の場合、作る時間優先にしていますのでランドなどは設けない習慣です。そうすると半田付けは多少やりにくくなりますが全体の時間はずいぶん短いので。
数本のジャンパー配線から順にハンダづけしますが、ここから先は速いです。
この状態で電源のプラスとマイナス間の導通検査などからはじめて、念のために各接続を点検します。
そのためには、抵抗やダイオードのつけかたを工夫して点検したいところのリード線が上にでるようにしておくと、ICクリップがはめられるので楽です。とくに、高圧部分の回路はそのようにしてあります。
それができないところは、テスト端子を附けます。上の写真で、CCFLインバーターの下でポテンショメータの隣に見える黄色の端子はテスト端子で、CCFLインバーターに供給する電圧が測れるようにしてあります。
今回は何も問題がないので、全部品をとりつけます(普通は1か所や2か所のはんだ付け不良やもれが見つかります)。
これでテストして、問題が全てなくなれば、銅箔面に保護スプレーをかけてからケースに入れます。もちろん基板はケースに合わせてつくっていますからぴったりですね。一番上に掲げた写真のようにできあがります。
今回の結果としては、上蓋の内側にはりつけた(というよりネジ止めした相手の板を貼り付けていますが)マイクロSDカードライターがみっともないので、次のようにケースの上ににシールを貼り付けます。プリンターで印刷したシールの上には透明ラッカーをかぶせてから貼ると汚れず長持ちします。
そして、使い始めます。
まずはガンマ線を測る目的で定数(第1回と第5回に書いたQ点のCPMです)を決めます。その際ベータ線を遮蔽しますが、身の回りに多いカリウム(同位体K40を含む)のβ線(1.5MeV付近以下)を遮蔽するには、アルミ(比重2.7)で3ミリ相当の厚さ、樹脂(比重1.1~1.2)なら7ミリ程度でOKです。厚い樹脂の箱複数に入れるのが簡単です。そして分かっているガンマ線量の環境でCPMを求めて多数回の平均をとってQ点を決めます。
ベータ線を遮蔽しさえすれば普通の環境で、家庭用γ線測定器で多数測った平均を使えばそれなりの精度が出ます。
Qと原点の間を確認するために、筆者は他のγ線用カウンターと一緒に自作の鉛の遮蔽容器にいれてみました。この容器は50Kg近くとなり、作るのも保管するのもたいへんですが。
その他の測定や線源などについては、今後回をあらためて書こうかとおもいます。
本機をパワーオフをする前にタクトスイッチ(左にある押しぼたん)を押せば、マイクロSDカードにはテキストファイルができます。これをエクセルにインポートすると好きなように加工できます。
例えば次のグラフは、SI-22Gでカウントを150にした例です。左の表はテキストファイルに収容されている中身です。
今回の連載はこの辺でいったん終わりますが、種々の応用については回をあらためて書こうと思います。
ここまで6回の連載にお付き合いいただきありがとうございました。(その後#7を書き加えました。)
前の記事:
この#5にArduinoのプログラムを載せました。
この連載中の次の記事を書き足しました。これです。
(c)2018 Akira Tominaga, All rights reserved.