だいぶ昔に、無線のモールス信号を聞くためにAFフィルタを作っていたが、モールス信号を聴かない場合は、AFフィルタを通さずにそのまま、入力信号が増幅され、スピーカーから音声を流してくれる。アマチュア無線の音声ステレオ化は実現されていないので、入力はモノラルのみだった。

ノートPCの外接スピーカーとしても使いたい、というアイデアが浮かんできたので、昨日、電源をUSB化した。写真は撮っていなかったが、元々の供給電圧は3V~5Vなので、USBケーブルに取り替えて、ノイズを低減する電解コンデンサ 470uF/35V をつけただけの作業だった。

140927-12

今日は入力の擬似ステレオ化作業。スピーカーがひとつなのに、ステレオ音声をきちんと聴くのは無理だけど、音声があればいいや、という超適当な考えの下、3.5mmステレオフォンプラグに抵抗を2つ追加してモノラル入力に変換した。抵抗は100Ωを選んだ。イヤホンの入力インピーダンスが32Ωから300Ω辺りまでとバラツキが大きいが、手持ちの100Ω, 1/6Wにした。

140927-10

電子回路は以下の通り。なんの変哲も工夫もない。モノラル出力の先には音量ボリュームがある。

140927-14

半田付け。ショートしないように注意した。

140927-11

完了。スピーカーがちょっぴり大きいが、その分音質も良好、ノートPC内蔵のスピーカーよりはだいぶマシ。音量も大きい。また、ノートPCの左右チャネル音声の片方だけを出力させても、ちゃんとスピーカーから聴こえる。つまり、疑似ステレオ化が成功したわけだ。

140927-13

USB型ACアダプターが携帯用等、随分普及してきたので、それを活用すれば、ノートPCのUSBポートを占有しなくて済む。

140927-16

週末のお遊びだった。

趣味に関する投稿は前回から約2週間が経った。なにかをやらないと、そう考えながら物色したら壊れたマウスが出てきた。ASUSのネットブック EeePC に付いてきたおまけだが、割と使いやすく、気に入ったマウスだった。

既に分解した写真になってしまったが、ケーブルがどうもやられた感じ。テスタで測ったら、4本のうちの1本が断線したことが判明。マウスは十数個持っているので、捨てても構わないが、直すことが趣味なので、チャレンジしてみた。

140926-21

新しいケーブルとして、100円ショップにあったUSB延長ケーブルを使った。ケータイ充電専用USBケーブルは導線2本だけのもあるのに対し、延長ケーブルは導線4本が内蔵されているはずだし、巻取り機構が付いていて、携帯に便利。しかも、ケーブル自体がコスト削減のため、極細く、マウスの動きを邪魔しない意味では返って好都合だ。硬くて太いマウスケーブルほど邪魔なものはないから。

140926-22

ASUSマウスの基板は案外しっかり作られている。電解コンデンサ3つ、105℃品を採用している。スイッチは3つ、左右ボタンとホイールクリック(オートスクロール等)に対応している。

140926-23

ケーブルを基板につけるコネクタが手元にないし、注文するのも時間がかかるので、思い切ってケーブルを直に基板に半田づけすることにした。

140926-24

勿論、ケーブルの各導線の順番をしっかり確認するぐらいの慎重さが必要。

140926-20

組み立て直し、ノートPCに挿してテストしたところ、無事修理に成功したことがわかった。

140926-25

ケーブルの色がおかしいとか、改善すべきところもあろうが、動作正常のマウスについても、そのケーブルを巻き取り式に改造したければ、同じやり方でいけるかも。

Thinkpad にトラックポイントがあって、他のノートPCに比べてだいぶ使いやすくなったが、有線マウスには敵わない。携帯に不便、USBポート占用という欠点以外に、有線マウス以上の快適なポインティングデバイスは20年以上経ってもなかなか開発されない。

ノートPC内蔵タッチパッドの最大問題点は、キーボード入力時のカーソルの飛び。思わぬところに文字入力してしまうこと。マックブックあたりだとだいぶ改善されたけど、PCはまだ問題のある機種が多い。

131012-b.jpg

手持ちの無線機は最大送信電力が100W。それなりの電流が50Ω同軸ケーブルに流れるので、ちゃんとした取り付け(半田付け)が必要。

同軸ケーブルにM型コネクタ(オス)を取り付けるわけだが、やってみて案外難しいことに気づいた。慌ててネットやYoutubeを見て、勉強した。

最大の問題は無論半田付け作業。秋月電子から仕入れたM型コネクタは耐熱性がそれほど良くなく、長く半田付けすると、中の白色プラスチックが溶けて、使いものにならなくなる。

以下は作業のメモ。真似+自己流。

131012.jpg

<用意したもの>
1. 同軸ケーブル、M型コネクタ(オス)。
2. 半田こて。W数の小さいものはダメ。手持ちの55Wを使ったが、60W以上が良い。
3. ヤスリ。メッキを削り落とすため。
4. ワイヤ。銅線を使った。
5. 冷却用水。半田の熱を一気に冷却するため。使わないほうがなおさら良いようだが、冷却まで待ち時間が長くなる。
6. その他、ハサミ等。

Read More →

電波時計の自作は一見順調に進んでいるように見えるが、大きな問題を隠してきた。つまり、AC電源を使うと、恐らくノイズの影響だと思うが、電波時計モジュールは受信できない。

だから、仕方なく、電池を使っていた。しかし、ひとつのケースに収め、ACを使うとすれば、ノイズ対策をちゃんとしないと作品にならない。

電波時計モジュールだけを電池で動かし、PICマイコンとのパルスのやりとりはフォトカプラを介して行う。そうすれば理論上うまくいくはず。電力の消費は問題だが、1日1回だけを動かし、その間の電流消費は10mAx3分間で計算すれば、1000mAhの単三でも約5年間使えるようだ。

でも、スマートなAC方式も捨てがたい。

さらに、電波時計をPCや受信機の傍に置いて使いたいので、受信部の内蔵は無理かもしれない。少なくともアンテナは窓際か屋外にしないといけない。と考えると、ノイズ対策以前に一体型作品にすること自体は無謀のような気がする。

PCの傍で使える電波時計って存在するのだろうか。PC動作中はPC内蔵の時計アクセサリが使えるので、電波時計は無用な置物という説もあることは理解できるが。あるいは、PCのNTP時刻をJJYシミュレータで発信し、傍の電波時計に受信させる。というのが最もスマートな対応策か。

Aitendoから購入した電波時計モジュールは負論理出力(電波のシグナルがあった時に 0 出力、シグナルがない時に 1(電源電圧)出力)。

今回のPICソフトは基本的に、0.1秒間隔で割り込みを発生させて、10回で1秒、600回で1分、36000回で1時間、864000回で1日、ということを利用したもの。つまり、大変簡単に相対時間が計測できるわけだ。

問題は相対時間の絶対化。電波時計モジュールによる時間の校正にある。

0.1秒割り込みをそのまま利用して、電波のシグナルの有無で、タイムコードの「マーカー」、「0」、「1」 を判断する。

具体的には、負論理なので、0.1秒前には入力があって(つまり、シグナルなし)、現在は入力がなし(つまり、シグナルあり)という瞬間をパルスの立ち上げと判断。そこから8回分の割り込み時の入力を記録。8回目の割り込みが終了した瞬間、「3回目は入力あり」であれば「マーカー」、「3回目入力なし・6回目入力あり」であれば「1」、その他は「0」とした。

割り込むルーチンの外では、「マーカー」が2回続いていれば、タイムコードのスタートと判断し、その 瞬間 – 1秒 が 「分」の始まりとした。

そこから、59回分の「マーカー」「0」「1」を割り込むルーチンから受け取り、マーカーのズレの有無、時・分のパリティビットを確認して、タイムコードを解読(デコード)。

ということで、製作した電波時計は精度が0.1秒程度、大したことはない。また、GPSと違って、電波基地局との距離がわからないことから、精度の高い電波時計は原理上できない。電波は1秒30万キロしか飛ばせないので、100キロの距離では 0.0003秒(0.3ms)のズレが発生する。

しかし、PIC用プログラムは一応完成したが、減光機能(夜間ではLCDの電源を切ることや、PIC自体をスリープモードするなどの省エネ対策)に必要なデータメモリがほとんど残っていない。最適化をこれから必死でやらないといけない。

つぎの写真は電波受信成功前後の様子。電源入れて、約2分弱で受信成功。なお、LCD表示形式を若干変更した。

130728.jpg130728-1.jpg基板をつくり、ハンダ付けし、ケースに収める作業もこれからだ。

二日間、PICのプログラムを書いた。データメモリを95%使ったので、将来の機能追加に問題なりそうだけど。

そして、ブレッドボードで組み上げて、動作確認した。難なく動いた。電源電圧は 2.8V辺りが下限のようだ。その電圧での消費電流は5.4mA、大部分は水晶発振器に使われた。電源電圧をさらに低下していくと、LCDが表示しなくなる。LCDのバックライトは別途点灯させる予定。ACが使える状態では点灯、電池では付けない。さらに、夜間には、LCD自身の電源も切る予定。

130727.jpg130727-1.jpg130727-2.jpg

身の回りに時計機能が溢れている。置き時計、腕時計、壁掛け時計、ケータイ、PC、テレビ、目の付くところに時計があるというぐらいに溢れている。となると、電波時計を製作する意味はなんだろう。あるいは、なにか独創的な機能をもたせるにはどうすべきか。

時計に必要最小限な機能といえば、①精度。年間誤差10秒以内なら上等だろう。②自律性。停電でも、電波がなくても、精度よく動く。

精度に関して、外部からの電波に頼ることなく、年間誤差5秒や10秒というのがひとつの目標。

では、身の回りの時計が上記2機能を備えたものはあるのだろうか。残念ながら、高級クォーツ腕時計以外はないようだ。数週間の停電となると、ケータイ、PC、テレビはアウト。また、停波の状態が長く続くと、市販の電波時計は月間誤差10秒台に激増する。そういうふうに考えると、「真の時計」と呼べるものは案外すくないことに気づくはず。そこに自作品の意義というか、独創性をおきたい。

つまり、自作時計は、停波の状態でも、年間誤差10秒以内の精度をキープする。停電でも止まることなく、1年以上動き続ける。そういうものをつくってみたい。

そう実現するためには、精度の高い発振子が必要。さらに、温度センサを内蔵し、累計誤差を強制的に校正する機能を持たせる。電波はあくまでも校正の役割と捉える。

また、省エネが大きな課題になりそう。単一電池を使うとしても、常時バックライト付きLCDを使うのは無謀。電池の交換中でも時計がストップさせないためには、予備電池が必要かもしれない。

構想してみたら、案外楽しい夏休み課題になりそうなことに気づいた。コストやサイズの制限を受けないので、自作品ならではの可能性を探求したい。

130726.jpgさて、手持ちの水晶発振器を探したら、2種類が出てきた。どちらも秋月電子から入手したもの。

TCO-703Aは温度補償型、精度 2×10-6。TCO-711Aは±100ppm。1年間を365日として計算すると 31536000秒あり、±10秒以内にするなら、精度は 10 / 31536000 = 3.2×10-7 以上ということになるから、そのままでは両方とも不合格。もっと精度の高い 0.3ppm 水晶発振器(TXCOやOCXO)を使うか、温度センサーを活用して時間補正を計算で入れるか、のことをしないといけない。

しかし、TXCOもOCXOも電池で駆動するものではない。精度と省エネの両立はやはり大変。でないと、ほとんどの腕時計は年差時計になっているはず。

ということで、取りあえず TCO-703Aを使うことにした。電源電圧を 3.3V にして、使用する電流を測ったところ、約 3.7mA。予想以上だが、LCDの 3mA と合わせ、なんとか全体の消費電流を 7mA 以下にしたい。単一電池の容量を 18000mAH としても、3ヶ月しか持たないのだ。

暇な時間が多少増えそう、折角仕入れた電波時計モジュールがゴミになるのがもったいない、昨年からPICの開発環境が大きく変わった、電子工作が最近していない、という4つの理由から、電波時計をつくってみたい。

基本モジュールはAitendoから仕入れたもの。受信感度を期待していたが、手持ちの電波腕時計と同程度だったのが残念。つまり、PCの隣に置いては受信できない。外付け受信アンテナを利用するなり、それなりの工夫が必要。

LCDに20文字x4行、バックライト付きのものを使う予定。消費電流が大きいので、定電圧電源を内蔵する。

表示時間は日本時間(東京時間)は勿論のこと、ロンドン時間、ニューヨーク時間も計算で出す予定。サマータイムの自動切換が必須。

開発環境として以下を想定。
OS:Windows 7 / 64bit
MPLAB X IDE Ver 1.85
Cコンパイラ XC8 Ver 1.20
PICkit2

使用するPICは手持ちのPIC16F88。浮動小数点は使わないので、プログラム容量は問題なさそう。

考えたLCD表示は以下のとおり。20文字/行の制限で、分かりにくいところがあるかもしれない。

1行目。和暦年、西暦年月日、曜日。
2行目 東京時間。UTCとのズレ、地名、時間。
3行目 ロンドン時間。サマータイム表示(*)、UTCとのズレ、地名、月日時。
4行目 ニューヨーク時間。サマータイム表示(*)、UTCとのズレ、地名、月日時。

130725.png

Perseusが来てから、IC-R75はCWに関する選択度が悪いことに改めて気づいた。CW用フィルタを増設することが根本的な改善策だが、内蔵スピーカの音質の改善も兼ねて、CW用AFフィルタをつくってみた。

Read More →

PICで組み込むまえに、動作を確認した。LEDを光らせるために、電源電圧を3Vにし、出力のタイムコードにトランジスタを入れた。また福島からの40kHzに合わせ、モジュールのP1, P2ピンをGNDにした。

難なく動いたが、インバータ蛍光灯の隣に置くとLEDは点かない。また点かないアンテナの向きもある。高感度と期待していたが、自分の電波腕時計と同じ感度のようだ。

130505.jpg

ちょっと困ってしまう。受信機のすぐ上に置き、日本時間、UTC等を正確に知るために作ろうとしたのに。窓際に置かないといけないとなると作る意味はない。

ネットで調べたら、バーアンテナをベランダにLANケーブルで延長するアイデアがあった。自分の場合はモジュール本体をアンテナ台のところに置き、出力のタイムコードをLANケーブルによって室内に引きこむことにしようかな。アンテナと無線機との接続にはいままで同軸ケーブルを使ってきたが、アンテナ台に置いてあるプリアンプに給電するためにも、8本線内蔵のLANケーブルが有利。つまり、給電用2本、タイムコード用2本、アンテナ信号用2本、予備2本という按配。

ちなみに、LEDの点滅が正しいかどうかを確かめるために、ソフト CW Skimmer をも動かしてみた。しかし、ソフト処理であるゆえに、LEDの点滅に同期しなかった。一方、IC-R75の音声はバッチシ。コンピュータ処理は遅い、デジタル処理は遅いという例として皆に言おう。

130505-1.png