迷走の果て・Tiny Objects

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

ダイソー ペンダントライト・Arduino Pro Miniを組み込む(予定)

ダイソーペンダントライトで電飾するにはコントローラーが必要ですが、Arudino Pro Miniがうまい具合に収まります。
写っているのは手持ちのクロック16MHz版ですが、スピードは必要ないでしょうから8MHz版で試すつもりです。
AliExpressで200円前後で手に入ります。
LEDの制御にはトランジスタかMOS FETを使えばいいでしょう。
ペンダントライト_ArduinoProMini

問題なのはスケッチの書き込みです。このままではヘッダピンをつけることができません。
一つの方法としてスルーホール用テストワイヤというのが使えそうです。
調べたところ
秋月のスルーホール用テストワイヤTP-200
サンハヤトのスルーホール用テストワイヤTTW-200
の二つがあります。
ただアマゾンのレビューでは何度も抜き差しすると使えなくなるということです。
JO3GBDさんのブログを読むと抜き差しを繰り返すとスルーホールが傷んでしまうようです。
とはいえ便利そうなので試してみるつもりです。
スポンサーサイト

トロイダルコアFT37-61を試す(1)

ヤフオクでトロイダルコアFT37-61を10個手に入れました。

AD9833を使ったファンクションジェネレーターの出力LPFを設計し直してます。
LCフィルタなのですが、キャパシタはともかくインダクタに適切なものをなかなか見つけられません。
だったら自分で巻いてしまえ、と思った次第です、今までやったことが無いのですが。

インダクタンスは巻き数の二乗に比例するということだけは知ってます。

FT37-61はAL値:55.3、帯域:0.1-10MHzとなってます、今回の目的はカットオフ8MHz位のLPFなので適切なのかどうかは正直わからんのですが、とりあえず巻いてみました。

インダクタ3

測定には自作のLメーターを使いました。8年ほど前にPSoC1を使って作ったものですが、ちゃんとした記録を残してなかったので回路図とプログラムが見当たりません。
自作Lメーター

FT37-61は10個あるので3回、5回、10回、15回、21回と巻いたものを用意し測定してみました。
二次関数による近似式を当てはめてみました。
近似式からAL値は56.2となりました。カタログ値は55.3ですからよく合っているといえます。
巻き数_インダクタンスグラフ

・インダクタンスは巻き数の二乗に比例するということがわかりました。
・以前に作ったLメーターがそこそこ使えるということがわかりました。

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クリックごとに設定値がアップ/ダウンするようになりました。

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

簡易交流電圧計の実験(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レンジ切り替えぐらいできるようにしたいですね。

 | HOME |  古い日記に行く »

文字サイズの変更

プロフィール

edy

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

ダイソー ペンダントライト・Arduino Pro Miniを組み込む(予定) 2018/06/17
ダイソー ペンダントライト 2018/06/17
トロイダルコアFT37-61を試す(1) 2018/06/10
AD9833 DDSモジュールを試す(13) 現状 2018/06/02
USBチェッカーを改造 2018/05/28
ダイソーの500円モバイルバッテリー 2018/05/27
AD9833 DDSモジュールを試す(12) デバッグ 2018/05/20
充電式ツインファンをアマゾンで買いました。 2018/05/19
AD9833 DDSモジュールを試す(11) どうにかケースに納めた 2018/05/15
AD9833 DDSモジュールを試す(10) ロータリーエンコーダの変更 2018/05/13

全記事表示リンク

全ての記事を表示する

リンク

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

月別アーカイブ

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)
電子工作 (453)
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)

タグリスト

最近のコメント

最近のトラックバック

メールフォーム

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

検索フォーム

アクセス

RSSリンクの表示

ブログリンク

FC2Ad

まとめ

Template by たけやん