NC加工をしてみる(3)

あまりこだわったことがない、基板加工にも今回は、取り付け位置の制限などから外形加工をする必要があったのだが、使ったP板CADはKiCADにしたところ、基板加工機CIP100に付属してきたOriminでは対応できないことが分かり、急遽今まで使っていたPCBEで加工データの位置を取り込んで穴加工とその配線を通すという形になった。昔でいうところのアートワークを引いている感じだ。

作りたい基板サイズは45×105ほどなのでCIP100(Max 160×100)としては二枚取りが出来そうなあんばいなので外枠の一部は今回基板の縁に添わせる形で刃物の摩耗も防ぐことにした。取り付ける部品を押える目的のインシュロックを通す必要もあって角穴データは溝切の一環で外形データと通すことが出来たのだが、基板自体は四角にしかすることが出来ず一部を切り込んだ形にはできないことが判明した。対策は簡単に切り落とせそうな角穴をその位置近くに置くという代替案だ。KiCADで通らなかったデータにはDCジャックのランドパターンもあったようだが、これは少し大きめのパッドで逃げることにした。

本番の基板とパターンと部品配置だけを似せた状態でのデバッグということになる。試作動作完了となれば、基板発注という展開になる。

NC加工をしてみる(2)

微妙な配置にあるのは、今回作成したリレー制御基板の穴加工位置についたガイドである。適当にリブをつけて強度を持たせようとしているのだが、矢印をエンボスにしてあるのは、ターゲットの基板の角に寄せるためのマークである。

ABSもしくはポリカーボネートで明日作成する予定だが、下にはエポキシ基板も当てようかと思っている。実際にはシャコ万力で押さえてハンドドリルまたはボール盤であけることになりそうだ。

位置精度が必要なものは、あとArduino UNOのマウント部分もあり、同様なガイドを作成する予定だ。下の穴あけを依頼すると加工費用だけで材料の25倍以上の費用となるらしい。工賃は馬鹿にならないし、実際に先日配置の指示だけを紙に出して貼りつけて穴あけを試みたのはNGだった。少なくともオートポンチを施工すべきだったようだ。

精度を出すのが難しいことは確かにその通りなので専用冶具を3Dプリンタや基板加工機で作成するのは今風なのかもしれない。

NC加工をしてみる(1)

実用的なNC加工を直接試みようとすると現実的には、素材の固定やサイズなどの制限がありまた工夫が必要となります。里にあるNC加工装置は、オリジナルマインド社のQT100とCIP100あとはsmartDiysのFaboolLaserMiniです。

今回IoT装置となるものは、配電ボックスなどに用いられるタカチのケースなのですが、搭載部品となるArduinoや専用シールド基板などを内部のベース板に取り付けるための穴加工が必要となります。ほかにもいくつか取り付けるパーツはあるのですが、精度が必要なのは前述のものたちです。樹脂でできているベース板なのですが裏側にリブがあったりして実寸の穴位置加工図面を貼り付けてボール盤でトライしてもらいましたが、うまくいかないというのが経緯です。

この板自体は安いものですが、本来は現地でブレーカーなどを止付けたりするもので精度の必要な穴位置が要求されたりはしないものなのでしょう。一応メーカーサイトには加工受付のリンクもありましたので、クライアントの意向もあって見積もり問い合わせをしてみました。ざっくり追加の穴加工16箇所と材料込みで一枚の場合には7000円なりということで中間マージンもあるのでしょうが、さすがにクライアントさんの要望範囲ではなさそうなので丁重にメーカーさんにはお断りを入れつつ、数量的には100台くらいの加工までをしなければならないので再度見積もりはお願いしました。

精度の必要な穴加工を実現するための冶具作りをNCで行うのが現実的かと思われましたのでガラエポ基板かアルミ板を加工してブロック単位でゲージを作り、さらに必要であれば垂直精度を助けるためのガイドパーツを3Dプリンターで作ろうというのが今回のNC加工トライアルとなります。大きなサイズのNCフライスがあればよいのですが、あいにくと160×100がサイズ制限となるので精度の必要な基板取り付け部分などのブロック単位で冶具を作ることにしました。

この週末は、その報告ができるかと思います。

3Dで実装設計してみよう

ベンチャーのソフト会社を経営されている方から、IoT機器を使ったシステム開発のお手伝いを頼まれて若手エンジニアがモノづくりの経験を踏めるようにと今どきの仕事の仕方を追及してみることにした。

開発依頼元は、高専卒の社長が気を吐いているイケてるソフト開発会社なのだが、担当となっているのはベテランの風格漂う雰囲気の現役高専生だ。彼は学生アルバイトとして勤務しているのだが、ちょうど今は夏休みにあたり、今回のプロジェクトは夏休みの間に製品化まで漕ぎつけるという野心的な話でもある。

さて、私自身も平日の週4日は組み込みソフト屋として計測器メーカーの製品ソフト開発に携わっているのだが、小さな会社がモノづくり運営している中で見ている風景と似たようなことが実は個人でも出来てしまう時代なのだなと感じ入ってしまう。フットワークの軽さという意味では個人に分があるかもしれない。

IoT機器開発というパスワードが飛び交って久しい、市場規模は如何ほどなどと続いている。かつての組み込み開発などという言葉が展示会ではすっかり色褪せてしまったかのように展示会のタイトルそのものも冠するところがなくなってしまったりしているのが実情のようだ。プラットホーム競争も結局のところ歯車が微妙に噛み合わないケースが多いようで、小さな開発をしているところでは偶々本流に乗っているという場合もあるだろうし、気が付いたら統合淘汰されてしまったりもしているケースもある。

産業用機器開発の現場で保守が出来ないから、取り扱えないといっていたPCも今では工場用のボードが大手を振って闊歩しているし確かに、古いプラットホームをメンテナンス続けるという使い方にはそぐわないかもしれず、次々と手に入るプラットホームに乗せ換えていくというのが今の時代のシステム開発なのだろう。そういえばプラットホーム維持云々を喧伝していた会社自体がなくなってしまったりもしているのだから議論するよりもお客様に応えていく仕事をすべきなのだろうと思う。

リスクを取らないことでは、利益も出ないし屋台骨を支えるほどの大きな利益が出るおいしい仕事が転がっているわけでもなく、ただし様々な小さな仕事が世の中にはあるようで、そうしたことに取り合うだけのビジネスモデルと対応力を持った元気のある小さな会社とチャンスがつながらないということなのだろう。

MFTといった文化祭なのか展示会なのかといえば、新たな作り手のための発信基地だったり情報ソースを供給する展示会でもあったりする中では元気な人たちの姿も多く見える。皆さん自身の信ずる道を実践されているのは素晴らしいことだ。若者に電子工作で好奇心を育成しようという御旗のもとに進めてきた組み込みの里もいよいよモノづくりを実践しながらそうした活動を若者に見せる時期に入ってきたようにも思う。

以前からいろいろと相談されてきて応えきれなかったことについては、反省のいたりだがでっち上げとしてリスクを自らがとることで人のつながりと仕事の繋がりが出てきたりして、今はその次の段階に入ってきたようだ。今回のお題は、IoTのシステムを受諾開発するという流れではあるものの尖がったビジネスチャンスに気づきそのために必要なものは自らがそうした機器も開発しないとこうしたチャンスはモノにできないということを体現されている若者たちが中心にいるようだ。

そんな若者たちをモノづくりが出来るように支援するという巧妙な罠のような形で私に取り入ってきたのは何か時代の流れなのだろう。今回はこの蜜の匂いのする仕事に取り組んで若者に刺激を与えるように仕事をしてみることにしたのである。IoT機器として開発しなければならないものはある意味でMFTにあるようなプロトタイプのものと同列かもしれないのだが、こうしたビジネスの匂いをかぎ取る若いリーダーと経験の浅い若者とモノづくりに携わってきたシニアがマイペースで向き合うというのは互いに刺激的なことであるようだ。

モノを作るうえで決めなければならないこと、考えなければならないこと、選択した思考についての経緯を説明しないと彼らには血肉にはならない。幸いにして今では3次元設計がどこでも自由に使いこなせる環境が若者たちにはあってこれらの使い方を示していくことは重要なことだと思う。小さな会社でも当たり前のように今では3次元設計をしていくための高価なツールがマストアイテムとなってはいるものの、そうした会社組織が活用してビジネスチャンスにつなげているのかどうかは別の話でもある。

究極的にはスイッチの入ったモノづくりの意識の高い学生たちと彼らが使いうるフリーな教育目的のライセンスで使える3次元設計のツールを使いつつ開発成果を公開して全国の小さな規模の問題解決を各地にある若人たちの叡智の連鎖でつながっていけるようにしていきたいと思うので、まずは自分で使いこなしについて挑戦してみる次第だ。

三次元設計は、ちょうど20世紀の終わりに始まり、21世紀の今ではごく当たり前の話でもありとはいえモノづくりをしない限り考えなければならないポイントについては経験などからくる実際の使われ方や作り方などの考慮がないといけないのは三次元設計でなくとも必要なことなのだが、要は失敗して学ぶか、仮想設計としての三次元設計で思いを馳せることが出来るのかということなのだろう。

まずはモノづくりのベースとなる使用するパーツやケースについての2D/3Dモデルを入手することから始める。小さなパーツメーカーなどは必死にこうしたデータを提供サポートしているように見えるのだが、大手企業ではDXFのファイルですらも中途半端になっているような状況も見え隠れする。昔ながらの寸法図があれば良いのではとでも思っているような思いが透けて見える。

まあ、そうした図面から3Dモデルを作り出しても良いのだが、作り出したモデルがEAGLEのパーツ情報と同様に個人持ちになってしまうのはという危惧は、実はすでにソリューションがあった。GRAB CADというコミュニティでアーカイブ出来て皆さんが作ったものが様々なCADのフォーマットとして流通する仕組みが出来ているのだ。モノづくりを標ぼうするのが国の方向性ならば、いまどきのこうした仕組みに対してスポンサーシップでも行ったり進んで国産の部品公開を推進させるようなことこそが求められるとは思うのだが、地道にこつこつと出来ることがあるというのはありがたいことでもある。

むろん間違って登録されたものやタイトルが違うものもあるのは仕方がないことで、それと向き合って修正したりして貢献するということを考えていくのがいまどきの仕事の仕方なのだと思う。

BLEを使おうとしたら嵌ったerror: too many asp_ble_gattc_open(esp_gatt_if_t, uint8_t*, bool)’

ESP32の開発環境をArduinoに構築してとりあえず、LEDテープが動作したりするのは確認できたので、bleを使うために最新のライブラリを取り込んでみたのだが、表題のエラーがでる。ソースコードを確認していくと新しいライブラリで新たなincludeディレクトリとしてapiというものが出来ていた。まだBLEが最新版に統合されていない状況で個別にかぶせる形で展開したためにエラーとなる関数のヘッダーが新旧と同時に存在して探索パスの順序から古いものが参照されていたというオチだった。

apiに存在しているもので、上のディレクトリにあったものは削除することで解決した。

私の場合は、D:\User2\Documents\Arduino\hardware\espressif\esp32\tools\sdk\include\bluedroid

ここの下に新しいBLEライブラリはapiというヘッダが作られていた。

Arduino 環境 1.8.5
ESP32 最新版
BLE  0.4.16

Arduinoプラットホーム活用の形?

先日作成した、ショットタイマーの操作アプリの依頼を受けて地元学生に開発アルバイトとして展開している。高専学生のバイトとしては、手頃で勉強にもなるということで、見込みは開発時間は10時間凡そ2日で出来ると踏んで依頼元には見積をしてゴーサインが来たのだった。監修のオーバーヘッドと里の利用費用も加算している。とはいえ破格な汎用に使える今どきの携帯アプリはweb apiで作るとマルチプラットフォームに対応が済むらしい。

1日目は、仕様と開発環境のすりあわせを調査がてらしてもらった。ランチ交え始めたのだったが検討を進めてもらうと実は生憎と作ってあったショットタイマーに付けていたBT2.1世代のモジュールに対応するのは難しいらしくBLEに移行する必要があるらしい。旬のIoT環境で様々な物に対応していくのはそうした事なのだろう。Androidに限れば出来るらしいのだが。

依頼元に確認メッセージを入れて開発に使用したArduinoUNO+BT2.0からの移行提案をプランをいくつか示して問い合わせを入れた。ほどなく回答が届き対応機種を減らしたくないという大本の要望に基づいてBLEへの移行となった。

既に開発段階で採用しかけたものが最近流行りのESP32だったのでこれもしくは他のモジュールにするかは納期と完成度次第ということでアプリ開発アルバイトを進めるために、先ずはベースの環境をIoT Expressに戻して当時課題だったメインデバイスのテープLEDの駆動とピン割り付けなどの変更をした。

テープLED自体は、割り込み制御でイケる感じだった。途中で投げていた環境だったが回路図と皆さんのネット情報には解離があり、少し嵌まったが問題なく解決した。実装としてはもう少し互換性を保つ方法もあるのではないかと思うがいたしかたない。

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を用いてファームの更新を行いました。双方とも使えるようになりました。