前回作成した回路を使ってモーターの速度制御を行います。
回路さえ出来上がっていればあとはポートをPWM制御するだけです。
PWM制御には
PWM機能を試した回の一番最後のプログラムを使用します。
アナログ入力を使用するので
可変抵抗を接続します。
モーターを2個とも回したいので、PE8、PE9も下の段のモータードライバへ接続しておきます。
可変抵抗は抵抗中央の信号線をPF0へ、GNDと電源をそれぞれマイコンボードのGNDと5Vへ接続します。
後はプログラムを実行するだけ。
AD変換とPWMを使えるようにする方法は
PWM機能を試した回を参照のこと。
モーターを2個動かせるようにしたので、プログラムも2個動くようにしておきます。
#include "io_setup.h"
//汎用IO機能の読込#include "intMTU.h"
//PWM機能の読込#include "ADConv.h"
//AD変換機能の読込void main(void){
short out=0;
hardware_setup();
//汎用IOの初期化 init_MTU();
//PWM機能の初期化 init_ADC();
//AD変換機能の初期化 while(1){
check_ai();
//AD変換を実行 out=(get_ai(0)-512)*2;
//AD変換値を -1023 - 0 - 1023 に変換 set_pwm2( PWM_PE0 ,PWM_PE1 , out );
//PWM出力:ポートA,B、出力 -1023-0-1023 set_pwm2( PWM_PE8 ,PWM_PE9 , out );
//PWM出力:ポートA,B、出力 -1023-0-1023 }
// end while}
これでモーターの正転逆転および速度制御ができるようになりました。