西山 茂丸 について

組み込みマイコンでエンジニアを続けてきました。今の時代で見えない部分についても体験してもらってより深い理解を得てもらいたい広報教育活動をしています。

昔のラジオ調整に必要な測定器いわゆるSGになるFGとか


組み込みの里では、311を契機に活動準備をして無線離れした子供たちに向けてラジオ制作に親しんでもらおうと画策してきた。所謂スーパーラジオなのだが昔とは貨幣価値も異なる現代において1000円程度でキットが手に入る時代となっている。今ではモノづくりの舞台が日本から離れていることもあってこうしたキットも中国から入手したりする時代となっている。
測定器の進化や低価格化も進んでいて所謂デジタル測定器の一環として任意波形発生器が昔のオシレータ替わりに変調もかけられる仕様のものが安く手に入るようになっている。DDS型のスペック進化で60MHzとか80MHzまでも守備範囲となったファンクションジェネレータなのである。今どきの高専などにある機材は古色蒼然とした印象のデジタル化になった蛍光表示管式の韓国製FGだったりする。組み込みの里が始まったころに出たモデルだからそろそろ9年目となる。今でも秋月電子で扱っているのだが、こうした機器が掲載されている時点でそのジャンルは既に時間停止している印象でもある。遥か昔で言えば、リーダー電子やトリオなどの測定器メーカーがSGとして作っていたラジオ調整用のものが気が付くとクロスオーバーしてしまう事態になったようだ。
オシレータとしてDAで様々な波形が出せるというコンセプトのファンクションジェネレータとしての本分を満たすものがある一方で、発信源として2ch搭載したモデルを拡張して信号をミックス(変調)できるようにしたモデルも出てきた。中華市場で進化してきたこうした計測器が鎬を削っている。プロトタイプなのか初期マーケティングなのかアマゾンなどで破格で売りだされていた。20Mhzまでの単出力だった韓国製モデルは4万円弱だったが、60MHzまで出せる相互変調も可能な二出力モデルが4500円という値段だったので、2もなくクリックしてしまった。簡単に使えるという意味ではラジオ調整にも他のデジタルの目的でも使えそうな印象だ。今ではアマゾンでも1万円越える価格になっていて、この種のものにありがちなコピー品というかパネル違いだけのようなものが多く出回っている。買い求めたものがオリジナルだったのかどうかも不明だ。組み込みの里にはかつてのhp時代の古い計測器をヤフオクなどで収集してきたのだが、今どきの計測器に切り替えることで、コンパクトな環境になるのも事実だろう。
オシロスコープなどはブラウン管からのシフトで小型化になり今ではトリガ機能の説明をすべきなのか、デジタル化ゆえにSTOPで画面停止をしている学生を前にしつつも説明指導はしている。大切に直して使おうというのが正しいのか、修理するよりも技術革新などで遥かに安くなってしまった機器に買い替えるべきなのかどうかも悩ましいのだろう。里の風景や非常勤での実験指導の風景などから見えてくる現在を感じつつ先に進めるための改善につなげたい。

MiniTool Partition Wizardを使ってみた

背景
里に当初買ったマシンは展示品にしてあったWindowsマシンだった。7が確か入っていたマシンだった。1Tのハードディスクでi5に4GBメモリという構成でテレビチューナー搭載でテレビパソコンとして録画機能を使ってほしいといったモニター一体型コンセプトのマシンだったらしい。しかしドライブはそうしたターゲットユーザーに向けて50GBのみCドライブにしてあり、残りパーティションはDドライブという構成で8年余り使ってきた。
Cドライブの必須のマシン構成を無視したメーカーは、余計なアプリなどを使わない想定でもあったのだろう。調整しつつも使ってきたのだがついに更新すら出来ない状況に陥った。Dドライブは200GB余りしか使っていないのだがCドライブには4GBしか残っていない状況でWindows10の更新が出来ない状況となった。

パーティション操作と内容を壊さずに予備のDiskなしで出来ないかという思いで、表題のツールを使うことにした。
ちなみに今回の目的にはフリーではなくて有償バージョンに上げる必要があった。

手順としては、
1.Dドライブを分割する。
2.新しい領域をドライブにする。
3.Dドライブの内容を新規領域に転送する。
4.Dドライブをパーティション開放する。
5.Cドライブを隣接連続する領域を使って拡張する。
6.新規領域のパーティションのドライブ名をDにする。たが
こんな流れだった。

MiniTool Partition Wizard Free Editionはここから落とせる。

実際にやってみると手順1で空いたパーティションをドライブに出来なかったのだが、これはパソコンの保全などの目的のデータ領域として別に2つのパーティションがとられていたためにPrimaryドライブにすることが出来なかったという理由だった。拡張した領域については論理ドライブにすることでMBR構成の制限から抜けて次に進めることができた。パーティションのサイズ調整などのアクションは当然Windowsのままでは出来ない操作なのだがこうしたアクションをWindowsのGUIで自在に設定した結果を手順としてキャッシュしてリブートする際に別システムがフックして分担動作する仕組みとなっていた。ハードディスクが健全な内に、こうしたソフトを使わないと大変なことになりそうだったが進めることが出来た。

やりたかったパーティション間のデータ移動や隣接パーティションとの結合などの機能については有償版に更新する必要があり、更新したうえで進めた。一年間のサブスクリプション契約となるので解除を忘れないようにしないといけない。250GBほど使っていたパーティション間の移動は一時間以上を要したがトラブルなく完了した。最終的にCドライブを450GBとしてDドライブに残り500GB以上を残すことにした。ツールの使い勝手で困りそうなのは古いマシンでMBR構成となっている場合のPrimaryと論理ドライブの制限などが想定されるが、まずは使いやすく目的を果たすことが出来た。

ようやっと目的のWindows10の最近のシステム更新がかけることができてCドライブ圧迫に怯えずに過ごせるようになったので感謝している。

木更津と神田での運営について

組み込みの里 電子工作オープンラボをご利用いただき誠にありがとうございます。2012年より木更津の地でスタートしました組み込みの里ですが、母校の学生のみならずベンチャーの方々や地域の小学生の方々やシニアな方などいろいろなご利用をいただいてまいりました。私の本業の合間を縫っての運営を続けてまいりましたが、昨今の地域ベンチャーの方々への支援などを通じていた活動を、秋葉原近くの神田地区にてオープンラボを可能にする活動ベースにして週末活用していただく形で当面交互にオープンする形にさせていただくことになりました。

場所的には秋葉原から至近の距離となり部品入手なども容易となりますので、都内の方々などにはより便利にご利用いただけるかとも思います。オープンの日程は随時更新させていただきますので、ご利用希望の方は随時お知らせください。

なお、キット材料などの在庫は木更津には保有しておりますが、神田では工具・測定器などの提供に限らせていただきます。

ネット環境の利用などは木更津地区同様に使えます。

神田駅から徒歩5分
住所 東京都千代田区神田須田町1-28-13メリノビル4F
   株式会社EVAN
開講時間 開講予告日(土日)の11:00-18:00

連絡先  mailto:openlab@evan.tokyo

水やりIoTの道

神栖市で開催されたSocioinfoの勉強会に持ち込んだ水やりIoTの周辺機器だったが実際には高校生たちへのArduino指導などでそこまでのテーマには辿りつかなかった。

今後の拡張テーマということで下準備不足だったこともあったので整備データ取得を行った。今回のプランジャは12V制御で動作するもので制御電流は10mAほどで静的な状況とはきっと異なり動作時に必要な電流はもう少し余裕がいるだろう。当初目論んだ45リットルのポリペールへ水量充填という意味では10分程度はかかるとして屋外で動作させるとしたら、UN3を四つで6V 500mAHとするとArduinoのsleep制御すれば3か月程度かな。完全に寝せるためにはRTCも必要そうだ。

互換土壌水分センサーの問題と修正

園芸の水やりの自動化などに使える土壌水分センサーは幾つか紹介されているが、接点むき出しでいるものでは心許なかったのです。

電極がカバーされたものが見つかったので今回購入して実験確認しました。

静電容量式土壌水分センサーというらしく、DIYの王道であるSwitchScienceで扱われているDFRobot社のものが有名なようです。これは最近の互換品として中華市場で売られている良く似たものでした。

水分センサーにはこれらの二つのタイプがあり、産業用に利用されているもののタイプ毎の比較などをされているサイトもありました。最初に示した抵抗式のものはコンパレータを用いて閾値の設定からの上下をデジタル値で出力するものでしたが、静電容量式の物は、水分量の変化をアナログ電圧で出力してマイコン側で判定する使い方です。こちらのほうが汎用性がありそうです。

実際に評価してみると、水分検知してからの反応がとても遅くて回路図の時定数である1秒を越えて二分程度かかるという結果がでました。参考までに抵抗式の物も図りますとすぐに反応します。何か間違っているようでした。

オリジナルと思われるDFRobot社には回路図が公開されていたので、それをベースに互換品の中身を追いかけてみました。

アナログ電圧を出力する回路において、抵抗のアース側のランドが基板全体の中での浮島になっていることが分かり時定数としてはADC回路側の入力インピーダンスが高くなっていたことから反応が遅くなっていたことが分かりました。マイコン側が計測用に内部での選択スイッチを接続するときに初めて回路として充電が始まるという形になっていたようです。

計測さえ続ければ遅いなりに実測値は近づいていくというものでしたが二分程度を要しての計測はもはやセンサーとは言えないものでした。写真はワイヤリングペンで問題の箇所を修正したものです。

あけましておめでとうございます

1/4の仕事始めではないですが、ブログはじめとして今年の活動について紹介させていただきます。開所は、1/6日曜から行い、基本的に毎週土日の開催を目途にアナウンスを行い、希望がある場合には確定運営いたしますが、あらかじめほかのイベントへの参加や申し出のない場合はお休みいただくことがあります。

4月からは、昨年同様に非常勤講師を予定しています。

高専生と実務アルバイトとしてのOJT指導と組み合わせた形で組み込み仕事やIoT案件の開発仕事などを結ぶ活動を始める計画です。学びたい学生さんにとっての腕試しであり社会に通じる開発を通じてさらに学びを深めていただくお手伝いをしたいと思います。大変なことが起きつつある社会の中で、しっかりと学びを身に着けて自立される学生さんを支援していきたいと思います。

高専アルバイトに行く手前の実力を試したいあるいは先ずは課題を得て学びたいという方にも別にご案内しているチャレンジ案件を通じて、鍛錬していただくことも可能です。最初にご案内している3Dプリンターの改修チャレンジ では組み込みの里で使い込んできたRepRapベースの3Dプリンターの修理を通じてロボコンやソフト開発に通じる基礎技術を学びとり最終的に3Dプリンターを手に入れることが可能です。

地元高専の方に限らず、木更津ベース以外での活動も企画していますのでご期待ください。

今年も一年よろしくお願いいたします。

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に与えるデータとして編集する関数群として呼び出す仕組み。

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

激レアさんたちと交流会 全国高専交流会in長野2018

今年も全国高専交流会の時期となり、今回は長野県菅平高原まで出かけてきました。高専OB/OGまたは高専を愛する方たちで構成されるいわゆる激レアさんたちの交流会です。高専生自体が年代の1%というレア物ですが、そうした中でもレアな人たちが高専愛を訴えて集ってくるのが、この交流会です。

年齢幅も現役高専生の20歳から1期生あたりの70歳超の方たちまでが集い、真剣なまなざしで講演に聞き入るさまは、とても真摯なイベントでもあります。

総勢55名の方々に集まっていただき、多くの方にはそのまま懇親会やその後の車座でのグループ討議という名前の話し合いが深夜までつづきました。

詳しい雰囲気や写真は、こちらのリンクでヒューマンネットワーク高専のHPから見ていただこう。

私も「通信と組み込み開発今昔」というタイトルで話をさせていただきました。限られた時間では伝えられないことも多かったですが、機会があればいずこでも訪問してお話しさせていただきます。