タグ別アーカイブ: ARM

Run the linear actuator with STM32F

ステッピングモータの制御を試作するためにリニアアクチュエータを購入しました。
リニアスライドレール、アルミ合金0808ボールねじ57モーター付き単軸台形(500mm)
https://www.amazon.co.jp/gp/product/B081B4BFYP/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1
実物は、ボールねじではりません。台形ねじです。500mmという大型ですが格安なので購入しました。

ドライバは、以下を購入しました。
Quimat 4A TB6600 ステッピング モーター ドライバー コントローラー 9V-40V CNC単軸 2位相4位相(4/6/8線) 駆動工具 ドライバー QD07
https://www.amazon.co.jp/gp/product/B06XSBB45M/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1

モータは、ロータリーエンコーダを接続するためにデュアルシャフトの物に交換しています。
HANPOSE 17HS8401S-D150Sダブルシャフト48mm Nema 17ステッピングモーター42モーター42BYGH 1.8A 52N.cm 4線式3DプリンターCNCレーザー
https://jp.banggood.com/HANPOSE-17HS8401S-D150S-Double-Shaft-48mm-Nema-17-Stepper-Motor-42-Motor-42BYGH-1_8A-52N_cm-4-lead-for-3D-Printer-CNC-Laser-p-1415966.html?rmmds=myorder&cur_warehouse=CN

アクチュエータのリミットセンサとして反射型の光電センサを使用しました。
HiLetgo 10pcs TCRT5000赤外線反射センサーIR光電スイッチバリアライン障害物回避モジュールトレースセンサートレースモジュール
https://www.amazon.co.jp/gp/product/B07WR9JP3W/ref=ppx_yo_dt_b_asin_title_o07_s00?ie=UTF8&psc=1
センサーは、上側リミット、下側リミット、原点近傍の3個を使用しました。

制御には、STM32F401CCU6を使用しました。
STM32F401開発ボードSTM32F401CCU6 STM32F4学習ボード
https://jp.banggood.com/STM32F401-Development-Board-STM32F401CCU6-STM32F4-Learning-Board-p-1568897.html?rmmds=myorder&cur_warehouse=CN

 

I bought a linear actuator to make a prototype control of a stepping motor.
Linear slide rail, aluminum alloy 0808 Ball screw 57 Single shaft trapezoid with motor (500 mm)

https://www.amazon.co.jp/gp/product/B081B4BFYP/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1
The real thing is not a ball screw. It is a trapezoidal screw. I bought it because it is a large size of 500mm but it is cheap.
The driver purchased the following:
Quimat 4A TB6600 Stepping Motor Driver Controller 9V-40V CNC Single Axis 2 Phase 4 Phase (4/6/8 Wire) Drive Tool Driver QD07

https://www.amazon.co.jp/gp/product/B06XSBB45M/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1
The motor is replaced with a dual shaft one to connect the rotary encoder.
HANPOSE 17HS8401S-D150S Double Shaft 48mm Nema 17 Stepping Motor 42 Motor 42BYGH 1.8A 52N.cm 4-Wire 3D Printer CNC Laser

https://jp.banggood.com/HANPOSE-17HS8401S-D150S-Double-Shaft-48mm-Nema-17-Stepper-Motor-42-Motor-42BYGH-1_8A-52N_cm-4-lead-for-3D-Printer-CNC-Laser-p-1415966.html?rmmds=myorder&cur_warehouse=CN
A reflective photoelectric sensor was used as the limit sensor of the actuator.
HiLetgo 10pcs TCRT5000 Infrared Reflection Sensor IR Photoelectric Switch Barrier Line Obstacle Avoidance Module Trace Sensor Trace Module

https://www.amazon.co.jp/gp/product/B07WR9JP3W/ref=ppx_yo_dt_b_asin_title_o07_s00?ie=UTF8&psc=1
Three sensors were used: the upper limit, the lower limit, and the vicinity of the origin.
STM32F401CCU6 was used for control.
STM32F401 development board STM32F401CCU6 STM32F4 learning board

https://jp.banggood.com/STM32F401-Development-Board-STM32F401CCU6-STM32F4-Learning-Board-p-1568897.html?rmmds=myorder&cur_warehouse=CN

 

我购买了线性执行器,以对步进电动机的控制进行原型设计。
线性滑轨,铝合金0808滚珠丝杠57带电机的单轴梯形(500mm)

https://www.amazon.co.jp/gp/product/B081B4BFYP/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1
真正的东西不是滚珠丝杠。 这是一个梯形螺钉。 我买了它是因为它最大可达500毫米,但价格便宜。
驱动程序购买了以下内容:
Quimat 4A TB6600步进电机驱动器控制器9V-40V CNC单轴2相4相(4/6/8线)驱动工具驱动器QD07

https://www.amazon.co.jp/gp/product/B06XSBB45M/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1
用双轴马达代替电动机来连接旋转编码器。
HANPOSE 17HS8401S-D150S双轴48mm Nema 17步进电机42电机42BYGH 1.8A 52N.cm 4线3D打印机CNC激光

https://jp.banggood.com/HANPOSE-17HS8401S-D150S-Double-Shaft-48mm-Nema-17-Stepper-Motor-42-Motor-42BYGH-1_8A-52N_cm-4-lead-for-3D-Printer-CNC-Laser-p-1415966.html?rmmds=myorder&cur_warehouse=CN
反射型光电传感器用作致动器的极限传感器。
HiLetgo 10pcs TCRT5000红外反射传感器红外光电开关障碍物避障模块跟踪传感器跟踪模块

https://www.amazon.co.jp/gp/product/B07WR9JP3W/ref=ppx_yo_dt_b_asin_title_o07_s00?ie=UTF8&psc=1
使用了三个传感器:上限,下限和原点附近。
STM32F401CCU6用于控制。
STM32F401开发板STM32F401CCU6 STM32F4学习板

STM32F401開発ボードSTM32F401CCU6 STM32F4学習ボード
https://jp.banggood.com/STM32F401-Development-Board-STM32F401CCU6-STM32F4-Learning-Board-p-1568897.html?rmmds=myorder&cur_warehouse=CN

STM32F401CCU6 STEPPING MOTOR CONTROL1

STM32F401CCU6開発ボードでSTEPPING MOTORを動かします。まずは、Rotary  Encoderを計測してみました。
Encoderの読み込みには、TIM3を使用しました。

エンコーダー 元 AB 相 5-24v 400 パルス 増分の光学式ロータリーエンコーダー 本体サイズ 39 * 35.5 mm NPN 出力
https://www.amazon.co.jp/%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%80%E3%83%BC-5-24v-%E5%A2%97%E5%88%86%E3%81%AE%E5%85%89%E5%AD%A6%E5%BC%8F%E3%83%AD%E3%83%BC%E3%82%BF%E3%83%AA%E3%83%BC%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%80%E3%83%BC-%E6%9C%AC%E4%BD%93%E3%82%B5%E3%82%A4%E3%82%BA-35-5/dp/B076Q5W251

MXの機能で「Encoder Mode」を設定すれば、コードを自動生成してくれます。
STM32F401CCU6は、USBも使用できるのでCDCでEncoder値を取り出せます。USB CDCもMXでコードの自動生成ができます。

STM32F401CCU6は、小さいですが高機能です。ピン数が少ないので、大きなシステムは組めませんが、単機能であれば十分な性能を生かすことができます。

STM32F051C8T6 PWM


PWMを試しました。LEDの輝度変更で確認しました。
STM32CubeIDEを使用しているのでSTM32CubeMXでコード生成が行えます。PWMは、TIM2を使用しました。設定方法さえわかればかなり簡単に実現できます。開発環境の重要性がわかります。

デバッグは、ST-LINK/V2で行っています。

STM32 Development Small Boards

海外通販サイトから小型のSTM32開発ボードを取り寄せました。
https://jp.banggood.com/ARM-Cortex-M0-STM32F051C8T6-STM32-Core-Board-Minimum-Development-Board-p-1316132.html?rmmds=mywishlist&cur_warehouse=CN
https://jp.banggood.com/STM32F401-Development-Board-STM32F401CCU6-STM32F4-Learning-Board-p-1568897.html?rmmds=myorder&cur_warehouse=CN
STM32F401CCU6とSTM32F051C8T6です。

STM32F401CCU6は、Cortex-M4、84MHz、FLASH 256kB、RAM 64kBの小型高性能のマイコンです。
https://www.stmcu.jp/stm32/stm32f4/stm32f401/12214/
STM32F051C8T6は、Cortex-M0、48MHz、FLASH 64kB、RAM 8kBの小規模マイコンです。
https://www.stmcu.jp/stm32/stm32f0/stm32f0x1/11868/
STM32CubeIDEで開発予定です。

NUCLEO-F303K8


https://www.st.com/ja/evaluation-tools/nucleo-f303k8.html
NUCLEO-F303K8です。チップワンストップで購入しました。送料無料にするためのついで買いです。
https://www.chip1stop.com/view/dispDetail/DispDetail?partId=STMI-0102441
STM32F303K8T6 Arm Cortex-M4 32-bit CPU with FPU 、72MHz、64kBフラッシュメモリのマイコンです。

小ピン高性能の分野の使用を考えています。STM32の開発の一環です。これもmbedでなくSTM32CubeIDEで開発予定です。

STM32F103 WITH LCD

格安のSTM32F103C8T6ボードでLCD表示です。
開発環境は、STM32CubeIDEを使用しました。デバッガもST-LINKの格安コピー品です。
LCDは、3.3V動作LCDキャラクタディスプレイモジュール 16×2行 バックライト付白抜きを使用しました。
http://akizukidenshi.com/catalog/g/gP-04794/
STM32CubeIDEは、コードが自動生成でき、FreeRTOSの使用も選択できます。

Raspberry PI4 B+


Raspberry Pi4 B+ 4GBを購入しました。
Black Friday でAmazonで購入しました。
https://www.amazon.co.jp/gp/product/B07YZ1JSGM/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1
ケース、ファン、ヒートシンク、HDMIケーブル2本、電源アダプタ、64GB マイクロSD、メモリリーダ、ドライバがついて通常価格¥14,999 のところ3000円安い¥11,999で購入しました。

64GBのSDカードは、SunDisk製なところが評価できます。
ノーブラウンドの粗悪品でなくてよかったです。メモリリーダ、ドライバは、不要といえば不要です。

表は、部品がたくさんあります。電源USBは、Type Cに変更されています。HDMIは、マイクロになり2つに増えています。USBは、2ポートが2.0、2ポートが3.0になっています。

裏は、マイクロSDカードコネクタがあります。
マイクロSDカードには、NOOBSシステムがプリインストールされていますがOSは、Rasbianだけを使用するので消す予定です。

mbed OS 5 CLI

mbed OS5をオフラインで使うためにmbed-cliの開発環境を作りました。
https://os.mbed.com/
mbedは、初代LPC1768を使用しました。

Windows10での環境構築は以下のURLに詳しく書かれています。
https://os.mbed.com/users/ytsuboi/notebook/ja-setup-mbed-cli-on-windows/
LINUXでの環境構築は以下のURLに詳しく書かれています。
LINUXはUbuntu16.04LTSを使用しました。
https://qiita.com/hotchpotch/items/4d87c13b97d236db5b4f
どちらもほぼ同じ手順で環境構築できます。
Windowsには、Installerが用意されている分、簡単に構築できます。
https://github.com/ARMmbed/mbed-cli-windows-installer/releases/tag/v0.4.10
動作確認にmbed-os-example-blinkyサンプルプロフラムを使用します。
https://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-blinky/

mbed targetを実行すると実際にUSB でつながているmbedボードが認識されます。

mbed compileを実行するとサンプルプログラムがビルドされます。
…\mbed-os-example-blinky\BUILD\LPC1768\GCC_ARMフォルダの中にmbed-os-example-blinky.binファイルが作成されます。
後はいつものようにmbedドライブに書き込みRESTすればサンプルプログラムが動作します。
コマンドプロンプトでの操作になりますが、mbedがLOCAL環境で
開発できるようになりました。

BeagleBoard-xM Update

久しぶにBeagleBoard-xM のOSを入れ替えました。最新のUbuntu18.04LTSを入れました。
https://elinux.org/BeagleBoardUbuntu
ここからUbuntuをダウンロードできます。
https://rcn-ee.com/rootfs/2018-12-10/microsd/bbxm-ubuntu-18.04.1-console-armhf-2018-12-10-2gb.img.xz
SDへの書き込みは、Win32DiskImagerを使用しました。
最近は、http://etcher.ioでの書き込み例が多いいですが
Win32DiskImagerも簡単です。
BeagleBoard-xM はシリアルポートがついているのでコンソールで立ち上げができます。
有線LANは、初めからDHCPで認識されますが、16.04で認識されていたWiFiは有効になりません。USB無線LAN子機は、BuffaloのWLI-UC-GNM2Sを使用しています。lsusbで確認するとUSBには認識されます。16.04で使っていたwpa_supplicant.confでの設定ではなく、Network Managerを使うようです。
sudo apt-get install network-manager
でインストールします。
nmcliコマンドで設定をしていくようです。
詳しい設定は、以下を参考にしました。
▼RHEL7 / CentOS 7 で、NetworkManager 管理下で WiFi の自動接続をコマンドラインで設定する▼
非常に助かりました。ありがとうございます。
SSIDやセキュリティの設定後、必ずnmcliコマンドでsaveして保存を行うことを忘れないようにしてください。
設定後、Network Managerを再起動するとWiFIがAPと接続し、IPが取得できました。
sudo service network-manager restart

最後に自動起動するように設定します。
sudo systemctl enable NetworkManager
これで電源投入後自動的にWiFiが接続します。
WiFi経由でSSHが使えるようになるととても操作が楽になります。

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

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

© 2014 Spineedge Corporation.