135 | | 今回は例として[https://www.switch-science.com/catalog/1637/ デュアルモータードライバDRV8835]を使ってみます。 |
136 | | |
137 | | |
| 138 | 今回は例として[https://www.switch-science.com/catalog/1637/ デュアルモータードライバDRV8835]を使ってみます。[[BR]] |
| 139 | APAHSEピンをArduino Unoのデジタル12番にAENABLEピンをデジタル11番に接続しました。[[BR]] |
| 140 | VCCがロジック電源で、今回はArduino Unoから5Vをもらっています。VINはモーター駆動用電源で今回は3Vにしました。[[BR]] |
| 141 | |
| 142 | [[Image(0J4056.1200.jpg,300px)]] |
| 143 | [[Image(DRV8835_3.png,360px)]] |
| 144 | |
| 145 | サンプルスケッチです。正転と逆転を繰り返すようになっています。 |
| 146 | |
| 147 | |
| 148 | {{{ |
| 149 | #define APHASE 12 |
| 150 | #define AENABLE 11 |
| 151 | |
| 152 | void setup() { |
| 153 | pinMode(APHASE,OUTPUT); |
| 154 | pinMode(AENABLE,OUTPUT); |
| 155 | } |
| 156 | |
| 157 | void loop() { |
| 158 | int i=0; |
| 159 | //モーター停止 |
| 160 | analogWrite(AENABLE,0); |
| 161 | digitalWrite(APHASE,LOW); |
| 162 | delay(500); |
| 163 | |
| 164 | //モーター正回転・スピード変化 |
| 165 | digitalWrite(APHASE,LOW); |
| 166 | for(i=0;i<256;i++){ |
| 167 | analogWrite(AENABLE,i); |
| 168 | delay(100); |
| 169 | } |
| 170 | for(i=255;i>=0;i--){ |
| 171 | analogWrite(AENABLE,i); |
| 172 | delay(100); |
| 173 | } |
| 174 | |
| 175 | //モーター停止 |
| 176 | analogWrite(AENABLE,0); |
| 177 | digitalWrite(APHASE,LOW); |
| 178 | delay(500); |
| 179 | |
| 180 | //モーター逆回転・スピード変化 |
| 181 | digitalWrite(APHASE,HIGH); |
| 182 | digitalWrite(APHASE,LOW); |
| 183 | for(i=0;i<256;i++){ |
| 184 | analogWrite(AENABLE,i); |
| 185 | delay(100); |
| 186 | } |
| 187 | for(i=255;i>=0;i--){ |
| 188 | analogWrite(AENABLE,i); |
| 189 | delay(100); |
| 190 | } |
| 191 | } |
| 192 | }}} |
| 193 | |
| 194 | === ・回転方向と速度:2本 === |
| 195 | 最後のタイプは回転方向と速度の両方を2本の入力で行うタイプです。一見、前のタイプ(回転方向切替:1本 回転速度:1本)と同じように感じますが、少し違います。[[BR]] |
| 196 | こちらは両方とも同じ役割を持つ2本の入力端子を持ちますが、前のタイプは回転方向と速度の違う役割を持ったピンが1本ずつです。[[BR]] |
| 197 | (OUT1 OUT2の状態はモータードライバの種類によって少し異なります。) |
| 198 | |
| 199 | ||IN1||IN2||OUT1||OUT2||状態|| |
| 200 | ||0||0||Z||Z||ストップ|| |
| 201 | ||0||PWM||L||PWM||逆転(ストップ)|| |
| 202 | ||PWM||0||PWM||L||正転(ストップ)|| |
| 203 | ||1||PWM||H||PWM||逆転(ブレーキ)|| |
| 204 | ||PWM||1||PWM||H||正転(ブレーキ)|| |
| 205 | ||1||1||H||H||ブレーキ|| |
| 206 | |
| 207 | 今回は例として[https://www.switch-science.com/catalog/1637/ デュアルモータードライバDRV8835]を使ってみます。[[BR]] |
| 208 | 前のタイプ(回転方向切替:1本 回転速度:1本)の例で使用したのと同じモータードライバです。このモータードライバはモードを切り替えることで制御方法を変えることができます。[[BR]] |
| 209 | 前回はMODEピンをHIGHにしていましたが、今回はLOWにします。 |
| 210 | |
| 211 | |