この前購入した2804 220KV用にSSI接続化したMT6701センサ基板を取り付けられるような3Dプリント部品が出来上がってきたので早速組み立ててみた。
今回はM2x6で全部組み立てられる設計。センサ側は穴を少し小さめにしておいたので無理やりM2ネジをねじ込んでねじ切っておいた。バリが出たのでカッターで少し面取り。
モータを取り付けてみると固定穴はいい感じの寸法かも。使わないコネクタを避けた部分が少しズレてた。あたっていないのでまぁOK。最後にSSI化したMT6701のセンサ基板を装着。PWM/Anarogの部分にはCSが来ている。モータとMT6701が合体できたのでセンサの動作確認。センサと磁石のギャップは1.3mmぐらいに設定してある。
前にBluepillで試したときのスケッチでもいいんだけど、SimpleFOCで動かしたかったのでSimpleFOCのDriverライブラリを使用してMT6701の動作確認。(結局磁石の距離がいい感じなのかを調べるために使ったんだけどね…)
#include <SimpleFOC.h> #include <SimpleFOCDrivers.h> #include <encoders/mt6701/MagneticSensorMT6701SSI.h> SPIClass SPI_1(PB5, PB4, PB3); // MOSI, MISO, SCK #define MT6701_CS PA15 //CS MagneticSensorMT6701SSI sensor = MagneticSensorMT6701SSI(MT6701_CS); void setup() { Serial.begin(115200); sensor.init(&SPI_1); } void loop() { sensor.update(); float angle = sensor.getSensorAngle(); float degrees = angle * (360.0 / (2 * PI)); Serial.print("Angle (rad): "); Serial.print(angle, 4); Serial.print(", (deg): "); Serial.println(degrees, 2); delay(200); }
このライブラリはSimpleFOCをMT6701のようないろんな磁気エンコーダに対応できるようなライブラリで、MT6701にも対応している。このライブラリを使用して角度を表示できるようなスケッチでまずはセンサの動作確認をしてみた。MOSIは未使用なので、基板のシルクでいうとSDAにMISOを、SCLにSCKを、PWM/AnalogピンはパターンカットしてCSに接続しているのでCSに接続、VCCは3.3Vを使用。
SimpleFOCでは角度はラジアンで扱っているのでわかりやすいように度になおして表示してみた。ちゃんと一周で360度になるので大丈夫そう。
とりあえずセンサの動作確認ができたので次回はモータドライバを接続してSimpleFOCで回せるようにしてみたい。
0 件のコメント:
コメントを投稿