2018年11月24日土曜日

MDX-20 controler(mbed LPC1114)設計データ

ひとつ前のblogでmbed(LPC1768)でコントローラを作りましたが、マイコンが7000円と高いので、LPC1114で作り直しました。マイコンは200円なのでだいぶ下がります。

ただし、処理能力が低いので、SDカードからMDX-20への転送速度が遅く、ぎりぎり使い物になる程度です。
転送速度が遅いので、ブレットボードでの動作確認までして、開発を止めました。

ここでは設計データを残すために資料をまとめました。

LPC1114と各部品の接続とprogram はここに置いておきます。

190102 UARTの配線ミスの修正をおこないました。Programにも、MDX-20へのデータ送信で、MDX-20からの停止指示(CTS)が来ても送信する不具合がありますが、これは修正していません。


2018年11月23日金曜日

MDX-20 controler(mbed LPC1768) 設計データ


設計、プログラムのデータをまとめました

回路図は作らず、mbedと部品間の接続関係の資料を作りました。(PCBは作らずユニバーサル基板でつくったので)
190102 UARTの配線の間違いと、Programの修正を行い、データを更新しました。
回路データ、mbedProgramのリンク

このコントローラはfusion360で作成したRMLデータをMDX-20に流し込むために作りました。
MDX-20では、ユーザー原点の設定ができませんでしたが、このコントローラでそれを可能にしました。
RMLデータはUSBメモリでコントローラに供給します。
コントローラがMDX-20を制御するので、パソコンは不要です。

MDX-20の通信コネクタの情報と、Fusion360でのRMLデータ出力設定については、下記のblogを参照してください。

これまでのMDX-20コントローラ作成のblog

MDX-20を使う


mbed LPC1768で作るMDX-15/20 controler

(経過報告)MDX-15/20のコントローラをmbedLPC1768でつくる

Fusion360の設定

fusion360のCAMデータをMDX-15/20で使用する

2018年11月11日日曜日

M5Stackシリーズの機能一覧

性能の違いが判らなかったので一覧表を作成した。

データ元はこちら


FIREが特殊。
BASICとM5GOが同じ。
GRAYはBASIC,M5GOにMEMSを追加
といった感じ。

2018年11月10日土曜日

M5stack GrayでMLX90640(サーマルカメラ)のサンプルプログラムを動かす。

MLX90640(M5Stak用ミニサーマルカメラユニット)M5Stack Grayを使うための手順をまとめました。

販売元のwebには、
M5BurnerでM5GO / M5Stack FIREにファームウェアを書き込むとモジュールが動作可能となり、Arduino IDEでプログラムできるようになります。」

とあり、M5Burner付属のM5GO, M5Stack FIREのfirmwareを書き込み、arduino sample programを書き込み試してみましたが、i2c driverで "nat ack read"が出て動きませんでした。
ここまではarduinoIDEのボード選択は"M5Stack-Core-ESP32"

この後で、arduinoIDE Borads Managerで、"M5Stack-FIRE"のボードデータがあったのでこれに入れ替えて、再度上記のM5Burnerでのfirmwareを書き込んでやっていましたが駄目でした。

(M5BurnerでのfirmwareとarduinoIDEのボード選択の違いは理解していません)

販売元のwebには、
「・・・M5BurnerでM5GO / M5Stack FIREにファームウェアを書き込むとモジュールが動作可能・・・」
の意味ですが、新しいfirmwareでは Wire.endTransmission()の戻り値が拡張されており、既存のfirmwareではエラーになることの対応です。

ですが、上記の動作確認では対応できませんでした。

M5Stack Grayでは、Wire.endTransmission()の戻り値の判定を旧のものにあわせれば動くようになります。

MLX90640_I2C_Driver.cpp 

42行目
if (Wire.endTransmission(false) != 7) //Do not release bus
if (Wire.endTransmission(false) != 0) //Do not release bus

にするとエラーが出なくなります。


あと、M5StackのLCD表示が無駄に回転しているようなので、
MLX90640.cpp 119行目(setup()内)
M5.Lcd.setRotation(1);
をコメントアウトします。

これで、firmwareを入れ替えなくても、M5Stack Grayで動くようになります。


備考:
M5Stack にはBasic, Gray, FIRE, GO がありますが、この違いがよくわかりません。

M5Burnerでfiwmwareを書き込めますが、これにはBasci, Gray名義のfirmwareがないので、どれを選択すべきか変わりません。

arduinoIDEのボード選択と、M5Burnerのfirmwareの関係が分かりません。

M5BUrenerには"UNIT_THERMAL_V0.1"というfirmwareがあります。これを書き込むとサンプルプログラムなしでサーマルカメラの動作確認ができます。