ページ(テスト中)

2018年1月31日水曜日

【部品】Li-ion Battery and Charger

【小型リチウム・イオン電池と充電器】
 【リチウム電池:PJ-21
 珍しく電池がテーマです。 すこし前になるのですが最近のリチウム・イオン電池の動向についてプレゼンを聞いたことがありました。そのとき希望者にサンプルの電池が配られたのです。

 小型軽量で容量の大きな電池はポータブル機器に最適です。興味があって前列で聞いていたお陰で一つもらえました。(笑) しかし問題は充電にあってそのまま放置していました。 専用の充電器は持っていないとして、ごく簡単に行なうには電流制限を掛けた安定化電源から4Vちょうどを出して充電すれば十分行けるとのお話しでした。 但し4Vちょうどで止めてしまったのでは満充電ではありません。 ちょうど4Vにとどめるなら安全サイドではありますがせっかくの容量がちょっともったいない気がしていました。 あるいは危険を承知で4V少々まで充電を進めるのか・・・。

#写真は上が手に入れたリチウム・イオン電池、下は大きさ見本の単三型乾電池。

                   ☆

 ネットの情報を探せばリチウム・イオン電池(以下、リチウム電池と略)の充電を含めた使い方は幾らでも見つかる時代になっています。 但し本質的にリチウム電池は危険を伴いますから安易に行なうのは躊躇われたのも確かです。 そんなときたまたま「充電制御基板」を頂きました。 その小さな基板について色々なことを調べるうちにリチウム電池も比較的安全に使いこなせそうなことがわかってきたのです。 以下、実際に試してみました。

リチウム電池充電基板
 最初に頂いた充電基板です。 この基板はもっぱら充電のみを行なうためのものです。TP4056と言う専用のICが使われており、充電の制御はほとんどそのICの性能に依存しています。 この基板から最大で1Aの充電電流が流せるようです。 1Aではあまり大きなリチウム電池は無理ですが我々が電子工作や小型無線機に使う程度の大きさの電池なら十分充電できそうです。(写真の基板は未分割で2連の状態です。使うときには分割しましょう)

 リチウム電池は右辺にある端子に接続しておきます。 左側にあるミニUSB端子あるいはその脇にあるプラスとマイナスの端子に5Vを与えます。 あとは通電してやれば規定の電圧まで充電が制御されて終了します。 実際に5V2Aくらい流せる充電アダプタをUSB接続してテストしてみましたが非常に簡単になおかつうまく充電できました。 充電完了後に調べたところ、基板自身が電池側から消費する電流は非常に僅かでした。従って充電が済んだ後もこの基板は電池に繋いだままでも大丈夫です。 但しこの基板には過放電をシャットアウトする機能はないので電池の使い終わりは自己管理する必要があります。 あまり放電し過ぎてしまうと電池を傷めるのはもちろんですが次回の充電ができなくなることがあります。

 【無名のリチウム電池も
 最初の写真にあった電池はきちんとしたメーカー品ですから十分な試験が行われていて信頼のおけるものです。PSEマークも付いています。 見積もりはもらっていませんが信頼性の高い電池はそれなりのお値段でしょう。もし仕事に使うのでしたらそのような電池が安心です。

 3本の引出し線があって、うち一本にはサーミスタが接続されています。 充電回路側に温度検知機能が備わっていれば電池自体の温度を検知して充電をやめることができるようになっています。充電制御のIC:TP4056には温度検知端子が備わっていますが、簡易な充電基板ではその機能は使われていません。 

 仕様のはっきりしない無名の電池もかなり出回っているようです。 この写真上側の電池も最近頂いたのですがまったくの無名品でした。 中華モノでしょうか? 万一何かあっても自己責任で使う電池なのでしょうね。(笑)

 調べてみたらAliexpressでは様々なサイズのリチウム電池が販売されていました。 この無名品も寸法から推測しておおよその定格がわかりました。 型番は503035で公称電圧3.7Vのリチウム電池でしょう。容量は500mAHくらいでした。 このサイズの電池なら上記の充電基板で充電できます。(503035=厚み5.0mm、幅30mm、高さ35mmという意味らしく、多くのリチウム電池でこのような表記方法になっています)

参考:電池の引出し線の部分に小型の基板が付いています。これは短絡などの事故から危険を回避するためのものです。少なくともこのような保護回路が付いているリチウム電池を選ぶべきでしょう。何の保護も付いていない電池そのものだけの「なま」のセルも売っていますが使い方が難しいので玄人向きです。少しでも安全に使うために保護回路付きのリチウム電池を選択すべきです。

 【充・放電制御基板
 こちらの基板は充電機能だけでなく過放電防止機能が付いている充・放電制御基板です。 先の充電基板と同じ制御用のIC:TP4056が使われていますが、ほかに電池保護機能を持ったDW1と言うリチウム電池専用ICとMOS-FETのスイッチなどが載っており電池の端子電圧が終止電圧に到達すると自動的にシャットダウンするようになっています。

 電池と負荷の端子は別々になっています。 電池と負荷は基板上のスイッチを経由して接続されていることになります。 電池が空になり過放電になると判断されるとスイッチが開いて負荷は切り離されます。それ以上放電が進むことはなくなるわけです。  スイッチは低ON抵抗(約25ミリΩ)のMOS-FETなのでスイッチ部分での電圧降下はごくわずかです。

 用途しだいですが単品の電池と昇圧基板(のちほど紹介があります)を組込んだ電池パックを自作するのでしたらこちらの基板が向いているでしょう。 あるいはLED懐中電灯やランタンの様なものを作るのにも良さそうです。  どちらの基板も十分安価ですからどうせ買うのでしたら電池を保護する機能の付いたこちらの方がだんぜん良さそうです。

 【充電してみる
 実際に充電してみましょう。 基板右側の端子にリチウム電池を接続します。 左のUSB端子経由で充電してみました。

 まずはテストですから充電に使う大元の電源にはmax 2A流せる安定化電源を使いました。  電圧は5Vちょうどにセットしてあります。 充電開始すると基板の赤色のLEDが点灯しました。

 充電制御用のIC:TP4056は結構発熱があります。 基板の裏面全面に放熱しているようです。 過熱しないように大元の電源電圧はあまり高くしない方が良さそうでした。 5Vなら安全そうです。

 【充電電流
 2つある電池を充電してみました。 どちらも充電前の端子電圧は無負荷であっても4Vをやや下回っていましたので、かなり放電している状態でしょう。

 充電を開始した直後には1A流れます。 これは充電制御用IC:TP4056の2番ピンとGNDピン(3番ピン)の間に入っている抵抗器が1.2kΩになているからです。この抵抗値を変えると充電時の最大電流を変えることができます。

 ちなみに3kΩで400mA、10kΩで130mAになります。詳細はTP4056のデータシートにあります。もっと小型のリチウム電池に充電するなら1Aも流したら危険ですから変更した方が良いでしょう。 またTP4056の仕様から最大でも1.2Aまでです。 ここで充電した電池はどちらもmax 1Aのままでも大丈夫そうでした。 TP4056のデータシートはネット検索で容易に見付けられます。

 【充電完了
 充電が終了すると基板上の緑色LEDが点灯します。

 充電中の電流変化を観察しました。 開始直後には1A流れていたものが時間の経過とともに徐々に減少して行きました。やがて充電電流が約130mAになると充電終了するようでした。充電電流がこの程度になったところで終了すれば過充電にならず安全ということなのでしょう。

 容量が500mAHらしい無名の電池は約55分で緑のLEDが点灯して満充電になりました。 また容量が1,100mAHの方は120分くらい掛かりました。途中の60分経過時点では400mAくらい流れていました。満充電までの時間はおおよそ容量に比例するようです。どちらの電池も充電中の発熱はごくわずかでした。

 【満充電の電圧
 充電が終了して少し経過し電圧が落ち着いてから測定した1,100mAH電池の端子電圧です。

 充電制御のIC:TP4056は電池の上限端子電圧として4.2V(±1.5%)が設定されており、その状態で充電電流を監視していて電流が所定の値以下になったところで充電終了と判断するようです。

 また放電が進み端子電圧が2.9Vを下回るとトリクル充電に移行するとありますので、充電用の電源が接続されていれば自動的に再充電が始まるのでしょう。

 リチウム電池は充・放電の管理がシビアですからこのような専用基板を使うと安心できます。 4Vで充電をやめるのとは違ってほぼ満タンまで充電できているようです。電池容量が完全に活かせるのならFBです。 リチウム電池は比較的高価ですがそれに比べて充・放電制御基板はとても安価ですから追加の電池を手に入れるときには合わせて買っておこうと思っています。

 【リチウム電池は安くない?
 安いのか高いのかは感覚の問題かも知れません。(笑)

 中華モノは何でも激安だというイメージを持ってしまうとこのお値段でも高価に感じてしまいます。 お財布と相談してなるべく信頼できそうなお店で買いたいと思いました。

 リチウム電池は発火・発煙などの事故が報告されています。Ni-Cdなど従来型のようにラフな扱いは禁物でしょう。 しかし小型軽量大容量の魅力には抗しがたいものがあります。少々危険でも使いたくなってしまいますね。(笑)
 
 【充・放電基板は安い
 少しでも安心して使えるよう充・放電制御基板を使います。 こうした基板はamazon.jpにもたくさん出品されていて単価100円少々で買えるようです。

 左のように中華モノはさらに安価ですが国際通販に不安があるようでしたらamazon.jpでも幾らも違いません。ここは安心を取るかお値段を取るのかになるでしょう。 ただしamazon.jpで買ったとしても中国から送られてくるようなのですが・・・。

 どちらを重視するのかご自身の判断でお願いします。思うようには行かないこともあるので国際通販は特にお奨めはしません。

DC-DC基板もあると便利
  放電とともにリチウム電池の端子電圧は下がって行きます。 使用中に電源電圧が変化しては支障がある場合にはこのようなDC-DC昇圧基板を使うと良いです。

 スイッチング電源ですから実際に使ってみるとノイジーですが用途によっては立派に役立ちます。 基板の外付けで十分なノイズ対策を行なえばアナログな用途にも使えるかもしれません。小さな基板ですからシールドするのは容易です。

 この基板はリチウム電池一つから出力電圧:5V〜20V以上まで可変できます。電圧は多回転VRで可変しますが可変範囲が広すぎるようです。セットした電圧で安定しない感じもしました。 取出し可能な負荷電流は何Vまで昇圧するかによって変化します。 回路の入力電流が2Aで制限されるようです。 従って4Vから昇圧して12Vを取出すと負荷側の電流は最大650mAくらいになります。 小型リチウム電池から一気に大電流を取り出すのは危険ですから制限されるのは良いことでしょう。 こんな基板まで激安で売っているんですから今はICを買ってきてこうした回路を自作する面白さもなくなっています。(悲)

                   ☆

 リチウム電池に限らず充電池(2次電池)には何となく魅力を感じます。 昔からポータブルな用途や非常電源としてシャックに備えておきたいと思っていました。 2011年の東日本大震災のあとしばらく計画停電がありましたが、たまたまシャックに備えてあった12Vのカー用バッテリが役立った経験があります。  震災を機に大容量の2次電池群からAC100Vが得られるインバータを備えた知人もあります。 非常時には威力を発揮するはずですが意外に厄介なのは2次電池の保全管理です。 大容量と言うと鉛蓄電池が思い浮かびますが長期的に見ると日常の管理がたいへんなので今ではシャックに置くのはやめました。 自家用車が活きていれば少々ならそちらからもらう手もありますので・・・。

 発火などの危険を伴うだけにリチウム電池は充・放電の管理がたいへん重要です。 しかし最近ではリチウム電池を電源にするポータブルな機器が氾濫してきたからでしょうか? 組み込み用の電池とともに充・放電制御基板が入手できます。 この組み合わせは電池を内蔵電源にした機器の製作には最適です。 リチウム電池の本質的な危険性がなくなる訳ではありませんが、安全な充・放電を行なって上手に使いたいものです。 充電が済んだ電池はさっそく自作ラジオ,etcでテストしています。 ではまた。 de JA9TTT/1

(おわり)

重要リチウム・イオン電池は端子間をショートしたり、使い方や充電方法を誤ると発火・炎上する危険性があります。電気にあまり詳しくないお方はBlogの内容を真似しないでください。また、リチウム・イオン電池の充電中は無人のまま放置せずいつも以上に五感を研ぎ澄ませて監視しながら行なってください。中国製の製品の一部には非常に品質が悪いものもあって、中には危険なものも存在すると考えるべきです。従って購入や使用は各自の責任において行なって下さい。万一、何かの問題や事故が発生しても一切責任は持てません。

2018年1月17日水曜日

【AVR】 My first steps in Arduino

Arduinoをいじってみる
とりあえずArduino入門
 1月6日の秋葉原QRP懇親会の2次会でした。 拝見した自作品にはArduinoがとてもうまく活用されていました。それが目に止まったのが切っ掛けだったように思います。 もちろんArduino(←wiki)がどんなものか幾らかは知っていたのですが開発に使ったことはありません。それで少し突っ込んだ質問をしてみたのです。

 これは「脈あり」との判断だったのでしょうか? 数日と開かずにArduinoの幾つかと入門書のセットが郵送されてきたのです。(JA6IRK/1岩永さんいつもありがとうございます。そう言えばBASCOM-AVRの時もお世話になりましたね)

  手紙は入っていませんでしたが、これを読んで手を動かせばあなたの疑問は解消して上手く使えるようになりますよ・・・と言う意味なのでしょう、たぶん。 でも、BASCOM-AVRでワンチップ・マイコンをいじり始めたのは2006年10月でしたから、もう12年も前です。そのころでさえ覚えるより忘れる方が早いくらいでしたから、今ごろ始めて何とかなるものでしょうか? モノにならない可能性は大ですけれど新春は何か始めるのには良いときです。 炬燵(こたつ)から抜け出してやってみることにしました。

                    ☆

 まずはArduino互換ボードを用意してマイコン入門の定番になっている「LEDチカチカ」・・・通称「L-チカ」を目標にやってみます。 既に使っている人にはアタリマエ、よく考えれば「それって違うだろーーぼけ!」と言うような回り道をしながらLEDがチカチカするまでを扱います。もちろんどこにでも書いてあるようなつまらん話しの連続ですが忘れっぽい私の備忘録としてまとめましょう。おひまでしたらお付き合いでも。(笑)

 【色々ある互換ボード
 整理してみたらArduino関連のボードがたくさん出てきました。 先日のBlogで使った秋月の互換ボード(←リンク)も仲間の一つですが、Arduinoとしては使ってませんし部品キットも揃っていないので省きました。

 あとからわかることですが、サイズや機能、コストなどからみて手前左側に2つ同じものが並んでいるArduino nanoが使い易いようです。 その奥にあるPro-miniも組込み用途には良さそうですが「学習用」には向いていないように感じます。 多くの参考書ではArduino uno(ウノ)と言うのを標準にしているようです。 初心者としては参考書と同じものが欲しくなるものです。 入門を機会に購入しても良いのですが、unoの互換品が作れそうな右手前にある「びんぼうでいいの」と言うaitendoの互換ボードキット(赤い基板)で何とかならないかと言うのが当面の願望です。(あるいは目標です)

 実はこれらArduino関連の基板はみんな頂きものです。ずいぶん前からArduinoへのお誘いがあったのですがボードを溜め込んで死蔵してきたのでした。まったく面目ありません。(笑)

Arduino uno互換が
 aitendoの「びんぼうでいいの」*1をよく見ると、Arduino unoと完全に同じではないものの、引き出されているポートや機能は類似しているようです。(*1:なんかすごい商品名ですね・笑)

 Arduino遊びを始めてみたものの、はたしてモノになるのかわからないので取りあえず手持ちを使って勉強しましょう。 それでどうしても不自由そうになったら正規品を求めてもムダではないでしょう。しかし、ネットの情報を総合するとこの「貧乏Arduino」でも一通り同じようなことができそうでした。

  Arduino uno互換にするにはAVRマイコン:ATmega328P-PUをソケットに搭載し、そのマイコンに「ブートローダ」と称する自己書き込み用のプログラムをあらかじめ書き込んでおく必要があります。 そのブートローダの書込みを行なって動作確認を行なうまでが今回のBlogの目標範囲です。 具体的にはノートPC上のArduino開発環境からUSB接続でプログラム(Arduinoではスケッチと呼ぶ)を書き込んで「L-チカ」の成功をめざします。w

Arduino unoのポート
 ネット上にArduino unoのポート(引出し端子)について上手に説明されている図があったので参考にしてみます。

 L-チカをやる今の段階では必要ありませんが、ボード外に何かを接続する時に重要になります。 ATmega328Pのほとんどすべてのピン(=ポート)が引き出されているのがわかりました。

 マイコンなんて所詮どこかのポート(ピン)の状態を読み込んで、ちょっと細工したら別のポートに出力するだけの仕事しかやっていません。コンピュータだと思うと何だか難しそうですがやってる事はごく単純です。 この図は各ポートがどんな信号のやり取りに向いているのかごく簡潔にまとめてあるわけです。

 なお、本物のArduino unoにはUSBインターフェース用にATMEL社製のATmega8U2と言うAVRマイコンが使われています。 貧乏Arduino unoではCH340と言うUSB-IF専用のチップになっておりコストダウンされています。 しかしArduinoの開発環境(Arduino-IDE)からみて、おおむね本物のArduino unoと同じように使えるそうです。

注:開発環境のArduino-IDEはあらかじめパソコンにインストールしてあります。www.arduino.cc/en/Main/Softwareから無償でダウンロードできました。Windows版、Mac版、Unix版があります。 ここではWindows 7のノートPCで試しています。バージョンは2018年1月の時点で最新のVer.1.8.5です。
 実はIDEのインストールにもちょっとトラブルがありました。最初はJavaのRuntimeルーチンがないので云々というエラーが出ました。 しばらく調べてみたのですが原因は良くわかりません。 結論からいうとダウンロードした.zipファイルの展開が不完全だったようです。はっきりはしませんが最初の展開中にちょうどWindowsのアップデートが自動起動したのが原因のように思います。中途半端に展開されていたIDEが入ったフォルダを廃棄し、あらためて.zipファイルを展開しなおしたら正常に起動できました。とんだ回り道でした。普通はすんなりと展開できてただちに起動できるでしょう。

 【Arduino unoの回路
 Arduino unoの回路図です。 普段はブラックボックス扱いでも良いのでしょうが、何らかのトラブルがあった時には回路に帰ってトラブルシューティングが必要なこともあるでしょう。

  ハードウエアになじみがあるなら回路図を用意しておくと何となく安心できます。 但し、これは本物のArduino unoですから・・・・。(笑)

 【Arduino nanoで
 良く出回っているArduino nanoの互換基板には既にブートローダが書き込まれており、しかも「L-チカ」まで書いてあるようなのです。

 ATmega328は写真のように基板に面実装されていますので取り外して単独で書き込むことはできません。 非正規な互換基板とは言え買ってすぐ使うにはブートローダが書き込んでなくてはだめです。 購入したなら取りあえずUSBに繋いでテストしてみるはずです。しかし何も起こらないブートローダだけでは不親切でしょう。 最も基本的なL-チカを一緒に書いておけば基板が動作することの証拠になります。 プログラム・メモリはフラッシュメモリなので書き換えは自在ですから事前に何か書いてあっても支障はないわけです。

 【Arduino nanoの回路図
 Arduino nanoの回路図です。 USB-IFを内蔵しています。 FT232と言うUSB-IFチップが標準のようですが互換品(にせもの?)ではCH340と言うUSB-IFチップが使ってあることが多いようです。

 機能はほぼ同じと言えますが、USBドライバに互換性はありません。各チップ個々に必要です。 従って開発に使うパソコンにはCH340用のドライバをインストールしておく必要があります。また互換品のnanoだけでなく「びんぼうでいいの」の方もUSB-IFのチップはCH340ですからドライバのインストールは必須といえます。 CH340のドライバは検索で見つかりますが、aitendo(←リンク)にて該当製品(USB-IF関係)のところにリンクがありダウンロードできます。 なお、CH340のドライバ・インストールでハマる人も結構あるようなのでトラブったら検索すると解決策が見つかります。

 【nanoのプログラムを吸い上げる
 開発に使うパソコンには既にCH340のドライバが入っていました。 おそらくGPS-DOを開発していたときにUSB-IF基板のドライバとしてインストールしてあったのでしょう。

 従ってただちにArduinoの開発環境から動かしても良かったのですが、次項のように搭載されているマイコン:ATmega328に入っているプログラムを吸い上げたかったかったので、汎用のプログラム・ライタを経由してテストしてみました。

  電源が加わるともちろん正常に動作し、LEDがチカチカします。 ここでは汎用のプログラムライタにはHIDaspxを使いました。BASCOM-AVRで使い慣れたものです。 USBaspライタなどでも良いはずです。

 なお、このような面倒なことをしようと思うのはごく僅かの人でしょう。AVRマイコン用の汎用プログラム・ライタの詳しいことは省きます。検索すればたくさん見つかるのでそちらを参考にしてください。ここで使ったHIDaspxやUSBaspといったライタは既に流行を過ぎているようでネット上から消滅したかあるいは最近では更新もされていないようでした。

 【nanoのhexファイル
 nano基板に載っているAVRマイコンのプログラムメモリは読み出し禁止ではありません。従って簡単に吸い上げることができます。 HIDaspxを接続しhidspx-GUIと言うパソコン側の操作ソフトを起動します。 画面からDumpボタンをクリックすればプログラムメモリの内容が取り込まれます。それをHEXファイルとして一旦保存しておきます。

 名前は何でも良いのですが「Arduino-01.hex」としてみました。写真のようにファイル名記入欄にインプットします。 インプットしたらSaveボタンを押します。

 【HEXファイルはできた
 hidspxと言うフォルダ内を見ましょう。 Arduino-01.hexができていることがわかります。 これをライタを使って新品のATmega328Pに書き込めばArduinoのクローンが作れるハズと踏んだのですが・・・・・

 そうは甘くないことがすぐにわかるのです。まあ、良く頭を冷やして考えたらここまでの情報でもあまり旨くなさそうなことはわかるんですけれど。結論をあせらずもう少しやってみましょう。(笑)

#それで非常措置用の.hexファイルも用意してあったような訳なんです。

 【びんぼうでいいのに書き込み
 さっそく貧乏Arduinoに「Arduino-01.hex」を書き込んでみましょう。

 「びんぼうでいいの」基板には6ピンのISP(=ICSP)コネクタが付いています。これを経由すれば一般的なインサーキット・ライタからプログラムの書込みや消去などすべての操作が可能です。もちろん、HIDaspxからも可能です。 電源もUSB側から供給できるのでこのような作業には便利です。

 貧乏ArduinoにHIDaspxを接続したらhidspx-GUIのファイルメニューから「Arduino-01.hex」を開きます。 操作画面のWriteボタンを押せば書込みが始まり、ベリファイ(比較照合)されてエラーがなければ正常に終了します。 ライター側の+5V電源をONにして貧乏Arduino基板にも電源を与えておくのを忘れないように。 (書込みが正常に終われば、ただちにL-チカが始まるはずですが、とても遅いチカチカでしょう)

 【ヒューズビットも忘れずに
 まっさらのAVRマイコンは内蔵のクロック発振器(1MHz)で動作します。これが初期状態と言うわけです。一方、Arduino unoは外付けの水晶発振子を使い16 MHzのクロックで動作させるのが基本です。

 従って、搭載するAVRマイコンのヒューズビットを操作して外付けの水晶発振子がクロックとして使われるように設定しなくてはなりません。 図のようにhidspx-GUIの画面からヒューズビットの書き換えを行ないました。

 ヒューズビットの扱いについては過去のBlog(←リンク)にもありますが注意を要します。 上記のように予め水晶発振子が載っている基板上で書き換え操作を行なうのなら大丈夫ですが、水晶が載っていない・・・例えばブレッドボードのような・・・環境で書き換えると書き換えたとたんにAVRマイコンの応答がなくなります。 要するに内蔵の発振器をやめて外付けの水晶発振子や外部クロックに切り替えたら、それを与えないとまったく機能しなくなります。反応がなくなってもAVRマイコンがお釈迦になった訳ではないのでクロックを与えれば復活します。まずは慌てず冷静に。

重要:画面ではATmega328PのヒューズビットLoだけを書き換えているように見えますが、実際にはヒューズビットHiとヒューズビットExの書き換えも必要です。 Arduinoとして使うためには、Lo=FF、Hi=DA、Ex=F8に書き換えます。 なお、参考までにATmega328Pを工場出荷時の初期値に戻すには、Lo=62、Hi=D9、Ex=FFとなります。

                   ☆

 さて、プログラムは書き込めましたしヒューズビットも書き換えました。 Arduino unoの互換基板になったのでしょうか? 汎用ライタをISP端子から撤去したら、さっそくUSBケーブルにつなぎ換えて電源を与えてみました。 書き込んだブートローダに合わせて入っていたL-チカのプログラム(=スケッチ)が起動してただちにLEDがチカチカしました。また、パソコンから見てUSB接続もCOMポートとして認識されました。

 しかしこれで成功ではありません。Arduino-IDEからはArduinoとは見なされないのです。従って新たなプログラムの書き込みはできませんでした。書き込んでもできなかったと言うエラーが表示されます。 わかってしまえばアタリマエですがハードに合わせたブートローダを書き込む必要があるみたいです。Aruduino nanoとArduino unoは良く似た回路構成なのですがnano用をそっくりそのままunoに移植しても旨くなかったようです。

                   ☆

 ではどうしましょうか? 調べたら「びんぼうでいいの」用のブートローダがネット上にありました。 同じようなことを考える人はいるもので便利な世の中です。(笑) 以下のテキスト行を選択してコピーしたら何か任意のテキストエディタを起動してそっくりペーストします。そのあと適当な名前を付けた.hexファイルとしてセーブしておきます。
 ライタにHIDaspxを使うのでしたら「hidspx」と言うフォルダ内に作ったその.hexファイルを入れておきます。あとはライタの制御ソフト:hidspx-GUIのファイルメニューからその.hexファイルを選んで読み込み、ATmega328Pに書き込めばOKです。もしまだでしたらヒューズビットの書き換えも忘れずに行ないます。

=================================
:107E0000112484B714BE81FFF0D085E080938100F7
:107E100082E08093C00088E18093C10086E0809377
:107E2000C20080E18093C4008EE0C9D0259A86E02C
:107E300020E33CEF91E0309385002093840096BBD3
:107E4000B09BFECF1D9AA8958150A9F7CC24DD24C4
:107E500088248394B5E0AB2EA1E19A2EF3E0BF2EE7
:107E6000A2D0813461F49FD0082FAFD0023811F036
:107E7000013811F484E001C083E08DD089C08234E0
:107E800011F484E103C0853419F485E0A6D080C0E4
:107E9000853579F488D0E82EFF2485D0082F10E0AE
:107EA000102F00270E291F29000F111F8ED06801E7
:107EB0006FC0863521F484E090D080E0DECF843638
:107EC00009F040C070D06FD0082F6DD080E0C81688
:107ED00080E7D80618F4F601B7BEE895C0E0D1E017
:107EE00062D089930C17E1F7F0E0CF16F0E7DF06D8
:107EF00018F0F601B7BEE89568D007B600FCFDCFD4
:107F0000A601A0E0B1E02C9130E011968C91119780
:107F100090E0982F8827822B932B1296FA010C0160
:107F200087BEE89511244E5F5F4FF1E0A038BF0790
:107F300051F7F601A7BEE89507B600FCFDCF97BE46
:107F4000E89526C08437B1F42ED02DD0F82E2BD052
:107F50003CD0F601EF2C8F010F5F1F4F84911BD097
:107F6000EA94F801C1F70894C11CD11CFA94CF0C13
:107F7000D11C0EC0853739F428D08EE10CD085E9AC
:107F80000AD08FE07ACF813511F488E018D01DD067
:107F900080E101D065CF982F8091C00085FFFCCF94
:107FA0009093C60008958091C00087FFFCCF809118
:107FB000C00084FD01C0A8958091C6000895E0E648
:107FC000F0E098E1908380830895EDDF803219F02E
:107FD00088E0F5DFFFCF84E1DECF1F93182FE3DFCA
:107FE0001150E9F7F2DF1F91089580E0E8DFEE27F6
:047FF000FF270994CA
:027FFE00040479
:0400000300007E007B
:00000001FF
==================================
上記の先頭が:(コロン)の行をすべてコピペし適当な名前を付けて保存します。 Inetel-HEXコードで記述されていますので必ず拡張子が.hexになったファイル名にします。(例:binbohaokiraku.hexとか)

 これを「びんぼうでいいの」に載せたATmega328Pに書き込んで、あとはヒューズビットを確認すればすべてOKです。 こんどはArduino-IDEからUSBケーブルの接続だけでプログラムの書き込みができるはずです。 もう汎用プログラムライタの出番はなくなります。

参考・1: ネット上を探すと、Arduino uno用というuno.hexという.hexファイルが見つかります。上記のリストは「びんぼうでいいの」で動作実績があるものですが,2つを比較したところ同じ内容でした。従ってネットで見つかる「uno.hex」と言うファイルを書き込んでも大丈夫だろうと思います。

参考・2:Arduinoを使ってブートローダを書き込む方法
 既にブートローダが書き込まれておりArduino-IDEで操作できるArduinoが存在すれば(特別なプログラムライタなしで)まっさらなATmega328Pが載ったボードにブートローダを書き込むことができます 。単体のATmega328Pをブレッドボードに載せたようなものでも書込み可能です。 ネット上に詳しい方法がたくさん見つかります。 初めてArduinoでAVRマイコンに触れるなら汎用のプログラムライタなんで持っていないのが普通でしょう。既存のArduinoを使う方法が正攻法だと思います。 結局のところ、ここでも鶏が先か卵が先か?・・・と言うような話しになるわけですね。 Arduino nanoの互換品はたいへん安価ですからまずは一つ買ってしまうと問題解決です。

参考・3:「びんぼうでいいの」用のブートローダが書き込まれたCPUが 欲しいけれど・・・。 プログラム書込み環境がないので困っているのでしたら、ATmega328Pをお送りいただければ書き込んでお返しします。必要でしたら遠慮なくどうぞ。

 【Arduino IDEで書込み成功
 写真はArduino-IDEの画面です。 こんどは「びんぼうでいいの」もArduino-IDEに認識され、定番の「L-チカ」プログラム(=スケッチ)も無事に書き換えできました。 スケッチの一部をいじってうんと早いLEDチカチカを入れてみました。(笑)

 こんどこそ成功です!

 【びんぼうでいいののセッティング
 Arduino-IDEで正常に認識されるようなボードなら自動で設定されるようです。 従ってメモっておく必要もなさそうですが、図のような設定で うまく動いてくれました。 但しCOMポートの番号は開発に使うパソコンによって個々に変化するでしょう。

 ブートローダが書き込めた「貧乏Arduino uno」を何回かノートPCのUSBに付け外しして確認してみました。 何度やってみても正常に認識されるようですから問題なく使えそうです。 これで当面の目標である教材用のArduino unoと同等のものが手に入ったことになります。


                   ☆

コラム:Arduino nanoで十分では?
 手間をかけてArduino unoと互換の「びんぼうでいいの」を作ったのですが特にその必要はなかったのかも知れません。 Arduino nanoの互換基板があったわけですからそれを活かせば十分そうです。そもそも多少のハードの違いはカバーして動かせるのがArduinoの良さでしょう。nanoもunoもポートの引出しは概ね同じですから使う上の制限はほとんどないでしょう。オンボードのLEDは同じところに付いていますし、配線を引き出す際には同じ名称のポートを使えばOKです。
 プログラムの学習や試作にはブレッドボードを使います。そのときには小さなサイズのArduinoが便利ですからたぶんnanoの方を多用するはずです。 いまでは中華通販のnano互換基板(←参考リンク)はATmega328Pチップ単品を秋葉原で買うよりお手軽なほどです。そのまま組み込みに使っても不経済ではありません。オンボードのUSB-IFが必要なければPro-miniならさらに小型です。こちらも安く出ていました。 もちろん、何かの都合でArduino unoと互換の基板が欲しくなったら書いてきた手順で作れるわけです。


L-チカ成功
 L-チカ のソースファイル(=スケッチ)をいじって、チカチカの周期を変えたりして遊んでみました。

 L-チカはマイコン遊びの第一歩です。 だれでもここまではやるようですがその先まで進むにはハードルは結構高いものでした。 しかし、Arduinoの場合、ハードウエアがある程度標準化されており、外付けする回路もだいたい定型化しているようです。 従ってそれを動かすプログラム(スケッチと言う)もネットに落ちている物が見つかればほとんど手直しせずに使えるでしょう。 あまりマイコンには詳しくなくても面白いものが簡単に作れる可能性があります。互換ボードがたいへん安価に手に入るのも有難いです。 まずはL-チカが第一歩ですが、何かマネをしてでも歩みを始めたいですね。

このBlogを作成するにあたり様々なサイトやBlogを参考にさせて頂きました。個々にリンクは致しませんが初心者向けの情報発信に感謝します。

                   ☆

 年末の予定とはぜんぜん違う方向へ行ってしまいました。 ダイオードDBMとかAD603などのアナログな話題を期待されていたようでしたら申しわけないです。 例によってマイコンやデジタルがテーマの時は敬遠ぎみかと思いますけれど・・・たぶんコメントも少々でしょう。無理に好きになっていただく必要もありませんので。(笑)

 最近は思いついたり急に思い立ったようなテーマで何かランダムに始めるケースが多くなっています。アナログな話題も好きですからまたやりますので。 まあ遊びですからその時々で自分がオモシロイのが一番かと思ってます。

 ノートPCとArduino、それに小さなブレッドボードと幾つかの電子部品があれば炬燵でチマチマ遊びを始められます。寒い冬の電子工作にはうってつけかも知れませんね。

 少々周回遅れではありますがArduinoは最近話題のIoTとのからみでまた注目されてきたと言う話しも聞きました。AVRマイコンだけでなく、より高性能なARMマイコンを搭載したボードも激安で登場しています。 汎用の制御用マイコンと考えて工夫して作りたい人には便利でありがたい存在として定着したようです。 ソフトウエア資産がだいぶ溜まってきたArduinoはちょうど美味しい「旬」なのかも知れませんね。

  それでアマチュア無線の視点で調べてみました。Arduinoを使ったいろいろなプロジェクトが世界中から検索ヒットします。 機能を定型化しやすいエレキーのようなものは完成度も高いようです。 ですが、いろいろ内容を見ると習作のたぐいが多いようでいま一つな感じでした。 それらを土台に自ら改造して行けば良いのでしょうが、こんどはプログラミングの知識を要求されます。意外にハードルは高いかもしれません。 Arduinoをいじることが目的ではありません。何かに活かすことです。 すこし遊んでみてこの先どのように使って行くのか構想してみたいと思います。 初心者に何かサジェスチョンなど頂けたらありがたいです。 ではまた。 de JA9TTT/1

(おわり)

2018年1月2日火曜日

【部品】Shopping AD603 IC-Chip

AD603を中華通販で買ってみる
中華通販サイトにて
 12月のBlogではAD603と言う高性能受信機向きのICがお安く出回っているという話しから始まりました。 自身の実験には頂きもので済んでしまったのですが、やはり自ら買って確かめてみる必要があるでしょう。 以下は何かと話題の中国サイトでショッピングを楽しんだ顛末です。

 Aliexpressのサイトで「AD603」をキーワードに検索すればたくさんのお店がヒットします。 AliexpressはAmazonのマーケットプレースあるいは、楽天のサイトに近い感じです。対象の商品を扱っている様々なお店がヒットします。

 お値段もまちまちでお店の信用度もそれぞれ異なるようです。 ここはお試しですから私が検索した時点で一番安いお店にチャレンジしてみることにしましょう。 いちばん怪しそうなお店で買ってみようと言うわけです。(笑)
 左の写真を見てもらえばわかりますが、10個で$2.88-で単価は$0.288-ですから換算して一つ40円もしないことになります。いまや中国の物価もずいぶん高くなっているのでかなり安いといえるでしょう。

 AD603は汎用のICと違ってもともと安くないチップです。送料は別ですがこのようなお値段でマトモな商品を送ってくるのか少々スリルがあります。 しかし総額で2,000円ほどの買い物ですし、いちおう購入者保護の仕組みもありますから恐れる必要もないでしょう。さっそくやってみることにしました。

参考:画面は購入したショップを後日アクセスした際にキャプチャしたものです。ご覧のようにAD603は既に売り切れです。 しかし他のショップでもたくさん販売されていました。今ならもっと安いお店もあるかもしれません。もし興味があったら検索してください。 もちろん海外通販を推奨する意図はありませんし、何かあってもご自身の責任でお願いします。 購入者保護の仕組みは、商品が届かなかったり輸送過程で破損していたことへの対処でしょう。トラブルなく届いた物品の性能や品質云々までカバーされるとは思わない方が良いようです。

 以下、中華通販で買ってみただけのお話しなので技術的要素はほとんどありません。 Blog更新がこんなお正月早々にかち合うとマトモな実験が進むはずもありません。ごく軽い話題でまとめてみることにしました。もし良かったらお正月の暇つぶしにでもどうぞ。w

 【国際書留は追跡できる
 電子部品は軽量なものが多いことから送料無料のお店も多いようです。 私が購入したお店は無料ではなく$2.11-ほど掛かりました。 注文したAD603は国際書留郵便で発送されました。
 写真はその追跡画面です。 中国国内の扱いも含めて通過履歴がわかるようになっています。 但し日本国内ほど細かい追跡はされないようです。 このように自宅に配達されるまで逐一状況をつかむことができました。 配達予定の都合が悪ければ局留めにしてもらうこともできてなかなか便利です。

 なお、件のお店ですが、注文を入れてから発送されるまで1週間ほど掛かりました。Aliexpressの規定では1週間以内に商品発送の手続きが取られないと自動的にキャンセルになったと思います。そのギリギリになって駆け込みで発送したようでした。 12月〜2月ころまではクリスマスや中華圏の春節などの行事があり、通販や郵便は大混雑するでしょう。タイミングが悪いと予定外に時間が掛かることも考えなくてはなりません。 日本郵便(JP)はかなり信頼できますが海外は必ずしも信用できないところもあるようです。海外の通販ではある程度の慎重さや寛容さは必要かもしれません。はなから日本と同じサービスは期待できないと考えた方が腹もたちません。(笑)

小さな封筒で届く
 手のひらサイズの小さな封筒で届きました。 薄くて軽いのでこの中に本当にICが入っているとは思えないくらいです。

 表面実装型のICですから予想ではキャリヤ・テープに封入された状態のICが届くのだろうと思っていました。 ですから、こんなに薄くて小さな封筒は予想を裏切るものでした。

 全部で20gで物品の価値はUS$で$3-となっています。この程度ですと日本国内で消費税を徴収される可能性は低いような気がします。 しかしたとえわずかでも徴収される可能性がないとは言えません。 今回は徴収されませんでした。 Digi-keyほか米国の部品商社経由で数千円以上のお買い物をするとほぼ確実に消費税を取られますね。

 【バラ詰め・笑
 封筒の厚みがない理由がわかりました。 写真のように「バラ」の状態で送られてきたのです。 レールあるいはキャリヤ・テープから外された裸の状態です。

 チップマウンタで基板に搭載する訳ではありませんから、バラでも支障はありません。 しかしこのような状態だとどんな扱いをされたのかが心配になります。 例えばきちんと静電気対策してハンドリングしているのか・・など気にするとキリがありません。(笑)

 表面実装用のICの場合、簡単に差し替えて確認することはできません。 従って扱いや輸送状態に信頼が持てないと基板にハンダ付け実装して大丈夫なのか心配になってしまうのです。 まあこのあたりが最安のお値段で売られていた理由なのかも知れませんね。

細かいことを気にする人は、もっとマトモそうなお店で買うに限ります。

ロットもバラ・笑
 印刷された型番は間違いないようですし簡易検査(後述)によれば中身もちゃんと入っているようでした。 しかしロット番号と思われる数字はバラバラなのでした。

 おなじロット番号のチップも数個ずつ有るにはありましたがロットはバラバラと言って良いくらいです。 どうすればこのようなことになるのかちょっと想像できません。

 ただしニセモノ制作業者がでっち上げたフェイク品ならわざわざ手間をかけてロット番号をバラバラに印刷する理由はないでしょう。 ロットは揃っていませんが、むしろこれってホンモノだと思って良いのかもしれませんね。

使えるんだろか?
 幾つかピン間の抵抗値を測定比較する方法でホンモノなのか・・・中身が入っているのか・・・推測することができます。 比較対象は間違いなく動作している本物を使います。

 もちろん、その程度では微妙な特性ズレのような不良ICを見付けることはできません。 しかし正規の製造工程を流れてきたICなら表面に捺印・印字するのは最終工程のはずです。 たぶん既に何回かの検査工程は経ています。 したがって印刷されていて中身がAD603であるとすれば良品である可能性はかなり高いでしょう。 たんなる昔IC屋の勘ですけれど。hi

 電源ピンとGNDピン、電源ピンとCommonピンなどの抵抗値をホンモノと比較して送られてきたものはすべてAD603が中に入っているらしいことが推測できました。 なお、このような確認をする際には、測定する端子間に使用時とは逆極性になるような電圧を加えてはいけません。条件によっては壊す可能性があります。 
コラム:抵抗測定の極性について
テスタで抵抗を測定するときにテスト棒の両端に発生する電圧の極性について説明します。 テスタで抵抗測定するときには、内蔵の電池から測定したい抵抗器や回路に電圧または電流を加えています。そのとき流れる電流あるいはテスト棒の間に発生する電圧から抵抗値を読み取っています。 たとえばデジタル・テスタの場合、赤色のテスト棒の方にプラスの極が出ています。アナログ・テスタでは逆に黒色のテスト棒の方にプラスの極が出ています。まあ、これは常識かもしれませんが使うテスタによって違うので極性には十分注意して下さい。 なお「×1Ωレンジ」は大きな電流が流れるので使わない方が無難です。
もちろんそれだけでは不安です。写真のように変換基板に搭載してIFアンプに装着しました。 バラツキのためかゲインが幾らか高いようにも感じましたが正常な動作が確認できたのです。

 ざっと見ただけでも大丈夫そうでしたが、定量的に見ないと見落とす可能性があります。 わかり易い例として、AGCの効き方が不連続になるなどの不具合はないか入力を変えて特性をとってみました。 ゲインの制御特性はSメータ出力(電圧)に如実に現れます。 もしどこか途中の段のアッテネータがNGなら不連続が現れるでしょう。 得られたグラフで見ると入力信号のLogに対してきれいに比例する直線を描きました。AD603のAGCが効く範囲内に不連続はありません。 これは良好な特性と見て良いでしょう。

 バラバラの状態で送られてきたうえロット番号までバラバラでしたから到着した時はちょっと驚きました。 どうやら使えそうなAD603が届いたようです。なんだかホッとしました。

オマケ?:一つ上の写真の右上にAD8307AとN5534Aと言うICが写ってます。この2つはAD603に混じって送られてきたものです。 間違って混入したわけではないように思えます。AD603の方は注文した数だけきちんと入っていましたから・・・。ではこれってオマケなんでしょうかね? こちらの部品もいかが・・って言うPR用?? とっても謎です。ww

                   ☆

 なぜこんなに安価だったのでしょうか? 鉛フリー品ではなかったので売ることができず処分されたメーカの不良在庫かも知れません。本来なら廃棄処分されるところを横流しされたのでしょう。あるいは一度は処分されたものを拾ってきたのかもしれません。 そうではなくて、チップマウンタから搭載ミスでこぼれたゴミを拾ってきて分別した可能性だってありえます。
 いずれにしても、もともとタダ以下の品物だったのではないでしょうか? 思い切り安くしても売れさえすれば利益を生じるでしょう。 あくまでも想像ですがそんなことを考えました。 早々に品切れになったのも出モノが底をついたからでしょうか。

 使う立場のアマチュア無線家としては鉛フリーの必要はほとんどありません。 むしろハンダ付け性が良い有鉛品の方が嬉しいくらいです。 変換基板に実装してみた感じではその点も合格でした。 安いので半信半疑でしたが、どうやらお買い物を楽しむことができました。 いろいろ想像を交えて書いてみましたが、本当のところはぜんぜん別なのかもしれません。少なくとも普通のパーツショップで買うのとは違うと思った方が良さそうですね。 ではまた。 de JA9TTT/1

(おわり)