2017年1月24日火曜日

nRF52 SPIにハマる

nRF52はSPIのピンアサインを自由に変えられる。

SPIのピンアサインをADコンバーターのSPIピンに向かい合うように設定すると、結線の半田付を楽できる。


しかし、ここでもハマった。

sdk_config.hにあるSPIのピンアサインを変更するだけでは動かない。

..\nRF5_SDK_12.1.0_0d23e2a\examples\bspにある
pca10040.hとd52_starterkit.hも修正してなんとか動いた。

#define SPIM0_SCK_PIN   7  // SPI clock GPIO pin number.
#define SPIM0_MOSI_PIN  2  // SPI Master Out Slave In GPIO pin number.
#define SPIM0_MISO_PIN  6  // SPI Master In Slave Out GPIO pin number.
#define SPIM0_SS_PIN    11  // SPI Slave Select GPIO pin number.

さらにADコンバータにコマンドを送る際は、SPI MODE2に設定する必要あり。

これで動いたと思いきや、今度は、ADコンバーターにノイズが多く、コンバートされたひずみゲージの値が、期待されている値と程遠い値を返す。
毎晩、nRF52を張り付けたクランクを外して、nRF52のソフトウェアを書き換え、またクランクを付け直してペダリング、結果NG、を繰り返し悩むこと1週間。

原因は、ひずみゲージへの配線の半田付不良だった。
不器用なことには絶対の自信があるので、こんなことも仕方がない。

半田を正確につけると、期待通りの数値がでているように見える。

これで、「チューブラーがパンクしちゃったつもり貯金」で製作するANT+対応パワーメーター「TP-002」の試作も峠を越えたか。




0 件のコメント:

コメントを投稿