何でも実習生の実習日誌

電子工作、模型スチームエンジン工作など、何でも工作が大好きです。
手持ちの工作機械は卓上ボール盤だけ、全て手作りです。

マイコン制御の鋸歯状波でスイープ発振

2018-08-21 14:43:51 | 電子工作


2018/08/20(月曜日) 晴れ


パルスゼネレータから出力されるパルスを2進カウンタで計数しその2進コードを
抵抗ラダー回路で鋸歯状波に変換してみた。
この鋸歯状波はとてもきれいな波形だった。
この鋸歯状波をバリキャップに加えてスイープ発振回路を動作させてみた。
うまくスイープ発振してくれるかどうか、その確認はSDRドングルとSDR#や
HDSDRのソフトウェアで確認した。

何とかスイープ発振していることは確認ができた。
しかしパルスゼネレータのパルスを計数し、ラダー回路で鋸歯状波に変換すると
カウント0から最大カウント、そしてまた0から最大までカウントする・・・を
繰り返すので鋸歯状波も0から最大までを繰り返している。

スイープ発振回路も鋸歯状波の出力に従って低い周波数から高い周波数を繰り返し
て発振し、その周波数範囲は相当広いものになる。
SDRドングルはこの広い範囲の周波数の電波を受信してHDSDRなどのソフトウェアで
PCディスプレイにスペクトラム表示などをおこなうのであるが、スペクトラムを表示
する範囲は狭く(HDSDRは最大3MHz、SDR#のそれは1MHzばかりである)
スイープ発振回路が発振したその、ほんの一部を表示するだけで、しかも、ほんの一瞬だけ
しか表示されない。
次のスイープが始まってまた同調周波数がやってくるまで待つのだが結構時間がかかる。
これを早めるためにスイープ周期を早めるとSDRが反応しなくなってしまう。
結局スペクトラムをはっきりと見えるようにするにはゆっくりスイープにしなくてはならず
休み休みのスペクトラム表示になってしまう。

それを解決するには指定した回数から計数を始め、指定した回数でまた元に戻って
指定した回数から計数を始めるようなカウンタが必要になる。
これを純然たるハードウェアで実現するのは結構大変だ。
コンピュータを使えばわけはないだろうが、コンピュータだけあっても用はなさない。

「コンピュータ。 ソフトがなければただの箱」

ソフトウェアが必要なんだ。 これは簡単には作れない。
なんだかんだあれこれ準備が必要なんだ。

ところが何の準備もいらないコンピュータがあった。
もう何十年も前に購入した「ワンボード・マイコン」 TK-85 が押し入れに眠っていた。
このマイコンは全て手入力でプログラムが組める。
そのかわり、すべてのことを人間がしなくてはならない。
マイコンとはマシン語(コンピュータが理解できる記号)でやりとりするしかない。
CE 00 23  D3 80 ・・・・ だとかわけのわからない記号をメモリーに
書き込んで行く。
もうこの歳になると記憶力もほとんど0だからマニュアルを何度も何度も見直さなくてはならず
とても大変で時間がかる。
しかし苦心して入力したプログラムが思い通りに動いてくれた時の喜びは何とも言えない。

そんなこんなで苦労して指定したカウントから計数して指定したカウントで元に戻ってカウントを
始めるプログラムができあがった。


マイコンが指示したとおりの計数をして出力してくる。 それを鋸歯状波に変えてスイープ発振する。





先ずカウント0~255の鋸歯状波でスイープ発振をしてみる。
これはパルスゼネレータを使ったのと同じことになる。




TK-85で計数制御したカウントでスイープ発振させたときの様子です。





TK-85で カウントを1つずつアップさせたときのスペクトラムの様子です。




この実験では抵抗ラダー回路は8bitになっている。
0V~最高レベルまでを256段階に分割していることになる。
最高電圧が5Vとすると1段階あたり0.02Vになる。

静的な実験データによるとこの発振回路は
1V辺り12MHzぐらいの変化をするから0.02Vでは0.24MHz変化することになる。
だから今回の実験ではカウントが1つ変化するとスペクトラムが大きく変化してしまうのだ。
現在8bitのものを12bitにすれば1/4096(1カウント当たり0.001Vの変化)に、16bitにすれば1/65536
(1カウント当たり0.00008Vの変化)にできる。
実際に抵抗ラダー回路を使う時は12bit以上が必要だろう。


まぁ、これが実用になるかどうかはわからないが、いろいろ実験ができて面白かった。
いろいろアドバイスをくださったJANJANJANさん、ありがとうございました。
コメント (3)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

おもちゃオシロがまた故障した

2018-08-20 16:13:17 | 電子工作


2018/08/20(月曜日) 薄曇り


先日購入したおもちゃオシロスコープ(小型オシロ)は結構便利に使っている。
だけどやっぱりおもちゃだ。
入力モードや測定電圧範囲を切り替えるスライド・スイッチの動きが硬くてなかなか切り替えができない。
そこで爪先に思いっきり力を入れてスライドさせる。
こんなことを何度もやっているうちにスイッチをスライドさせるプラスチック製の爪が折れてしまった。
これではケースの上からはスイッチを使うことはできない。







このスイッチをスライドさせる仕組みはちょっと問題がある。
スライドさせるには相当力をかけなくてはならない。
同じような爪をこしらえて取り付けてもまた折れてしまうだろう。
最悪の場合はスライドスイッチのレバーを折ってしまうかもしれない。

スライドスイッチそのものをスライドさせるときは案外スムーズに動く。
だからスイッチのレバーを横方向に引いてやればいいはずだ。
そういう形式に改造?してみることにした。


スイッチレバーを横に引っ張るアーム。



アームを通すためのケースの側板に穴を開ける。



アームを取り付けたところ。



アームをつまんで引っ張り出しやすいようにリベットを打ち込んである。



出来上がり。



先日はこの押ボタンスイッチを押すレバー(押し棒?)が具合が悪くて改善したのに・・・・



何とか使えるようになった。



今度はスイッチをスライドさせるのがスムーズにできるようになった。
インジケータが作動しないのでちょっと不便だがスクリーンにはそれらが表示されるから
困ることはない。

余計な工作で時間を喰ってしまった。 あー、疲れたよぉー。
コメント (4)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

やっと目的どおりの動きができた

2018-08-19 14:17:59 | 電子工作


2018/08/19(日曜日) 晴れ


スイープ発振回路の実験をしているのだが、鋸歯状波発振でちょっと問題があった。
鋸歯状波は抵抗ラダー回路に2進カウンタ(8bit)の出力を加えて作成している。
2進カウンタにはパスジェネレータのパルスを加えて計数させている。
抵抗ラダー回路に2進カウンタの計数を入力すると直線状に変化するきれいな鋸歯状波が得られた。
カウンタは0から255までを繰り返して計数する。
抵抗ラダー回路は与えられたカウンタの計数出力によって電圧を変化させて出力する。
最低(カウンタ計数0のとき)は0V、最高カウント(255)のときはほとんど与えられた
電圧を出力する。
つまり、0Vから最高電圧までを256段階で変化させて出力することになる。

スイープ発振回路の実験ではこの鋸歯状波の電圧を小さくしたりオフセット電圧を変えたり
させたいことがあるが、パルスゼネレータからのパルスで作動させている場合はそれは難しい。
そこでマイコン(TK-85)を使って鋸歯状波出力をコントロールしてみようと実験を始めた。

           以上前置き


あれこれ試行錯誤してやっとプログラムができた。
早速テストしてみたが、思うようには動いてくれない。
急いで作ったいい加減なプログラムだからね。

そこで今回は基本的なロジック構成にしてちょっと丁寧に作ってみた。
テストもなんとか正常のようだ。


久しぶりに使ったマイコン(TK-85)。 もう40年近く前のもの。
マシンコードをHEXキーで打ち込んでプログラミングする。
低級言語の更にその上を行く“超低級言語”だが、“低級工作じいさん”のオイらにはちょうど良い。



テスト開始。 波形は手のひらサイズの超小型オシロで確認する。




グランドレベル(0V)付近から出力する鋸歯状波。 出力は低目に設定(最大まで変化できる。)



中間電圧で振れる鋸歯状波。



鋸歯状波を小さくしてみた。 これでスイープすれば周波数変化が小さい発振出力が得られるはずだ。



最大レベル付近の鋸歯状波。 



鋸歯状波を小さくしてみた。 
これでスイープすればスイープ幅が狭い、高い周波数の発振出力が得られるはずだ。



何とか鋸歯状波を変化させることができた。
あぁ、次はこれで発振回路をスイープさせてみる実験だ。 ガンバローっと・・・・
コメント (8)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ありゃりゃ・・・こりゃ、おかしいぞ

2018-08-18 17:22:27 | 電子工作


2018/08/18(土曜日) 晴れ


TK-85からのシグナルで鋸歯状波派生回路を制御できるようになったので
今日は設定データを記録しながら鋸歯状波の波形を観測した。


マイコン(TK-85)に書き込んだプログラムを走らせてその指示に従って鋸歯状波の波高値、
グランド電位からのオフセット電圧が変化するかどうかを確認した。



グランド電位(0V)から最大値までを出力するとこの波形になる。
これでバリキャップを駆動すると相当広範囲の発振となる。



発振範囲を狭くした場合。 ただしこれはオフセットがグランド電位付近だから低い周波数帯の発振になる。



これは中間ぐらいの周波数帯かな?



もっと高い周波数範囲をとTK-85を操作したが波形は変化しない。
あれこれ操作しているうちにこんな波形になってしまった。





これは何か問題がある。
こんなおもちゃマイコンでもバグっていうんだろうか?
まぁ、バグには違いない。
もう一度プログラムを作り直そう。

コメント (12)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

マイコンで鋸歯状波の制御

2018-08-17 18:43:32 | 電子工作


2018/08/17(金曜日) 晴れ


コルピッツ発振回路の同調コンデンサをバリキャップにして鋸歯状波を加えてスイープ発振を
させる実験をしているが、その発振周波数の変化を確認するのが大変だ。
オイらはスペアナなんていう高級な計測器は持っていない。
そこで手持ちのSDRドングルで受信してHDSDRとかSDR#とかいうソフトウェアを
使ってスペクトラムを確認している。
HDSDRやSDR#はスペクトラム表示窓があってけっこう便利に使っているのだが
残念ながら一画面に表示されるスペクトラムの範囲が3MHz(HDSDR)とか1MHz(SDR#)
の範囲しかない。
実験中のスイープ発振回路は鋸歯状波の波高値が0V~5V(最大9V)と範囲が広くて
スイープする周波数範囲も50MHz~60MHzと相当広い。
3MHzの範囲はあっという間に通り過ぎてしまう。

鋸歯状波の発生はパルスを2進カウンタで計数してそのバイナリデータを抵抗ラダー回路に加えて
発生させている。
2進カウンタは0~255を繰り返してカウントしており、抵抗ラダー回路は0V~最大値までの
鋸歯状波を繰り返して出力する。
これを任意の数値からカウントして任意のカウント数でまた元に戻って計数を始める・・・を
繰り返させるのはハードウェアで実現するのはなかなか難しいだろう。
ソフトウェアで実現するのならわけはないことだろう。
だけどそれにはソフトウェアを組み込むハードウェア(コンピュータ)が必要だ。
今どきは数千円で入手できる手のひらサイズのマイコン(マイクロコントローラ)やパソコンもどきがある。
しかしそれは本物のコンピュータでOSの組込やソフトウェア開発環境などが必要で大ごとだ。

押し入れに眠っているマイコン(マイクロコンピュータ)TK-85はOSだとかソフトウェア開発環境
だとかは必要ない。 すべてが自分の手入力操作でソフトウェア(もどき?)が作れて、動作させられる。
その代わりメモリーは1KBだけ。 機械語(マシーンコード)を組み合わせて16進キーボードから
メモリーに書き込んでいく。
でも、これでもコンピュータなんだから工夫次第では何でもできる。
そこで今回はこのTK-85を使って鋸歯状はのコントロールをしてみることにした。


               以上 前置き  相変わらず目沖が長いです


や、や、やっ! また大失敗だ。
マイコン(TK-85)と鋸歯状波発生基板を接続するコネクタを作ったがソケット(TTL・ICソケット)
の取り付けが狭くてちょっと大き目のコネクタは接続できない。



苦労して配線したのに・・・ 取り外してまた付け直しだ。 オイらの工作はこんな失敗が多いです・・・



配線をやり直して念入りにチェック(前回はハンダブリッジがあって修理に手こずった)。
パルスジェネレータからのパルスで駆動してみた。


パルスジェネレータのパルスで作成した鋸歯状波。 
GND(0V)から最大値(この場合は4.8ばかり)までを繰り返す。



カウンタは正常なのでTK-85と接続した。





TK-85のレジスタ(8ビット)を00~FFまでカウントさせて鋸歯状波を作成。
パルスジェネレータのパルスで作った鋸歯状波と変わらない。


ちょっと休憩した。
そのとき、このおもちゃオシロを少しお化粧してあげた。
用紙をマジックインキで黒く塗ってケースの下に敷いてみた。
スイッチの名称が見えななってしまったのでテプラを貼ってある。
ちょっと派手だな・・・・

今までのおもちゃオシロにお化粧をしました。 


これは00~FFまでカウントしたときの鋸歯状波。 パルスジェネレータのパルスとほとんど変わらない。



開始カウントと終了カウントを変化させてみるとこうなる。


もっと計数範囲を狭くするとこうなる。



この傾斜で周波数が変化するんだから変化する範囲は狭くなる…はずです。



開始カウント数や終了カウント数の設定はいい加減にやったのでデータは取らなかった。
また明日、記録を取りながらやってみよう。



コメント (3)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする