隠居エンジニアのものづくり

自転車 電子工作 ラジコン ロボカップジュニア CAD レーザー加工機

Arduino UNO もどき (Arduinoを用いたI2Cデバイス製作)

ArduinonのI2Cスレーブ動作

ArduinoにはI2Cスレーブデバイスとして動作させる為の関数が用意されています。

これを使えば、I2CモータドライバやI2Cセンサを作る事ができます。

例えば4chラインセンサを作る場合に必要なのはA/Dポート4個とSDA、SCLだけです。

コンパクトに仕上げる為にもATmega328PをArduino化した物を使うのがベターです。

 

Atmega328Pの動作確認

Arduinoブートローダ書込済(3.3V内蔵8MHz仕様)ATmega328Pを用いるのが、お手軽です。

I2Cデバイスに仕上げる為には、確実な動作になるまでのデバッグが必要です。

デバッグの方法としては

① I2Cデバイス側にArduino書込み機能を持たせる

Arduino UNOのATmega328PをI2Cデバイス用ATmega328Pに差し替えてデバッグする

Arduino書込み機能を持ったゼロプレッシャーソケット付き治具にてデバッグする

 

①はコンパクトに作りたい要求に反しますし、I2Cデバイスとして動作し始めると不要になる部分にコストが必要です。

意外とご存じない方が多いのですがソケット・コネクタには抜き差し回数が決まっています。

例えばデータシートに”挿抜保証:100回”と書かれています。

②は、手軽ですがArduino UNOの信頼性が低下(挿抜保証)して行くのは必至です。

そこで③の基板製作がお勧めです。

 

基板製作

エッチング方法については以下御覧下さい。

レーザー加工機でプリント基板を自作する方法 その2(エッチング編) - 隠居エンジニアのものづくり (hatenablog.com)

これで失敗した方々を取材して、失敗の原因特定ができてますので、要点説明を加える事にしました。

失敗しない為のその0

厚紙にレーザー加工して設計そのものに問題が無いかを確認します。

今回は特にゼロプレッシャーソケットのロックハンドルの稼働範囲に干渉する物が無いか確認しておく必要があります。

シリアルインターフェースの6pinコネクタにロックハンドルが当たらないのでOKとします。

パターンの確認

失敗しない為のその1

銅箔面の脱脂をしっかり行ってから黒色ラッカー塗装を行って下さい。

脱脂には、しみ抜きに使うベンジンを愛用しています。

購入から時間が経っていると写真の様に銅の錆も若干発生していますので、脂も錆も纏めてしっかり拭き取って下さい。

ラッカー塗装は薄塗で乾燥してから重ね塗りをしましょう!

一度に厚塗りをすると銅箔面付近が乾きにくくなります。

3日以上乾燥させると歯磨きとエッチングに耐える塗膜の強度が得られます。

基板銅箔面脱脂

失敗しない為のその2

レーザー加工のままでは薄膜が張った状態にあります。

このままエッチング作業を行うと、銅箔が溶けない状態に陥ります。

レーザー加工(歯磨き前)

そこで、使い古しの歯ブラシと歯磨き粉を用いて基板を磨きます。

研磨材の多い歯磨き粉が良く、”クリアクリーン”を愛用しています。

銅箔の輝きがでればOKです。

レーザー加工(歯磨き後)

ここから先の工程での失敗は無い様です。

エッチングの状態確認は基板の後ろから光を当てて透過光で確認すると見やすいです。

銅箔が残っている所は光が通らないので微妙な銅箔残りも見つけられます。

エッチング状態の確認(透過光による確認)

28pinソケット用の穴あけ加工は1ピンでもズレるとソケットが挿せなくなるので慎重を要します。

穴あけ用の治具を両面テープで基板に貼ってから穴あけ加工を行えば、問題になる程のズレは生じません。

再剥離 強接着両面テープ 日東電工No.5000NSを使えば治具を強力に固定できますし、剥がす時にテープが切れないので手間がかかりません。

穴あけ治具

穴あけ加工後は前出のベンジンを隙間に流し込んで5分程漬け置きしてから剥がすと簡単に剥がせます。

治具の取り外し(ベンジン漬け置)

穴の精度は御覧の通りです。

治具を用いた穴あけ加工

片面基板を製作している所(出前授業させて頂いた)で必ず耳にする”ジャンパー線の本数少ない自慢”ですが、ジャンパー線の本数を減らすのが目的になっていて、GNDをジャンパー線で飛ばしているパターンレイアウトを見かけます。

”GNDはジャンパーで飛ばさず、可能な限り細い所は作らない”を第一条件にパターンレイアウトを考えましょう!

同じ部品を使った基板でもパターンレイアウトの違いによって性能が異なります。

今回の基板は4本のジャンパー線を使用します。

基本的に抵抗・コンデンサは面実装タイプで設計していますが、リードタイプを混ぜるとジャンパー線を兼ねる事ができるので柔軟に考えましょう!

ジャンパー線

完成

この”Arduino UNOもどき”でI2Cデバイスの機構確認を充分行ってからI2Cデバイス基板にAtmega328Pを移して動作確認します。

I2Cデバイスに限らず、色々なセンサデバイスを作る事ができます。

これは特定の色を検出した場合にHIレベルを出力する画像処理センサです。

(ちなみに、このセンサはHとSの範囲にて判断していのでRGBやHSB(HSV)の指定がないロボカップジュニアでは使用できません)

バイス製作例:色判定センサ(イメージセンサ使用)

書込み部を持たない小型のサブマイコンボードを作る事も可能です。

 

シリアルインターフェイス部の6pinコネクタはArduino Pro Mini 仕様です。

FTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き)と組み合わせれば5V動作と3.3V動作の確認ができます。

Arduino UNO もどき回路図 (動作確認治具

はてなブログにはデータを貼る機能がないので、Eagleのプロジェクトを共有できません
が、ジャパンオープンにてブログで紹介した保護回路を画像(回路図・パターン)から製作したチームを見かけました。
お願いしてパターン図を見せて頂いたのですが、そこには全く異なるパターンレイアウトが、”ん~~~~あっ!”これは部品面からのレイアウトでは?

テープを貼ってパターンレイアウトしていた時代からCADへ移行したのでパターン面から描く事に違和感が無かったのですが、最初からCADだと部品を見たまま配置してもライブラリーによって裏面の配置を間違いなく引ける訳ですから、こちらが自然ですね。

と言う事で、このブログのパターンレイアウトはパターン側からの図ですので注意して下さい!

描き起こしする方がいるようなので、パターンの画像を少し多めに貼って見ました。