# 12 - Motor DC + Driver L298N

> **mikroC PRO for PIC**
>
> [**PIC18F4550 / PIC18F45K50**](https://docs.microside.com/practicas/mikroc-pro-for-pic/pic18f4550-or-pic18f45k50)

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2F7eMacGS4NVRGYPhQznYf%2FMotor%20DC.png?alt=media&#x26;token=a0946664-eb28-4578-93ff-12e975ba5cc7" alt="" width="350"><figcaption></figcaption></figure>

## **Introducción**

En esta práctica se implementa el control de un motor de corriente directa, usando el módulo PWM (modulador de ancho de pulso) para aumentar o disminuir la velocidad y un driver LM298N para realizar un cambio de giro.

## **Descripción**

En esta práctica se usa el módulo PWM (Pulse Width Modulation) del pin C2, para el aumento y disminución de la velocidad de giro de un motor DC. Con ayuda de un driver LM298N que se encuentra conectado a los pines C0 y C1 de la tarjeta **X-TRAINER** con el P**IC18F4550/PIC18F45K50,** se realiza una inversión de giro.

**Materiales:**

1 x Tarjeta **X-TRAINER**. [**Manuales**](https://docs.microside.com/tarjetas-de-desarrollo/x-trainer) | [**Comprar**](https://www.microside.com/shop/category/entrenadores-pic-1)

1 x Driver L298N.

1 x Motor DC 5 a 12 volts.

1 x Pila de 9 volts.

1 x Conector para pila cuadrada de 9 volts.

1 x Protoboard de 830 puntos.

1 x Juego de cables Dupont.

1 x Cable micro USB.

**Software:**

Windows 7 o posterior.

mikroC PRO Compiler. [**Descarga**](https://www.mikroe.com/mikroc-pic)

X-TRAINER Suite v1.0 [**Descarga**](https://raw.githubusercontent.com/MICROSIDE-TECHNOLOGY/microside_download_archive/main/Tools/X-TRAINER%20Suite/X-TRAINER%20Suite%20Setup.zip)

## **Procedimiento**

**1.** En el apartado de “[**Diagrama Esquemático**](#diagrama-esquematico)” selecciona el modelo de tu tarjeta, realiza las conexiones que se muestran en la imagen y conéctala a la computadora.

{% hint style="info" %}
Las conexiones mostradas en los diagramas esquemáticos son las mismas ya sea que la tarjeta **X-TRAINER** posea el **PIC18F4550** o el **PIC18F45K50**.
{% endhint %}

**2.** Ejecuta **mikroC PRO compiler**, crea un nuevo proyecto con el código fuente que se encuentra en el apartado "[**Código**](#codigo)" y compila el programa.

{% hint style="success" %}
Si tienes dudas de cómo realizar los pasos anteriores puedes encontrar un manual de **mikroC PRO compiler** a través del siguiente[ ](https://docs.microside.com/manuales-de-usuario/ides/pic-c-compiler-ccs)[**link**](https://docs.microside.com/practicas/ides/mikroc-pro-for-pic).
{% endhint %}

**3.** Abre el **Software X-TRAINER Suite v1.0** en el apartado **PIC18F4550/45K50**, selecciona el archivo .hex generado al compilar el proyecto y programa la tarjeta.

{% hint style="success" %}
Si tienes dudas de cómo realizar los pasos anteriores puedes encontrar un manual del **Software X-TRAINER Suite v1.0**. a través del siguiente[ **link**](https://docs.microside.com/tarjetas-de-desarrollo/software-x-trainer-suite).
{% endhint %}

**4.** Al terminar de programar, la tarjeta **X-TRAINER** se reiniciará automáticamente y se ejecutará el programa de esta práctica.

## **Diagrama esquemático**

Selecciona el modelo de tu tarjeta **X-TRAINER.**

{% tabs %}
{% tab title="LITE M R2" %}

<figure><img src="https://raw.githubusercontent.com/MICROSIDE-TECHNOLOGY/12-DC-L298N-mikroC-PRO-for-PIC-PIC18F4550-45K50/main/Diagrama%20de%20conexi%C3%B3n/X-TRAINER_Lite-M-r2_Practica-12_Microside_02.png" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="LITE M R3" %}

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FetawxeNBdi36lp2pGxgy%2FMotor%20DC%20%2B%20Driver%20L298N%20PIC18F44550%20o%20PIC18F45K50%20%20X-TRAINER%20LITE%20M%20MICROSIDE.webp?alt=media&#x26;token=fdaeac0a-65b7-486c-b4c9-98b37a66505f" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="LITE F" %}

<figure><img src="https://raw.githubusercontent.com/MICROSIDE-TECHNOLOGY/12-DC-L298N-mikroC-PRO-for-PIC-PIC18F4550-45K50/main/Diagrama%20de%20conexi%C3%B3n/X-TRAINER_LITE-F_Practica-12_Microside_01.png" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="DIP" %}

<figure><img src="https://raw.githubusercontent.com/MICROSIDE-TECHNOLOGY/12-DC-L298N-mikroC-PRO-for-PIC-PIC18F4550-45K50/main/Diagrama%20de%20conexi%C3%B3n/X-TRAINER_DIP_Practica-12_Microside_01.png" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="DIP R3" %}

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FWyNno1CG314qmgHGZofQ%2Fhands-on-pic18f-l298n-trainer-dip-r3.png?alt=media&#x26;token=d846a625-68f6-4aad-9c9f-d474e74e2e1a" alt=""><figcaption></figcaption></figure>

{% endtab %}

{% tab title="PRO R2" %}

<figure><img src="https://raw.githubusercontent.com/MICROSIDE-TECHNOLOGY/12-DC-L298N-mikroC-PRO-for-PIC-PIC18F4550-45K50/main/Diagrama%20de%20conexi%C3%B3n/X-TRAINER_PRO-r2_Practica-12_Microside_01-1.png" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="PRO R3" %}

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2FLSmNm33lv1CGgDcF0bKu%2F13%20Motor%20DC%20%2B%20Driver%20L298N%20X%20Trainer%20Pro%2018.png?alt=media&#x26;token=205f6cdc-39e0-430e-b97c-273bc40c0c1f" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="PRO R4 " %}

<figure><img src="https://177299348-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyV2zAlQAiqg46a3Lr8z%2Fuploads%2Fb9SAB76BguxlK2AGqcOB%2FMotor%20DC%20%2B%20Driver%20L298N%20PIC18F4550%20%20o%20PIC18F45K50%20X-TRAINER%20PRO%20R4%20MICROSIDE.webp?alt=media&#x26;token=e386b0f7-8c31-43c7-961c-a8271f75c594" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

## **Código**

{% tabs %}
{% tab title="PIC18F4550" %}
{% embed url="<https://gist.github.com/microside-mx/dc88317c99b218f3a67bae9ff7b5d033>" %}
{% endtab %}

{% tab title="PIC18F45K50" %}
{% embed url="<https://gist.github.com/microside-mx/9a8351afdd62b3b71460fe6322249c6e>" %}
{% endtab %}
{% endtabs %}

## **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>Software X-TRAINER Suite v1.0</strong></mark></td><td><a href="https://raw.githubusercontent.com/MICROSIDE-TECHNOLOGY/microside_download_archive/main/Tools/X-TRAINER%20Suite/X-TRAINER%20Suite%20Setup.zip">https://raw.githubusercontent.com/MICROSIDE-TECHNOLOGY/microside_download_archive/main/Tools/X-TRAINER%20Suite/X-TRAINER%20Suite%20Setup.zip</a></td></tr><tr><td align="center"><mark style="color:green;"><strong>Proyecto</strong></mark></td><td><a href="https://github.com/MICROSIDE-TECHNOLOGY/12-DC-L298N-mikroC-PRO-for-PIC-PIC18F4550-45K50/archive/refs/heads/main.zip">https://github.com/MICROSIDE-TECHNOLOGY/12-DC-L298N-mikroC-PRO-for-PIC-PIC18F4550-45K50/archive/refs/heads/main.zip</a></td></tr></tbody></table>
