2014年8月12日火曜日

サーボモーターでNFCカードを上げ下げする

 STM32F0DISCOVERYでサーボモーターを制御して、割り箸に挟んだNFCカードを上げ下げするだけの装置を作ってみた。


 サーボを制御しているのは、Cortex-M0コアのSTM32F0DISCOVERY。デバッガが付いてて1000円。UARTをFT231XでUSBに変換して、PCから指令を出す。


 初めてのことだらけで、勉強になった。
  • STM32(というか、Cortex-M?)はタイマー1個でPWMが4ch賄えて便利。今回のサーボモーターのように、同一周期でパルス幅が違うだけのPWMが出し易い。
  • この規模でEEPROMがないのは盲点だった。調整値が保存できないのは痛い。
  • STM32Cubeはバグっぽいが、使えないほどではない。
  • 同一電源でサーボモーターが複数ある場合は、時間差を置いて順番に始動しないと、 サーボが不安定になって振動を繰り返す。
  • 3VのPWMでもサーボは制御できる。
  • 平滑回路のない粗末なACアダプターでは、サーボは安定して動かせない。
STM32を使った大人の自由研究は一旦終了。次のお題はTWE-Liteを使った工作。