Arduino Leonardoの再生処置

組み込みの里を始めたころに導入しあったArduino Leonardoだったがラッチアップでも起こしたかのようなふくらみがチップ表面にあってたぶん何かノイズで壊したような経緯があったのだろう。先日Arduino UNO r3についていたATMEGA16AUの故障問題があって張替に挑戦したのだがQFNのリードレスパッケージでは挑戦しても報われなかった。

Arduino Leonardoでは周辺チップの取り込みがなされていてUSBも話せる豪華なチップが乗っている。幸いにもQFPのリードが周囲に出ているタイプなのでチップを張り替えることにした。取り外しにもちいるのは、低温で溶けるタイプの鉛フリー半田LEOなどを使って周辺リードを全て半田で満たしてしまうというやり方だ。ただし、今回のケースではチップ固定するための接着剤が付いていたようで加熱して糊が柔らかくなるのに時間が必要だった。

外した後はフラックスリムーバーで綺麗にしてから交換チップを仮止めするのだが、なかなか位置決めが難しい。4方向のリード位置がOKとなったら1か所のみはんだ付けして固定してから再度確認して良ければ、全体に一気にはんだ付けをして、吸い取り電線で余分な半田を取り去るやり方で進める。

拡大鏡を使って半田付け箇所を確認していき問題がなさそうなので、Fuse設定などを書きこみファームも更新しましたが、最終的にUSB側を挿入してもWindowsが認識しないので、今度はテスターでチップのピンと対応する周辺やランドとの接触を確認して導通試験を試みましたが問題は見つからず。

はてと確認に利用したUSBケーブルを使って携帯とPCを接続しても無反応で携帯のみ充電が開始されました。そう、確認に用いたケーブルの間違いでした。疲れましたが、これを機に充電ケーブルにはマークを付けることにしました。

ローカライズされた中華Arduinoの世界

先日、ArduinoUNOベースで急遽製作納品することになった案件があり当初はAitendoからESP32ベースのIOTExpressを利用する予定だったのだが、ワイヤレス対応の問題から逆にBTユニットとUNOという組み合わせで対応したのだった。偶々、知人から寄贈いただいていた訪問客対応用のUNOがあったのでこれを流用して対応したのだったが、二個新たに購入することにした。

本来は、正規ルートで購入すべきなのだが怖いもの見たさでAliexpress経由で純正互換と見えるもの(CH340Gなどを利用していない)を購入手配してみた。

届いたものは、こちらです。

堂々とホログラムまで入れて中国製造の印刷も入ってます。価格は1500円弱

スイッチサイエンスさんから購入した正規品は、同社のベースに固定してありますが、来たものは個別に進化を遂げていて単体でプラスチックのベースが付いていました。実装した部品のリードなどが当たることもなくなり優しい設計となっていますね。

中国でモノづくりが爆発している中で潮流として活用されているものがArduinoのプラットホームでもあるのでしょう。箱にはwww.arduino.org.cnというサイトが記されていますが本家とは離れて唯我独尊といったたたずまいです。もう何が何だか・・・

二枚購入したのですが、1枚には16Uのファームが正しく書き込まれていなかったようで認識しなかったので、AVRISPとATMEL Studioを用いてファームの更新を行いました。双方とも使えるようになりました。

 

 

大型タイマーパネルを作る

大型のタイマーを作ることになり、開発要請元のご希望はアクリル板でカバーしてほしいということでしたので背面をマットな黒アクリル、前面を透明アクリル板で構成して間にNeoPixelのLEDを並べるというもので、透明モールを使うというものと、防水カバー付きのNEOPIXELをそのまま使うというものの2種類を作りました。アクリル板を挟み込むのはアルミチャンネルで、コーナーにカバーとコアとなる部品を2つ3Dプリンターで作り構成しています。

コアとなる3Dパーツと45度加工したアルミチャネル

Arduino UNOとBT-HC05

コーナーパーツは外側カバーと、内部コアです。 この積層方向はちょっと弱かった気がします。

外殻部品でなかのコアとアルミフレームを締め付けています。

NEOPIXELを150球使っています、電源は5V 8Aというものがアマゾンで見つかりましたが、NEOPIXEL用途のようですね。セグメント表示用のアプリは、この後作りました。

思い立ったら組み込みの里で実験しよう

赤外線リモコン開発に挑戦中

日曜日にはバイトがないというN君は、思い立って土曜日に組み込みの里に連絡を入れて、作業をしたい旨を伝えてきた。赤外線リモコンの開発をしたいということを伝えて使いたい設備はオシロだと伝えていた。

日曜の来訪に備えて、たぶん使うことになるロジックアナライザ(ロジアナと略す)を使えるようにまずは、使用ソフトをインストールしていたマシンのWindows更新を進めておき、また必要なロジアナのドライバーも更新してすぐに使えるようにしておいた。

使うはずの赤外線受光部と赤外線LEDも用意しておいた。

昼過ぎにやってきたN君だったが、オシロとロジアナを使えるようにしてみせて、まずはざっくり波形をアナログのオシロで見て確認してからサンプリング時間などの設定をするように伝えてロジアナで実際に見てもらった。トリガのかけ方と表示範囲の設定や取り込みメモリ容量の設定などを伝えたのだが、実際には使い方を次々と発掘してCSV にデータを吸い上げて解析を進めていたようだった。やるねぇ高専生・・・。

現在は、アパート生活をしている専攻科生のN君だが、部屋のインフラとしてスイッチなどが無くてリモコンだらけなのだという。これを解決するソリューションとしてArduinoで学習リモコンを作ってカスタム仕様のスイッチを付けたいというのが彼の発想だったらしい。

持ってきたリモコンのうち、一つはニトリの掃除ロボットのリモコンでこれだけは、赤外線ではなくて2.4Gの無線制御だった。これについてはいろいろと調べていたようだが結局スタートキーだけをハードハックしてArduinoからスタートが制御できるようにするというのが彼の判断だった。

ニトリのリモコンの開封が一つのハードルだつたがなんとか達成して、里のワイヤストリッパーも堪能してもらい分解に必要な手業としての低温半田による組成変性で半田を溶かすということも体験理解してもらって分解に成功してリューターも使ってもらい線の引き出しに成功した。

赤外線の信号の動作確認がロジアナで取れるようになったので、まずは部品選定を進めなければならないスイッチハックの制御について実験をしていたようだ。彼の理解は、フォトカプラだったが実際にスペックを確認して無理そうだと理解したようだ。提案したのはトランジスタ、FET、最後はリレーだった。2SC1815と2N7000と3Vのリレーだった。実際にはFETはほとんど学んだだけで使ったことはないらしい。実際に馬力をあげて次々と確認していき、結局リレーに落ち着いたらしい。

とりあえず、こうした部品がすぐに手当て出来るのも、里のオープンラボの所以である。ホームセンターや秋葉に行かずともそろって実験が出来るのだ。

アイデアと腕さえあれば、彼のように次々と挑戦して新たな道具と対峙してキャッチアップして自分の思索を深めていくことが出来ますよ。

彼のデバッグは、まだ続くようです。里で見かけることがあれば声援してあげてください。

Arduino入門キットを寄贈いただきました

多賀様から、Arduino-UNO、Groove用シールド、スイッチサイエンスさんのArduinoを始めようキットのセットを3式寄贈していただきました。Arduino-UNOを利用していろいろと実験されたい学生さんに無償でご利用していただけます。

多賀様まことにありがとうございました。

モノづくり体験色々

今日は高専の入試の日でした。本科生らの試験は終わりのんびりとしているかと思い、先般プリント基板づくりで止まっていたE君からの連絡があるだろうとは思っていましたが、昨日の土曜日に連絡があったのは、どこか遠い処からの利用申し込みでした。可能ですよと答えたものの、お住まいはわからずアクアラインの向こう側ということとお名前などから女性らしいということだけだった。

土曜の申込みはなかったので気が付くと昼少し前になっていて夢うつつでみた書き込みがどうやらFBのホームぺージ向けのメッセージとなっていたことに気が付き慌てて返事を送りアクセス方法などについての情報を知らせておいた。

ネットでわかったことは、小田原あたりから来られるらしい女性だということで、木更津までの距離や時間は先日の土浦から見えた方にちかい2時間半ほどになるらしかった。

日曜の朝になり、十時過ぎには来られるとお聞きして、とてもスイッチが入られてこちらまで来られるのだということも再認識しました。電子工作の入り口からはじめたいということでしたので、今どきのモノづくりに欠かせないArduino互換機の製作をお勧めして、最終的にいくつかのスケッチを動かして開発環境の構築ならびに電子工作体験の二つを今日の成果としていただくことにした。

幸い、Aitenodoモデルが液晶付きで破格のものの在庫があったのでこちらを勧め、またテープLEDでの実験などで先々のはかどりが見えそうな感触となった。大学時代に半田付けをしたことがあるのと、当時の実験ではブレッドボードも使ったことがあるらしかった。担当の先生が接触の悪さなどが起こることから毛嫌いしているらしいことなどもしれた。4月からの非常勤講師などでも心してのぞむ必要がありそうだ。

さて、里のお手製の基板バイスもつかってもらい先日来の小学生同様につかいこなしてもらっているのが、この写真だ。

開発環境として用意していた里のマシンはWindows10に移行してからArduinoIDEが正しく動作していないことがわかり、Windows10でもちゃんと動作している自前のSurface Pro2にお出ましねがうことになった。

気になっていたCH340Gいわゆる中華シリアルポートについては今は問題なく動作するのでWindows10でも問題がないことはわかり、別の理由で里のマシンはNGとなっているようだった。(要調査)

 

 

 

 作業を進めていると、作業エプロンが振動しているとしらせてくれた。三時過ぎにE君がやってくるらしいとの連絡だ。彼は、昨日のうちに送信したつもりになっていたメールが送信されていないことに今回も気が付いたようだった。

これは、おそらく送信する前に受信箱の確認をしないことに基づく最近のメールサーバーの流儀に基づくものなのだが、むしろメールアプリ側で自動的にやってもらいたいくらいかもしれない。

前回は、PCB加工機が上下動作に支障があり基板作成に至らなかったので、こちらで分解調整して対処してあったものだった。

今回の経験で基板加工機の一連の作業をE君はマスターしたので、4月から始まる新しい年度では本科の最上級生として、電子創作同好会を発展させていってくれるに違いない。今回の基板は謎のShield基板であるらしい。

お二人とも遅くまでかかりましたが本日の里での作業は充実した成果になったそうで、よかったです。

ガイガーカウンターシールド基板を頂きました

シーエー様から、ガイガーカウンターシールド基板を複数いただきました。Arduinoの足を取り付けるとシールドとして使えるようになります。

シールドとしてでなく、AVRを載せても良いように設計されていますね。書き込み用のソケットランドもあります。

ガイガー管も搭載済なのであとフリーランドに液晶を取り付けたり、Bluetoothのモジュールを付けてスマホで活用したりといった使い方も考えられていますね。

ちなみにシールドにすると下側にソケットをつけて刺しますので三宝のようになってしまいます。サイズの観点からは、親亀子亀ではなくてコバンザメになるわけです。

 

 

詳細のリンクはこちらにありますが、使ってみたい方には、この基板はフリーで提供しますが、ほかの必要な部品を実費手配します。

 

 

 

 

 

 

[Bug Fix] 中華Arduino Unoのバグはパターン間違い

ChinaUno3 ChinaUno4 2016-08-14結局問題は、パターンが間違っていたということだった。赤丸の箇所がアースにつながっているのが正しいのだが・・

 

 

 

 

力技で、ワイヤリングをしてみた。あと、同じ基板が、まだあったようだ。トホホ

 

 

 

 

切れていたのは、電源判定の分圧回路のアース側だった。

 

image結果は正しく読めるようになりました。

[挙動不審の中華Arduino] Faboの温度センサーが正しく読めないわけじゃなかった

imageFaboの動作確認をとっていたのだが、付け替えたはずの中華Arduino UNOでは温度センサーが正しく読めていないことが判明した。

左の写真をみてもらおう。
サークル時計の中央の表示はDS18B20による値で正しいと思われるのだが、後方の拡大液晶表示は更に9度も高い温度が表示されている。

何かが間違っている。

 

 

image古いほうのイタリア製のArduino UNOでの測定結果は、後方のモニタも同様に27度と表示している。

ちなみに、このセンサーは電圧で温度を出力するLM61CIZは2.7Vで動作する温度センサーで-30度から100度の範囲を300mVから1600mVまでのアナログ電圧で通知してくれる優れものなのだが・・・。

どうやら怪しいのは中華のArduino UNO互換機だ。電源電圧が5Vかかっていないような雰囲気だ。ADの最大計測値は電源電圧だから低いと仮定した場合には、読み取り値が大きくなり結果として温度が高いと表示してしまったようだ。

手抜きをして、サンプルコードをそのまま入れて、中華製Arduino UNOの素性を明らかにしていなかったことが事態を引き起こしたということだ。

ちなみに手元にあったArduino Leonardoでも正しい値を表示した。

電源電圧を測定してみると若干中華Arduinoの電圧が低いのだ。ちなみに動作条件はどちらもUSBでPCと接続してIDEでサンプルを書き込みシリアルモニタで確認しているわけだ。

回路図から追ってみると、どうも接続していないはずのDC入力があるという判断をしてFETがカットオフされてUSBからの電源供給がFETに入っているダイオードの順方向降下が起きているようだ。ADCが動作するのは、その最大電圧に対しての計測なので、温度が高く表示されてしまったということのようだ。

さて、対策(補修)はどこだろう

10桁表示の蛍光表示管でカレンダー時計をつくりませんか

image

10桁表示の蛍光表示管  9セグメント(7セグ+カーソル+小数点) 10MT20GK 900円

Aitendoで買い込んでおいた蛍光表示管モジュールである。FUTABA製らしいが、データシートは既にAitendoにもなくなっていた。電子工作をされている人が保存されているのが見つかり、こちらにも控えをとった。

Arduinoで作ったニキシー管時計の要領で、もう少し低圧を発生させればよさそうだ。表示管の在庫は2台あります。

流行の温度センサーDS18B20使って温度も10桁ならば時間と同時に表示が出来ますね。