jendo1969 のすべての投稿

SPRESENSE FIRST APP.

Spresenseの開発を始めます。
Spresenseは、手軽にアプリケーションを作れる Arduino IDE を使った開発と、本格的な組込みアプリケーションを作れる NuttX を使った開発の二つから選択できます。NuttXを使った本格的なSpresense SDKで開発を行います。
チュートリアルが以下にあります。
https://developer.sony.com/ja/develop/spresense/developer-tools/get-started-using-nuttx/set-up-the-nuttx-environment
サンプルアプリケーション Hello, World! の作成してきます。
OSは、ubuntu16.4J LTS 64ビット日本語版の仮想環境を使用します。
Spresense SDK の使い方の順に進めれば、サンプルを動かすことができます。
シリアルターミナルで実行します。

すべてコマンドプロンプトで処理しなければなりません。
高性能なので使ってみたいともいますが、正直、使い易いシステムではありません。

SONY IOT BOARD SPRESENSE

SONYのIoT Board SPRESENSEを購入しました。
チップワンストップで購入できます。
https://www.chip1stop.com/sp/solution/spresense-sony?cid=top_r_spresense-sony

拡張ボードと連結しました。
ソニーセミコンダクタソリューションズ株式会社に製品ページがあります。
https://www.sony-semicon.co.jp/products_ja/spresense/index.html
開発環境のページも用意されています。
https://developer.sony.com/ja/develop/spresense/

3.5″LCD DISPLAY2

Raspberry Pi2 model BにQuimat 3.5インチタッチスクリーンを接続しました。LCDの表示は、ドライバなしで表示できますが、タッチ操作には、ドライバが必要です。ドライバは、付属CDのDriverフォルダ内にあります。LCD-show.tar.gzファイルがドライバです。USBメモリでRaspberry piの/bootフォルダにコピーしました。ドライバのインストール方法は、付属CDのDocumentフォルダに入っています。MPI3508用户手册_V1.0.pdfファイルに書いてあります。中国語ですが4ページ目の
步骤5,在terminal终端中输入如下指令:
を実行します。ターミナルを開いて以下のコマンドを実行します。
cd /boot
cp LCD-show.tar.gz ~
cd ~
sudo tar zxvf LCD-sudo.tar.gz
cd LCD-show/
sudo ./MPI3508_480_320-show

再起動が行われタッチ操作が可能になります。

3.5″LCD DISPLAY

Raspberry Pi2 model Bに3.5インチのタッチパネルディスプレイを接続しました。
RaspberryPi2 Model B (ラズベリーパイツーモデルビー) RS版
http://akizukidenshi.com/catalog/g/gM-09024/
Quimat 3.5インチタッチスクリーン HDMIモニタTFT LCDディスプレイ Raspberry Pi 3 2 Model B Rpi B B+ A A+ 映画 アーケードゲーム オーディオ入力 RPi GPIOブレークアウト拡張ボード 保護ケースキット アクリル(透明) QC35Chttps://www.amazon.co.jp/gp/product/B075K56C12/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1
Quimat 3.5インチタッチスクリーン は、HDMIで接続するLCDディスプレイです。ケースなしもありますが今回はケースありを選択しました。
HDMIの小型タッチパネルはいくつかありますが、本品は、GPIOピンが引き出せます。
開封した写真です。

GPIOが引き出せるのでタッチパネルに使用していないピンは使用できます。
組立後の写真です。

C2000 Delfino MCUs F28377S LaunchPad DMA ADC

DelfinoでDMAを使用したADCを行ってみました。

adc_soc_continuous_dma_cpu01サンプルを利用しています。
1024個取り込みまは、DMAで行い、取り込み終わるとSCIを介してXBeeでPCに送ります。
XBeeでは、通信が早すぎて取りこぼすので、USBシリアルで送る方が良いと思います。
12Bitモードで14MSPSまで上げられるので高速なADCに使用できそうです。
http://www.ti.com/lit/ds/symlink/tms320f28374s.pdf

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

C2000 Delfino MCUs F28377S LaunchPad SCI INTERRUPT

C2000 Delfino MCUs F28377S LaunchPad + XBEE

C2000 DelfinoのUART Bを介してXBeeを使用しました。
controlSUITEのサンプルプログラムをsci_echoback_cpu01改造しています。
注意としてF28377S LaunchPadを使用するので、プロジェクトのプロパティのPredefine SymbolsのPre-define Nameに_LAUNCHXL_F28377Sを追加しないとシステムクロックが200MHzにならず、クロックの計算が合わなくなります。

このサンプルは、割り込みを使わず、エコーバックするプログラムです。

サンプルプログラムは以下にあります。
https://github.com/jendo1969/Delfino/blob/master/sci_echoback_cpu01/Example_2837xSSci_Echoback.c

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

© 2014 Spineedge Corporation.