﻿{"id":188,"date":"2014-12-03T15:12:20","date_gmt":"2014-12-03T15:12:20","guid":{"rendered":"http:\/\/robots-argentina.com.ar\/didactica\/?p=188"},"modified":"2015-01-10T15:41:01","modified_gmt":"2015-01-10T15:41:01","slug":"robot-programable-diagrama-basico-en-bloques","status":"publish","type":"post","link":"https:\/\/robots-argentina.com.ar\/didactica\/robot-programable-diagrama-basico-en-bloques\/","title":{"rendered":"Robot Programable: Diagrama B\u00e1sico en Bloques"},"content":{"rendered":"<p><strong>El robot programable de nuestras clases posee un microcontrolador <a href=\"http:\/\/ww1.microchip.com\/downloads\/en\/DeviceDoc\/39582b.pdf\" target=\"_blank\">PIC16F876A<\/a> como centro de control, un integrado <a href=\"http:\/\/www.ti.com\/lit\/ds\/symlink\/l293d.pdf\" target=\"_blank\">L293D<\/a> de <a href=\"http:\/\/robots-argentina.com.ar\/MotorCC_L293D.htm\" target=\"_blank\">manejo de potencia para los motores<\/a> y circuitos auxiliares.<\/strong><\/p>\n<p>En el momento de introducir la programaci\u00f3n al robot se inserta un <a href=\"http:\/\/arduino.cc\/en\/Main\/MiniUSB\" target=\"_blank\">m\u00f3dulo de comunicaci\u00f3n USB\/USART<\/a> que convierte las se\u00f1ales de nivel USB que salen de la PC al nivel TTL utilizado en el microcontrolador. <\/p>\n<p><center><small><b>Diagrama b\u00e1sico en bloques<\/b><\/small><img loading=\"lazy\" class=\"aligncenter\" src=\"\/didactica\/imagenes\/1103-robotbloques.jpg\" alt=\"Diagrama en bloques\" width=\"640\" height=\"397\" \/><\/center><\/p>\n<p>La comunicaci\u00f3n se establece entre un programa de carga de datos en la PC y el m\u00f3dulo de comunicaciones serie del microcontrolador (USART o <a href=\"http:\/\/en.wikipedia.org\/wiki\/Asynchronous_serial_communication\" target=\"_blank\">Universal Serial Asynchronous Receiver \/ Transmiter<\/a> = Receptor \/ Transmisor Asincr\u00f3nico Serie Universal), que es controlado en el microcontrolador por un peque\u00f1o programa de carga de datos llamado \u00ab<a href=\"http:\/\/es.wikipedia.org\/wiki\/Gestor_de_arranque\" target=\"_blank\">bootloader<\/a>\u00ab, o cargador inicial. <\/p>\n<p>Este programa se ocupa de tomar los datos que componen nuestro programa a trav\u00e9s del puerto serie del microcontrolador (USART), y grabarlos en la memoria de programa. Describir\u00e9 con m\u00e1s detalles este proceso en el pr\u00f3ximo art\u00edculo.<\/p>\n<p>En este caso, el microcontrolador PIC16F876A trabaja a una velocidad de reloj de 4 MHz (puede hacerlo hasta 20 MHz). Esto lo determina un cristal conectado a sus patas de oscilador. El cristal, como es habitual, tiene dos capacitores auxiliares en su circuito. Para los observadores, en la imagen que sigue ver\u00e1n otro chip (el que maneja la corriente de los motores), un regulador de voltaje, capacitores y resistores auxiliares, una llave de encendido (de color negro), una llave de reinicio (de color rojo), y hacia la parte baja de la imagen un conjunto de peque\u00f1as llaves deslizantes (llamado DIP switch, tambi\u00e9n de color rojo y con las llavecitas en blanco) que utilizo para ingresar indicaciones al microcontrolador. Estos indicadores se pueden comprobar en el programa a trav\u00e9s de unas entradas y seguir, seg\u00fan su posici\u00f3n, diferentes acciones. En un principio, con las primeras 6 llavecitas se eligen partes del programa que realizan diferentes secuencias de movimiento.<\/p>\n<p><center><small><b>En las im\u00e1genes que siguen se puede observar el montaje del robot a nivel de prueba (con plaqueta base de prototipo, o protoboard), primero con la conexi\u00f3n USB-USART inserta, luego el robot libre (tal como funciona al ponerlo en marcha), y el mismo montaje visto de abajo.<\/b><\/small><img loading=\"lazy\" class=\"aligncenter\" src=\"\/didactica\/imagenes\/1103-robot-USB.jpg\" alt=\"Robot con cable\" width=\"600\" height=\"485\" \/><br \/>\n<img loading=\"lazy\" class=\"aligncenter\" src=\"\/didactica\/imagenes\/1103-robot-libre.jpg\" alt=\"Robot sin cable\" width=\"600\" height=\"671\" \/><br \/>\n<img loading=\"lazy\" class=\"aligncenter\" src=\"\/didactica\/imagenes\/1103-robot-abajo.jpg\" alt=\"Robot de abajo\" width=\"600\" height=\"667\" \/><\/center><\/p>\n<p><center><script type=\"text\/javascript\"><!--\ngoogle_ad_client = \"ca-pub-7090242166042605\";\n\/* 728x90, creado 16\/03\/10 *\/\ngoogle_ad_slot = \"6066685945\";\ngoogle_ad_width = 728;\ngoogle_ad_height = 90;\n\/\/-->\n<\/script><br \/>\n<script type=\"text\/javascript\"\nsrc=\"http:\/\/pagead2.googlesyndication.com\/pagead\/show_ads.js\">\n<\/script><\/center><\/p>\n<p>Esta imagen muestra de cerca la parte de circuito de control.<\/p>\n<p><center><small><b>Detalle del \u00e1rea del control<\/b><\/small><img loading=\"lazy\" class=\"aligncenter\" src=\"\/didactica\/imagenes\/1103-robot-1.jpg\" alt=\"\u00c1rea de control\" width=\"600\" height=\"450\" \/><\/center><\/p>\n<p>En la imagen de abajo se observa un detalle del \u00e1rea del microcontrolador, el cristal con sus capacitores, y la llave que se utiliza para reiniciar (reset) al momento de programar o de reponer el funcionamiento del robot a sus condiciones iniciales.<\/p>\n<p><center><small><b>Detalle del \u00e1rea del microcontrolador<\/b><\/small><img loading=\"lazy\" class=\"aligncenter\" src=\"\/didactica\/imagenes\/1103-robot-2.jpg\" alt=\"\u00c1rea del microcontrolador\" width=\"600\" height=\"450\" \/><\/center><\/p>\n<p>El microcontrolador maneja los motores derecho e izquierdo utilizando un amplificador de potencia <a href=\"http:\/\/www.ti.com\/lit\/ds\/symlink\/l293d.pdf\" target=\"_blank\">L293D<\/a>. Las se\u00f1ales de control son 4, dos para cada uno de los motores, y permiten seleccionar tres estados: marcha adelante, marcha atr\u00e1s y detenci\u00f3n.<\/p>\n<p><center><small><b>Detalle del L293D y su conexi\u00f3n con el microcontrolador.<\/b><\/small><img loading=\"lazy\" class=\"aligncenter\" src=\"\/didactica\/imagenes\/1103-robot-3.jpg\" alt=\"\u00c1rea del control de motores\" width=\"600\" height=\"450\" \/><\/center><\/p>\n<p>El arranque de los motores puede generar bajones de tensi\u00f3n en los 6V que aportan 4 pilas recargables tama\u00f1o AA de 1,5V. Por eso entre las pilas y la alimentaci\u00f3n del microcontrolador se insert\u00f3 un regulador de voltaje <a href=\"http:\/\/pdf1.alldatasheet.es\/datasheet-pdf\/view\/8828\/NSC\/LM2940CT-5.0.html\" target=\"_blank\">LM2940CT-5.0<\/a> que lleva los 6V a 5V, y que tiene a su salida un capacitor electrol\u00edtico de alto valor que ayuda, con su carga, a mantener estable el voltaje de la parte de control en los momentos en que los motores producen bajones de tensi\u00f3n al arrancar. La parte de los motores se alimenta directamente con 6V, en la etapa previa a la regulaci\u00f3n.<\/p>\n<p><center><small><b>En la imagen, un detalle de la parte de regulaci\u00f3n de voltaje.<\/b><\/small><img loading=\"lazy\" class=\"aligncenter\" src=\"\/didactica\/imagenes\/1103-robot-4.jpg\" alt=\"\u00c1rea de regulaci\u00f3n de voltaje\" width=\"600\" height=\"450\" \/><\/center><\/p>\n<p>El microcontrolador recibe su programaci\u00f3n a trav\u00e9s de dos se\u00f1ales, RX, o recepci\u00f3n, y TX, o transmisi\u00f3n. Esto configura la comunicaci\u00f3n serie entre el microcontrolador del robot y el programa en la PC que env\u00eda los datos a programar.<\/p>\n<p><center><small><b>Detalle de la conexi\u00f3n entre el m\u00f3dulo adaptador entre el puerto USB de la PC y el puerto USART del microcontrolador.<\/b><\/small><img loading=\"lazy\" class=\"aligncenter\" src=\"\/didactica\/imagenes\/1103-robot-5.jpg\" alt=\"\u00c1rea de interconexi\u00f3n con la PC\" width=\"600\" height=\"450\" \/><\/center><\/p>\n<p>El m\u00f3dulo tiene 4 contactos enchufables, y se desenchufa para operar el robot dej\u00e1ndolo moverse libremente.<\/p>\n<p>Se observan en el circuito unos peque\u00f1os capacitores azules de 0,1 uF, llamados capacitores de desacople, que sirven para filtrar los ruidos de alta frecuencia producidos por las chispas de las escobillas de los motores, que podr\u00edan interferir con el funcionamiento del microcontrolador. <\/p>\n<p><center><small><b>La imagen se\u00f1ala la posici\u00f3n de estos capacitores.<\/b><\/small><img loading=\"lazy\" class=\"aligncenter\" src=\"\/didactica\/imagenes\/1103-robot-6.jpg\" alt=\"Capacitores de filtro\" width=\"600\" height=\"450\" \/><\/center><\/p>\n<p><center><small><b>Aqu\u00ed se observan una cantidad de m\u00f3dulos comerciales de adaptaci\u00f3n<br \/> del puerto USB de la PC al puerto USART de un microcontrolador.<\/b><\/small><img loading=\"lazy\" class=\"aligncenter\" src=\"\/didactica\/imagenes\/1103-robotmodulos.jpg\" alt=\"M\u00f3dulos\" width=\"592\" height=\"291\" \/><\/center><\/p>\n<p>Continuar\u00e9 con m\u00e1s detalles de circuito y de programaci\u00f3n en los pr\u00f3ximos art\u00edculos.<\/p>\n<p><center><br \/>\n<script type=\"text\/javascript\"><!--\ngoogle_ad_client = \"ca-pub-7090242166042605\";\n\/* femeie336x280 *\/\ngoogle_ad_slot = \"6118472803\";\ngoogle_ad_width = 336;\ngoogle_ad_height = 280;\n\/\/-->\n<\/script><br \/>\n<script type=\"text\/javascript\"\nsrc=\"\/\/pagead2.googlesyndication.com\/pagead\/show_ads.js\">\n<\/script><br \/>\n<\/center><br \/>\n<center><script type=\"text\/javascript\"><!--\ngoogle_ad_client = \"ca-pub-7090242166042605\";\n\/* 728x90, creado 16\/03\/10 *\/\ngoogle_ad_slot = \"6066685945\";\ngoogle_ad_width = 728;\ngoogle_ad_height = 90;\n\/\/-->\n<\/script><br \/>\n<script type=\"text\/javascript\"\nsrc=\"http:\/\/pagead2.googlesyndication.com\/pagead\/show_ads.js\">\n<\/script><\/center><\/p>\n","protected":false},"excerpt":{"rendered":"<p>El robot programable de nuestras clases posee un microcontrolador PIC16F876A como centro de control, un integrado L293D de manejo de potencia para los motores y circuitos auxiliares. En el momento de introducir la programaci\u00f3n al robot se inserta un m\u00f3dulo de comunicaci\u00f3n USB\/USART que convierte las se\u00f1ales de nivel USB que salen de la PC [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[13,6,12,3,9,11],"tags":[15],"_links":{"self":[{"href":"https:\/\/robots-argentina.com.ar\/didactica\/wp-json\/wp\/v2\/posts\/188"}],"collection":[{"href":"https:\/\/robots-argentina.com.ar\/didactica\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/robots-argentina.com.ar\/didactica\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/robots-argentina.com.ar\/didactica\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/robots-argentina.com.ar\/didactica\/wp-json\/wp\/v2\/comments?post=188"}],"version-history":[{"count":0,"href":"https:\/\/robots-argentina.com.ar\/didactica\/wp-json\/wp\/v2\/posts\/188\/revisions"}],"wp:attachment":[{"href":"https:\/\/robots-argentina.com.ar\/didactica\/wp-json\/wp\/v2\/media?parent=188"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/robots-argentina.com.ar\/didactica\/wp-json\/wp\/v2\/categories?post=188"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/robots-argentina.com.ar\/didactica\/wp-json\/wp\/v2\/tags?post=188"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}