FC2ブログ

迷走の果て・Tiny Objects

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

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ですのでアンプも入れたいところです。
ついでに今度こそちゃんとしたケースに入れようと思ってます。

 | HOME | 

文字サイズの変更

プロフィール

edy

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

ダイソー回転台をステッピングモーターで回す。(1) 2018/10/01
ダイソー:笑いながら光るかぼちゃ 2018/09/15
デジタルタイマーAPT70 2018/09/14
ハローウィンの電飾2018年版(2) 2018/09/08
ハローウィンの電飾2018年版(1) 2018/09/02
obniz(8)obnizフォーラム開設、obnizはクラウド経由のI/Oポート。 2018/08/19
obniz(6)obnizがマイナーアップデートされるらしい。 2018/08/02
obniz(5)電源ラインのリプル・LM35・LED 2018/07/29
obniz(4) obnizをブレッドボードに載せる・ブロックプログラミングでLM35を使ってみる 2018/07/21
obniz(3) ブロックプログラミング 2018/07/15

全記事表示リンク

全ての記事を表示する

リンク

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

月別アーカイブ

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

カテゴリ

プログラミング (0)
freescale (1)
AVR (3)
テルミン (16)
緊急警報放送 (3)
78K (1)
PSoC (295)
地上デジタル放送 (2)
電子工作 (461)
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 (7)

タグリスト

最近のコメント

最近のトラックバック

メールフォーム

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

検索フォーム

アクセス

RSSリンクの表示

ブログリンク

FC2Ad

まとめ

Template by たけやん