迷走の果て・Tiny Objects

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

AD9833 DDSモジュールを試す(13) 現状

今現在の回路です。念のため、間違いがないことを保証しません。

(↓クリックで拡大)
AD9833Signal_Generator3_20180602144550ca4.png

スイッチ付きのロータリーエンコーダを二つ使っています。
・出力周波数変更と出力周波数丸めスイッチ。
・ステップ周波数変更と出力周波数をステップ周波数と同じにするスイッチ。

回路図上には出力波形切り替えスイッチもあるが、まだつけていません、ちょっと問題があるので。
正弦波、三角波出力が300mVp-p程なのに対して、方形波出力は4Vp-p程と一桁違ってます。
例えばアンプの測定中にうっかり矩形波出力なんかにしたらえらいことになりそうです。

回路図上のスイッチの名前の付け方にも問題があります。まぁ本人が分かっていればそれでいいんです。

出力アンプをつけたいところです。部品は集めたのですが、ここしばらくの気温の乱高下に体調がおかしくなってしまいました。
歳ですねぇ。

続きを読む »

USBチェッカーを改造

アマゾンで買ったUSBチェッカーですが、まだ数日しか経っていないのに接触不良を起こしだしました。
電流検出抵抗は50mΩですから0.5A流すと単純計算で25mVの電圧ドロップ、実際には接触抵抗もあるのでもっと落ちるでしょうが、0.2V以上も落ちては話になりません。コネクタ部分を触ると電圧がふらつくし・・・。
モバイルバッテリーの試験で頻繁に抜き差ししたのがよくなかったのか?それにしても早すぎます。

USBチェッカー改造表頭にきたのでバラして使ってないUSBケーブルを切断して半田付け、ホットボンドと結束バンドで固定しました。

使ったUSBケーブルの端子は金色をしてます、金メッキでしょう。

これで0.5A流して0.1V程度の電圧ドロップとなりました。


USBチェッカー改造裏

ダイソーの500円モバイルバッテリー

ダイソーの500円(税別)モバイルバッテリーを買ってみました。

右側のは二年ほど前に買ったパナソニックのモバイルバッテリーです。LED付きルーペやちょっとした実験に使っていたのですが、最近になってスマホを買ったりUSB扇風機を買ったりしたので一個では足りず、500円(税別)と安いダイソーのを買いました。
モバイルバッテリー2種

早速性能を調べてみようと思いましたが、既にラジオペンチさんが詳しく調べられています。
ダイソーの500円モバイルバッテリー (回路調査)
ダイソーの500円モバイルバッテリー (特性測定)
ダイソーの500円モバイルバッテリー (リップル対策改造)

私の出る幕では無いと思いましたが、自分なりにやってみました。

測定用基板(←クリックで拡大・・・するほどのことでありませんが)
先ずは簡単な実験基板を作りました。右側の端子に抵抗や電解コンデンサをはさんでオシロで波形を見ようというわけです。
実験中はラジオペンチさんの記事に倣って47μFの電解コンデンサをはさんだままにしました。


ケーブルここでちょっと問題になったのがUSB電源ケーブル。
上のは数年前に多分日本橋の共立電子で買ったケーブル。
下のは数週間ほど前に自作したケーブル。自作ケーブルのほうが電圧ドロップが少ないのです、約0.5A流して数十mVほど違いました。実験は自作ケーブルで行いました。


測定の様子こんな感じで実験しました。
USB電圧・電流チェッカーはアマゾンで買った安物です。
これだけ安いと自作する気が失せます、性能もそこそこですし。


以下は負荷を変えてのオシロ画面です。(クリックで拡大)
ダイソー10Ω_47μF

ダイソー100Ω_47μF

ダイソー200Ω_47μF負荷が軽くなるとリプルが大きくなります。


パナソニック10Ω_47μFパナソニックのモバイルバッテリーの場合。
5mVp-pほどのノイズ。負荷を変えても変わりなし、さすがです。
電源スイッチもついており電子回路の実験に安心して使えます。


ダイソーのモバイルバッテリーがダメと言うつもりはありません。スマホの充電やLEDランプに使うには問題ありません。
要は使い分けです。



AD9833 DDSモジュールを試す(12) デバッグ

自作したAD9833シグナルジェネレーターはロータリーエンコーダによって出力周波数を変えます。
ロータリーエンコーダをゆっくり回している時は問題ないのですが、勢いよく回すと表示周波数と周波数カウンタで測定した周波数が一致しなくなるという大問題があることがわかりました。
基板むき出しのままで実験している時には気付きませんでした。

ロータリーエンコーダ入力は割り込みによって処理しています。ここら辺に問題がありそうです。

スケッチはAD9833 Waveform Generatorのを一部修正して使わせてもらってます。
スケッチを調べなおしたところ loop() 内に問題があることがわかりました。
オリジナルのloop() の最後は以下のようになってます。(コメントは省略しました)

if (freq != freqOld) {
AD9833setFrequency(freq, waveType);
updateDisplay();
freqOld = freq;
}


freq はグローバル変数でロータリーエンコーダ割り込みによって値が変わります。
AD9833setFrequency(freq, waveType) によって AD9833 の周波数を変え、
updateDisplay() によって表示を変えます。(updateDisplay() は内部で freq を見ています)
AD9833setFrequency(freq, waveType) の処理中にロータリーエンコーダ割り込みで freq の値が変わってしまうと
次の updateDisplay() で表示が一致しなくなることになります。

そこで次のように一時変数 temp を入れて対処しました。そのため updateDisplay() は引数を渡せるように書き換えました。

long temp = freq;
if (temp != freqOld) {
AD9833setFrequency(temp, waveType);
updateDisplay(temp);
freqOld = temp;
}


これで出力周波数と表示周波数の不一致という問題はなくなりました。

割り込みは苦手です、昔も今も。

充電式ツインファンをアマゾンで買いました。

仕事中に欲しいので買ってみました。充電式のツインファン

ビジネス街にある某スーパーに勤めているのですが、昼のとっても忙しい時間にはレジの補助に入ることがあります。
私が担当するのは出入口一番近くのレジ、お昼はお客様がひっきりなしに来店されるので出入口はほぼ開いたままになります。
これからの時期は熱気が流れこんでとても暑いのです。そこでレジに置ける小さな扇風機を探していました。
ネットで探せばいろいろあるのですが、ファンがひとつだけがほとんど、二人でレジ作業をするので私一人涼しい思いをするわけにはいきません。

レジ用扇風機買ったままではレジ作業では使いにくいので改造しました。
かなり昔に買って使わなくなっていたgootのルーペ付き作業台ST-62に結束バンドで縛り付けました、ルーペは外してます。
ちなみにST-62は古いのでもう売ってません、新型はST-92です。

各ファンはある程度角度を変えられます。
これでかなり快適になりました。


電池を内蔵しておりUSBケーブルで充電できます。
風量は弱・中・強の三段階切り替え式です。
スイッチを二秒ほど長押しすると弱でファンが回り出します。もう一度押す(この場合は長押しは必要ありません)と中、更にもう一回押すと強、もう一度押して停止です。
面白いのはスイッチをダブルクリックすると左側が周り、次にダブルクリックで右側が周り、次のダブルクリックで停止します。

問題は耐久性ですが、買ったばかりなのでまだわかりません。
レジ補助は長くても一時間以内なのでまあ大丈夫でしょうが、しばらく様子見です。

AD9833 DDSモジュールを試す(11) どうにかケースに納めた

百均のケースにどうにか納めました。
右側の白いのはダイソーの500円(税別)モバイルバッテリーです。
AD9833SG初号機

AD9833SG初号機裏出力はRCAです。
BNCにしたいところですが、まだアンプを実装しておらず、これからあれこれ試してから金属ケースで作り直すつもりですので、これでいいでしょう。


あれこれ試していると早速バグ発見。
さて楽しいデバッグの始まりです^^;;

AD9833 DDSモジュールを試す(10) ロータリーエンコーダの変更

先の記事の続きです。
スケッチに手を入れたので多少ですが操作性がよくなりました。
百均でスチロール樹脂製のクリアケース見つけたのでこれに組み込んでみることにしました。外寸 155×101×54mm。
これならLCDの角穴を開けずにすみますから^^;;
ついでにロータリーエンコーダを変更することにしました。
ロータリーエンコーダ二つとプッシュスイッチ二つが必要なのですが、以前にデジットでスイッチ付きのロータリーエンコーダを買っていたので、これを使うことにしました。
ところが念のため試してみると、2クリックごとに設定値がアップ/ダウンするようになってしまいました。今までは1クリックごとだったのですが。

デジットスイッチ付きロータリーエンコーダ今までのロータリーエンコーダは秋月のこれ
クリック数:24
パルス数:24
です。

デジットのロータリーエンコーダの説明書を見ると
デテントポジション:30step
15パルス/1回転
となっています。1回転のパルス数がデテントポジションの半分です。

このままではかえって使いにくくなります。

どうしたものかとあれこれやっているうちに「パチッ」っと音がしてArduino NANO互換機とAD9833DDSモジュールのLEDが一瞬消えてしまいました、どうやらVCCとGNDをショートさせてしまったようです。
LCDの表示が消えたままです、輝度調整ボリュームをまわし切るとかろうじて表示されてます。
この状態でも一応スケッチの書き込みはできるし、DDS出力も正常です。

まさかと思って調べるとVCCが約3.3Vしかありません。どうやらNANO互換機の電源周りをおかしくしたようです。
でも約3.3Vはどこから?
Arduino NANO の回路図を読んでもどこをどうしてしまったのかわかりません。
もっとも私のはNANO互換機でUSBシリアルチップがFT232ではなくCH340ですが。
リセッタブルフューズがおかしくなったのか?
今のところ外部から5V電源をつないで動作しているとはいえ、交換したほうがよさそうですね。

さて先の2クリック問題ですが。
ロータリーエンコーダを使うためにRotary Encoder Arduino Libraryを使っているのですが、よく読むと解決方法が載ってました。
引用します。

It's also possible to use 'half-step' mode. This just emits an event at both the 0-0 and 1-1 positions. This might be useful for some encoders where you want to detect all positions. In rotary.h, uncomment #define HALF_STEP to enable half-step mode.


書いてあるとおりに rotary.h の #define HALF_STEP をアンコメントすると1クリックごとに設定値がアップ/ダウンするようになりました。

思わぬ回り道をしてしまいました、一晩棒に振りました(涙

久々のArduinoなのにOld Bootloader??

交流電圧計の測定に使っている発振器がどうにも不安定です。
昔々に格安で手に入れた発振モジュールを使っているのですが、一番データの欲しい数100KHzあたりが不安定。
ここ数日あれこれと手を入れてかなり改善はされましたが、それよりも周波数を読むのに別に周波数カウンタが必要で、これが面倒と言うか実験中机の上がごちゃごちゃになるのです。

そこで以前実験したままで放置していた(毎度のことですが^^;;)AD9833を使ったDDSオシレーターを引っ張り出してきました。
Arduino NANO互換機で制御してます。
ちなみに写真右上のピンクのはパナソニックのモバイルバッテリーです。数年前アマゾンで購入、他の色もあったのですが、買った時点ではこれが一番安かった。

Arduino NANO互換機をブレッドボードからユニバーサル基板に乗せ換え、Arduino IDEを1.8.5にバージョンアップし、昔のスケッチを書き込もうとしたのですが、書き込めません。


oldBootloader.jpgいつの間にやらツールメニューにATmega328P(Old Bootloader)という選択肢が追加されてました。
これを選ぶと書き込みができました。
でもどう違うんでしょうか?

スケッチにまずいところがあり、使い勝手がイマイチなのでこれから改造です。
出力は100mVrmsですのでアンプも入れたいところです。
ついでに今度こそちゃんとしたケースに入れようと思ってます。

簡易交流電圧計の実験(7)アナログパネルメーターを付けてみる(2)アンプ追加

これ以上ダイオードブリッジ・アナログメーター式ではやらないと書いたのですが、せっかくなのでもう少し続けます。

回路を変更、U1bにゲインを持たせ、10mVrms入力でフルスケール(100μA)になるようにしてみました。

ACmeter5.png(←クリックで拡大)
U1bのゲインは15.7倍で微調整が必要なのでしょうが、今回たまたま10mVrms入力でほぼフルスケールになりましたので省略しました。

U1b出力に-50mVほどのオフセットが出ました。LME49720のバイアス電流は10nA(typ)です。
バイアス電流の影響はU1b・5pinにある220KΩが支配的で、計算上は220KΩ*10nA*15.7=34mVとなります。
オフセット電圧は0.1mV(typ)ですので0.1mV*15.7=1.57mV、バイアス電流によるオフセットと合わせて約36mVとなりオーダーとしては合ってます。
直流カットのためC2を追加しました。10μFでは小さすぎますが、手持ちに無極性のキャパシタがこれしかなかったためです。いずれ大きくします。
R4を3KΩから1KΩにしてここでもゲインを稼ぎます。


LME49720_10mVrms.png(←クリックで拡大)
10mVrms入力と5mVrms入力での周波数特性です。

どのぐらいまでを”フラット”とみなすかですが、5%落ち(-0.44dB)とすれば400KHzぐらいまではありそうです。


デジタルメーターと違ってアナログメーターは読み取りに注意が必要で、正面から読むようにします。
置き方にも注意が必要で、今回のアナログパネルメーターは鉛直にします。

日置100μA印写真の赤丸で囲んでいるのが置き方の記号です。
詳しいことは次のサイトにあります。

計器の種類と計器に表示されている記号

アナログパネルメーターの置き方
(上記サイトから引用)


でも机の上に鉛直においたメーターを正面から読むのは結構やっかいです、上から見下ろすことになるので。
目の高さにまで上げるのも面倒、そこで45度に傾けた鏡をメーターに前において読み取りました。反転するのでかえって読むのが大変でしたが。
できるだけ正確にと思ったからですが、そこまで気にせずに水平に置いても良かったのかな。

さてここまで来たら、入力部にアッテネーターをつけて10mV、100mV、1V、10Vの4レンジ切り替えぐらいできるようにしたいですね。

簡易交流電圧計の実験(6)アナログパネルメーターを付けてみる。

手持ちに100μAのアナログパネルメーターがあったのでつけてみました。

日置100μA(←クリックで拡大)
かなり古いです、おそらくは30年以上前に買ったものです。
何のために買ったのか記憶にありませんが、アマチュア無線をやってたころにディップメーターでも作ろうとしたのかもしれません。

日置製です、日置は創業80年以上になるんですね。

ちなみに内部抵抗は1KΩでした。


実験の様子(←クリックで拡大)
恥ずかしながらの実験の様子。
メーターの上の交流電圧計基板は9V電池二個で動かしてます。



一応回路図です。以前の記事とほとんど同じです。R3は値の変更が必要なはずですが、とりあえずこのまま。
ACmeter4.png

1400Hz電流計フルスケール(←クリックで拡大)
メーターがフルスケール(100μA)になるように入力を調整した時の、入力とU1aの1pin出力波形です。周波数は1.4KHz。
このときの入力は1.3Vp-pと読めますので0.46Vrmsとなります。
入力100mVrmsの時にフルスケールにするにはR3の値を小さくする必要がありますが、まだやってません。

頭の丸い方形波みたいなのが1pin出力ですが、一気に1Vほどジャンプしてます。
これはショットキーバリアダイオードの順方向電圧降下の4倍です。



500KHz電流計フルスケール(←クリックで拡大)
同じく500KHzの時の波形、ピンボケなのはカメラマンがヘボだからです(汗)
このぐらいの周波数になると位相遅れが見えます。


さて気になる周波数特性ですが、1.4KHzで100μAになるように入力レベルを調整後、周波数を変えてみましたが800KHz 400KHz位までほぼフラットで、1.3MHzで94μAとなりました。
あれこれ入力レベルを変えて調べてみましたが、前の実験にあった100KHz位での持ち上がりはありませんでした。見つけられなかっただけかもしれません。

急ぎの実験なのでちゃんと特性グラフを取ってませんが、周波数特性は前よりよくなっているようです。
と言うことは、前の実験に何か問題があったということでしょう。

出力回路
前の回路ではデジタルテスターを直接R4に繋ぐと影響が出たので、R5とR6をいれて抑えるようにしたのですが、まだ不足だったのかも。

もうちょっと続けます。



【追記】
↑の回路でR5,R6にそれぞれ470Kオームを直列に追加して再測定しました。
100KHzぐらいで見られた特性の盛り上がりはなくなったようです。
最初からこれぐらいにしておけばよかった。
ただ合計1.14MΩの抵抗とデジタルテスターの入力抵抗(多分10MΩ)で分圧されるので表示は小さくなってしまいます。
新たに入力0.1Vp-p(35mVrms)で測定、100KHzぐらいまではほぼフラット。

LME49720_抵抗追加

今のところ入力部は単なるボルテージフォロワですが、ゲインを持たせれば10mVrms入力でも測定可能になるかと思います。
ただ実験ですのでこれ以上この回路でする気はありません。
ダイオード二つの別回路での実験を予定してます。まぁ予定は未定で決定にあらず、ですが。

« 新しい日記に行く  | HOME |  古い日記に行く »

文字サイズの変更

プロフィール

edy

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

obniz(4) obnizをブレッドボードに載せる・ブロックプログラミングでLM35を使ってみる 2018/07/21
obniz(3) ブロックプログラミング 2018/07/15
obniz(2) obniz ID とアクセストークン発行について 2018/07/14
obniz 2018/07/13
メイカーズバザール大阪 2018/07/10
AliExpressでお買い物:PogoPin 2018/07/08
ダイソー ペンダントライト・Arduino Pro Miniを組み込む 2018/06/24
ダイソー ペンダントライト・Arduino Pro Miniを組み込む(予定) 2018/06/17
ダイソー ペンダントライト 2018/06/17
トロイダルコアFT37-61を試す(1) 2018/06/10

全記事表示リンク

全ての記事を表示する

リンク

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

月別アーカイブ

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  02  01 

カテゴリ

プログラミング (0)
freescale (1)
AVR (3)
テルミン (16)
緊急警報放送 (3)
78K (1)
PSoC (295)
地上デジタル放送 (2)
電子工作 (456)
HX711 (2)
ACS712 (6)
DDS (3)
数学 (6)
パソコン (12)
PLC (14)
未分類 (40)
ブログ関係 (20)
スカイプ (37)
ロボット (1)
LTSpice (8)
OCXO (0)
arduino (33)
maxima (1)
フランクリン発振回路 (3)
GPS (3)
DTMF (1)
Linux (1)
KOMAINO (7)
Android (1)
obniz (4)

タグリスト

最近のコメント

最近のトラックバック

メールフォーム

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

検索フォーム

アクセス

RSSリンクの表示

ブログリンク

FC2Ad

まとめ

Template by たけやん