電子ガジェットで遊んだり、自作PCいじったり、ロボットで遊びたい。機械も好きです

モリロボさんのクレープロボ開発話が非常に示唆に富んでいた話

はじめに

少し前にツイッターで↓の動画が流れていました。学ぶべきことが多い動画だったので、思ったことをメモしておこうと思います。

メモ

以下メモ書き程度ですが、心に残ったことを列挙します。

ハード設計者視点

  • 効果は試算せよ
  • 紙で書けないものは作れない
  • ちゃんと動いて、儲かる
  • 操作は簡易にせよ

ビジネス視点での学び

  • 自社のアイデンティティ言語化すること
  • プロトタイプでも世間に出して反応をもらえ
  • クレープを焼く機械が最初に売れるのはクレープ屋ではない

組込みソフトの安全設計の教材基板を組み立てた話

組込みソフトの勉強ふたたび

 最近、マイコンの勉強熱が再燃しており、昔購入して積み上げていた書籍を掘り起こして眺めています。というのも、ずいぶん前にほっぽり出してしまったモータ制御の勉強を何とか再開できないかなと思ったからです。何に躓いたのか分析したのですが、どうもソースコードマイコンの動作の理解に時間がかかっていたことが原因の一つっぽいんですよね。
という訳で、とりあえずマイコンのプログラミングに苦手意識がなくなるくらいを到達目標に、ルネサスマイコンに触ろうと思ったわけです。

書籍は↓の「組込みソフトの安全設計: 基礎から二足歩行ロボットによる実践まで」という本です。著者を見ると元松下電工の方だそうで、製品安全規格から入って、S/Wの安全についてどのように設計トレーサビリティを確保するかの方法論を説明しており、メーカ技術者っぽい内容です。マイコンの入門書というより、規格要求に沿ったマイコンの設計手法の解説書って感じですね。

組込みソフトの安全設計

挿絵がかわいいです

教材購入&組立

 購入当時は流し見して終わりだったんですが、改めて読むと要求分析から機能展開、アーキテクチャ設計、プログラムへの落とし込みまでstep by stepできちっと書かれていてます。本教材に沿えばある程度は身に付きそうだな、ってことで教材基板も購入して実際に手を動かしてみることにしました。
教材はルネサスマイコンのRL78を用いており、マイコンのみ実装済みの基板がマルツオンラインから購入できましたが、私の購入で最終在庫だったようです。回路図・部品表は書籍にも載っており、ユニバーサル基板の製作も想定されているようです。

www.marutsu.co.jp

1週間の合間を縫って製作しました。カーボン抵抗が使われたりと素人にも優しい仕様です。LED・スイッチ・MOS-FETは相当品に変更しています。

教材購入&組立

電池パックのコネクタ組立が残ってますが、後日やっておこうと思います。

外付けThinkpadキーボード(有線)を買った話

荷物が届いた

こんにちは、もれなみです。
年明けなので何か道具を新調したいなと思い、会社で使用するための外付けキーボードを買いました。

Thinkpadトラックポイント・キーボード

数年前から欲しいなと思っていた「ThinkPad トラックポイント・キーボード(JP)」です。

選んだポイント

実は私は大学の頃からThinkpadユーザーで、今でもサブのノートPCはThinkpadを使用しています。トラックポイント(赤ポチ)が好きなのもそうですが、キーストロークが浅い割に打鍵感がしっかりしているのが好みです。
ただ、この外付けキーボードについてはThinkpadと違ってFnキーとCtrlキーの位置が交換できないことがネックでこれまで購入を見送ってきました。最近、会社で使っているフルサイズのキーボードが邪魔くさくなってきて「だめならだめでいいか~」と軽い気持ちで購入しました。

実は無線モデルのThinkPad トラックポイント キーボードIIもあるのですが、少し前に発売されたばかりで価格がまだ高いのと充電式な点がイマイチで有線にしました。

以下、家で少し触ってみてのインプレッションです。

いいところ

  • キーボードの使用感はThinkpadそのもの。好きな人にはたまらない。
  • 意外と薄くて軽い。コンパクト
  • 有線接続だけど、本体とケーブルが分離されている

いまいちなところ

  • FnとCtrlの配置
  • 本体のUSB端子が壊れやすい(らしい)
  • 本体のUSB端子の位置もあまりよくない

今回購入した有線モデルはUSB端子が壊れやすいとのレビューがあり、マグネット着脱式のmicroUSBケーブルも併せて購入してます。

開封レビュー

ここからは開封写真を何枚か紹介して終わりです。

買ったもの

開梱

キーボード単体

壊れやすいと噂のUSB端子

Thinkpad E130(上)との比較

マグネット脱着式USBケーブル

ケーブル側の端子

マグネット端子は回転対称になってる。かしこい

で、マグネットでくっつけておしまい。結構コンパクトで机が広く使えるのでかなり好感触です。

しばらく会社で使ってみようと思います~

OpenModelicaをインストールした話

OpenModelicaかじります

こんにちは、もれなみです。今日はOpenModelicaという物理モデルシミュレータのをインストールします。前から気になってたけど最近モデルベース開発や1DCAEが流行ってるのもあって雑談ネタにでもなればいいなぁと思います。

インストールしてみた

まずはOpenModelicaのサイトにアクセスして、ダウンロードからWindowsを選ぶ

記事作成時点で最新版は1.19.2のようです

64bitの

OpenModelica-v1.19.2-64bit.exeをクリックしてダウンロードします

ダウンロードしたexeを立ち上げるとインストール画面が出てきます

なんか聞かれます。とりあえず次へ

保存ディレクトリ。容量は7GB・・・

スタートメニューのフォルダの名前を入力できます。珍しい

インストール画面です。待機!

これにて完了です

終わったら立ち上がります

これにてインストールは終わりです。 ちなみにスタート画面の「OpenModelica Connection Editor」というのがメインで使用するやつっぽいです

とりあえずここまで

本当はチュートリアルもやりたいんですが、今日はここまで。
いくつか探したけど、一番良さそうなのは↓の資料かな。日本語コミュニティがあるのはよわよわエンジニアとしてはありがたい限り。まぁお金払ってMATLABのSimscape使えって感じですが。 もう少し触ってみて、気が向いたら何か記事を書きたいと思います

github.com

3Dプリンタが導入された話

3Dプリンタが来た!

こんにちは、もれなみです。3Dプリンタが我が家に来たので記事にします。

導入されたのはこちら。研究や仕事で作ってもらうことはありましたが、自分で作るのは初めてです。

flashforge.jp

開梱

きっちり梱包されています。中もしっかり固定されていて好感。

開封の儀

輸送用の梱包材を捨てるか悩ましいですね…。

出力してみた

モータブラケットを出力してみました。思ったよりもプリントもきれいで驚きました。

ちなみに1回目はラフトとモデルの距離が近すぎたようで、うまく剥がすことができませんでした。

これからもちょくちょく活用したいと思います。

モータ制御用にお手製エンコーダを作った

DCモータの駆動・負荷実験

こんにちは、もれなみです。ゆっくりペースでちょっとずつモータ制御の勉強を進めてます。

勉強本では、ブラシレスDCモータのセンサレス制御をやる前にDCモータを2個つなげてその間にお手製エンコーダ(速度センサ)で電流制御・速度制御(センサあり・センサレス)する実験があります。(下図)

DCモータの制御実験系

この構成では駆動側はモータとして、負荷側のモータは発電機として動作します。
負荷側は別にモータじゃなくてもいいと思いますが、例えばこのモータ端子に可変抵抗を付ければ可変負荷にできるといった利点があります。(ただし短絡時や低抵抗時は結構電流が流れるのでその点は注意が必要)

お手製エンコーダを作る

さて、勉強本では回転するプーリに6枚の反射テープを貼り付け、フォトリフレクタとNOT回路×2を使ってパルスに変換することでお手製エンコーダを用意しています。 フォトリフレクタとロジックIC以外は具体的な商品名が書かれていませんでしたが、私がそろえた材料は以下の通りです。(参考までに)

-タミヤ 楽しい工作シリーズ No.157 ユニバーサルプレート 2枚セット

反射用の銀テープなんかはAmazonとかだと業務用?の少し高額なものが出てくるので注意が必要です。 勉強本ではNOT回路(TC74HC04)を2つ繋げてフォトリフレクタのアナログ出力をパルス出力に変換していますが、ヒステリシスを与えてチャタリングを抑制できるシュミットトリガの方が良いとのことで今回はそちらを使用しました。

あと、フォトリフレクタですが実験中に一度、赤外線LED(↓の写真の左)が壊れてしまったため予備を用意しておいた方がよさそうです。赤外線なので肉眼では見えず故障に気づくのに時間がかかりました。

フォトリフレクタ(分解)

波形とってみた

で、モータを回して波形を取ってみたらこんな感じです。

エンコーダ波形
プーリーには6枚の銀テープを張っているので、6個の山の時間でモータは一回転していることになります。この画像の場合であれば、1個の山の周期は1.141ms(≒876Hz)なのでモータの回転数は、  876 \, \mathrm {[Hz]} / 6 \, \mathrm {[pulse/rot]} * 60 \, \mathrm {[sec/min]} ≒ 8760\, \mathrm {[rpm]}

と計算することができます。
ちゃんと動作してくれてそうです。プーリとの距離感によってフォトリフレクタの出力が変わるので、位置の調整は少しコツがいりますが、結構簡単な構成でできちゃうもんなんですね。

ユニバーサル基板で三相電流センサを作った話

はじめに

こんにちは、もれなみです。
前回、DCモータの特性を計測する際に模造品?らしきモジュール基板を掴んで手間取ったので、リベンジと称して電流センサの基板を自作することにしました。

今回のハイライトはこちらです。

はじめてのオリジナル基板

これまで、基板はたまに回路図やデータシートを読む程度で、趣味の範囲でもブレッドボードで遊ぶくらいだったので自作は今回が初めてです。プリント基板(PCB)の作成はCADの勉強に時間がかかりそうなので、今回はユニバーサル基板で作ることにしました。
以下のツールと文献、HPを参考にしました。ユニバーサル基板の設計ってみんなどこで勉強してるんだろう。

仕様の検討

とりあえずざっくり仕様を検討します。

  • 目的:BLDCのモータ電流を測る。3相同時。
  • 機能:電流は±5A以上。周波数応答は20kHzまで要。AC必須できればDCも。
  • インターフェースAnalog Discovery 2※で計測する(5V給電可)
    ※最近値上がりしているようでADALM2000でも良さそうです

あと今回は「お安く自作できる」という制約が付きますので、秋月電子やマルツオンラインを眺めながら良さそうな部品を探します。

主要部品の選定

シャント抵抗による電流検出センサと悩んだ末、ホール素子による電流検出センサICのACS724LLCTR‐10AB‐T(Allegro社)しました。

電流の検出方式についてはROHMHIOKIのサイトにいろいろな種類が紹介されています。 ホール素子は周囲の磁気的な影響を受けやすいみたいですが、今回の趣旨は前回のリベンジなので同じメーカの類似品を使って製作してみようと思います。

回路の設計(?)

メインパーツが決まったので、回路の設計を考えていきます。といっても私は素人なのでてきとうです。

  1. 電流センサの帯域の設定
  2. 0A時の電圧出力はVcc/2(=2.5V)と0V両方取り出せるようにする
  3. 消費電力と動作点灯LED
  4. モータ回路側の想定電流は6A~10A(センサ定格)

ノイズ対策?知らない子ですね。

一つ一つ細かく見ていきます。

帯域の設定

ACS724のデータシート(秋月電子)では、6ピンに接続するコンデンサの容量で帯域フィルターになると書いてあり、内部のブロック図(下図)を見ると抵抗 R_Fと合わせてローパスフィルタになってます。 今回は20kHz付近まで計測できればいいので、ローパスフィルタのカットオフ周波数の計算式が近い値になるようにコンデンサ容量を決めます。今回は入手性の良い C_f=2.2nFとし、カットオフ周波数を以下としました。

 \displaystyle f=\frac{1}{2\pi RC}=\frac{1}{2\pi ×1.8k×2.2n} =40.190 \cdots [kHz]

ACS724の機能ブロック図(データシートより)

2系統の電圧出力

ACS724の出力は0Aが2.5V(=Vcc/2)となるように出力します。Arduinoなどのアナログ入力を用いる場合にはこれでいいのですが、Analog Discovery 2では+25V~-25Vまで計測することができるので、0Aで0Vを計測できた方が都合がいいです。そのため、今回は2つの10kΩ抵抗で2.5Vを作り、そこを基準電圧として計測できるようにしておきます。

消費電力と動作点灯LED

Analog Discovery 2からUSB給電で動かす場合、5V電源で供給できる電流は500mW(100mA)までです。 今回の部品の消費電力を確認しておきます。 今回は動作点灯用LEDを設置するのでそちらも含めて、以下の通りです。

No. 部品 消費電力
1 ACS724×3 5V×14mA×3=210mW
2 10kΩ×2 5V×0.5mA=2.5mW
3 330Ω×2+LED 660Ω×(5mA)2 +1.85V×5mA=25.8mW
合計 238.3mW

というわけで、Analog Discovery 2はUSB給電で十分動作させることができそうです。

モータ回路の許容電流

モータ側の回路の想定電流は±5Aくらいですが、実際に使用する部品側の許容電流を確認します。センサは選定済み、接続端子とワイヤーもあたり付けしたものを使用すると↓のような感じです。

  • ACS724:10Aまで
  • 接続端子:17.5Aまで
  • 配線:8Aくらいまで ※すずめっき線Φ1.0mm(ユニバーサル基板の穴径ギリ)

Φ1.0すずめっき線の許容電流は昭和電線のカタログ(下図)から内線規程のΦ1.2mmビニル電線ケーブルの許容電流を元に、導体径の比(1.0/1.2)で計算すると16Aくらいです。制御回路ではΦ0.6mmのすずめっき線を使用しますが、同じ計算で9.5Aくらいの計算になるのでちょっと多いという印象。なので0.5がけの8Aくらいまでかなぁって感じです。

電線の許容電流

この辺は放熱性や周囲温度で変わるので、条件次第というところです。時間と機材があれば実環境の通電時の温度を見てもいいかもしれません。

回路図の作成

ここまで計算が終わったので回路図と配線図に起こします。今回のブレッドボードはサンハヤトICB-288Gを使っていますが、少し大きいボードデータしかなかったので、詰め込んで設計しました。 (回路図も配線図も何度か書き直しました。)

回路図

配線図

基板製作

ここからは製作ダイジェストです。今回初めてSOPサイズのはんだ付けをしましたが、なんとかうまくいきました。

SOPのはんだ付け

ちなみに製作途中で秋月でチップの変換基板のパターン幅が電流に対して狭すぎることに気づいて、Φ1mmすずめっき線を直接はんだ付けする魔改造を施してます。

魔改造

KiCADの計算ツール(IPC2221)によれば6mils(約0.15mm)の許容電流は170mAくらいまでみたいなので、通電前に気づいてよかったです。

ACS724は魔改造後に動作確認をしてちゃんと電流が計測できていることを確認します。インプロセス試験大事。

通電確認

通電確認(計測波形)

動作確認は短絡状態だったので安定化電源の立ち上がりを拾ってますが、きちんと測れてそうです。1A通電時のノイズ幅は20mVくらいでしたので、フルスケール±10Aに対してふらつきは±0.05Aと結構いい範囲で計測できていると思います。

完成~

というわけで四苦八苦しながらなんとか完成まで漕ぎつけました。Analog Discovery 2の同時計測は2chまでなので、いつかArduino等で3ch同時に計測してリアルタイム表示できるようにしたいですね

完成~