MI04 Řadič stejnosměrných motorů 4x4

Kategorie: MI (inteligentní modul)

K modul MI04 je možné pripojiť štyri jednosmerné motory a štyri inkrementálne enkódery. MI04 dokáže na základe informácie z inkrementálnych enkóderov nezávisle regulovať ot otáčky všetkých štyroch motorov. Hlavnými časťami modulu MI04 je dvojica dvojitých H-mostíkov Toshiba TB6612FNG a jednočipový mikropočítač AT91SAM7S256 (ARM). ARM riadi H-mostíky, spracúva informácie z enkóderov a komunikuje s nadradeným systémom cez sériovú linku UART. Modul MI04 je napájaný z externého 9V zdroja (adaptér).

Integrovaný obvod TB6612FNG je dvojitý H-mostík s riadiacou logikou. Umožňuje pripojenie dvoch jednosmerných motorov. Maximálne napájacie napätie TB6612FNG je 15V, a jedným motorom môže trvalo tiecť prúd 1,2A (krátkodobo 2,8A).

Rozmery plošného spoja MI04 sú 66,5mm x 46,5mm. Montážne otvory s priemerom 4,2mm x 6,5mm sú rozmiestnené v rastri 10mm (podľa kovového konštrukčného systému Eitech Eitech). Modul MI04 má na vrchnej strane DPS dve indikačné LED. Oranžová LED (LED2) svieti, ak je modul napájaný. Modrá LED (LED1) bliká ak modul komunikuje cez UART. Komunikačným rozhraním modulu MI04 je rozhranie UART vyvedené na 3-pinový konektor NSL25–3 (SL1).Napájacie napätie je k Napájacie modulu privedené cez konektor X1.

Základné parametre modulu MI04 sú zhrnuté v nasledujúcej tabuľke:

Parametr Hodnota Jednotka
Napájecí napětí 9 V
Odběr <3 A
Pracovní teplota –20 .. 85 °C

Ke stažení

SKP model: 
PDF dokumentace: 

Příklad Java

/*
 * Rychlost všech motorů je nastavena podle potenciometru připojeného na analogový
 * vstup AIN1 a stiskem tlačítka S2 se mění směr otáčení.
 */
package jBotBrain2.MotorDriver4x4Example;
import jBotBrain2.hw.*;
import jBotBrain2.sensors.Potentiometer;
import jBotBrain2.devices.MotorDriver4x4;

public class MotorDriver4x4ExampleMain {
    public static void main(String[] args) {
        Led.GREEN1.set(Led.MODE_BLINK, 300);

        MotorDriver4x4 driver = new MotorDriver4x4();
        Potentiometer potentiometer = new
        Potentiometer(AnalogInput.PINS[0]);
        int direction = 1;
        int percent = 0;

        while (true) {
            if (Button.S2.isPressed()) {
                direction = -direction;
                while (Button.S2.isPressed());
            }
            percent = potentiometer.getPercentValue() * direction;
            driver.setSpeed(percent, percent, percent, percent);
        }
    }
}