FC2ブログ

迷走の果て・Tiny Objects

迷走する日々の覚え書きです。自分で分かってることは省略してますので、念のため。

オタマトーンを買ってみた(1)

明和電機のオタマトーンを買ってみました。
早速分解。(クリックで拡大)
オタマトーン分解

基板にVCC/GNDを見つけたので線をつないておく。
スピーカーにも同様につなぐ。(クリックで拡大)
otamatone.jpg

Analog Discovery 2 でスピーカー出力を測定、電源(4.5V)も供給しておく。(クリックで拡大)
otamatone測定

とりあえず Mid Range の最高・最低周波数を測ってみた。(クリックで拡大)
mid_range.jpg

173~843Hz
Duty比が小さいので、高調波の多い音になる。

久々の投稿になります。
ぼちぼちと再開します。
スポンサーサイト



DDSの基礎実験(1)

かなり以前に買った書籍ですが
「発振回路の完全マスター」 著者:稲葉保氏 発行:日本放送出版協会
発振回路の完全マスター

これの204ページに「アドレスデータ発生回路」というのがあり、当時は何のことか理解できませんでした。
アドレスデータ発生回路

後になってこれはDDSの一部だと分かりました。

DDSについてはエディックシステムズのDDSの仕組みについてから引用させて頂きました。
DDSコアブロック図

先の「アドレスデータ発生回路」は上記の積算ブロックに当たります。

引用した「アドレスデータ発生回路」は12bit24bitですが、ここではとりあえず8bitで作ってみました。
回路図です.(クリックで拡大)
HC283DDS2.png
プルアップ・プルダウン抵抗の値やパスコンなどの細かいところは省略してます。
74HC283を買いに行ったんですが、無かったので74LS283を使ってます。(のちに74HC283を入手しましたけど)
74HC574(8bit D-FF)の出力にはsin波データの入ったROMをつなぎたかったのですが、無いので取り合えずR-2Rラダー抵抗(ベックマン製 BLA8-103G)をつけておきました。よって出力はのこぎり波になります。

実験の様子(クリックで拡大)
DDStest.jpg

上記の回路で今 D-FF out=0、SW値N=1とします。加算器出力(D-FF入力)=1。
クロックが入るとD-FF out=1、加算器出力(D-FF入力)=2となります。
クロック入力ごとにD-FF outは1増えていきます。256クロックでD-FF out=0となります。
出力にはR-2Rラダー抵抗をつけているのでのこぎり波が発生します。(ほんとはサイン波ROM入れて正弦波にしたい)
クロックが256KHzなら1KHzののこぎり波となります。
N=2なら同様に2KHzののこぎり波になります。
出力の周波数はNに比例することになります。

実際にクロック256KHzとしてNを1、2、3と変えていった時の波形です。
(クリックで拡大)
N1_3_CLK256K.png

一見きれいにで出るように見えますが、N=3の場合に問題があります。
クロック256Hzとし、0V付近を拡大したときの波形です。
(クリックで拡大)
N3_CLK256Hz.png
三周期ごとに出力が0Vになっていますが、他は0Vになっていません。
これは256が3で割り切れないからです。
N=3の場合、D-FF出力は0、3、6・・・252、255と変化します。
255の次は258ですが、オーバーフローするので2になってしまいます。この時Carry Out(上記回路図でOUT2)が出ます。
次の周期で2、5、8・・・251、254と変化、次は257ではなく1になります。Carry Out出力
次の周期は1、4、7・・・250、253で次に0になります。Carry Out出力。
のこぎり波の周期は一定ではなく86クロック、85クロック、85クロックの繰り返しになります。(86+85+85=256)
すなわち出力は256クロックを一周期とする周期関数となります。
N=2^m (mは整数) の場合は乱暴な言い方ですが特殊なわけです。

Nを1、2、3としたときのFFT
(クリックで拡大)
FFT_N1_2_CLK256K.png
出力はのこぎり波です。
のこぎり波は基本波とその整数倍の高調波を持ちます。
N=1の時は1KHzとその高調波、N=2の時は2KHzとその高調波となっていますが、
N=3の場合は3KHzとその高調波だけでなく、1KHz間隔のスペクトルを持ちます。
これは上記で述べたように今回の実験回路の出力は256クロックを一周期とする周期関数なので、クロック256KHzだから1KHzごとのスペクトルを持つわけです。

市販のDDS IC は30bit程度の積算ブロックを持ちますから、こんなことはほとんど問題とならないでしょう。

長年やってみたかった実験がようやくできました。
基板には空きスペースがあるので16bitまで増やして再度実験してみたいと思ってます。
久しぶりに長いブログになってしまい、疲れました(歳ですね)

参考文献
「発振回路の完全マスター」 著者:稲葉保氏

「DDSのデメリットとその改善方法」 筆者:松井邦彦氏
トランジスタ技術2008年12月号186ページ~192ページ

74HCU04の入出力特性を測ってみた。

過去記事の
74HCU04を使ったアンプの実験
74HCU04を使った発振回路の実験
で74HCU04を使いましたが、今回は入出力特性を調べてみました。

VCC=5V、入力は0V~5Vの三角波で周波数は10KHzとし、入力と出力をアナログディスカバリー2でXY表示してみました。
入力 9pin 出力 8pin としました、他のpinまでは調べてません。

手持ちにはこれだけしかなかったのですが使ったのは
MM74HCU04(かなり古い)
74HCU04(メーカー不明、表面にJAPANと見えますが)
それとついでにMC14069UB(これも古い)
HCU04_14069.jpg

MM74HCU04(クリックで拡大)
MM74HCU04.png

74HCU04(クリックで拡大)
74HCU04.png

MC14069UB(クリックで拡大)
ヒステリシス?
MC14069.png

MC14069UB 入力1KHz(クリックで拡大)
MC14069_1KHz.png

HCU04のリニアな動作は入力1.5V~3.5Vぐらいまででしょうか。
元々デジタルICをアナログ動作させるので特性がばらついてるのに文句は言えません。メーカーによっても違いがあるのも仕方ないです。

おまけで調べてみたMC14069UBはリニアな範囲が1V~4Vと広いのですが、VCC=5Vで使ったためか周波数特性は良くありません。
VCCは18Vまで上げられるので、そうすれば改善されるとは思います。

トランジスタカーブトレーサの実験(6)クロックの変更

カーブトレーサテスト基板20201227

カーブトレーサ18
クロックをPSoC1から以前作ったHCU04三角波オシレータに変更。それに伴い若干の定数変更。
発振周波数を半固定抵抗で可変にしてみました。回路の定数で105Hz~1.1KHzまで可変できます。
あまり低くしすぎるとアナログオシロではフリッカが発生します。
約700Hzにしておきました。10クロックで一周期なのでリフレッシュレートは70Hzとなります。
Analog Discovery 2では低くても大丈夫です。

これにて一旦終了とします。

コレクタ電圧電流_XY表示
青:コレクタ電圧
緑:コレクタ電流(100Ωの両端電圧)
これをXY表示にすると右のようなグラフになります。

トランジスタカーブトレーサの実験(5) J-FET測定追加

バイポーラトランジスタのベース電流駆動を定電流回路に変更。これでVBE補償は不要になります(なるはずです)
LT1167データシート16ページにある電圧電流変換回路を試してみました。オペアンプを使えば同等の回路が出来ますが、簡単なのと手持ちにあったので使ってみました。
LT1167電圧電流コンバータ

回路図です。(クリックで拡大)
U7/U8周りが定電流回路です。
ベースのダイオード接続は保護用でトランジスタ技術2015年10月号p105 hFEトランジスタ・テスタの記事を参考にしました。
カーブトレーサ17

2SK30などのJ-FETを測定できるように回路を追加しました。
SW1とSW2は連動したいのですが、手持ちにありません。切り替えには注意が必要です。
U4a出力は、DIP-SW4の設定によりますが、0V~-12Vまで0.8Vステップで変化するのでR16とR17で1/4にして0.2VステップにしてJ-FETのゲートに入れます。
バイポーラ/J-FETの切り替えはゼロプレッシャーソケットの位置によって変えるようにしました。
写真手前がバイポーラ用、奥がJ-FET用です。写真ではわかりやすいようにどちらも入れてますが、実際には片方のみです。
ゼロプレッシャーソケット_バイポーラ_JFET

手持ちの2SK30A-GR(クリックで拡大)
X軸はドレイン電圧。
Y軸はドレイン電流です、100Ω両端の電圧なので、100mVが1mAとなります。
グラフ中に記入しているのはゲート電圧です。
2SK30A_GR.png
2SK30Aのデータシートによると2SK30A-GRのIDSS(ゲート電圧0Vのドレイン電流)は2.60mA~6.50mAですので範囲内に入っています。

2SK30A-Y(クリックで拡大)
2SK30A_Y.png
データシートでは2SK30A-YのIDSSは1.20mA~3.00mAですからこれも範囲内。

トランジスタインバータ

先の回路では2N7000を使ったインバータを使いましたが、当初はバイポーラトランジスタを検討してました。
少数キャリア蓄積効果によってターンオフが遅れるということは知ってましたが、どの程度影響があるのかは不明です。
そこで下図の回路でR1~R3やCの値を変えて調べてみました。
トランジスタインバータ

入力は100KHzの矩形波。上が入力、下が出力。
クリックで拡大します。

(1) R1=10KΩ、R2 無し、R3=4.7KΩ、C 無し
R1_10K_R2_none_R3_4K7_C_none.png
入力オフから出力オンまでのディレイは2.9μS

(2) R1=10KΩ、R2=10KΩ、R3=4.7KΩ、C 無し
プルダウン抵抗を入れた場合
R1_10K_R2_10K_R3_4K7_C_none.png
ディレイは2μS

(3) R1=10KΩ、R2=10KΩ、R3=4.7KΩ、C=82pF
スピードアップコンデンサを入れた場合(82pFはたまたま手持ちにあったからです)
R1_10K_R2_10K_R3_4K7_C_82p.png
ディレイは0.8μS

(4) R1=10KΩ、R2=10KΩ、R3=2.2KΩ、C=82pF
コレクタ抵抗を小さくした場合。
R1_10K_R2_10K_R3_2K3_C_82p.png
ディレイは0.7μS

(5) 2N7000を使った場合。.
回路図は省略します。ドレイン抵抗4.7KΩ、ゲート抵抗100Ω。
2N7000_R_4K7.png
ディレイは0.3μS

実際の回路ではクロック1KHzで使うのですが、以上の結果から2N7000を使うことにしました。

トランジスタカーブトレーサの実験(4)

トランジスタの交換に便利なようにTEXTOOLのゼロプレッシャーソケットを買いました。
デジットで1020円でした、でも秋月で14pinのが120円で売ってるのを後で知りました。
(クリックで拡大)
カーブトレーサテスト基板20201207

恥ずかしながらの回路図(クリックで拡大)
各 IC のパスコンは省略してあります、上の写真の実験回路にはこの回路図にない部品があります、試行錯誤しましたので。
間違いがあるかもしれません、念のため。
カーブトレーサ14回路図

以下、自分の覚書として回路の説明を書いておきます、数年後に見たら何やってるか分からなくなってるかもしれませんから。

大雑把に二つの回路に分かれてます。
コレクタ電圧をスイープさせる回路、ベース電流をステップ状に変化させる回路、

●コレクタ電圧をスイープさせる回路。
コレクタ電圧はのこぎり波ではなく正弦波でスイープさせます。0Vからスイープさせたかったので、-cos(x)+1 でスイープします。
これには以前作ったPSoC1スポットオシレータを使いました、回路図のU1 です。
実は以前に作ったHCU04 三角波発振回路でもよかったのですが、せっかく久しぶりに作ったPSoC1スポットオシレータの顔を立ててやりたかったのです(汗)。
0Vからスイングさせるために U4d でレベルシフトします、ついでに階段状のPSoC1スポットオシレータ出力を平滑化するためのフィルタを入れてます。
U4c はPNPとNPN切り替えのため。
Q1 Q2 で電流ブーストしたアンプでコレクタをスイープします。
なおこの回路の電流ブーストだとクロスオーバーひずみが出ますが、ゼロボルトを跨ぐことはないので問題ありません。

●ベース電流をステップ状に変化させる回路
U1のpin1からは矩形波が出てます、それを10進カウンタに入れ、DA変換してベース電流をステップ状に変化させます、10μAステップとします。なお2N7000によるインバータが入ってますが、コレクタ電圧を0Vからスイープさせるために位相反転が必要だったので入れてあります。実験中に気付きました。
これでベース電流は0μA~90μAまで変化しますが、ベース電流0μAは必要ないだろう、それより10μA~100μAとしたほうがいいと思いつきました。
あれこれ考えた結果 4bit binary full adder 74HC283 を使いました。
2進4桁の加算をする IC です、カスケード接続すれば桁数を増やせ、そのための Carry In入力、Carry Out出力があります。
10進カウンタ出力を片方の入力に入れ、もう片方に 1 をセットすると出力は 1~10 となりベース電流は 10μA~100μA となります。
単に 1 をセットするだけでは面白くないので Dipスイッチで 0~7 までセットできるようにしました。
ただし 7 をセットすると出力は最大で 16 になり 5ビットになってしまいます、そこまで必要ないだろうと思って設計を進めましたが、後になってどうせやるなら 4ビットフルに使えばベース電流を 100μA~200μA といった設定も可能だと気付きました。でも今回は見送ります。
DA変換はR-2Rラダーとしました、ここでは以前にヤフオクで手に入れた 8bit R-2Rラダー ベックマン GBLA8-103 を使いました。4ビットしか使ってないのでちょっともったいないですが。
Dipスイッチの設定を 6 としたときHC283の最大出力は 15 となります、その時に U4a の出力が -12V になるように R12 を決めました。
したがって 1ステップ 0.8V となりベース電流ステップを 10μA としたいので R15 は 80KΩとなります。
U4b はPNPとNPN切り替えのため。
VBEの補正が必要なのでR11を入れてあります。(計算方法は省略)
VBEはベース電流や温度によっても変化するので当初は定電流回路を試したのですが、訳の分からない問題が起こって今棚上げ中です。
データシートより引用、クリックで拡大)
2SC1815VBE.png

コレクタ電流はR10(100Ω)の両端電圧を測ります。これには計装アンプLT1167 を使いました、オペアンプで差動増幅回路を作ればいいんですが、手持ちにあったので使ってみました。

J-FET や MOS-FET でも使えるようにもしてみたいです。


トランジスタカーブトレーサの実験(3)

回路がなかなか決まらないんですが、とりあえずそれらしい動きをするようになりました。
(クリックで拡大)
カーブトレーサテスト基板20201206

2SA1015GR
ベース電流は10μAステップ
X軸 コレクタ電圧
Y軸 コレクタ抵抗100Ωの両端電圧ですので1Vは10mAとなります。
(クリックで拡大)
2SA1015.png

2SC1815GR(クリックで拡大)
2SC1815GR.png
hFEは300程度と計算できます。

トランジスタカーブトレーサの実験(2)

昨日(2020/12/02)の記事に間違いがあったので削除し、再アップします。

試作回路、ベースを定電流駆動するのををやめ、ベースに抵抗を直列に繋いで電圧を階段状に変化させることにしました。
VBE(約0.6V)の補正が必要になります。
カーブトレーサテスト基板20201203

2SA1015GRでテスト。
2SA1015_2.jpg
ベース電流は10μAステップ。
X軸は2V/div
Y軸は0.5V/div コレクタ抵抗100Ωの両端電圧なので 5mA/div となります。
hFEは250程度となります。
アナログディスカバリーで再度測定する予定。


トランジスタカーブトレーサの実験

ある程度組み上げた。
カーブトレーサテスト基板

XY表示しただけでトランジスタにはまだ繋いでいない。
Analog Discovery 2 での表示。
カーブトレーサのテスト

アナログオシロでの表示。
カーブトレーサテストアナログオシロ

X軸は先の記事にあるPSoCスポットオシレータの正弦波を使ってみたが、フィルタをまだ入れていないので正弦波と言っても階段状なのでこのようなトレースになってしまう。

今日はここまで。

 | HOME |  古い日記に行く »

文字サイズの変更

プロフィール

edy

最新記事一覧(サムネイル画像付き)

オタマトーンを買ってみた(1) 2021/07/16
DDSの基礎実験(1) 2020/12/30
74HCU04の入出力特性を測ってみた。 2020/12/27
トランジスタカーブトレーサの実験(6)クロックの変更 2020/12/27
トランジスタカーブトレーサの実験(5) J-FET測定追加 2020/12/13
トランジスタインバータ 2020/12/10
トランジスタカーブトレーサの実験(4) 2020/12/08
トランジスタカーブトレーサの実験(3) 2020/12/06
トランジスタカーブトレーサの実験(2) 2020/12/03
トランジスタカーブトレーサの実験 2020/11/26

全記事表示リンク

全ての記事を表示する

リンク

このブログをリンクに追加する

月別アーカイブ

07  12  11  10  09  07  05  04  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  03  02  12  11  10  09  07  05  04  03  04  03  01  12  11  10  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  04  02  01  12  10  09  08  07  06  05  04  03  02  01  12  11  10  09  08  07  06  05  03  02  01  12  11  10  09  08  07  06  05  04  03  02  01  12  10  09  08  07  06  05  04  03 

カテゴリ

プログラミング (0)
freescale (1)
AVR (3)
テルミン (16)
緊急警報放送 (3)
78K (1)
PSoC (297)
地上デジタル放送 (2)
電子工作 (506)
HX711 (2)
ACS712 (6)
DDS (3)
数学 (6)
パソコン (16)
PLC (14)
未分類 (43)
ブログ関係 (16)
スカイプ (36)
ロボット (1)
LTSpice (8)
OCXO (0)
arduino (35)
maxima (1)
フランクリン発振回路 (3)
GPS (3)
DTMF (1)
Linux (1)
KOMAINO (7)
Android (1)
obniz (7)
M5Stack (15)
M5StickC (0)
Analog Discovery (1)
レジン (8)
Wio Terminal (1)

タグリスト

最近のコメント

最近のトラックバック

メールフォーム

名前:
メール:
件名:
本文:

検索フォーム

アクセス

RSSリンクの表示

ブログリンク

Template by たけやん