質問するログイン新規登録

回答編集履歴

1

追記

2021/02/05 00:20

投稿

nac_tnk
nac_tnk

スコア512

answer CHANGED
@@ -14,4 +14,34 @@
14
14
 
15
15
  ただし、このスケッチ中にGetStatusをしているコードが書かれていません。
16
16
  なので、どこが悪いのかは判りません。
17
- スケッチに問題はあるけど、配線にも問題があるかも。
17
+ スケッチに問題はあるけど、配線にも問題があるかも。
18
+
19
+
20
+ <追記>
21
+ ちょっと繋いでみたので書いておきます。
22
+
23
+ ・モータ用電源も、接続する必要がある。※ジャンパー次第なのかもしれません。
24
+  ジャンパーを2つ付けた状態では、モータ電源を繋がないと動きません。
25
+  また、モータ電源を切った途端に通信は終わります。
26
+
27
+ ・コードは
28
+  SPI.begin(PIN_SPI_SCK, PIN_SPI_MISO, PIN_SPI_MOSI, PIN_SPI_SS);
29
+  の前に、
30
+  pinMode(5,OUTPUT);//PIN_SPI_SS
31
+  といれたら、getStatusは取得出来ました。
32
+
33
+ ・getStatusは、ビジーウェイト関係無しに、いつでも取得出来る命令です。
34
+  なので、busyピンの状態を見ない
35
+  Stepper_L6470_Send_u(0xD0);
36
+  が適当です。
37
+  
38
+ ・getStatusの戻り値(レジスタ)は16ビットです。なので、3バイト取り込む必要はありません。
39
+  まぁ、問題は無いですけど。
40
+
41
+ ※上記で通信は出来ます。ただし、初期設定はしていないのでモータは動かないでしょう。
42
+ モータを動かす「前に」、初期設定をする必要があります。
43
+ ・kvalの4つ。
44
+ ・ストール電流、過電流の値
45
+ これは、今回の条件では必須です。
46
+
47
+ あとは、加速度とかも、最高速/最低速とかも設定しておいた方が良いです。