1
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

STM32CubeIDEを使ってみよう How To STM32CubeIDE 日本語版 (14) PWMでサーボモーター(SERVO)を動かしてみよう

Last updated at Posted at 2020-03-15

STM32CubeIDEを使ってみよう How To STM32CubeIDE 日本語版 (14) PWMでサーボモーター(SERVO)を動かしてみようの続きです。

今回は、STM32CubeIDEを使ってみよう How To STM32CubeIDE 日本語版 (13) ADCをOLEDへ表示させようを活用して可変抵抗に合わせてサーボモーターを動かしてみます。
(13)のファイルにSTM32CubeIDEを使ってみよう How To STM32CubeIDE 日本語版 (13) PWMでサーボモーター(SERVO)を動かしてみようを見てサーボの設定を加えます。

##配線
STM32CubeIDEを使ってみよう How To STM32CubeIDE 日本語版 (12)にServoの配線を追加したものになります。
image.png

##設定
ピン設定です。

image.png
前回同様内蔵クロックも設定します。
image.png

##コード追加
PWMのスタートと、サーボの設定をします。

HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1);

サーボは、今回 servovalを用意しました。

float servoval;

servovalには、可変抵抗の変化に合わせて値を入れていきます。
25~125の間で動いてほしい
可変抵抗は、0~4096です。
今回は、(adcval*0.024)+25としました。
この値は各自で調整してみてください
万が一、サーボモーターが発熱したり、異音を発していたら、コネクタを外してください。
範囲外に移動させようとすると異音や、発熱します。

servoval= (adcval*0.024)+25;
__HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,servoval);
HAL_Delay(500);

追加したコードです。

image.png
image.png
image.png
以上で、可変抵抗のボリュームに合わせてサーボモーターが動くようになったはずです。
プログラムはこちらで公開しています。
https://github.com/taisirou/STM32-CubeIDE-Full/tree/master

1
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?