モーターを動作させてみる モーターを動作させてみる モータードライバでお手軽にDCモーターを回してみました。 ESP32に以下を繋げてます。 よくあるFA-130モーターとDRV8835モータードライバ。 あと速度調整用の5kΩの可変抵抗を繋げてます。 DRV8835では2個までのDCモーターを駆動させられます。 回路図 こんなんなります。配線するだけでOK。 FA-130モーターについて FA-130モーターは最大2.2Aの突入電流が発生します。 DRV8835では最大1.5Aの電流しか流せないので、3Vフルパワーで動かそうとしても動きません。 FA-130モーターの場合はじわっと電圧を上げていくとうまく動作します。 ここでの回路ではPWMのON時間をじわっと上げていけばちゃんと動作してくれます。 ほかの小型DCモーター(よくあるギア付きのもの)とかコアレスモーターなんかは突入電流が低いので何も意識しなくてもちゃんと回ります。 プログラム main.cを以下のようにします。 PWM用の初期設定が面倒・・・。 # include <stdio.h> # include <math.h> # include "freertos/FreeRTOS.h" # include "nvs_flash.h" # include "driver/mcpwm_prelude.h" # include "driver/gpio.h" # include "esp_adc/adc_oneshot.h" # include "esp_log.h" # define TAG "DRV8835" // モーターPWM用 # define MOTOR_PWM_RESOLUTION_HZ 1000000 // 1MHz, 1us per tick # define MOTOR_PWM_PERIOD 100 // 100 tick, 100μs = 10kHzのP...
コメント
コメントを投稿