テストさせてみました.
モータはFaulhaber 1524009SRギア,エンコーダ付.ふたつで\3779でした.
コネクタは取り替えてしまいました.
初めての海外サイトでのお買い物.ちょっとだけ苦労しました.
海外だからきっと不親切だろうなーと思っていましたが,
ちゃんと追跡してくれるし,12/5発送で12/17到着も予定どうりでした.
高分解能のエンコーダ付でこのお値段はなかなかだと思います.
あとは動けば完璧.
・Arduino
Arduinoではおそらく高速回転での制御は無理と判断し,エンコーダのみのテストです.こちらのサイトにあるプログラムを用いてテストしました.
見事,パルス数がかえってきました.
ちなみにこのArduino互換ボード,3.3V,5Vが切り替えられるのですが,
エンコーダはどちらでも動作しました.よってLPC1114FN28での検証が可能です.
・LPC1114FN28
こちらは,実際にモータを回し,テストしました.モータ電源はエネループ直列4個,約4.8Vです.
検証に用にはQEIライブラリを使用.ソフトウェアでカウントします.
以下回転数を出力するサンプル
#include "mbed.h"
#include "QEI.h"
DigitalOut myled(LED1);
Serial pc(dp16, dp15);
QEI wheel (dp1, dp2, NC, 512,QEI::X2_ENCODING);
Ticker get_rpm;
int rpm;
int palse;
void flip(){
palse = wheel.getPulses();
wheel.reset();
rpm = 60000*palse/1024;
}
int main() {
pc.baud(115200);
get_rpm.attach_us(&flip,1000);
while(1){
wait(0.1);
//pc.printf("Pulses is: %i\n", wheel.getPulses());
pc.printf("rpm is: %i\n", rpm);
}
}
エンコーダは2相1024パルスなので1ms割り込みで 6000*palse/1024
してやることで,回転数に変換できます.
回転数取得の様子
モータのスペック表から回転数定数は1140[rpm/V].よって
1140*4.8=5472[rpm]が大体の出力になるはずです.
ギアがついているとはいえかなり近い値になりました.
モータのテストが終わったので次回は速度制御に移りたいと思います.
このモータもう一組買おうかな・・・
0 件のコメント:
コメントを投稿