# Driver X

<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F18xOrFm51J0L1lm7tyVk%2FM%C3%93DULO%20DRIVER-X.webp?alt=media&#x26;token=6888883d-6fc4-44a4-b085-54386922a11f" alt=""><figcaption></figcaption></figure>

**DRIVER-X** es un módulo que integra el controlador de motor [TC78H660FNG](https://microside.com/wp-content/uploads/2023/06/TC78H660FNG_datasheet_en_20200908-1903608.pdf) de Toshiba, un puente H de canal doble capaz de controlar hasta dos motores DC. Ideal para proyectos de robótica y mini robótica.

### **TABLA DE CONTENIDO** <a href="#tabla-de-contenido" id="tabla-de-contenido"></a>

1. ​[**Información**](#i.-informacion)​
2. ​[**Descripción del hardware**](#ii.-descripcion-del-hardware)​
3. ​[**Pinout**](#iii.-pinout)​
4. ​[**Especificaciones**](#iv.-especificaciones)​
5. ​[**Ejemplo de uso con Arduino**® **IDE**](#v.-ejemplo-de-uso-con-arduino-r-ide)​
6. [​**Descargas**](#vi.-descargas)​
   * ​[**Dimensiones**](https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FfaGuO0ec8Mgg6xYrmF5p%2FDimensions_DRIVER-X.PDF?alt=media\&token=ef604738-4b32-4c5a-8964-3c879acec0d3)​
   * ​[**Librería**](https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FqeyoMEVUd33o1IMVixxp%2FMicroside_driver-x.zip?alt=media\&token=6f90b078-74b4-4ca1-8213-e631b516f679)​

## **I. Información** <a href="#i.-informacion" id="i.-informacion"></a>

El módulo **DRIVER-X** puede controlar hasta dos motores DC con una corriente pico de 2.0 A, con voltaje de operación de 2.5 V hasta 16 V. El módulo requiere un voltaje de alimentación de 5 V para la lógica del circuito. Incluye todos los componentes de protección y configuración del circuito, por lo que solo es necesario conectar las señales de control y alimentación para su funcionamiento.Los pines están organizados para que las señales de entrada se encuentren en el lado opuesto de las señales de salida, facilitando su conexión.

## **II. Descripción del hardware** <a href="#ii.-descripcion-del-hardware" id="ii.-descripcion-del-hardware"></a>

<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F89v10Cved9BIsmaGJ2wl%2FDRIVE-X%20Frontal.webp?alt=media&#x26;token=bb33ba57-35bf-41d9-9980-6f0051132d60" alt=""><figcaption></figcaption></figure>

1. Voltaje de motores: VM 2.5V - 16V
2. LED Indicador de encendido
3. Entradas de control
4. Pin Standby
5. Puente H dual: [TC78H660FNG](https://www.mouser.com/datasheet/2/408/TC78H660FNG_datasheet_en_20200908-1903608.pdf)
6. Salidas hacia los motores
7. Voltaje de la lógica: VCC 5V

## **III. Pinout**

<table><thead><tr><th width="97.33333333333331" align="center">Pin</th><th width="140" align="center">Nombre</th><th>Descripción</th></tr></thead><tbody><tr><td align="center">1</td><td align="center"><strong>VM</strong></td><td>Voltaje de los motores (2.5V - 16V)</td></tr><tr><td align="center">2</td><td align="center"><strong>VCC</strong></td><td>Voltaje de la lógica (5V)</td></tr><tr><td align="center">3</td><td align="center"><strong>GND</strong></td><td>GND</td></tr><tr><td align="center">4</td><td align="center"><strong>A+</strong></td><td>Salida positiva para motor A</td></tr><tr><td align="center">5</td><td align="center"><strong>A-</strong></td><td>Salida negativa para motor A</td></tr><tr><td align="center">6</td><td align="center"><strong>B-</strong></td><td>Salida negativa para motor B</td></tr><tr><td align="center">7</td><td align="center"><strong>B+</strong></td><td>Salida positiva para motor B</td></tr><tr><td align="center">8</td><td align="center"><strong>GND</strong></td><td>GND</td></tr><tr><td align="center">9</td><td align="center"><strong>NC</strong></td><td></td></tr><tr><td align="center">10</td><td align="center"><strong>IA2</strong></td><td>Entrada de control para motor A</td></tr><tr><td align="center">11</td><td align="center"><strong>IA1</strong></td><td>Entrada de control para motor A</td></tr><tr><td align="center">12</td><td align="center"><strong>STBY</strong></td><td>Standby</td></tr><tr><td align="center">13</td><td align="center"><strong>IB1</strong></td><td>Entrada de control para motor B</td></tr><tr><td align="center">14</td><td align="center"><strong>IB2</strong></td><td>Entrada de control para motor B</td></tr><tr><td align="center">15</td><td align="center"><strong>NC</strong></td><td></td></tr><tr><td align="center">16</td><td align="center"><strong>GND</strong></td><td>GND</td></tr></tbody></table>

## **IV. Especificaciones**

<table data-header-hidden><thead><tr><th></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td>Controlador</td><td><a href="https://www.mouser.com/datasheet/2/408/TC78H660FNG_datasheet_en_20200908-1903608.pdf">TC78H660FNG</a></td><td></td></tr><tr><td>Voltaje de operación</td><td>5 V</td><td></td></tr><tr><td>Corriente de salida</td><td>2 A (Max)</td><td></td></tr><tr><td>Frecuencia PWM</td><td>400 kHz (Max)</td><td></td></tr><tr><td>Consumo de corriente</td><td>2.8 mA - 4.3 mA</td><td></td></tr><tr><td>Umbral de apagado térmico (TSD)</td><td>145°C - 175°C</td><td></td></tr><tr><td>Umbral del circuito de protección de sobre corriente (ISD)</td><td>2.5ª – 4.2ª</td><td></td></tr></tbody></table>

{% hint style="warning" %}
**Nota:** Los circuitos ISD y TSD están diseñados para ofrecer protección temporal contra condiciones irregulares, como un corto circuito en las salidas, pero no necesariamente garantizan una completa protección del IC. Si el dispositivo se utiliza por encima de los rangos de operación señalados estos circuitos podrían no operar adecuadamente, como resultado, el dispositivo podría dañarse.

Para obtener la información técnica completa, puedes descargar las especificaciones del fabricante en el siguiente link: [**Datos Técnicos**](https://toshiba.semicon-storage.com/info/TC78H660FNG_datasheet_en_20200908.pdf?did=69605\&prodName=TC78H660FNG)
{% endhint %}

## **V.** Ejemplo de uso con Arduino® IDE

El siguiente ejemplo consiste en lo siguiente:&#x20;

1. Ambos motores se moverán hacia adelante
2. Ambos motores se moverán hacia atrás
3. El motor A invertirá su giro
4. Ambos motores invertirán su giro
5. El motor A se detendrá
6. El motor B se detendrá

Este ciclo se repetirá indefinidamente.

### Diagrama de conexión

Para el ejemplo se utiliza el siguiente material:

·         1 x Tarjeta de desarrollo **NANO-X**

·         1 x Controlador de motores dual **DRIVER-X**

·         2 x Motor DC

·         1 x Fuente de poder (Voltajes admitidos: 2.5V – 16V)

·         1 x Juego de cables Dupont

Realiza las conexiones como se muestran en el siguiente diagrama:

<figure><img src="/files/4Rni5smjJBXxo6a2SjCC" alt=""><figcaption></figcaption></figure>

### Programación

Conecta la tarjeta de desarrollo NANO-X a la computadora por medio de un cable USB y configúrala dependiendo de tu sistema operativo.

{% hint style="info" %}
En este ejemplo se utiliza el sistema operativo Windows 10.
{% endhint %}

**1.-** Descarga la librería de **DRIVER-X** del siguiente **link** y guárdala en tu computadora.

**2.-** Ejecuta Arduino® IDE, agrega la librería ingresando en el apartado “Programa” > “Incluir Librería” > “Añadir biblioteca .ZIP …”.

<figure><img src="/files/hgaSnHMOOdozwbwqEcGL" alt=""><figcaption></figcaption></figure>

**3.-** Selecciona el archivo .zip que descargaste en el paso anterior y da clic en abrir.

<figure><img src="/files/wG8WvpxlStSNT0xEyMy0" alt=""><figcaption></figcaption></figure>

**4.-** Abre el ejemplo "*driver\_test"*, da clic en “Archivo” > “Ejemplos” > “Microside DRIVER-X” > “driver\_test”.

<figure><img src="/files/STBncJtc1TLpJawfGyFT" alt=""><figcaption></figcaption></figure>

**5.-** En el ejemplo reemplaza los pines AIN1, AIN2, BIN1, BIN2 con los pines que utilizarás para controlar los motores.

{% hint style="warning" %}
Asegúrate que los motores estén conectados correctamente en los pines IA1, IA2, IB1, IB2 respectivamente del **DRIVER-X**.
{% endhint %}

{% hint style="info" %}
**Nota:** Si los pines seleccionados no son PWM entonces el control de la velocidad de giro no funcionará.
{% endhint %}

<figure><img src="/files/x0YvDh8aWRVa8JHHAsBL" alt=""><figcaption></figcaption></figure>

**6.-** Selecciona el puerto asignado por la tarjeta.

<figure><img src="/files/2IlIJF9EdI0PRHtRDLc9" alt=""><figcaption></figcaption></figure>

**7.-** Por último, compila y carga el código.

### Código

{% embed url="<https://gist.github.com/microside-mx/fd400c8c04c853974b887b46e81e3475>" %}

## **VI. Descargas**

<table data-card-size="large" data-view="cards"><thead><tr><th align="center"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><mark style="color:green;"><strong>Dimensiones</strong></mark></td><td><a href="https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FfaGuO0ec8Mgg6xYrmF5p%2FDimensions_DRIVER-X.PDF?alt=media&#x26;token=ef604738-4b32-4c5a-8964-3c879acec0d3">https://2111342482-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FfaGuO0ec8Mgg6xYrmF5p%2FDimensions_DRIVER-X.PDF?alt=media&#x26;token=ef604738-4b32-4c5a-8964-3c879acec0d3</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Librería</strong></mark></td><td><a href="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FqeyoMEVUd33o1IMVixxp%2FMicroside_driver-x.zip?alt=media&#x26;token=6f90b078-74b4-4ca1-8213-e631b516f679">https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FqeyoMEVUd33o1IMVixxp%2FMicroside_driver-x.zip?alt=media&#x26;token=6f90b078-74b4-4ca1-8213-e631b516f679</a></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.microside.com/productos/mini-robotica/driver-x.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
