Raspberry Pi Zeroでブラシレスモータ駆動
Raspberry Piで、SPI信号を出せたので、モータコントローラA4960のレジスタ設定にチャレンジする。
データシートによれば、STRNがCE0に相当するようなので下記のように接続.
ラズパイ | A4960 |
---|---|
SCLK(23) | SCK(9) |
MISO(21) | SDO(8) |
MOSI(19) | SDI(10) |
CE0(24) | STRN(11) |
16bit SPIで上位3bitがアドレス,4bit目がRead/Write
肝心のモータRun/Stopは、Config7(111)の最下位bitに割り当てられている。
コードは下記のように記載。
xferは、2バイトづつ、カンマ区切りで記載すれば良いようだ.
#!/usr/bin/env python # -*- config: utf-8 -*- #Import Library import spidev import time spi=spidev.SpiDev() spi.open(0,0) spi.max_speed_hz=10000 resp=spi.xfer2([0xf2,0x01]) print(resp[0]) spi.close()
上記でレジスタ書き込みが行えることを確認した.