Electronics

2007.11.05

Arduinoでモーターを回すためのアドバイス

Text by kanai

mkardie-2-1
Arduinoでモーターを動かすときに、モーターシールドを使わずにやるいい方法はないかとTodobtに聞いたら、みんなが読める形で丁寧な返事が返ってきた。-

普通のモーターなら、そこらに転がっているような”1.5VDC – 6VDC”と書かれている直流モーターで大丈夫。大きな電流の切り替えにはTIP120などのトランジスターを使う。モーターの電極にはダイオードを渡して、電流の戻りを防いでやる。これで完了。ただし、この方法だとモーターは一方向にしか回らない。両方向に回したいときは、トランジスターを4本使わないとならないのだが、それにはモータードライバーチップという便利なものがある(4つのトランジスターがあらかじめ組み合わされたものだ)。
サーボモーターの場合だが、私は10ドルのホビー用サーボでしか遊んだことがない。いつもいちばん安いものを買ってくる。私は、サーボの制御信号をArduinoのピンに直接通し、電源もArduinoの電源から直接出している。たいていのサーボは5V前後で駆動するようになっているが、なかには12Vや別の電圧で動くものもある。
直流モーターもArduinoの+5V電源から電源が取れる。高電圧のモーターではArduinoのVinピンから電源を取るのがよい。この場合は、トランジスターが適している。Arduinoの小さな電圧で大きな電圧を制御できるからだ。トランジスターは偉大だ。
Boarduinoのようなミニ版Arduinoを使うときは、ひとつだけ注意すべき点がある。電源供給量の制限によってモーターノイズを十分にフィルターできないことがあるので、電圧低下を引き起こす。また、9Vのバッテリーでモーターを回すときは、一か八かの賭になる。その件に関しては、11月に私が講師を務めるArduino教室に向けて実験を行っているところだ。

todbot’s blog(英語)- Link
このほかにも何か助言があれば、どんどんコメントに書き込んでね。
[原文]