2023年4月26日水曜日

AVR書き込みボードを作ってみました

  ここでAVRというのは、自動電圧調整器(Automatic Voltage Regulator)ではなく、我々アマチュアの電子工作によく使われる、Atmel社のマイクロコントローラ(いわゆるマイコン)のことで、左写真の上にある3個のICが代表的なものです。

 マイコンというからにはプログラムを作成し、このプログラムをマイコンに書き込まなけばなりません。いちばん下に写っているのがプログラム書き込み器、いわゆるプログラマでこれはUSBaspと称されるものです。

これらのAVRにプログラムを書き込むには、AVRチップに電源を与え、プログラマから RESET、MISO(Master In Slave Out)、MOSI(Master Out Slave In)、SCK(System Clock) の信号を所定のピンに与えることでなされます。
 
 右図は、ISP(in-circuit serial programming)と称される、標準化されたコネクタのピン配置で、前述の信号が示されています。

 従来はブレッドボードにAVRを固定して、プログラマからのリード線をあらかじめ決められたAVRのピンに接続してプログラムを書き込んでいました。
 最近「AVR書き込みボード」なるものを部品通販で目にして、気になっていましたが、JH4VAJ さんのブログで製作記事を読み、手元の40ピン・ゼロプレッシャーIC ソケットを見ているうちにその気になり、一気に作り上げてしまいました。

 左図は覚えのための配線図モドキです。中央の40ピン・ゼロプレッシャーIC ソケットを上から見た図に適当に部品と、結線を示しておきました。結線は右下のIPSソケットに帰着・接続してあります。

 図中にあるように、3種類のAVR(8pin、20pin、28pin)がこのソケット1個でプログラムできますが、当然のこととして同時に2個は使えません。

 右写真は、上が上面、下が裏面の様子です。これら部品はそこいらに転がっているものを有効利用したもので、特に新しいものはありませんが、強いてあげれば秋月の片面ガラスコンポジット基板くらいなものでしょうか。
 上写真の上方にみえる赤色のLEDはArduino IDEの例題にある、BASIC の BLINK を走らせて動作チェックするための、いわゆる「Lチカ」用です。(28pin、8pin)はLEDが点灯しますが、20pin はLEDの接続pinを変更しないと光らないようです。


 左写真は、8pin AVRのATtiny13A で
「Lチカ」実行中です。

 パソコンのUSBハブにUSBaspプログラマを差し込み、もう一方を今回製作の「AVR書き込みボード」のISPに接続してあります。

 他の20pin AVR ATtiny2313、28pin AVR ATMega328 も同様にして作動が確認できました。

 書き込みのプログラムは avrdude を使っていますが、わたしはコマンドラインが苦手で右に示したようなGUI経由で使っております。

 このYCIT版avrdudeGUIはかなり古いですが、その使いやすさから未だに手放せません。

 あとは適当なケースにでも入れてやらねばなりませんが、ここからは例によって遅々と進むことでしょう。

 AVRも Atmel 社が PIC を開発した Microtip 社に吸収されてどうなるかと思いましたが、その独自性を評価されてAVR はいまだに生き残り、かつ発展を続けています。
新しい世代の AVR も徐々に増えてきたようなのでまたいろいろ楽しみたいと思っています。

2023年4月19日水曜日

Symmetricom またまた我が家の周波数標準が増えました

  私がネットサーフィンでよく訪れるサイトに「EEVblog」なるサイトがあります。ここには古い測定器などに関してのフォーラムがあり、多くの知識をいただいています。
 今回はここで見つけたヒョウタンいや情報からコマが出た話です。

 左写真は、フォーラムで盛り上がっていた(と言っても2015ごろ)SymmetricomのGPSDO中古基板です。
 この基板は携帯電話基地設備の更新か何かで大量、かつ安価にebayに出回ったものを皆がアマチュア魂を発揮して、稼働させようという話でした。

 私が入手した時は2021年の終わりでしたので、これといっためぼしいものはなく、ようやくにして入手したのは写真にみられるもので、最重要部品のOCXOが搭載されていない基板だけのものでした。でも幸いにも基板は比較的きれいで、部品の脱落も見られず、何とかなりそうな感じを強く持ちました。
 基板に何本ものリード線がついていますが、これは動作確認のためにした奮闘の名残です。

 結果、この基板が作動することがわかりましたので、実用的なGPSDOにするためのシステム全体図を右に示します。

最重要部品と前述したOCXOは Symmetricom のものが高価かつ入手困難でしたので、ブログの情報から同等品とのことで、OSCILLOQUARTZ の 8663-XS をebayで見つけ入手しました。12V駆動であることが必要です。

 電源は5V 2Aの容量が必要で、スイッチング電源でもいいようです。
 OCXOには基板上の5V-12VのDC-DCコンバータから12Vを供給する設計になっていますので、立ち上がりは1.8Aほどの電流が流れます。(定常状態では 1A弱)したがって電源部からの配線は太く短くせねばならません。左写真に電源の接続場所を示します。

 この基板に搭載されているGPS受信機は日本製のFURUNO GT-8031Fです。型は古いですが、極めて信頼性が高いそうです。この受信機から、多くの情報が得られますので、arduinoIDEを用い、ATMega 8 を使って、液晶パネルに補足した衛星の数と時刻(JST)を表示するプログラムを作成しました。右写真はGPS受信機からの情報取り出し場所を示します。

 また本体基板からの情報は RS232C ポートから 57600bps,8,none,1 でPCでチェックすることが出来ます。

左は稼働中のデータで、5個の衛星を追跡しており、OCXOは同期しています。

 下写真は、ケースの中に今回のシステムを実装したところです。

 スイッチング電源は、ありあわせのものを使っていますが、今ならもう少し小型で高性能なものが安価に入手できると思います。なにせこのシステムは、24時間365日連続稼働が原則なので信頼性には格別の注意が必要です。

 その他今回取付たスイッチなどは、

1. 電源スイッチ;めったに使わないですが、、、

2. リセットボタン;一つは本体に、もう一つはLCD表示の ATMega 8に、、、

3. MACスイッチ;GPSからの情報が途絶えたとき(ex GPSアンテナが外れたとき)このボタンを押すことで10MHzが出力されます。もちろん精度は落ちますが、、、

 左写真は、フロントパネルで、たまたまGPSアンテナが室内にある状態です。

 衛星は2個しか補足しておらず、DS 1~DS 4のLEDインジケータは一部赤い警告を発しています。
 ここの役割はまだ勉強中ですが、正常に稼働しているときは、DS 2が1秒で点滅し、DS 3は1/4秒で点滅します。(色は緑)
 また、DS 1とDS 4は点灯していません。

 時刻(JST)は16時59分00秒を表示しており部屋の電波時計とよく一致しています。

 10MHz出力はきれいな正弦波で、p-p2.35Vでした。(無負荷で、、)
 このブログでも以前紹介した自作のGPSDOもそれなりですが、プロ用の機材はまた別の趣がありますので、しばらくは我が家の周波数標準として使ってみようと思います。(実は約1年間の仮組試験運転は無事終了していますので)