2017年10月08日

イーサネットモジュール

今回は簡単にイーサネット通信できるモジュールを紹介します。

STM32マイコンでは内蔵のイーサネットも使用可能ですが、
メモリや割り込み処理など多くのリソースを要します。

今回紹介するW5500モジュール
SPIで外付けで簡単にイーサネットが実現できるモジュールです。

LANポートとW5500チップが一体になったモジュールです。

IMG_0001.JPG


W5500チップ自体に32kBバッファも内蔵されています。
最大8ソケットまで対応しています。

また、単にTCP、UDPだけでなく、
DHCP client、DNS client、FTP client、FTP server、SNMP agent/trap、
SNTP client、TFTP client、HTTP serverの他に
MQTT Clientまで対応しています。

MQTTまで対応しているとは驚きです。
ライブラリもこちらで公開されています。
Arduino版はこちら


イーサネットを使用する=raspberryPIを使う
という以外の有力な選択肢となりそうです。
簡単という意味ではraspberryPIに劣りますが、
SDカード耐久性やOS起動時間など考えると、
メリットは大きいと思います。



ただ、W5500の他にW5100、W5200など姉妹品があり、
W5500はちょっと癖があるようなので、
今後、STM32マイコンで実際に使用して評価してみたいと思います。

他の注意点としては
モジュールによってMACアドレスが付属していないものがあるようです。
その場合はMACアドレスEEPROM等を購入して、
MACアドレスを入手してから使用する必要があります。
ラベル:部品 IoT
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2017年09月04日

直交エンコーダ読込(Quadrature encoder)

今回はSTM32マイコンで直交エンコーダを読み込む方法をご紹介します。



秋月で販売しているロータリーエンコーダを使用しました。
1kΩより大きい抵抗ではインピーダンスが大きすぎるようで
330Ωでプルアップすると読み込めました。

CubeMXの設定は下記の通りです。

Combined ChannelsをEncoder Modeに設定すると
A相、B相を接続するポートが自動的に割り当てられます。

tim-encoder.jpg



詳細設定は次の通りです。
Periodに設定した値までカウントすると0にリセットされます。
また、EncoderModeをTI1とTI2に設定することで
4逓倍となります。

この設定の場合、
今回のエンコーダは1回転24パルスですが、
4逓倍で1回転96パルスとなります。


tim-encoder2.jpg


CubeMXで自動で生成されたコードから下記のコードを追加しました。



 HAL_TIM_Encoder_Start(&htim3, TIM_CHANNEL_ALL);
  printf("Initialized Success!!\n");

  while (1)
  {
    HAL_Delay(300);
    int8_t uwDirection = __HAL_TIM_IS_TIM_COUNTING_DOWN(&htim3);
    uint16_t cnt=TIM3->CNT;//htim3.Init.Period;
    printf("CNT:%d, Drc:%d \n",cnt,uwDirection);
  }

__HAL_TIM_IS_TIM_COUNTING_DOWN関数で回転方向を取得できます。
エンコーダの値はTIM3->CNTで取得します。


実際にコードを実行してエンコーダを回転させてみました。

result.jpg


実際のロボットなどの位置取得では、
1回転で0に戻ると制御できないため、
0で割り込みを発生させて繰り上がり、繰り下がり処理等を行うのが一般的です。

また、他にチャタリング防止等のフィルタ機能もあるようなので、
必要に応じて使ってみると良いと思いました。



posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2017年08月16日

OpenMV試食

今回は単体で画像認識等の処理が可能な
OpenMVという部品を紹介します。

通常は画像処理はraspberryPIやBeagleboneなど
ARMでもAシリーズとOpenCVが動くOS上で処理を行うことが一般的です。

ただ、OSを積むとOSのバージョンによる差や電源断によるシステムイメージ破壊など
色々考えることが増えて大変です。

OpenMVはSTM32F7マイコンにmicroPythonを組込んで、
組込マイコン単体で処理できるデバイスです。

他のマイコンに組込んで画像処理を行うことができます。

スイッチサイエンスでも扱い始めたようですが、
それより1か月前にロボットショップで発注したものが届いたため、
ちょっと試食した様子を紹介します。


まずはUSBをPCへ繋ぐ前に
開発環境をインストールします。
QTベースのソフトでなかなか良くできています。
インストールと一緒にドライバもインストールされます。

USBを接続するとカメラ横のLEDが眩しく点灯します。

openmv-photo.JPG



ただ、ソフトを起動して、左下の接続ボタンを押しても
ソフト上でOpenMV本体を操作できない不具合がありました。


良く見るとソフトウェアの右下に「Firmware out of date」と表示されており、
クリックして内部ファームのバージョンを更新するとしっかり認識できました。

openmv.jpg

最初はフォーカスがずれているため、
レンズを外に出す方向にひたすら回してピントを調整します。
調整できると右上にOpenMVのカメラで撮影したLEDのリングが映りました。

ということでポイントはまずはファームのアップデートということのようです。

ラベル:部品
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2017年08月02日

Lattepanda用Arduino変換基板

巷ではRaspberrypiやbeaglebone、nanopiなど
いろいろなARMベースのコンピュータボードがありますが、
その中でも異色なのがLattepandaです。



LattepandaはatomCPU搭載のWindowsマシンでありながら、
Arduino Leonardを搭載したコンボコンピュータボードです。
Amazonなどで入手することが可能です。

残念ながら内蔵のWifiは技適がないため、
使用できません。


Windowsマシンなので普通にキーボード、マウス、HDMIディスプレイをつなぐと
Windowsデスクトップが起動します。



Arduino Leonardが一体になっているため、
デスクトップ上のArduinoIDEからArduino Leonardボードが認識され、
そのまま書込み、実行ができます。


LattepandaのUSBを給電するとArduino Leonardが動作し、
電源ボタンを押すとWindowsが起動する感じです。
なので、Windowsを起動させなくともArduino Leonardとして使用できます。


ただ、問題点としては
内蔵のArduino Leonardはボード上の2列ピンヘッダで
Arduinoヘッダでないため、
手持ちのArdunoシールドが活用できません。

そこで
LattepandaArduno変換基板を作成しました。
Web上では他に似た基板を作成されている方が数人おられましたが、
日本で入手しにくい部品を使用していたり、
手持ちのシールドの部品と干渉するため、
結局、0から設計することになりました...

lattepanda.JPG


また、某サイトでの販売をする予定でしたが、
まだ日本でLattepandaの知名度が低いため、
販売できませんでした。

そのため、試しで作成した基板を1枚送料込みで2000円で販売します。
ご希望の方は連絡ください。
ピンヘッダ、ソケットは別売です。
表面実装部品のみ実装済みです。

ロットや機種により若干、コネクタ等に干渉する場合があるかもしれません。
所有のRev1.1ではちょうど入りました。

lattepanda_.JPG

実際に使用した例です。

ラベル:Lattepanda 部品
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2017年07月06日

赤外線グリッドセンサ

以前に日本で入手可能な赤外線グリッドセンサとして
MELEXIS製 MLX90621を紹介しました。

価格が6000円前後、I2Cの通信と16x4という細長いグリッドのため、
扱いには癖がありました。

一方、以前からパナソニック製AMG8832 解像度8x8 がありましたが、
輸出規制品のため、日本では個人で購入できませんでした。


つい最近、Digikeyの広告で新機種のAMG8833が宣伝されており、
国内で買えないはずでは?と思いつつ、ページを見てみると
日本円の価格がついていました!
約2700円程度の安さ。

ということで他の部品と合わせて注文したところ、
使用目的などの申請書類なしに普通に買えました。
なお、RSでは申請書類を要求されました。


AMG8833.JPG

Digikey日本でも取扱を開始したようです。

価格も手ごろで8x8の赤外線グリッドセンサが手に入るのは感激です。
また後ほど、変換基板等を設計して実験してみたいと思います。


ただ、今年の赤外線グリッドセンサの本命は
32x24のMLX90640だと思いますが。
秋発売予定で価格がどうなるか待ち遠しいです。



ラベル:部品 IoT
posted by Crescent at 00:00| Comment(0) | TrackBack(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする