トドお父さん通信 -17ページ目

トドお父さん通信

北部九州在住 高BMI中高年のオタク趣味の活動記録

 完成した導通チェッカ

 

 トドお父さん版 導通チェッカの内部

 

みなさん、こんにちは。 トドお父さんです。

前回『【Part1】ELM-ChaNさんの回路内導通チェッカを作りました』では、ブレッドボードに回路

を組んで、ATTINY85に移植したソフトウェアで動作を確認したところまででしたね。

 

今回は、ケースへの組み込みを行いましたのでレポします。

おもちゃ病院でも、簡便な導通テスターとして使いたいと思います。

http://elm-chan.org/works/cch/report.html

 

ELM-ChaNさんの導通テスタは、電池はCR2032ボタン電池、マイコンはAVR Tiny13Aを

使って、タカチのSW-53というケースに組み込んでいます。

タカチのSW-53 外形は53x36x11mmなんですが、内径は48x31x5.9(!) mmしかありません。

(近いサイズでSW-55なら、55x40x20mmなんで、余裕で入ると思いますが)

マルツからケースを2個 買ってしまったので、やるしかないでしょう!

 

回路図はこちらになります。今回はCPUがATTINY85に変わる他は大きな変更はありません。

テストプローブ用のPH2ピンコネクタはケースに入らず、残念ながら直結としました。

 

TINY13Aは秋月で取り扱いがあり、昔は安く売っていたのですが、最近はディスコンされたこともあり最近は200円以上するようです。手持ちのTINY85に変更しています。

抵抗・コンデンサは小型実装のために、表面実装のチップタイプを使用します。

 

部品リストはこちらになります。(ATMEL STUDIOのプロジェクトに入れておきますね)

 

オリジナルはSOP8ピンを使っているようですが、手持ちのDIP 8Pを使います。

5.9mmの高さ制限があるのでソケットは使えません。プログラム保守のため横にピンを立てましょう。

 

まず、基板をケースのサイズに加工します。

秋月で売っている、フリスクサイズの基板を加工します。

厚みが0.9mmなので今回のような高さ制限の厳しい部品の実装にはピッタリです。

 

ケースと合わせてみると、すこし大きいのでプラカッターで切断します。

 

厚みが薄いので、切断は容易です。エッジのバリをやすりで削ります。

 

ここで、部品のレイアウトを検討します。

 

CR2032の電池ケースはなんとか入りそうです。

圧電スピーカの高さは絶望的に合わないです。ケースに穴を開ける作戦に変更します。

CPUもソケットは装着できないので、低高さのICピンヘッダをピン横に取り付けます。

 

ケース上に貼り付けた紙に現物合わせで穴開け図を書きました。(適当ですみませんw)

配線が終わって動作確認してから、穴を開けましょう!

 

まず部品を基板に半田付けして取り付けました。

それから、細いジュンフロン線(テフロン線)で配線していきます。
 
配線が終了しました。こちらは表の配線です。
 

こちらは裏の配線です。 できるだけ薄く配線するのが腕の見せ所?です。

 

ケースもなんとか(大汗;)加工できました。

多少穴位置がズレているのは、ご愛敬。笑って許してくださいね?

 

テストプローブは、小型テスターのものを流用しました。(ヨドバシの通販、お世話になります!)

 

テスタ側の短い方を使います。 細い錫メッキ線をつけました。

 

今回ChaNさんの作品をトレースしたATMEL STUDIOのプロジェクトはこちらのIncircujit_checker_TINY85_2.zipに置いておきますね。

 

今回ATTINY13AからATTINY85に移植した際、アッパーコンパチで問題ないと思いましたが、

ADCのレジスタの設定が一部違っていました。

 

ATTIY13AのADMUXでのREF電圧の設定

内部1.1V指定時は、REFS0=1 設定

 

ATTINY85でのADMUXレジスタのREF電圧の設定

内部1.1V指定時は、REFS1=1 設定

やっぱり、仕事じゃなくて趣味でも、サボらずにデータシートを読むことは重要ですね。

 

動作中のYoutube画像はこちらです。

 

 

動作時の電流値とスリープ時の電流値が小さいのも、ChaNさんの技術ですね。

動作時は0.4mA程度

 

スリープ時は0.1uA以下になりました。

 

これで、次回のおもちゃ病院ではドヤ顔でデモできますね!

それではみなさん、おやすみなさい。


関連記事

 

 完成した導通チェッカ

 

 トドお父さん版 導通チェッカの内部

 

みなさん、こんにちは。 トドお父さんです。

前回 ラジオペンチさんの電力計ロガーを作って以来、小型の電子ガジェットを作るのにハマりました。

今回は、電子工作界では有名な、ChaNさんの導通チェッカを作りましたのでレポしますね。

おもちゃ病院でも、簡便な導通テスターとして使えそうです。

http://elm-chan.org/works/cch/report.html

 

ChaNさんは、あのSTM32 CubeIDEのMiddleWareに組み込まれている、SD Card読み書き用の

ミドルウェア SDFatを作られた方です。(超すごい人ですね! ファームも勉強になります😃

 ChaNさんオリジナルの導通チェッカ
 

今回のELM-ChaNさんの導通テスタは、電池はCR2032ボタン電池、マイコンはAVR Tiny13Aを

使って、タカチのSW-53というケースに組み込んでいます。

タカチのSW-53 外形は53x36x11mmなんですが、内径は48x31x5.9(!) mmしかありません。

(近いサイズでSW-55なら、55x40x20mmなんで、余裕で入ると思いますが)

マルツからケースを2個 買ってしまったので、やるしかないでしょう!

 

元の回路図はこちらになります。

 

TINY13Aは秋月で取り扱いがあり、昔は安く売っていたのですが、最近はディスコンされたこともあり最近は200円以上するようです。

 オリジナルの実装基板

 

ここはアッパーコンパチ(勝手に解釈)のATTINY85に置き換えましょう。

最近はATTINY202/402 などのNew ATTINY 0/1シリーズを使うことが増えたので、TINY85が余って

いるのも大人の事情です。

 

オリジナルはSOP8ピンを使っているようですが、手持ちのDIP 8Pを使います。

5.9mmの高さ制限があるのでソケットは使えません。プログラムのため横に低いピンを立てましょう。

 

ダウンロードしたファイルはmakefileとcc.cがあり、WINAVRでコマンドラインで開発する方式の

ようですが、後で説明するようにAtmel Studioでも開いて問題なく開発できました。

 

まずは、ブレッドボードを組んで動作確認です。

オリジナルの回路通り、CPUのみTINY85で回路を組みます。

電源は単三電池2本で3Vです。

 

ファームウエアはTINY85で新プロジェクトを組んだあとに、main.cにcc.cの内容を全コピします。

Build → Rebuild Solutionで作成したプロジェクトのDebugフォルダにHexファイルができます。

 

 

 

書き込みは自分は中華製TL866IIパラレルプログラマを使用しましたが、ISP MK2を使われる場合は、

こちらを参考にしてください。

 

この場合Fuseを書き込むためには、AVRDudeまたはAVRDudessアプリが別途必要になります。

パラレルプログラマを使う場合は、高電圧プログラムを行いますので一緒にFUSEも書き込めます。

 

FUSEの変更内容

ChaNさんのブログ記事にあるように低消費電流化のため、クロックを128kHzで使っています。

データシートを見ると、128kHzのクロックはWDT(ウォッチドッグタイマー)のクロックをメインクロックとして設定すればいいとのこと。

そのためにはFUSE(L Byte)を書き換える必要があります。

データシートを参照してわかるように、CKSEL3~0を 0100にすればいいわけです。

 

 

また、工場出荷時にデフォールトでクロックが1/8(CKDEV8=1)されているので、このビットも

無効にする必要があります。(このためデフォで内部RCクロックが8MHzの場合、1MHzになります)

 

これらは、TL866-2プログラマの設定で確認してみましょう。

これがデフォールトのFUSE設定です。LByte=62h、HByte=DFh

 

 

変更後のFUSE設定は、LByte=E4h 、HByte=DFh(変わらず)になります。

 
つづいて、さきほど作成したHEXファイルをTL866-2にロードします。
これで、ZIFソケットにTINY85をセットしてDevice -> Program で書き込みます。
 
これで、チェックしてみましょう。
無事、音がでるようなりました! へなちょこな音?なのは、ブレッドボードの接触抵抗でしょうか?
後日追記: 音がおかしいのは、元のATTINY13Aと今回使った上位版のATTINY85では、ADコンバータ
 のレジスタの設定が違っていたためでした。 ADCのリファレンス電圧に内部1.1Vを設定するには、
 TINY13AはADMUX REFS0=1 
 TINY85はADMUX REFS1=1 
 の違いがあり、プログラムを修正する必要があります。(すでに修正済みです)
 

 

AVRDUDESSでFUSEとプログラムを書き込むの設定はこちらです。

 

FUSE書き込みトラブル原因と対策

ネットでみると、FUSE書き込みでいろいろとトラブルが発生しているようです。

自分の場合は、FUSEで128kHzクロックを選択後に、ATMEL STUDIO + ISPmk2でプログラム

の書き込みができなくなってしまいました。

 

いろいろとググってみると、どうもISPの書き込みクロックが125KHzなのにクロックが128kHzのため

書き込みができなくなるとのことです。

AVRDUDESSでは対応が困難ですが、ATMEL STUDIOではISPのクロックを落とすことで書き込みが

できるようになりました。

Project -> Property(一番下)で左のToolを選び、AVRISPmk2を選択し、ISP Clockをデフォールトの125kHzから、32.65kHzに変更します。

 

 

ここで、上のタブで Tool -> Device Programing を選び、このメニューでApply後、Readで

Devide signatuteを読みだすことができれば、デバイスとISPプログラマの接続はOKです。

この状態でプログラムもFUSEも書き込めるはずです。(自分はTL866IIプログラマを使ったので)

 

こちらのリンクを参考にしてくださいね。

 

今回ChaNさんの作品をトレースしたATMEL STUDIOのプロジェクトはIncircujit_checker_TINY85_2.zipに置いておきますね。(ADCレジスタ設定も修正済み)

 

説明が長くなってきたので、続きは次回にしますね~。

次はケーズ加工と組み込みです。

 

こうご期待 !

 

後日追記:① AVRDUDE(AVRDUDESS)でも、書き込みクロックを遅くして書き込みできました!

 AVR ISP書き込みはSPIを使っているので、SPIクロックを遅くすればデバイス書込みができます。

 AVRDUDEのパラメータに -B 32を入れれば、クロックは125kHzから30kHzになり書き込めます。

  下記のForumを参照 『SPI clock frequency in KHz = 1000/(1.5+B) 初期はB 10=100kHz)

https://www.avrfreaks.net/s/topic/a5C3l000000UaKHEA0/t153431?comment=P-137483

 

AVRDUDESSでは、右下のAdditional command lime args. に-B 32と入力します。

ご存じと思いますが、FUSE書き込みはATTINY85等のレガシーATTINYはその上のFuses & lock bits

のL, Hに値を入れてwriteタブを押して行うことができます。

 

今回の場合はFUSEの"L"設定を、出荷時の設定”0x62” から”0xE4”に書き換えます。

 

②プログラムにバグがありました。int8_t では±128しか扱えないので、SYSCLK / 760=164
 で範囲をオーバーフローしたウォーニングがでます。uint8_tに変更してくださいね。
    static const int8_t tone[] = {
  static const uint8_t tone[] = {


関連記事

 

 

前回の大型ラジコンバギーに続き、今週は近隣のおもちゃ病院で大型ラジコン ランドローバーを

お持ち帰りで修理しました。

症状は、モータから煙が出て動かんゲナです。

 

お客さんから受け取って、並べてあるおもちゃを修理できそうな分を各自が持っていくシステムですが、このDeeRCの 1/12サイズの大型ラジコン ランドローバー、だれも手を付けようとしません。

 

結局 閉院する直前になって、私が担当するようになってしまいました(悲)

先週も別のおもちゃ病院で、大型ラジコンバギーを持ち帰って修理したのに!?

 

お客さんはモータから煙が出たと言っていますが、基板が発熱して煙が出たのかもしれません。

とにかく、家に持って帰ってばらしてみましょう。

 

今回は6~8本のネジを外すだけで、前回の大型ラジコンバギーに比べて簡単に分解できました。

 

基板はボンネットの下にあります。小さなネジ1個でシャーシに固定されています。

 

モータ+ギアボックスについても、簡単に外せました。

 

4駆の機構で、ギアボックスから前輪用、後輪用の2つの回転軸が前後についています。
モータに3Vを与えて、回してみましょう。

 

おっ、3Aくらい流れます。モータはゆっくり回っていますが、言った通りモータから
煙が出てきました。(写真はあわてて電圧印加を止めたところです)
これはモータがレイヤーショート(層間でショート)しているようです。

 
ギアボックスも分解したのですが、ギアの軸を受けるところが少し割れていました。
仮説ですが、① 軸がずれて、ギアボックスのギアが重たくなる → ② モータの負荷が重たくなって
 モータが過熱する → ③ モータの巻き線がレイヤーショートして煙がでる。
といったところでしょうか ?
 
 

しかし、このモータを交換するとして、なんのモータを使っているのか変わりません。

AliExpressで探しても、見つかりません。

 

リモコンに付いているラベルを見ると、DeeRC MN99Sとモデル名が書いています。

この名前でググってみると、(DeeRC MN99S モータ) おっ amazonでパーツが出てきました!

 

残念ながらこのリンクは在庫切れですが、他のリンクを見ると部品は購入できそうです!

 

千数百円で、モータ+ギアボックスのモータAssyで購入できるので、良かったです。

500円以上費用が掛かる場合のルールで、お客さんの許可を得てから注文しました。

アマゾンの製品紹介に、モータの名前は260とあるのでRE260でしょうか?

 

幸い在庫があったので、2~3日で260モータAssy新品パーツが届きました。

 

まず、不良品と同様に無負荷状態で、安定化電源で3Vを印加して回してみます。

0.12Aしか流れません。回転も前よりかなり高速に回っています。これが正常動作品なんですね。

 

早速モータAssyを交換してみましょう。

ネジ2本で止まっているだけなので、簡単に交換できました。

 

 

この状態で、リモコンから信号を送って後輪を回転させてみます。

うん、正常に回転するようになりましたね。

時間はかかりましたが、正規部品の交換で故障の修理ができたのは良かったです。

 

費用も、そんなに高価ではなかったので、きっとお客さんも満足するでしょう。

(このラジコンは1万円以上するようです)

あとは、元通りに組み立てる作業が残っています。

 

 

シャーシを6本のネジで固定した後、ボディを固定します。

ボディはなんと、ネジ2本で止めているだけです。

ネジを外すために外した後輪を取り付けると、完成です。

 

できました! これでミッションコンプリート!

 

また、おもちゃ病院まで持って行かんばなりません。

今日もまた、持ち帰り深夜残業、大変お疲れさまでした!

 

関連記事

【おもちゃ病院】60年前の学研 ラジコン フォード マスタングの修理
【おもちゃ病院】またまたJOZENのラジコンバギーのお持ち帰り修理です(前編)
【おもちゃ病院】またまたJOZENのラジコンバギーのお持ち帰り修理です(後編)
 【おもちゃ病院】ラジコンを2台 お持ち帰りで修理しました(前編)
【おもちゃ病院】ラジコンを2台 お持ち帰りで修理しました(続編)
【おもちゃ病院】大型ラジコン DeeRC社1/12サイズ ランドローバーを修理しました
【おもちゃ病院】大型ラジコンバギーをお持ち帰りで修理しました
【おもちゃ病院】動かないトイストーリー ウッディ ラジコンの修理
【Part2 完治】預かっていたマリオカートバギー基板が動きました!
【Part1】預かっていたマリオカートバギー基板が動きました!