TB6612FNG — это двухканальный мостовой (H-bridge) драйвер для двух коллекторных двигателей или одного шагового.
Модуль собран на микросхеме TB6612FNG от Toshiba, это двухканальный мостовой драйвер, микросхема функциональна схожа с популярными драйверами L293D, L298N но в отличии от них, в драйвере использованы MOSFET транзисторы, драйвер также имеет защиту по температуре, перенапряжению и короткому замыканию. Может управляется логическим уровнем 3.3 вольта.
На модуле не удобно выполнена маркировка выводов, по этому имеет смысл запаять штырьки со стороны микросхемы.
Все входы управления (PWMA(B), A(B)IN1(2), STBY) притянуты к массе резистором на 200к.
Подключение и работа с модулем не отличается от других мостовых драйверов, модуль можно подключать на любые свободные выходы arduino, кроме ног PWM, для него выход должен уметь генерировать ШИМ, такие выходы обозначены ~ (тильдой).
Можно тут или тут.
// wired connections
#define HG7881_B_IA 10 // D10 --> Motor B Input A --> MOTOR B +
#define HG7881_B_IB 11 // D11 --> Motor B Input B --> MOTOR B -
// functional connections
#define MOTOR_B_PWM HG7881_B_IA // Motor B PWM Speed
#define MOTOR_B_DIR HG7881_B_IB // Motor B Direction
// the actual values for "fast" and "slow" depend on the motor
#define PWM_SLOW 100 // arbitrary slow speed PWM duty cycle
#define PWM_FAST 200 // arbitrary fast speed PWM duty cycle
#define DIR_DELAY 1000 // brief delay for abrupt motor changes
void setup()
{
Serial.begin( 9600 );
pinMode( MOTOR_B_DIR, OUTPUT );
pinMode( MOTOR_B_PWM, OUTPUT );
digitalWrite( MOTOR_B_DIR, LOW );
digitalWrite( MOTOR_B_PWM, LOW );
}
void loop()
{
boolean isValidInput;
// draw a menu on the serial port
Serial.println( "-----------------------------" );
Serial.println( "MENU:" );
Serial.println( "1) Fast forward" );
Serial.println( "2) Forward" );
Serial.println( "3) Soft stop (coast)" );
Serial.println( "4) Reverse" );
Serial.println( "5) Fast reverse" );
Serial.println( "6) Hard stop (brake)" );
Serial.println( "-----------------------------" );
do
{
byte c;
// get the next character from the serial port
Serial.print( "?" );
while( !Serial.available() )
; // LOOP...
c = Serial.read();
// execute the menu option based on the character recieved
switch( c )
{
case '1': // 1) Fast forward
Serial.println( "Fast forward..." );
// always stop motors briefly before abrupt changes
digitalWrite( MOTOR_B_DIR, LOW );
digitalWrite( MOTOR_B_PWM, LOW );
delay( DIR_DELAY );
// set the motor speed and direction
digitalWrite( MOTOR_B_DIR, HIGH ); // direction = forward
analogWrite( MOTOR_B_PWM, 255-PWM_FAST ); // PWM speed = fast
isValidInput = true;
break;
case '2': // 2) Forward
Serial.println( "Forward..." );
// always stop motors briefly before abrupt changes
digitalWrite( MOTOR_B_DIR, LOW );
digitalWrite( MOTOR_B_PWM, LOW );
delay( DIR_DELAY );
// set the motor speed and direction
digitalWrite( MOTOR_B_DIR, HIGH ); // direction = forward
analogWrite( MOTOR_B_PWM, 255-PWM_SLOW ); // PWM speed = slow
isValidInput = true;
break;
case '3': // 3) Soft stop (preferred)
Serial.println( "Soft stop (coast)..." );
digitalWrite( MOTOR_B_DIR, LOW );
digitalWrite( MOTOR_B_PWM, LOW );
isValidInput = true;
break;
case '4': // 4) Reverse
Serial.println( "Fast forward..." );
// always stop motors briefly before abrupt changes
digitalWrite( MOTOR_B_DIR, LOW );
digitalWrite( MOTOR_B_PWM, LOW );
delay( DIR_DELAY );
// set the motor speed and direction
digitalWrite( MOTOR_B_DIR, LOW ); // direction = reverse
analogWrite( MOTOR_B_PWM, PWM_SLOW ); // PWM speed = slow
isValidInput = true;
break;
case '5': // 5) Fast reverse
Serial.println( "Fast forward..." );
// always stop motors briefly before abrupt changes
digitalWrite( MOTOR_B_DIR, LOW );
digitalWrite( MOTOR_B_PWM, LOW );
delay( DIR_DELAY );
// set the motor speed and direction
digitalWrite( MOTOR_B_DIR, LOW ); // direction = reverse
analogWrite( MOTOR_B_PWM, PWM_FAST ); // PWM speed = fast
isValidInput = true;
break;
case '6': // 6) Hard stop (use with caution)
Serial.println( "Hard stop (brake)..." );
digitalWrite( MOTOR_B_DIR, HIGH );
digitalWrite( MOTOR_B_PWM, HIGH );
isValidInput = true;
break;
default:
// wrong character! display the menu again!
isValidInput = false;
break;
}
} while( isValidInput == true );
// repeat the main loop and redraw the menu...
}
arduino-project.net
Новая Тойота Королла 11 поколения может оснащается одним из 3-х бензиновых двигателей: 1.3 л, 1.6 л. или 1.8 л. Если первые два силовых агрегата знакомы нам по предыдущему поколению, то 1.8-литровый мотор появился в линейке впервые.
Все устанавливаемые на Toyota Corolla двигатели имеют интеллектуальную систему изменения фаз газораспределения Dual VVT-i, позволяющую менять момент начала открытия и закрытия клапанов в зависимости от условий работы. Благодаря этому двигатель имеет следующие преимущества:
Тип двигателя | бензиновый | ||
Рабочий объем, куб. см. | 1329 | 1598 | 1798 |
Степень сжатия | 11.5 | 10.2 | 10.0 |
Клапанный механизм | DOHC, 16-клапанный Dual VVT-i | ||
Количество цилиндров | 4 | ||
Расположение цилиндров | рядное | ||
Диаметр цилинда, мм | 72.5 | 80.5 | 80.5 |
Ход поршня, мм | 80.5 | 78.5 | 88.33 |
Число клапанов | 16 | ||
Мощность, л.с. (при об/мин) | 99 (6000) | 122 (6000) | 140 (6400) |
Максимальный крутящий момент, Н*м (при об/мин) | 128 (3800) | 173 (4000) |
corolla-avto.ru