RobotyPic son proyectos básicos de electrónica con microcontroladores PIC, de aplicación en el mundo de la robótica didáctica, con archivos fuente creados mediante el compilador CCS PIC C COMPILER en lenguajeC.

Control de un PIC desde el PC por el puerto serie

Este proyecto pretende mostrar lo básico para el control de un pic 16F876A a través del puerto serie del PC. Como software, para este ejemplo sencillo, es suficiente con el HyperTerminal que viene por defecto instalado en Windows.


En el momento de conectar el PIC con el PC, mandará un mensaje de confirmación de la conexión que será mostrado en el escritorio del HyperTerminal. Desde aquí, con una serie de comandos podrá ser controlado.
Este es el esquema del circuito tal y como se ha montado. Para la simulación en Proteus no es necesario plasmar el MAX232, pines de alimentación, cristal de cuarzo, etc. El archivo para la simulación se puede descargar en el enlace al final del artículo.

Esquema control PIC por puerto serie

El MAX232 se debe intercalar entre las salidas RS232 del PIC y las señales procedentes del PC para adaptar los niveles lógicos del PIC (0V – 5V) a los niveles de tensión del puerto serie del PC.


Y este es el código para la programación del PIC bajo el compilador de CCS.

[+/-] Ver / Ocultar programa en C



Para la simulación sería necesario disponer de dos puertos serie en el PC y unirlos mediante un cable serie. En el Proteus configuraremos el componente COMPIM con uno de los puertos, en este caso el COM1. Y el HyperTerminal se deberá configurar con el otro puerto, aquí el COM2.

Pero existe otra opción en el caso de no disponer de puertos serie físicos o del cable de unión, instalando el programa Virtual Serial Port Driver desarrollado por Eltima software que permite crear una pareja de puertos virtuales. En este proyecto se ha elegido esta opción.

PIC con hyperterminal de windows


En su página permite la descarga de una versión de prueba operativa durante 14 días.


Por último queda configurar el Hyperterminal de Windows. Que se encuentra en:

<Inicio> <Todos los programas> <Comunicaciones> <HyperTerminal>

Mientras se abre pedirá una serie elecciones: un nombre para la conexión, el puerto de comunicaciones (el que no se ha empleado para el Proteus de la pareja de puertos empleados), y la velocidad de la transmisión (9600 en este proyecto).

Una vez abierto en <propiedades> <settings> <ASCII setup…> se configura como se muestra.





Una vez configurado y conectado, al comenzar la simulación en Proteus, el PIC responderá con un mensaje de bienvenida y permitirá la interacción entre el HyperTerminal y el PIC.

En esta animación se puede ver una muestra de la simulación.



Para el montaje físico hay que tener en cuenta dos cosas frente a la simulación. Por un lado ahora sí que será necesario, lógicamente, un puerto serie real o USB con un cable adaptador de USB a puerto serie. Este puerto COM será el que habrá que seleccionar en el HyperTerminal. En la ejecución real de este caso concreto, se ha empleado uno de esos adaptadores USB y el resultado ha sido satisfactorio.

Por otro lado, y como ya se ha dicho, entre las salidas RS232 del PIC y las señales procedentes del PC, es necesario intercalar un circuito adaptador de los niveles lógicos del PIC a los niveles de tensión del puerto serie del PC. En este caso un MAX232.
En el siguiente enlace se puede descargar los archivos del esquema en proteus, el programa para CCS, el código de programación del PIC y la animación de la simulación. 



El proyecto contenido en el artículo ha sido diseñado y probado con éxito utilizando las siguientes versiones de software:
- Windows xp y windows 7
- Proteus V7.7 SP2
- CCS PIC C COMPILER v4.084



3 comentarios:

Álvaro García dijo...

Que variación se tendría que hacer al programa en C para que en el caso de pulsar el botón 4 se enviara al HyperTerminal la función de "mostrar_menu"

Robotypic dijo...

Álvaro.

En lugar de:
case ' ': mostrar_menu();
break;

pon
case '4': mostrar_menu();
break;

y en
case '4': funcion_led_amarillo();
break;

pon la tecla que desees en lugar de 4

efwwwwwwwwwwwwwwww dijo...

Hola, disculpa aun tendrás el codigo en ccs o el archivo circuito de proteus?

Related Posts Plugin for WordPress, Blogger...

CONTACTA - (Haz referencia del artículo sobre el que trata la consulta o comentario)