タグ別アーカイブ: Intel

Intel Quark D2000 Zephyr CURRENT SENSOR

EasyDriverへ供給される電流を電流センサで計測しました。

電流センサは、TIのハイサイド、I2C 出力電流/電力モニタINA219を使用しました。
http://www.tij.co.jp/product/jp/INA219
INA219使用 電流センサーモジュール(カレントセンサー)
http://akizukidenshi.com/catalog/g/gM-08221/

シャント電圧降下とバス電源電圧を計測し、電流と電力が取得できます。

100msec毎にデータ取得しました。
高速回転時が80mA程度、停止時が350mA程度です。

サンプルプログラムは以下にあります。
https://github.com/jendo1969/d2000/tree/master/Step_motor2/src
INA219.hファイルに電流センサの制御をまとめてあります。
https://github.com/adafruit/Adafruit_INA219
ここを参考に作成しました。

Intel Quark D2000 Zephyr STEPPING MOTOR


D2000でステッピングモータを回しました。
バイポーラ ステッピングモーター4SM-42BYG011
http://akizukidenshi.com/catalog/g/gP-05372/
SparkFun ROB-12779 EasyDriver ステッピングモータドライバ
https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-4YRY
EasyDriver – Stepper Motor Driver
https://www.sparkfun.com/products/12779
ドライバIC A3967を使用しているのでパルス出力と方向出力のみでステッピングモータを回すことができます。
ZephyrのPWMのサンプルは、”PWM_0″を対象にしています。
PWM_0は、JTAGピンと競合しているため使用できません。PWM_1を使用するようにしました。

ピンの機能割付けを行いました。
struct device *pinmux = device_get_binding(PINMUX_NAME);
PWM1_PIN(24ピン)を機能C(PWM)に設定します。
if (pinmux_pin_set(pinmux, PWM1_PIN, PINMUX_FUNC_C)) {
これでPWM_1側が使えるようになります。

電源は、DC12Vを使用しています。
65W級スイッチングACアダプター12V5A GF65I-US1250
http://akizukidenshi.com/catalog/g/gM-00510/
D200ボードには12Vから三端子レギュレータで作成したDC5Vを入力しています。
エンコーダカウントが1秒間6400カウントに調整しました。一周1600カウントなので1秒4周です。240rpmで回したことになります。

サンプルプログラムは以下にあります。
https://github.com/jendo1969/d2000/blob/master/Step_motor/src/main.c

Intel Quark D2000 Zephyr BMC150 Magnetometer

BOSCH社製6軸センサ(3軸加速度、3軸磁気)BMC150を搭載しています。
https://www.bosch-sensortec.com/bst/products/all_products/bmc150

今回は磁気センサにアクセスします。

QMSIのサンプルMagnetometerと
mbedのBMC150サンプルを参考にしました。
https://os.mbed.com/users/Dautor/code/BMC150/file/1d1123b3df76/bmc150.cpp/
ありがとうございます。

加速度計のアドレスは、0x12です。
#define BMC150_I2C_MAG_ADDR 0x12

磁気センサの初期化でレジスタ0x4Cで0x38を設定しています。出力データレートを30Hz、操作モードをノーマルにしています。

磁気データは、0x42レジスタから2バイトづつXYZ軸の順に入っています。6バイトを一度に読み込んでいます。

温度と加速度と磁気値を500ms毎に取得し、シリアル経由でパソコンに表示しました。

以下にサンプルプログラムがあります。
https://github.com/jendo1969/d2000/tree/master/Bmc150_MAG

Intel Quark D2000 Getting Started

開発環境のIntel® System Studio for Microcontrollers(ISSM)を起動するとGetting Startedが表示されます。
https://software.intel.com/en-us/node/651119
https://software.intel.com/en-us/node/651138
1.Update ROM Image on your device
2.Create a project with the “LED_ Blink” sample project file
3.Build and deploy your project
4. Begin the Accelerometer Tutorial
まずは、1から3番を行い、LEDの点滅を確認しました。


まずROMのアップデートをします。

完了するとメッセージが表示されます。

LED_Blinkを読み込みます。あとは、ビルドとデバッグができます。通常のECLIPSEの使い方と同じなので特に戸惑うことはありません。

目標は、Zephyr OSを使用するのでQMSIは、ここまでとします。

Intel Quark Microcontroller Dev Kit D2000

RTOSのZephyrが使えるということでIntel Quark Microcontroller Dev Kit D2000を購入しました。
http://akizukidenshi.com/catalog/g/gM-10487/

IntelのマイクロコントローラD2000を搭載した開発ボードです。32bit、x86ベースの命令セットを持っています。動作周波数は、32MHzで、周辺機器にSPI、I2C、GPIO、コンパレータ、ADC、PWM、DMA、UART、Timerを持っています。ほかに6軸のコンパス、加速度センサと温度センサを兼ねたBosch製のBMC150を搭載しています。

基板のほかにマイクロUSBケーブルが付属しています。
USBは、電源とプログラム書き込み、デバッガに使用します。Arduinoコネクタを有していますが開発環境にArduino IDEは使用できません。開発環境は、Intel® System Studio for Microcontrollers(ISSM)というEclipseベースのIDEを使用します。GCCを使用したC言語での開発となります。
ISSMは、以下のサイトから無償でダウンロードできます。
https://software.intel.com/en-us/intel-system-studio-microcontrollers/download
本ボードは、Zephyr OSを使用するほかにQMSIというドライバライブラリを使用した開発も可能です。

Android Things – UART LOOPBACK

EdisonでAndroid Thingsが使用できるようになりました。
http://akizukidenshi.com/catalog/g/gM-08571/
次にUARTを試しました。
https://github.com/androidthings/sample-uartloopback
通信にはUSB to TTL Serial Cableを使用しました。
https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-4WXL

UARTも普通に使用できます。

Android Thingsは、1個しかアプリ起動できないようで複数のアプリをインストールするとエラーが出て起動ができなくなりました。
この場合は、アプリをアンインストールします。
adb uninstall パッケージ名
adb uninstall com.example.androidthings.simplepio
次にインストールしたアプリが有効になってデバッグ終了後、電源リセット後もそのアプリが有効になります。
以下参考にさせていただきました。
https://stackoverflow.com/questions/42361277/how-to-reset-default-app-in-android-things-os

Edison + Grove-Arduino Starter Kit

Jpeg
せっかくEdison Kit for Arduinoを購入したのでさらに手間を省こうと思い、センサ接続を簡単に試せるGrove-Arduinoスターターキットを購入しました。
http://akizukidenshi.com/catalog/g/gK-09167/
Jpeg
・ベースシールド
・RGBバックライトLCD
・Grove-リレーモジュール
・Grove-ブザーモジュール
・Grove-音センサーモジュール
・Grove-タッチセンサーモジュール
・Grove-回転角度モジュール(半固定抵抗)
・Grove-温度センサーモジュール
・Grove-LEDモジュール
・Grove-光センサーモジュール
・Grove-スイッチモジュール
盛りだくさんな内容となっています。JpegJpeg

また、IoTを進めていくうえで以下の本を参考にしていこうと思います。
「Inetl Edisonで始めるIoTプロとタイピング」 翔泳社
http://www.shoeisha.co.jp/book/detail/9784798143392Jpeg

本にあるEdison本体の推奨でパッケージマネージャのリストを更新しました。
echo ‘src/gz all http://repo.opkg.net/edison/repo/all’ >> /etc/opkg/base-feeds.conf
echo ‘src/gz edison http://repo.opkg.net/edison/repo/edison’ >> /etc/opkg/base-feeds.conf
echo ‘src/gz core2-32 http://repo.opkg.net/edison/repo/core2-32’ >> /etc/opkg/base-feeds.conf
echo ‘src/gz mraa-upm http://repo.opkg.net/edison/repo/edison’ >> /etc/opkg/mraa-upm.conf

INTEL Edison

IoTを試してみたかったので1連のツールが用意されているEDISONを購入しました。
Jpeg
EDISON本体のIO関係が1.8Vなので、センサなどの接続が面倒なので少々高いですがEdison Kit for Arduinoを選択しました。 http://akizukidenshi.com/catalog/g/gM-08571/
Jpeg

SoCは、デュアルコアのAtom Processerを搭載しているのでパワーが期待できます。WiFiも標準搭載なのでトータルでお得なような感じです。
開発環境は、Intel XDK IoTEditionでNode.jsを使用したいと思います。

© 2014 Spineedge Corporation.