中華デジタルオシロスコープの付き合い方

最近では、アマゾンでも普通に販売している中華デジタルオシロスコープです。デファクトとも言えるテクトロなどと同様なUIでとても安価で十分な機能を持っていると判断されて勤務先の高専でも活用されている。10年くらい前から安いオシロスコープとして秋月電子などで取り扱ってきたがSTN液晶だったり、TFT液晶に変ったり進化をしていたのを見ていた。4年前に産業技術高専で非常勤講師を始めたときにはPDS5022がTFTタイプとSTNタイプとが入り混じっている環境だった。

学生実験でオシロスコープを学ぶというのは高専では必修いや必須だろう。学生時代に岩通のSS5302の退役品を先生方が企業や大学から収集してきてくれたものを使い込んでアナログオシロで勉強した。起きた事象を子細に確認する遅延掃引の使い方を習熟することで、その後のデジタル信号を確認するときなどにも役立ったのを思い出す。「これを理解して使いこなせれば企業で困らない、なぜなら企業のものは最新型でもっと楽だからだ」と言われたのは実際事実だった。テクトロやHPのものでも違いはないし、就職先自体にも測定器部門があったのでそれらも同様だった。

測定器自体は、長く使う物なのでしっかりとした部品で構成されていることが必要なのだが安価な測定器として位置づけられた中華製オシロに席巻された時代では直して使うとか、よりも買い替えるという話に最近の学校ではなってしまうようだ。当初の世話人となっていただいた教官はそんなオシロを直して部品交換をしたりして使いこんでいこうとされていた。内蔵のリレーがおかしいと購入しようとしてもディスコンになっていて買えないと嘆いておられた。

当時中華マーケットでの部品購入が私としては普通に行っていたので検索してみると、当該の部品も見つけることができたので発注しておいた。しばらくして届いた部品は中古品でいわゆるジャンク基板が取り外した物がマーケットに出回っていたのだったが動作確認すると使えそうだったので、それに交換したりしてしのいだことを思い出した。ロボコンに参加する海外の大学生がジャンクから基板を取り外して部品利用したりする映像を見ていたので、こうした活力が日本でも必要だと感じたし、創立当時の高専の雰囲気は今の海外のそれに近いものだったと思う。

さて、非常勤勤務を続ける中でそんなオシロも10年近い歳月を経てリニューアルすることになった。とはいえ元々のモデルも組み込みの里の旧いテクトロに比べれば新しいものだったし、画面をコピーするのにプロッター翻訳機能付きのHPIB-USB変換で接続したり、フロッピーディスクにしまったりといった塩梅だった物とは異なって、USBケーブルでパソコンと直結して機器制御や画面コピーが出来るものだった。Windows-XP世代のパソコンにインストールされたそうした対応ソフトやドライバなどが複雑にからまり収拾がつかなくなりつつもあった。

リニューアルされたモデルはSDS1022という100MS/s 帯域20MHzというもので学生実験には十分なものだった。USBメモリに画像データとして保存する機能も付いたのでパソコンとの分離もできるようになった。すでにXPパソコンも時代遅れのスペックとなりSSDに交換してWindows10にまでは更新したものの内蔵RAMが1GBといったモデルなどがありこちらも交換必至だ。なにより内蔵電池が使えなくなってきている。

昨年からこのモデルを使ってきていたので、同様なモデルを里でも一台購入したUIは同一の上位モデルだ。1GS/s 100MHzという帯域なので里のテクトロよりも良いものだ。学生達は新しいマシンになってUSBメモリを介して自分のパソコンで実験解析をexcelで行ったりしている。道具がよくなったからと言って基本を学ぶ学生にとっては、躓くことも多くてレポートを見ていると見よう見まねで実験を実施して最後レポートの段階で落とし穴にはまるケースもあるのでフォローや資料整備が大切である。

使い込んだ学生も出てきてオシロスコープにカーソルを出して解析データに使いたいのだが画面コピーが出来ないという問題が発せられた。カーソル機能を使うと、拡張ノブを用いて垂直・水平の計4本のカーソルを選択して移動させるのだが、このモードでcopy釦を押して画面コピーを実施すると退避ファイル名入力のUIが出るものの拡張ノブでソフトキーボードの移動が出来ずに元々のカーソルが動いてしまうのだった。バグだ・・・。対応策はcopy釦ではなくて、メニューからcopy機能を呼び出す手順でするしかないようだった。

自宅に置いてあった上位モデルを確認したところ同じバグが再現できたのでメーカーである中国OWON社のサイトを確認してソフト更新などがあるのかと検索してもどうも見つからないのでQA手順から問い合わせをしたところ、該当機器のシリアル・バージョンと再現動画を送れという話だったので携帯で動画撮影したものをOneDriveで共有したリンクを送りなおしたところ当日の夕方には対応したという新しい版のソフトが届いたのでインストールして修正が確認された。

続けて学校で用いているモデルでも同じ現象が出るので直してほしいという連絡をしたが、手順としてシリアル・バージョン・再現動画という3点セットを要求されたので金曜日に夏休みの学校を訪れて一時間ほどかけて再現動画採取と各セットのシリアルとバージョンを調べて送付した。1週間ほどで対応ソフトが届いたので、また土曜日に学校を訪れて動作確認をした。問題の点は治っていたようだが、こちらの確認手順が悪くて少し混乱した動作になり問い合わせを送ったところ再現動画を要請されて、また月曜日に学校で確認してみるとソフト更新の結果で設定がリセットされてcopy釦の動作自体が詳細データの保存という機能になっていて画面保存のUI動作にならずに書き込みが始まっていたことが分かった。こちらの落ち度だった。

中国メーカーの対応は真摯で迅速なもので現行商品の性もあるだろうが適切に対応してもらえるのはとてもありがたいものだった。このような形に測定器のモノづくりが置き換わっている状況をみて、従来のメーカーでの対応とはまったく異なってきているのではないかと感じる。自分自身も21世紀になってから携帯ソフトのサポートをしてきたものと同様な形でサポートがなされていることについては、改めて中国のモノづくり現場でのサイクルがかわっていることを再確認した。

中華メーカーの製品だから、この程度のものとタカをくくって使っている方がいるとしたら今一度そのメーカーと向き合ってみたらというのが私の感想だ。今回のメーカーはOWON社だった。オシロスコープのUIはどうもAndroidで出来ているようだ。ライセンス不要で使い倒すという仕組みとして活用しているのは逞しい中国メーカーだなと思う。測定器を立ち上げてWindowsロゴをみることもなく使いこなしているのがこれからの時代なのだろう。

サークル時計精度向上オプション 試作評価しています

オプション基板を試作して時計キットのDS1302と差し替えて、使っていたDS1302をオプション基板に載せた。一か月以上経過したが、確かに高精度で動作していて分表示でもあることから遅れがなくなったようだ。
課題は、バックアップ電池がベース基板にあるので、オプション基板を外すときにバックアップが切れてしまうことだ。補償用のコンデンサが必要かな。

3D-Printer Fix Study Challenge (木更津高専生限定)

対象となるのは、組み込みの里で、導入してきた初代3DプリンターであるRepRapベースのRobo3D R1ですのでオープンソースで改造や活用が容易なものです。

第二の居場所として活躍予定でしたが、出戻ってまいりました。修理が必要な状況ですが、無償で必要な修理材料ならびに指導を提供します。修理期間中の里の利用料は無料でご利用いただけます。修理完了後のプリンターは無償提供いたします。

  • 募集期間 2018/12/29から2019/1/26
  • 募集対象 木更津高専の学生(個人でもチームでも)
  • 募集条件 参加者の方たちの修理活動についてはホームページで逐次公開させてもらいます。
  • 応募方法 電子メールで下記内容をお送りください。
    参加希望の方の名前、学科名、学年、メールアドレス、修理が終わったプリンタ―の活用方法について記載してください。
  • 選考結果は、1/28にメールでお知らせします。
  • 修理期間 2019/2/2から2019/3/24 (この期間は里の利用料はかかりません)
  • この期間を超える場合には、里の利用料を申し受けます。

Arduinoで学ぶ組み込みハンズオン合宿をしてきました(1)

先週末11/24と11/25は、依頼された組み込みハンズオン合宿の講師をしてきました。開催場所は茨城県神栖市の旅館を借りてのものでした。オープンソース活用などを進めておられた知己が地元の母校(波崎工業高校)の後輩たちもターゲットにして開催する刺激を与えることを目的として企画されましたが、実際には若手抜きでの開催となり準備推進といった様相となりました
先日開発したスポーツ用の12秒タイマーの実装例などの解説を中心にしてカスタマイズや、センサー・アクチュエータを活用できるところまで参加された方々のIDE環境のセットアップから二日間で漕ぎつけるというものでした。ほかにも教育研究されている宇都宮大学の先生や波崎工業高校の先生のお話も交えての内容で縦軸が私の担当するハンズオンの合宿でした。

地域の工業高校生の参加勧誘に向けては、社会連携などの活動としてのお話しにつなげていく中でのものでしたので準備に手間取り実際の生徒さんたちの都合には十分な宣伝期間などが不足して、社会人の方たちの参加のみに限定されましたが教える側としてのトライアルとしては寧ろIT環境になれない方たちも含めてのものとしての挑戦でもありました。

最初に、自身の邂逅となるマイコン遭遇となる組み込み人生について自己紹介をかねての経歴説明の中でマイコン開発の進め方にどう携わってきたのかを話して開発環境への取り組みが35年ほど遡る時代背景での高級言語Cのマイコン実装実現での経験について話をして、現代にいたるまでの話をつなぎました。これには今日のハンズオンへの伏線を隠していました。同様な内容は先月開催されたヒューマンネットワーク高専の全国交流会でのプレゼンと被ります

手元に皆さんが使えるようにしたのは中華製のArduino互換基板です。今回参加された方々はUbuntu, Windows, MacOSと様々なタイプのマシンを持ち込まれていたのでIDEのインストールを通じて最近のライセンス問題やArduino自身の出自や、Arduinoプロジェクトの御家騒動、USB変換チップの模造品問題などについても触れて今回のものに搭載されているものが中華国家が推進しているCH340が搭載されていることに触れて、識者の方にも経験のあるUSBケーブルが動作しなくなったある時期の時代背景についても触れて実態について紹介しました。こうした技術上の現代史を知らないまま、これからの時代を生きていくうえでは重要な点と理解しています。

折角の機会なのでマイコンの構造を解き明かしつつ内部の構成についても解説を加えるという回りくどい教え方でもありました。

Arduinoのベースとなるマイコンの基本を知ってもらう意味で機械語の動作が目視でみたりすることが出来るマイコン黎明期に登場したAlnair/IMSAIなどのレプリカマシンであるLegacy8080(科学少年出版)を持ち込みマイコンとしての動作の概念であるメモリ、バスライン、デバイスの仕組みについて解説して自身が開発して成果を上げてきた話とシンクロしながら説明をして、組み込みの基本となるリセットからのマイコン動作も含めてデモすることで実際にマイコンをステップ動作させることで理解した雰囲気に導きました。

Arduinoの良いところはプロトタイピングのために徹底した抽象化が図られていて本当の意味で知らなければならない細かい所作については理解しなくても使い込んでいくことが出来ることでもあるのですが、そうした隠ぺいした部分について詳細な理解までは別にして気にする程度に説明することで実際のモノづくりに必要なことを実装例を通じて示していきました。

実際に作ったスポーツタイマーは12秒計測を行う大型のLEDでフラッシングを脈動するような形で色や照度を変えつつ表示計測して任意に停止したり巻き戻したり進めたりという実現したものの説明を先に行いました。これで参加される方がこれから説明しようとするものについての動作上の理解をしてもらうことが出来ました。

具体的な動作例を示すことで、その中身のソースコードを説明していくことで必要な記述が何を示していくのかについての関心が増します。

150個のLEDピースが連結されたNeoPixelというデバイスが三本の線で接続されていることを示しつつ、信号線の定義をソース上で行うこと、実際の基板の上での読み方や複数のピンが存在する中で使える二つのタイプのピンAnalogの入力にもつかえるピン、デジタルの入出力に使えるピンなとの機能についての説明や配置上の自由などにふれ、これから制御しようとしているLEDのシリアルテープ構造のもの自体が一つずつにマイコンが搭載されていて3色のLEDの色情報と輝度情報を持っていることを教えます。セグメント構造、色の制御、時間経過での色と照度変化のための構造定義とロジックについてから前後しますが、ArduinoのプログラムにはMainが存在せずにSetupとLoopしかないことを説明して、普通のブログラミングであればMainから終了すると終わってしまうのが、Setupが最初に一度だけ呼ばれてから、Loop関数は繰り返し呼ばれてしまう構造であることを伝えて、ようやくソフトの制御の流れについての読み方を説明していくことを伝えます。スポーツタイマーではBluetoothの端末からのコマンドで動作することを示していたことは示していましたが、あえてシリアルインタフェースは使わずにソフトシリアルを使っていることを理由も含めて説明していくことで深みに嵌めていきました。

7セグメントの構造の1.5桁構成の表示機で制御するためのLED構造が数珠つなぎで一番Arduinoに近いものからアドレスが降られていることを伝えて制御したいセグメントを定義するスタートとエンドの番号を定義していく箇所。

そのセグメントが0から12までどの様に点灯するのかということを定義したデータ配列。

三色のバランスを段々変えていき、緑から始まって、徐々に赤くなっていく色の変化を定義した配列。

一秒刻みで毎回ハッキリと輝度を上げて表示しつつ経過時間で薄くなっていくための輝度調整の計算ロジック。

以上開発した関数を組み合わせて、ある経過時間での残り時間を、その時の秒数と、その時の輝度と色で150個のLEDに与えるデータとして編集する関数群として呼び出す仕組み。

最後に一気にそのデータを瞬間的に高速に払い出すための関数。

TA7291Pでリレー制御

IoT機器開発の依頼がありコンサル対応しています、ラッチングリレー制御をネットで行いたいということでArduinoとSakuraIOに繋がるrelayシールドと、その筐体実装のサポートをしました。プロジェクト自体は現役高専生がベンチャーの会社で任されて進めていて、組み込みの里ではそのフォローサポートならびに試作製造といったことをしています。

途中経過は、試作基板を削りで作成していましたが、最終的にシールド基板のみを開発することになりました。

量産基板には設定切り替えなどをJumperで出来るようなフットプリントを付けようとしているのですが、使っているKicadが色々と難癖をつけてきて妥協と解析対応をしつつ進めています。

若者がモノづくりの主体として関与するこうした取り組みを任されているベンチャーの方とのコラボはとても良い実体験になると思います。スマートに解決できることばかりではなく、お客様との打ち合わせなども体験しながら進めているプロジェクトの発信源は、やはり高専OBの熱い方でした。

仕様変更の調整なども踏まえて少し余計にかかりましたが、夏休み前にお話しを聞いていた時から長い高専生の夏休みの実務アルバイトは大きなインターンシップ以上のものになっていると思います。

試作基板には、仕様変更の対応でターゲット装置の遠隔監視などの観点で温度センサーが追加で実装されることになりました。ユニバーサルエリアを作らなかったので孫基板の実装となりました。

里では何年か前に話題になった例の温度センサーを使っています。(Hi)

NC加工をしてみる(4)

今回のお題は、市販の防水樹脂筐体に収めるある程度数を作ることを想定したモノづくりのお手伝いだ。里の加工で出来ることはしれているのだが、そこはベンチャー会社の人たちにしてみたら他に頼むことよりも出来るだけ作れるものなら最初にどこまで作れるのかは知りたいということらしい。

基板手配は、当初の課題だったが、サイズの問題などからEAGLEからKiCADに移行して新しい機能などを覚えて試作品としてOriminを用いたUSBCNCで削り出して試作評価というフェーズが簡単に崩れてしまった。良くも悪くも今までの使い方がCADというよりもアートワークを手で引いているようなPCBEだったりしていたことから制限を外して挑戦しようということでもあったのだが、試作用もう少し融通の利く環境構築も必要のようだ。

基板がとりあえず、KiCADのアートワーク状況を手コピーしてPCBEのスクリーンにプロットしていくのだがPCBEの柔軟な運用としてプロットポイントを自在に原点調整やピッチ変更が出来るのが幸いしてほどなく出来るのだが、あいにくと強度が必要なUSBコネクタやDCジャックの類の角穴などは折角モデルを使ったのが仇となっていたので丸で近似するしかなかった、作図は簡単だがはんだ付けの苦労はありそうだ。

これやArduinoの基板をスペーサーで保持するのだが、その設置用の穴開けが課題になりそうだということは先週のトライアルで分かった。穴あけ位置を指示する樹脂製のテンプレートを作成してそれ越しに穴あけをすることにした。これを作るのは今回は3Dプリンターで少し垂直のガイド性もつくようにした。

結局Arduino以外も含めて全体のテンプレートが丁度3Dプリンターで作れそうなので穴のサイズごとに色指示のシールを貼って効率が上がるようにしてみた。
Arduino UNOには使えないコーナーピンが一か所あり、設計上は3mmのビスを使うことになっているのだが実際にあたってしまいネジ締めが出来なかったりもしているので、ここは2.6mmのネジを一か所だけ使うようにした。そんなこともあったれして実はバタバタとしたNCデータの流用だった。転写する段階で読み間違えたりしてサイズ位置が合わなかったこともあったので、もう少しレビューを落ち着いてしたほうが良さそうだった。問題のUNOのマウントには樹脂製のスペーサーを使わないと背面のパターンも当たってショートしそうな感じもしたので手持ちのジュラコンのパーツを見つけ出してくみ上げてみた。

明日、全体試験をしてもらって来週はいよいよ顧客先で稼働評価試験となるらしい。

NC加工をしてみる(2)

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

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

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

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

ローカライズされた中華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用途のようですね。セグメント表示用のアプリは、この後作りました。

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

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

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