------------dc-----------l293d---------------------------------------------
L293Dは、モータ電源4.5v以上なので 多分電源電圧を単3x4を用意すれば
他のマイコンでもいけるだろう https://omoroya.com/arduino-lesson26/ も参照
---dc---------microbit only-----------------------------------------------------------
mic専用のmotor driver moduleで2個すんなりうごいた ただしmotorはFA130
http://www.micro-bit.info/archives/1141
keystudio ks0308 dc motor driver module モータとMICのGNDは別
TB6612FNG がもとになっており、くわしくは以下のサイト
https://qiita.com/MedakanoGakko/items/e9624c3fa45e40b0425e
ーーーdcーーーーTB67H450 single motor driver ーーーー
https://akizukidenshi.com/catalog/g/gK-14753/
VREFは3.3でも5でもいいみたいだ
このサイト情報は重要 電源電圧4.5V以上だった 単3x4が必要! L293Dも同一だろう
ーーーーーーdc---drv8835ーーーー
DRV8835でもGNDはマイコンと共通化、モータ電源が2〜7vとなっており、
espr2でも動いた! esprのピン配置は上下よく間違える! 注意注意
https://www.petitmonte.com/robot/howto_dc_motor_drv8835.html を参考にする
mode(11ピン)をGNDにおとしてゼロにしている、あとは9,10ピンをPWMし正逆を制御
プチモンテの方法(PWMっぽい)ではうごかんので以下のようにする
const int MORTOR1_PIN = 1;
const int MORTOR2_PIN = 0;
void setup() {
// put your setup code here, to run once:
pinMode(MORTOR1_PIN,OUTPUT);
pinMode(MORTOR2_PIN,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(MORTOR1_PIN,HIGH);
digitalWrite(MORTOR2_PIN,LOW);
delay(2000);
digitalWrite(MORTOR1_PIN,HIGH);
digitalWrite(MORTOR2_PIN,HIGH);
delay(2000);
}
---dc-------------tc78h653ftg------------------結局壊した-----------------------------------------
以下をすると48以上ではおかしくなる逆起電力の問題か?正転・停止・逆転・停止で安定
モータだけならそれでいいが、ギアボックスの場合speeds100以上でないとトルクが出ん
ので音はすれど動かず! pwm方式の盲点だな。
- // 回転速度(35-255)
- // ※値が大きいほど高速,余りにも小さい値は回転しません。
- const uint8_t speeds = 48;
- void setup() {
- Serial.begin(9600);
- }
- void loop() {
- // 正転(回転)
- Serial.println("正転");
- analogWrite(10,speeds);
- analogWrite(11,0);
- delay(1000);
- // 逆転(逆回転)
- Serial.println("逆転");
- analogWrite(10,0);
- analogWrite(11,speeds);
- delay(1000);
- // ブレーキ
- Serial.println("ブレーキ");
- analogWrite(10,speeds);
- analogWrite(11,speeds);
- delay(1000);
- }
https://coskxlabsite.stars.ne.jp/html/for_students/M5Stack/MotorDrivingDemo2/MotorDrivingDemo2.html を参考に TC78H653FTGをraspicoで動かした!
上図にあるようにモータとマイコンのGNDは別,共通にしてはいけない!
【Raspberry Pi Pico】DCモーターをモータードライバで制御する | メタエレ実験室 (hellobreak.net) デジタルオンオフとPWMの2種のコードがあった tc78でもOKだった
import machine
import utime
IN1 = machine.Pin(1, machine.Pin.OUT)
IN2 = machine.Pin(2, machine.Pin.OUT)
while True:
# 正転
IN1.value(1)
IN2.value(0)
utime.sleep(2)
# ブレーキ
IN1.value(1)
IN2.value(1)
utime.sleep(2)
from machine import PWM, Pin
import utime
IN1 = PWM(Pin(1))
IN2 = PWM(Pin(2))
IN1.freq(100)
IN2.freq(100)
max_duty = 65025
while True:
# 正転
IN2.duty_u16(0)
for i in range(50, 100):
IN1.duty_u16(int(max_duty*i*0.01))
utime.sleep(0.1)
# ブレーキ
IN1.duty_u16(max_duty)
IN2.duty_u16(max_duty)
utime.sleep(2)
0 件のコメント:
コメントを投稿