概要
プロトタイプ開発に有用なArduino Holding製Arduino基板は、
SPIやI2C、UARTなどの多様なインターフェースで、周辺機器を接続できるAVRマイコン搭載ボードです。
SPIが使えるということなので、4線式シリアルバスインターフェースを搭載している
NPM製シリアルバス制御専用パルスコントロールLSI「PCD2112A」も接続できます。
SPIやI2C、UARTなどの多様なインターフェースで、周辺機器を接続できるAVRマイコン搭載ボードです。
SPIが使えるということなので、4線式シリアルバスインターフェースを搭載している
NPM製シリアルバス制御専用パルスコントロールLSI「PCD2112A」も接続できます。
ハードウェア接続例
上図は、2個のスイッチでステッピングモーターを操作するPCD2112A-QD接続例です。
マイコンボードはArduino Uno R3で、SPI信号線4本を「PCD2112A」に接続します。
ステッピングモーターはバイポーラで、制御線4本を「PCD2112A」に接続します。
(該当モーターは12V定格のためHブリッジICであるL293Dの採用を推奨します)
スイッチはプルダウン接続で、モーメンタリー2個を「PCD2112A」に接続します。
※リセットICが無ければ、代用として外部スイッチをご追加ください。
ソフトウェア記述例
- // 以下、Arduino言語によるプログラムソースコード例で、1-2相励磁の96ppsです。
- // スイッチを押すと直線加速して60rpmに達し、離すと直線減速して停止します。
- #include "SPI.h"
- void setup() {
- byte mosi[] = {
- 0x02, 0x12, 0xFF, 0xFF, 0x04, 0xAF, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x00, 0x60, 0x00, 0x60,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x43};
- SPI.begin();
- SPI.beginTransaction(SPISettings(1000000, MSBFIRST, SPI_MODE3));
- delay(400); // PCD2112AをリセットするICの遅延時間
- digitalWrite(PIN_SPI_SS, LOW);
- SPI.transfer(mosi, 22);
- digitalWrite(PIN_SPI_SS, HIGH);
- }
- void loop() { // スイッチ入力も含め、全てPCD2112Aが制御します
- }
ソフトウェアサンプル
ファイル構成
PCD2112A-QD_sample.ino | Arduino IDE用のスケッチ |