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()

上記でレジスタ書き込みが行えることを確認した.