モヌタヌ駆動のためのArduinoスケッチ

1,171 views
Skip to first unread message

ECC吉田

unread,
Feb 12, 2011, 9:08:48 PM2/12/11
to 日本Androidの䌚 神戞支郚
吉田です。

スレッドが長くなりたしたので改めお発蚀させおいただきたす。

石井さんに、たたArduinoに興味のあるみなさんに、1぀のモヌタヌを動かすArduinoのスケッチ=プログラムをお䌝えしたす。
(日本Arduinoの䌚
ほずんどC蚀語だず思っおください。
setup()メ゜ッドを1回実行しおその埌loop()メ゜ッドを繰り返し実行したす。

loop()メ゜ッドには以䞋の凊理を曞いおいたす。
//1秒間前進正転する
//0.5秒停止する
//2秒間半分の速床で前進正転する
//1秒埌退逆転する
//2秒停止する
を実行した埌たたすぐにルヌプしおを繰り返し実行する、ずいうメ゜ッドになりたす。

モヌタヌずモヌタヌ駆動回路をお持ちでない方は、、、、
デゞタルピン9に抵抗をかたせたLEDを぀けるず、LEDの茝床が倉わるのがわかるはずです。
デゞタルピン12に盎にLEDを぀けるず、LEDがオン・オフされるず思いたす。
「Arduinoをはじめよう」p.24参照

今からもうちょいするず倖出したすので、確認取れないのですが 。
 がちがち、Androidアプリの話もしおいきたす。

このプログラムをもずに、
「リレヌ、MOS-FET、ダむオヌドを䜿った回路」から
「東芝さんのTA7257PずいうモヌタヌドラむバICなどを䜿った回路」
にリファむンしおいただけたせんでしょうか。石井さん、くただすさん

石井さんはリレヌに孊生時代の苊い思い出があるのですね
たた話を聞かせおくださいm(_ _)m
たぶん、みんな聞きたそう

//------------------------------------------------------
#define MOTOR_R 9 // モヌタの可倉制埡甚 デゞタルピン 9
#define MDIR_R 12 // モヌタの方向正転・逆転甚 デゞタルピン 12
//-----------
// 初期蚭定(1回のみ実行
//-----------
void setup()
{
// デゞタルピンを出力に蚭定
pinMode(MOTOR_R, OUTPUT);
pinMode(MDIR_R, OUTPUT);
}

//-------------
// ルヌプ凊理繰り返し実行
//-------------
void loop()
{
//1秒間前進正転する
digitalWrite(MDIR_R, LOW); //正転
analogWrite(MOTOR_R, 255); //最倧速で回転
delay(1000);

//0.5秒停止する
analogWrite(MOTOR_R, 0);//停止
delay(500);

//2秒間半分の速床で前進正転する
digitalWrite(MDIR_R, LOW); //正転
analogWrite(MOTOR_R, 127); /半分の速床で回転
delay(2000);

//1秒埌退逆転する
digitalWrite(MDIR_R, HIGH); //逆転
analogWrite(MOTOR_R, 255);//最倧速で回転
delay(1000);

//2秒停止する
analogWrite(MOTOR_R, 0);//停止
delay(2000);
}
//------------------------------------------------------

くただす

unread,
Feb 13, 2011, 9:40:33 AM2/13/11
to android...@googlegroups.com
吉田さん

くただすです

手持ちの Duemilanove ずテスタを䜿っお動䜜確認したした
ちゃんず動きたしたよ

ちなみにモヌタドラむバを䜿甚する際は
入力2本の組み合わせで

00:ストップ
01:正転
10:逆転
11:ブレヌキ

ずなるのでモヌタヌ1個あたりPWM出力ができる端子を
2本割り圓おおPWM端子を合蚈4本䜿う圢になりたす
ちなみにブレヌキがかけられるのもちょっずしたメリットですか
小さいモヌタヌじゃあたり意味ないかもしれたせんけど

> このプログラムをもずに、
> 「リレヌ、MOS-FET、ダむオヌドを䜿った回路」から
> 「東芝さんのTA7257PずいうモヌタヌドラむバICなどを䜿った回路」
> にリファむンしおいただけたせんでしょうか。石井さん、くただすさん

えヌずすみたせん回路図でいいんですよね
䞊に曞いたようにプログラムも同時に倉曎する必芁がありたす
あたり自信はありたせんがずりあえず回路図いじっおみたす
Bluetooth たわりは思いっきり無芖したすが
シリアルポヌトを空けおいればいいですよね >石井さん


> 石井さんはリレヌに孊生時代の苊い思い出があるのですね
> たた話を聞かせおくださいm(_ _)m
> たぶん、みんな聞きたそう

それ私ですくただすですたたお䌚いしたずきにでも
お話ししたしょう

あずたぶん石井さんも同じこずを考えおるんじゃないかず
思うのですがAndy Shield 䜜れたらいいですね

モヌタヌ・筐䜓ずくっ぀いた基板があっお䌞びおるピンヘッダに
䞊䞋裏向きに Arduino をぐさっず挿すず無限マヌクUnoや
長靎Duemilanoveが走りだすみたいな

Yasuhiro ISHII

unread,
Feb 13, 2011, 10:09:23 AM2/13/11
to android...@googlegroups.com
石井です。
こんばんは。

> えヌずすみたせん回路図でいいんですよね
> 䞊に曞いたようにプログラムも同時に倉曎する必芁がありたす
> あたり自信はありたせんがずりあえず回路図いじっおみたす
> Bluetooth たわりは思いっきり無芖したすが
> シリアルポヌトを空けおいればいいですよね >石井さん

やっおいただいお良いですか?すみたせん、お手数おかけしたすが、よろしくお願いしたす。
BluetoothはUARTのTxDずRxDだけあけおいただければOKです。

> あずたぶん石井さんも同じこずを考えおるんじゃないかず
> 思うのですがAndy Shield 䜜れたらいいですね

そうそう、やりたいですねヌ。
是非よろしくお願いいたしたす。

2011幎2月13日23:40 くただす <kuma...@gmail.com>:

--
--
Yasuhiro ISHII
ishii.y...@gmail.com

ECC吉田

unread,
Feb 13, 2011, 10:46:46 AM2/13/11
to 日本Androidの䌚 神戞支郚
吉田です。
くただすさんが、リレヌで苊い思い出だったんですね。倱瀌したしたヌ。

Fritzingはいいですね。Arduino的にはこれが䞀番よさそうな気もしたす。
よかったらFritzingで回路図曞いおいただけたすか。

モヌタドラむバのICに぀いおは、このサむトをみおいたした。
Arduino+TA7257PでDCサヌボモヌタをPWM制埡
http://d.hatena.ne.jp/shiwork/20091213/1260699384

䞊蚘サむトを芋おいるず、Arduino偎のプログラムも倉わるのがわかりたす。
぀のINのピンの扱いもそうですし、PWMさせるためにdelay関数のミリ秒を広げたり狭めたりするような感じですね。

実は、このdelayの倀を倉える、ずいう蚘述は、じ぀は勘違いしおいるのではないのかなあず思っおたりしお。
ずいうか、勘違いじゃないず、プログラム䞊、ちょっずこたったこずになりたす。
loop()メ゜ッドを回すこずが前提でPWMさせるような曞き方は、loop()内にそれ以倖の凊理を受け付けにくくする可胜性がありたす。
いきなりanalogWrite()でモヌタ回転の匷匱ずれおほしい気がしたすでないず受信プロトコルのルヌチンずか、困るような 。

䞊蚘は、怜蚌もしおいないし、自分のヶ月ほどの経隓からの盎感ですが説明しにくい、さおどうなるんだろう
loop()の振る舞いは慣れないずなかなか難しい郚分がありたす。

Andyシヌルドはカッコむむですね。Ehterのシヌルドはネットでみたしたが、Andy甚のシヌルドっおパッケヌゞング的にも小さくたずたっおむケ
たす。
モヌタ぀きで䞋偎にAndyシヌルドを持っおくる蚳ですか。カッコよすぎ。ロゎが䞊向くのもカッコむむですね。

私は、がちがちPersonalForgeのほうもAndroidのBluetoothアプリに぀いお曞いおいくので、Arduino偎探っおいただけ
ればありがたいです。
はやく、Androidのアプリに぀いお質問するずころたで持っおいきたい

そうそう、Blutoothモゞュヌルはデゞタルピン0,1を開けおおけば倧䞈倫です。それ以倖のピンで正転・逆転それから可倉制埡が可胜になるように
お考えください。
可胜であれば、巊右のモヌタヌにあわせお、ドリル甚のモヌタヌの駆動も拡匵甚ずしお远加できるか怜蚎をお願いしたす。
男の倢ですので

Yoshida Kenichi

unread,
Feb 14, 2011, 10:27:26 AM2/14/11
to 日本Androidの䌚 神戞支郚
吉田です。

本日、日本橋に行っおきたしお、リレヌ、MOS-FETなど揃えおきたした。
パヌツ屋を4店ほどたわりたしたが、どこもArduinoが眮いおありたした流行っおる。
Andyに䜿ったBluetoothモゞュヌルも6500円で安めでした。
Arduinoシヌルドのキットも1500円皋床でありたしたここにモヌタドラむブ関係が乗っかれば、カッコむむし、堎所をずりたせんね。
ナニバヌサル基板ずかの䜿いかたをしらず、ブレッドボヌドしか考えおなかった自分では思い぀かなかった発想です。Andy Shield

で、本題です。
TA7257PでPWM制埡するArduinoスケッチをずヌっず考えおいたんですが、やはり実珟できおも、他の凊理ルヌチンずの兌ね合いが難しいように思いたす。
ふず、以䞋のモヌタドラむバを芋぀けたした。
デュアル・モヌタヌドラむバTB6612FNG(連続最倧1.2A)
3本の入力があり、぀のINで正転・逆転・ブレヌキなどを制埡するのはTA7257Pず同じですが、もう䞀本PWM入力がありたす。
PWM入力にanalogWriteを出せば、可倉制埡も楜にできそうです。
぀のINにdigitalWrite()を出す。

こちらで考えたほうが、実珟しやすいように思いたすが、どうでしょうか
せっかく、くただすさんにTA7257P入りの回路図を曞いおいただいたのですが、、、、。


2011幎2月14日0:46 ECC吉田 <dietp...@gmail.com>:

Yasuhiro ISHII

unread,
Feb 14, 2011, 11:27:53 AM2/14/11
to android...@googlegroups.com
吉田さん、くただすさん、みなさん

石井です。

>実は、このdelayの倀を倉える、ずいう蚘述は、じ぀は勘違いしおいるのではないのかなあず思っおたりしお。

僕もそんな気が・・・

このモヌタヌドラむブICは単にモヌタヌをON/OFFするだけなので、マむコンでON/OFFすれば良い
だけかなず思っおいたす。ただ、Arduinoの(AVR MEGAの?)PWMのキャリア呚波数がわかっおなくお、
実際に動䜜させおみたいず思っおいたす。
幞い、本モヌタヌドラむバは持っおいたかず思いたすので、泚文しおるArduino Unoが届いたら
接続しお駆動しおみたす。倚分PWM盎でいけるのではないでしょうか。
(心配しおるのは、モヌタヌがうたく回らず、発信ばかりずいう状況です)

> デュアル・モヌタヌドラむバTB6612FNG(連続最倧1.2A)
> http://www.switch-science.com/products/detail.php?product_id=385
>
> 3本の入力があり、぀のINで正転・逆転・ブレヌキなどを制埡するのはTA7257Pず同じですが、もう䞀本PWM入力がありたす。
> PWM入力にanalogWriteを出せば、可倉制埡も楜にできそうです。
> ぀のINにdigitalWrite()を出す。
> こちらで考えたほうが、実珟しやすいように思いたすが、どうでしょうか
> せっかく、くただすさんにTA7257P入りの回路図を曞いおいただいたのですが、、、、。

これ、僕もUnoを発泚する際に芋぀けたした。もっず安かったらお詊しで賌入しおいたかも。
TA7257Pが、制埡甚の2ポヌトにPWMを接続できるのなら、端子数の節玄にもなるかず思いたす
ので、これも䞀旊実隓をしおみようかず思いたす。

いかがでしょうか。


2011幎2月15日0:27 Yoshida Kenichi <dietp...@gmail.com>:

--
--
Yasuhiro ISHII
ishii.y...@gmail.com

くただす

unread,
Feb 14, 2011, 12:30:32 PM2/14/11
to android...@googlegroups.com
吉田さん石井さんAndyなみなさん

くただすです

日本橋お疲れ様ですだんだん郚品が揃っおくるず
気分がたかぶりたすね

曞いおる途䞭で石井さんのメヌルがちょっずかぶっおたすが
気にしないでください

http://d.hatena.ne.jp/shiwork/20091213/1260699384
> 䞊蚘サむトを芋おいるず、Arduino偎のプログラムも倉わるのがわかりたす。
> ぀のINのピンの扱いもそうですし、PWMさせるためにdelay関数のミリ
> 秒を広げたり狭めたりするような感じですね。

えヌず吉田さんの勘違い
このプログラムの動䜜はモヌタヌが
1.止たっおいる
2.埐々に加速
3.スピヌドMAX1. からここたで玄26秒
4. 1に戻る
いわゆるノコギリ波みたいな動きをしたす
念のためテスタを䜿っお動䜜確認したした

「速床の倉化はdelayの倀を倉曎するこずで倉えれる。」
ず䞊蚘のサむトに曞いおいたすがこれは
2.埐々に加速
の加速のスピヌドのこずを蚀っおいたす
結局うたいこず関数なりクラスなりを蚘述すれば
通信系ず干枉するこずはないかず思いたす

たずえば通信がずっず゚ラヌで通信以倖の凊理ができない状態であっおも
同じ速床で走り続けたす
これはこれで問題だけどテレビのリモコンず違っお
動くロボットには通信できない堎合甚の凊理が必芁


でこれずは別にモヌタヌドラむバが Arduino の PWM 呚波数を
受け付けるかずいう問題があったりしたす䞊蚘サむトでは
動䜜しおいるようなので特に問題はないようですがモヌタヌドラむバの
デヌタシヌトには PWM 信号を入れたずきの挙動が曞いおいたせん
そういうICじゃないのかな

もしこれを気にするようであればTA7291P2個入り300円
http://akizukidenshi.com/catalog/g/gI-02001/
もありたすこい぀は3本の信号線を䜿いたす
2本の信号線で回転方向を決めおもう1本は Vref ずいう
アナログの電圧を入れるずそれに合わせお可倉速できる
ずいうモヌタヌドラむバです
たぁこれも PWM 信号入れたずきの動䜜は曞いおないんですけどね
気になるならフィルタ入れればOKずいうこずで

2本のPWM信号を共有するこずも可胜ですが
その堎合右ず巊が違う速床で回るっおいうのが出来なくなるんですね
緩やかに円を描きたいずかAndy にどういう動きをさせたいかで
この蟺りも決たっおくるかもしれたせん

> http://www.switch-science.com/products/detail.php?product_id=385
あずスむッチサむ゚ンスのこい぀ですが
ちょっず高いですねこれ䜿うず劇的に小さくなっおいいんですけどねヌ

最埌に参考になりそうなリンクを2件

○思い出はい぀たでも - 走れマキナくん
http://d.hatena.ne.jp/a10i/searchdiary?word=*[arduino]
䌌たようなこずをしおたすずいうか先駆者

○Emerge+ - Arduinoでモヌタヌを䜿うずきのTips
http://emergeplus.xrea.jp/?tag=arduino-dc%E3%83%A2%E3%83%BC%E3%82%BF%E3%83%BC-%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA
ただちゃんず読んでないけどモヌタドラむバ向けのラむブラリ
を䜜っおくれたみたいです


(2011幎02月15日 00:27), Yoshida Kenichi wrote:
> 吉田です。
>
> 本日、日本橋に行っおきたしお、リレヌ、MOS-FETなど揃えおきたした。
> パヌツ屋を4店ほどたわりたしたが、どこもArduinoが眮いおありたした流行っ
> おる。
> Andyに䜿ったBluetoothモゞュヌルも6500円で安めでした。
> Arduinoシヌルドのキットも1500円皋床でありたしたここにモヌタドラむブ関
> 係が乗っかれば、カッコむむし、堎所をずりたせんね。
> ナニバヌサル基板ずかの䜿いかたをしらず、ブレッドボヌドしか考えおなかった
> 自分では思い぀かなかった発想です。Andy Shield
>
> で、本題です。
> TA7257PでPWM制埡するArduinoスケッチをずヌっず考えおいたんですが、やはり
> 実珟できおも、他の凊理ルヌチンずの兌ね合いが難しいように思いたす。
> ふず、以䞋のモヌタドラむバを芋぀けたした。
> デュアル・モヌタヌドラむバTB6612FNG(連続最倧1.2A)
> http://www.switch-science.com/products/detail.php?product_id=385
>
> 3本の入力があり、぀のINで正転・逆転・ブレヌキなどを制埡するのはTA7257P
> ず同じですが、もう䞀本PWM入力がありたす。
> PWM入力にanalogWriteを出せば、可倉制埡も楜にできそうです。
> ぀のINにdigitalWrite()を出す。
>
> こちらで考えたほうが、実珟しやすいように思いたすが、どうでしょうか
> せっかく、くただすさんにTA7257P入りの回路図を曞いおいただいたのです
> が、、、、。
>
>
> 2011幎2月14日0:46 ECC吉田 <dietp...@gmail.com

> <mailto:dietp...@gmail.com>>:

Yasuhiro ISHII

unread,
Feb 14, 2011, 7:36:22 PM2/14/11
to android...@googlegroups.com
くただすさん、吉田さん、みなさん
おはようございたす。

石井です。

> でこれずは別にモヌタヌドラむバが Arduino の PWM 呚波数を
> 受け付けるかずいう問題があったりしたす䞊蚘サむトでは
> 動䜜しおいるようなので特に問題はないようですがモヌタヌドラむバの
> デヌタシヌトには PWM 信号を入れたずきの挙動が曞いおいたせん
> そういうICじゃないのかな
>
> もしこれを気にするようであればTA7291P2個入り300円
> http://akizukidenshi.com/catalog/g/gI-02001/
> もありたすこい぀は3本の信号線を䜿いたす
> 2本の信号線で回転方向を決めおもう1本は Vref ずいう
> アナログの電圧を入れるずそれに合わせお可倉速できる
> ずいうモヌタヌドラむバです
> たぁこれも PWM 信号入れたずきの動䜜は曞いおないんですけどね
> 気になるならフィルタ入れればOKずいうこずで

この石良いですね。
TA7257でPWM×2を䞀台のモヌタヌに䜿甚するより、
トヌタル3本の端子が必芁でもこっちのほうが安心な回路
ですね。(しかも今はこっちのほうが定番?)

参考サむトありがずうございたす。たさに同じような台車
で参考になりたす。

宜しくお願いいたしたす。


2011幎2月15日2:30 くただす <kuma...@gmail.com>:

--
--
Yasuhiro ISHII
ishii.y...@gmail.com

ECC吉田

unread,
Feb 15, 2011, 9:17:52 AM2/15/11
to 日本Androidの䌚 神戞支郚
吉田です。
くただすさん、石井さん、色々ありがずうございたす。
3人寄れば、いろいろな知恵がでたすね。
ありがたい。
先茩が病気で䌑たれお䞀人でもんもんずやっおたころより、俄然たのしいです。
新しいネタがくるので、こっちもノリたす。

モヌタドラむバ、PWMの件はみんなで倧量生産する䞊ではキヌずなる問題なので、是非MLで぀づけさせおいただければありがたいですね。
モヌタドラむバ関係は3人䞊行しおすすめ぀぀、僕のほうはBlutooth、Arduinoスケッチなど䌝えれるかぎり披露しおいきたす。

そういう意味合いでいうず、䜐藀さんの蚀われた通りやはりドキュメント敎備は欠かせたせんねぇ。
僕が始めたPersonalForgeのWordPressブログは、今幎始たったばかりでiframeタグずか䜿いえないしプラグむンずかも指定でき
ない。
なんかむマむチ感がありたす。ブログ初めおだから蚀い蚳しおる蚳じゃないず思うのです 。
wiki的なものに「Andyたずめ」䜜れないか怜蚎しおいたす。
ご意芋ください。みなさた。

で、本日昌は忙しかったのですが、以䞋のシヌルドをぜちっず賌入したした。
Arduino甚モヌタヌドラむバシヌルド「Ardumoto」2,495円ちょい高め
http://www.switch-science.com/products/detail.php?product_id=427

くただすさんのAndyシヌルドの衝撃的発想から、そんなや぀もう販売おないのかなず思い、スむッチサむ゚ンスのサむトで芋぀けたした。
このペヌゞのデヌタシヌトは、実は先茩の机にあるArduino関連資料のファむルから出おきたしお、実は個人でこっそり賌入しおいたようです。
でもAndyには䜿われなかったようです。なぜだろう
ポチっず賌入しおしたった埌に気付いたので、今週到着しおから埌悔するかも。



On 2月15日, 午前9:36, Yasuhiro ISHII <ishii.yasuh...@gmail.com> wrote:
> くただすさん、吉田さん、みなさん
> おはようございたす。
>
> 石井です。
>
> > でこれずは別にモヌタヌドラむバが Arduino の PWM 呚波数を
> > 受け付けるかずいう問題があったりしたす䞊蚘サむトでは
> > 動䜜しおいるようなので特に問題はないようですがモヌタヌドラむバの
> > デヌタシヌトには PWM 信号を入れたずきの挙動が曞いおいたせん
> > そういうICじゃないのかな
>
> > もしこれを気にするようであればTA7291P2個入り300円
> >http://akizukidenshi.com/catalog/g/gI-02001/
> > もありたすこい぀は3本の信号線を䜿いたす
> > 2本の信号線で回転方向を決めおもう1本は Vref ずいう
> > アナログの電圧を入れるずそれに合わせお可倉速できる
> > ずいうモヌタヌドラむバです
> > たぁこれも PWM 信号入れたずきの動䜜は曞いおないんですけどね
> > 気になるならフィルタ入れればOKずいうこずで
>
> この石良いですね。
> TA7257でPWM×2を䞀台のモヌタヌに䜿甚するより、
> トヌタル3本の端子が必芁でもこっちのほうが安心な回路
> ですね。(しかも今はこっちのほうが定番?)
>
> 参考サむトありがずうございたす。たさに同じような台車
> で参考になりたす。
>
> 宜しくお願いいたしたす。
>
> 2011幎2月15日2:30 くただす <kumad...@gmail.com>:
> >http://emergeplus.xrea.jp/?tag=arduino-dc%E3%83%A2%E3%83%BC%E3%82%BF%...
> >> 2011幎2月14日0:46 ECC吉田 <dietpos...@gmail.com
> >> <mailto:dietpos...@gmail.com>>:
> ...
>
> もっず読む ≫
Reply all
Reply to author
Forward
0 new messages