マイコン入門spacer ad
トップページに戻る(マイコン徹底入門:STM32で始めるARM/Cortex-M3組み込み開発)
「マイコン徹底入門」とは? |  「マイコン徹底入門」を読む |  ダウンロード |  掲示板 |  筆者の自己紹介


Previous: 9.1.4.5. ボタン

Up: 9.1.4. ソフトウェアと外付け回路の詳細

Next: 9.1.4.7. PSDセンサ


マイコン徹底入門:RTOS編:フリーのリアルタイムOS活用法: 9. FreeRTOSを利用したマウスロボット: 9.1. マウス: 9.1.4. ソフトウェアと外付け回路の詳細:

9.1.4.6. モータ

9?4 回路図

 380クラスのモータは消費電力が大きくなりますので、TO-220パッケージのスイッチング用FETを使用しました。このクラスのFETは入力容量が大きく、高速でスイッチングしたい場合には、FETドライバを使用するのが簡便です。モータを2個使用しますので部品点数が多くなっています。ハイサイドはPWM駆動のためタイマ出力に接続していますが、ローサイドはPWMでコントロールする場合も、オンにしたままになりますので、通常のGPIOに接続しています。

 prvTask_Motor_Control関数(motor.c/motor.h)がモータ制御用の関数です。この関数によるタスクは、モータのスムーズな制御をするため、「だんだん加速する」「だんだん減速する」ための処理をします。

 キューxMotorQueueMotorQueue_Type型のデータを送信してモータをコントロールします。

typedef struct

{

? uint8_t Instruction;

? int8_t LSpeed_To;

? int8_t RSpeed_To;

? uint16_t Period;

} MotorQueue_Type;

 Instructionは指示の内容で、以下の列挙型のいずれかで指定します。

typedef enum {STOP = 0, ACCEL = 1, BRAKE = 2, CLEAR = 3, STAY = 4} MotorStatus_Type;

 このうちACCELを指定すると、Periodで指定した時間をかけて、現在の速度から、

LSpeed_To/RSpeed_Toで指定した速度に加速(減速)します。


Previous: 9.1.4.5. ボタン

Up: 9.1.4. ソフトウェアと外付け回路の詳細

Next: 9.1.4.7. PSDセンサ


このページはITと知的財産の法律情報「法務ネット」の管理人が制作・運営しています。