工作

個人的に製作してきたものの紹介です。

電子的なものがほとんどですが、そうでないものも出来るだけ出していきたいと思っています。

回路図、ソースコードなどは出来ればすべて載せたいのですが、以下の理由で難しいものが多いです。

  • 回路図については無いものが多い
  • 残っていないのではなく、そもそも書かないことが多かったためです。

    • どうせ1台しか作らないのだから紙に線を引くのと、実際に配線する手間は大して違わない。
    • バス配線などは書かなくてもわかる(各デバイスのD0同士を接続するなど)。ずらすなど注意を要するところだけメモがあれば困らない。
    • 雑誌などの記事・データシート・アプリケーションノート等を参考にしたところはそれを見ながら配線すればよい。

    もちろん仕事ならば書きますが。

  • 著作権的に公開でない
  • 特に古いものでは雑誌など掲載のものをベースにしているものがあり、オリジナルと分離できないものは公開できません。

  • 古いメディアに入っている
  • 5インチや8インチのフロッピーだったり、PC-9801フォーマットだったりして読むのが難しいものがあります。

  • 本当に失われた

PLLシンセサイザ(その11)

2023-09-11 13:35 — asano

テーマ

カテゴリー

今回は...... PLLシンセサイザ関係ではあるのですが、ちょっと脱線してみます。

実験用に作った基板にはPLL ICの初期化用にAVRマイコンを搭載しており、VCOの実験用にD/Aコンバータも搭載しています。マイコンにはカウンタ・タイマも載っているのでちょっとソフトウェアを追加すれば周波数カウンタ機能も実現できそうです。

外部に周波数カウンタを接続すればいいではないかと思われるかもしれませんが、D/Aコンバータの出力を変化させながら周波数を測定できればVCOのF-V特性を自動的に測定できる可能性があります。

ということでまずは可能性を探っていきます。

周波数は簡単には1秒間のパルス数を数えれば良いわけですが、カウンタの桁数が多く必要になる上に測定時間も長くなるので、16ms間のパルスを数えて16で割ることでkHz単位の値を得ることにします。

PLLシンセサイザ(その10)

2023-08-22 17:14 — asano

テーマ

カテゴリー

もう「その10」と2桁に達してしまいましたが、当面は何か進捗があるたびに書いていこうと思います。

今回は何が進捗したかというと、出力周波数を下げていくとロックしたりしなかったり不安定になる問題です。

1MHzというのはVCOを単独で動かして求めた可変範囲をもとに出せるはずと思っていたわけですが、ループフィルタの出力の範囲が狭い、あるいはその付近でVCOのF-V特性が急峻になっていて周波数が安定しない、という可能性もあります。

前回リングオシレータの電源云々と書いたのは後者の対策だったのですが、ちょっと実験するだけならもっと簡単な方法がありました。

それはリングオシレータを1段から5段に変更してみることです。これで同じ入力電圧に対する周波数は約1/5(容量などの影響でもうちょっと下がるはず)になります。

試してみると設定下限の300kHzまで安定に動作します。代わりに上限も下がって14MHz程度までしか出せなくなりました。

古のマイコン開発法(補足)

2023-08-19 15:53 — asano
カテゴリー

その1その3までの「古のマイコン開発法」に少し補足しておきます。

これ「無いものは(道具も含めて)作る」のですけど、道具の無い状態では作るのは大変なので「とりあえず必要最小限」を作ってそれを道具にして自分自身を改善していきます。最終的には不要なものでも途中で必要なものは作るしかありません。

持っているものがあれば楽になります。

PLLシンセサイザ(その9)

2023-08-10 21:36 — asano

テーマ

カテゴリー

PLLシンセサイザの続きです。

間があいてしまったので今困っていることをまとめてみます。

  1. 基準周波数を下げると不安定になる
    100kHzではいいが一般的な10kHzにすると安定しない
  2. 出力周波数を下げると不安定になる
    1MHz付近まで下げると安定しない
  3. ロック検出をどうするか

1.と2.はループフィルタ問題だと思われるので本を読み漁っているのですが......

学生時代は制御研究室にいたこともあってフィードバック制御は馴染みではあるのですが、PLL回路には位相比較器とかVCOなどの見慣れないものが含まれています。本を頼りに求めてみたのですがどうも桁が違っているようで、何かを勘違いしているのかもしれません。

じっくり本は読み直すことにして、勝手のわかるフィルタ部分だけ先に求めてみます。

実験に使っているのは以下のラグ・リード・フィルタです。

PLLシンセサイザ(その8)

2023-07-21 17:54 — asano

テーマ

カテゴリー

前回インバータでリングオシレータVCOを作った時の周波数可変範囲を見てみましたが、さらにいくつか追加で入手しましたのでそれらも同様に見てみました。

まずはSN74AHCU04N、これはUnbufferedタイプなので1段での動作は期待できません。

1段 発振せず
3段 1MHz~185MHz
5段 700kHz~125MHz

さすが高速タイプなのでこれまでで最高の185MHzを達成しました。その代わりに下も1MHz程度までしか下がりません。

3SF11を動かしてみた、はず

2023-07-11 23:32 — asano

テーマ

カテゴリー

以前3SF11を動かした記憶があるのでその時の記事を探していたら......

どうも若干の写真を撮っただけで記事など書いていませんでした。ファイルのタイムスタンプによると4年前のようです。今回はその写真と記憶をたよりに書いてみたいと思います。


これがその時に作った実験ボードです。

こういう実験ならブレッドボードの方が良さそうに思いますが、かなり足を曲げないといけません。持っている数も少ないし追加調達も難しそうなのでデバイスにあまり加工を加えたくありません。実際このボードでも足そのままソケットに挿せるようにしています。

そもそも使い方がよくわからないデバイスなのでピン毎にRを切り替えるジャンパを並べているだけで、あとはピンヘッダやソケット間を必要に応じてつなぐことにしています。なので半ばブレッドボード的な使い方になります。

PLLシンセサイザ(その7)

2023-07-10 23:30 — asano

テーマ

カテゴリー

PLLとしての動作に手こずっているので、リングオシレータVCO単体の動作について先に書いて置きたいと思います。これはCMOSインバータの伝搬遅延が電源電圧によって変化することを利用したVCOです。


これは現在いじっている状態で、以下の周波数可変範囲を調べたときとは若干異なっていますが大差はないと思います。

2つのTC74HC04APのうち上がリングオシレータ、インバータを6段接続してあり1,3,5段を右側のジャンパで切り替えられるようになっています。

左上のTO-92は2SK363、ソースフォロワで上の74HC04のVccをコントロールします。

PLLシンセサイザ(その6)

2023-07-04 20:58 — asano

テーマ

カテゴリー

前回は74LS624によるVCOを作成しましたが、当初の計画である1MHz~25MHzには上限が足りない上にV2のコントロールが必要です。

そこで74HC4046によるVCOも作ってみました。


これも部品点数の少ないシンプルなものですね。74HC4046も前に動かしているので基本それを踏襲していますが、R1を切り替え式から挿し替え式に変更しました。さらにR2も必要に応じて挿せるようにソケットを用意しました。

とりあえずR1=47kΩ, R2=∞(Open)としています。

これで前回同様に周波数の可変範囲を調べてみると、0.94MHz~23MHzとわずかに広くなったうえにV2のような別途コントロールしなくてはならないものもありません。

PLLシンセサイザ(その5)

2023-06-22 21:46 — asano

テーマ

カテゴリー

その4にVCOサブボードが1枚できたので動作確認してみました。


右奥がVCO基板、左奥はループフィルタ用です。

まずはD/AコンバータでVCOの特性を見ようとフィルタは未搭載です。黄色のジャンパはループフィルタ使用時は抜いてD/Aコンバータを切り離します。


VCOは一度動かした74LS624を使ったものを作ってみました。

PLLシンセサイザ(その4)

2023-06-12 23:42 — asano

テーマ

カテゴリー

また間があいてしまいましたが、PLLの実験再開しました。

とはいえこれまで動かしていたボードは、(1) Nの設定変更がかなり面倒くさい、(2) VCOとしてリングオシレータも試してみたいが基板の空き面積がギリギリ、といった問題があります。そこで新たに別な実験基板を作ってみました。


秋月のBタイプ基板を縦に使っています。

上部の空きエリアにはループフィルタとVCOをサブ基板で載せ替えられるようにする予定です。これでVCOをいろいろ試せるようになるはずです。

一方Nの変更はシリアルポート経由でターミナルから変更できるようになります。