web-archive-ar.com » AR » R » ROBOTS-ARGENTINA.COM.AR

Total: 487

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".
  • Plaquetas | Robots Didácticos
    2 Modelo B Todavía usa VideoCore Sí VideoCore IV 3d es el único núcleo de gráficos 3d públicamente documentado para SoCs basados en ARM y queremos mantener Raspberry Pi abierto De dónde viene la cifra rendimiento 6x El aumento de velocidad varía entre aplicaciones Hemos visto pruebas de referencia de la CPU con un único subproceso que acelera por lo menos 1 5 veces mientras que Sunspider resulta alrededor de 4 veces más rápido y los códecs de vídeo NEON habilitados para multinúcleo pueden ser más de 20 veces más rápidos 6x es un número típico para una prueba de comparación de CPU multi hilo como SysBench Es esta una versión completa de Windows 10 Por favor consulte WindowsOnDevices com Especificaciones Raspberry Pi 2 Procesador de cuatro núcleos Broadcom BCM2836 ARM Cortex A7 GPU VideoCore IV doble núcleo con soporte OpenGL ES 2 0 aceleración por hardware OpenVG 1080p 30 frames H 264 1 GB LPDDR2 SDRAM Salida de vídeo 1080p Salida vídeo compuesto PAL NTSC Salida de audio estéreo Ethernet 10 100 Base HDMI 1 3 y 1 4 Audio compuesto jack 3 5 mm 4 puertos USB 2 0 MPI CSI 2 Socket MicroSD Conector Serie GPIO 40 pines Precio y disponibilidad Raspberry Pi 2 RS uno de los dos distribuidores principales ya tiene a la venta el nuevo modelo El precio es idéntico al anterior 35 dólares ofreciendo entonces más potencia al mismo precio en esta mini computadora con base ARM y sistema operativo Linux en formato de placa única Fuente RaspberriPi com Esta entrada fue publicada en Componentes CPU Electrónica Hardware Plaquetas Robots el 3 febrero 2015 por ecarletti Recuperación de partes de una lámpara de bajo consumo 3 13 W Deja una respuesta Una nueva recuperación de materiales de la plaqueta de un lámpara de bajo consumo la última prometo en este caso de 13W Son las lámparas que entregan gratuitamente a cambio de una incandescente cuando se realizan campañas zona por zona para actualizar el stock en las casas y reducir el consumo de los municipios Lámpara de bajo consumo de 13 W Vista de la plaqueta extraída Componentes recuperados de la plaqueta Lista de materiales recuperados 1 electrolítico 3 3 uF 400V 5 diodos rectificadores 1N4007 1 diac DB3BL 2 transistores 6822 1 capacitor poliester 473J 0 047 uF 630V 1 capacitor poliester 473J 630V 0 047 uF 1 capacitor poliester 392J 0 0039 uF 1 capacitor poliester 102J 0 001 uF 1 inductor axial 1 trasformador núcleo metálico 1 transformador toroide Esta entrada fue publicada en Componentes Didáctica Electrónica Hardware Plaquetas el 28 noviembre 2014 por ecarletti Recuperación de partes de un aromatizador de ambientes automático 2 respuestas A la búsqueda de motores con reducción de engranaje al alcance de nuestro bolsillo desarmamos este aromatizador de ambientes automático Se trata de uno de los primeros modelos que apareció en los que el frasco de aerosol desodorante quedaba a la vista Estos sistemas fallaban muy pronto ya que el plástico del soporte del

    Original URL path: http://robots-argentina.com.ar/didactica/category/plaquetas/ (2016-02-07)
    Open archived version from archive



  • bcf STATUS RP0 bcf STATUS RP1 RAM Página 0 movlw 0x00 movwf PORTA Inicializar PORT A movlw 0x00 movwf PORTB Inicializar PORT B movlw 0x80 movwf PORTC Inicializar PORT C BANCO bsf STATUS RP0 RAM Page 1 FUNCION DE LAS PATAS DE LOS PORTS movlw 0x00 movwf TRISA Todas las patas port A salida movlw 0x00 movwf TRISB Todas las patas port B salida movlw b 10000000 movwf TRISC Todas las patas port C salida excepto RC7 RX movlw 0x06 Todas las patas entrada salida digital movwf ADCON1 BANCO bcf STATUS RP0 Página RAM 0 PRINCIPAL Principal call DerechoAdelante call IzquierdoAdelante call Retardo1seg call DerechoAdelante call IzquierdoDetenido call Retardo1seg call DerechoAdelante call IzquierdoAdelante call Retardo1seg call DerechoDetenido call IzquierdoDetenido call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg goto Principal SUBRUTINAS DerechoAdelante bsf PORTA 0 PORTA 0 1 Motor derecho ad bcf PORTA 1 PORTA 1 0 Motor derecho ad return DerechoAtras bcf PORTA 0 PORTA 0 0 Motor derecho atr bsf PORTA 1 PORTA 1 1 Motor derecho atr return DerechoDetenido bcf PORTA 0 PORTA 0 0 Motor derecho det bcf PORTA 1 PORTA 1 0 Motor derecho

    Original URL path: http://robots-argentina.com.ar/didactica/imagenes/ClaseProg01_giroL.asm (2016-02-07)
    Open archived version from archive

  • Didáctica | Robots Didácticos
    casos en que se desea que el microcontrolador sea despertado de posibles estados en que haya quedado detenido sea porque quedó esperando una señal de activación externa o porque falló su programa o porque se lo puso intencionalmente en ese estado por programa El watchdog timer WDT puede producir un reinicio del microcontrolador PIC cada cierto período de tiempo y recomenzar la ejecución del programa Esto es para evitar que el dispositivo entre en un lazo infinito se cuelgue o se quede en una espera muy prolongada por un determinado evento que no ocurre Durante la operación normal el watchdog timer en español perro guardián o despertador genera un reinicio del microcontrolador PIC después del final de su período WDT También cumple la función de sacar al dispositivo del modo Sleep Dormir En este caso el watchdog timer ocasiona que se despierte el microcontrolador PIC y continúe con la operación normal sin producir reinicio lo que se conoce como despertar WDT No lo utilizamos en este programa en particular de modo que fijamos WDT OFF o sea Watchdog Timer apagado PWRTE ON Power up Timer Habilita un temporizador que se dispara en el encendido y permite que durante su espera se estabilicen todos los circuitos antes de comenzar a correr el programa LVP OFF define el modo en que se puede programar el chip Esta definición en OFF determina que no se puede programar el chip utilizando un sistema de programación de bajo voltaje Los programadores de PICs utilizan un voltaje de 12 volts en la pata MCLR del chip para poder escribir en su memoria de programa Al definir el estado OFF de esta configuración se previene una programación accidental que modificaría el programa y dejaría no operativo al microcontrolador con los voltajes estándar de funcionamiento en sus patas BODEN OFF El bit BODEN Brown Out Reset en la configuración define la activación o no de una detención del microcontrolador por un descenso de voltaje de alimentación Puede ser útil pero no lo utilizamos en este diseño por eso lo definimos en OFF CBLOCK 0x20 Declarar las variables d1 usada en Retardos d2 usada en Retardos d3 usada en Retardos ENDC En este bloque se declaran las variables que necesitaremos utilizar y se reservan sus espacios en la memoria RAM Por defecto las variables son bytes 8 bits INICIALIZAR org 0x0000 Indica la dirección de origen del programa clrf STATUS limpia el registro de estado movlw 0x00 valor cero 00 movwf PCLATH al contador de programa comienzo goto Comienzo Salto a comienzo Comienzo BANCO bcf STATUS RP0 Prepara bcf STATUS RP1 RAM Página 0 en pág 0 están los registros de salida de los puertos PUERTOS movlw 0x00 movwf PORTA Inicializar valores del PORT A movlw 0x00 movwf PORTB Inicializar valores del PORT B movlw 0x80 movwf PORTC Inicializar valores del PORT C BANCO bsf STATUS RP0 RAM Page 1 en pág 1 están los registros de configuración de los puertos y otros módulos del microcontrolador FUNCION DE LAS PATAS DE LOS PORTS movlw b 00000000 movwf TRISA Todas las patas port A como salidas movlw b 00000000 movwf TRISB Todas las patas port B como salidas movlw b 10111111 movwf TRISC Todas las patas port C como entradas excepto RC6 TX movlw 0x06 Todas las patas del puerto entrada salida digital movwf ADCON1 esto es necesario para el buen funcionamiento de los puertos que tienen opciones analógicas convertidor A D BANCO bcf STATUS RP0 Página RAM 0 la operación normal se realiza en la página 0 de RAM Las líneas de inicialización en este bloque están ampliamente explicadas con comentarios En la última parte debo aclarar que los registros TRIS son los que definen si una pata de entrada salida es una entrada o una salida Hay un registro TRIS para cada puerto TRISA TRISB y TRISC Un 0 las define como salidas un 1 las define como entradas Por último los microcontroladores con puertos cuyas patas se pueden definir como entradas al módulo Convertidor Analógico Digital Analog Digital Converter o ADC en inglés tienen un registro de configuración en el que se debe definir si se utilizarán o no esas patas como entradas analógicas Esto lo define el registro ADCON1 y el valor a definir para utilizar todas las patas como entrada salida digital tal como las utilizaremos por el momento es 0x06 hexadecimal 06 Esencial La parte del programa en sí Observando el diagrama en bloques del robot programable y con una lectura al artículo de apoyo sobre el chip de manejo de motores podemos determinar que uno de los motores el derecho se maneja a través de dos patas del puerto A RA0 y RA1 y el otro izquierdo a través de las patas RA2 y RA3 del puerto A La tabla de señales de control para los motores es como sigue MOTOR DERECHO MOTOR IZQUIERDO RA0 RA1 ACCIÓN RA2 RA3 ACCIÓN 1 0 AVANCE 0 1 AVANCE 0 1 RETROCESO 1 0 RETROCESO 0 0 DETENIDO 0 0 DETENIDO 1 1 DETENIDO 1 1 DETENIDO Por lo tanto las instrucciones de manejo de los motores se pueden definir del siguiente modo SUBRUTINAS DerechoAdelante bsf PORTA 0 PORTA 0 1 Motor derecho ad bcf PORTA 1 PORTA 1 0 Motor derecho ad return DerechoAtras bcf PORTA 0 PORTA 0 0 Motor derecho atr bsf PORTA 1 PORTA 1 1 Motor derecho atr return DerechoDetenido bcf PORTA 0 PORTA 0 0 Motor derecho det bcf PORTA 1 PORTA 1 0 Motor derecho det return IzquierdoAdelante bcf PORTA 2 PORTA 2 0 Motor izquierdo ad bsf PORTA 3 PORTA 3 1 Motor izquierdo ad return IzquierdoAtras bsf PORTA 2 PORTA 2 1 Motor izquierdo atr bcf PORTA 3 PORTA 3 0 Motor izquierdo atr return IzquierdoDetenido bcf PORTA 2 PORTA 2 0 Motor izquierdo det bcf PORTA 3 PORTA 3 0 Motor izquierdo det return Para realizar un movimiento necesitamos definir tiempos y para eso para empezar podemos utilizar un simple rutina de pérdida de tiempo el microcontrolador se queda perdiendo tiempo dentro de esta subrutina y no hace ninguna otra cosa La rutina la calculé utilizando los servicios del sitio Delay Code Generator donde se puede crear un código de retardo para PICs definiendo algunos parámetros en el futuro usaremos un módulo TIMER del microcontrolador pero cada cosa a su tiempo La rutina de pérdida de tiempo es Retardo1seg movlw d 0 Frecuencia de reloj 4 MHz Retardo real 1 segundo 1000000 ciclos Error 0 999997 ciclos movlw d 8 0x08 movwf d1 movlw d 47 0x2F movwf d2 movlw d 3 0x03 movwf d3 Retardo 01 decfsz d1 f goto 2 decfsz d2 f goto 2 decfsz d3 f goto Retardo 01 3 ciclos más goto 1 nop return Veamos entonces cómo es un programa que utilice estas subrutinas para ordenar al robot un movimiento en L Principal call DerechoAdelante call IzquierdoAdelante call Retardo1seg call DerechoAdelante call IzquierdoDetenido call Retardo1seg call DerechoAdelante call IzquierdoAdelante call Retardo1seg call DerechoDetenido call IzquierdoDetenido las siguientes llamadas al retardo son para que el robot se detenga unos segundos antes de moverse nuevamente en L y repetir esta secuencia constantemente call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg goto Principal El programa completo en ASM con el método de llamado a subrutinas es el que sigue Más abajo encontrarán un enlace para bajarse el archivo en formato TXT con el programa completo en ASM listo para compilar En el próximo artículo presentaré la conversión del programa al método de programación con MACROS y una serie de ejemplos de programas con distintas rutinas de movimiento Procesador PIC16F876 con Xtal 4 MHz Función Manejo del robot programable Hardware Protoboard Archivo 01 Autor Eduardo J Carletti Fecha 21 septiembre 2014 Historia El robot avanza formando una L list P 16F876a include P16f876a inc ERRORLEVEL 1 302 para evitar los mensajes de cambio de banco en el resultado del compilador config CP OFF XT OSC WDT OFF PWRTE ON LVP OFF BODEN OFF CBLOCK 0x20 Declarar las variables d1 usada en Retardo1seg d2 usada en Retardo1seg d3 usada en Retardo1seg ENDC INICIALIZAR org 0x0000 Indica la dirección de origen del programa clrf STATUS limpia el registro de estado movlw 0x00 valor cero 00 movwf PCLATH al contador de programa comienzo goto Comienzo Salto a comienzo org 0x0004 Comienzo BANCO bcf STATUS RP0 bcf STATUS RP1 RAM Página 0 movlw 0x00 movwf PORTA Inicializar PORT A movlw 0x00 movwf PORTB Inicializar PORT B movlw 0x80 movwf PORTC Inicializar PORT C BANCO bsf STATUS RP0 RAM Page 1 FUNCION DE LAS PATAS DE LOS PORTS movlw 0x00 movwf TRISA Todas las patas port A salida movlw 0x00 movwf TRISB Todas las patas port B salida movlw b 10000000 movwf TRISC Todas las patas port C salida excepto RC7 RX movlw 0x06 Todas las patas entrada salida digital movwf ADCON1 BANCO bcf STATUS RP0 Página RAM 0 PRINCIPAL Principal call DerechoAdelante call IzquierdoAdelante call Retardo1seg call DerechoAdelante call IzquierdoDetenido call Retardo1seg call DerechoAdelante call IzquierdoAdelante call Retardo1seg call DerechoDetenido call IzquierdoDetenido call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg goto Principal SUBRUTINAS DerechoAdelante bsf PORTA 0 PORTA 0 1 Motor derecho ad bcf PORTA 1 PORTA 1 0 Motor derecho ad return DerechoAtras bcf PORTA 0 PORTA 0 0 Motor derecho atr bsf PORTA 1 PORTA 1 1 Motor derecho atr return DerechoDetenido bcf PORTA 0 PORTA 0 0 Motor derecho det bcf PORTA 1 PORTA 1 0 Motor derecho det return IzquierdoAdelante bcf PORTA 2 PORTA 2 0 Motor izquierdo ad bsf PORTA 3 PORTA 3 1 Motor izquierdo ad return IzquierdoAtras bsf PORTA 2 PORTA 2 1 Motor izquierdo atr bcf PORTA 3 PORTA 3 0 Motor izquierdo atr return IzquierdoDetenido bcf PORTA 2 PORTA 2 0 Motor izquierdo det bcf PORTA 3 PORTA 3 0 Motor izquierdo det return Retardo1seg movlw d 0 Frecuencia de reloj 4 MHz Retardo real 1 seconds 1000000 cycles Error 0 999997 cycles movlw d 8 0x08 movwf d1 movlw d 47 0x2F movwf d2 movlw d 3 0x03 movwf d3 Retardo 01 decfsz d1 f goto 2 decfsz d2 f goto 2 decfsz d3 f goto Retardo 01 3 ciclos más goto 1 nop return END El archivo ASM se puede bajar de AQUÍ Esta entrada se publicó en CPU Didáctica Electrónica Hardware Programación Robots y está etiquetada con Robot programable en 10 enero 2015 por ecarletti Base robótica 1 respuesta Construir un robot sobre un chassis comprado que ya tiene los elementos necesarios es mucho más fácil que crear su mecánica se necesita habilidad de manipuleo las herramientas correctas y precisión en el trabajo Si queremos crearlo a partir de materiales de desarme ya es otra cosa Un robot necesita una base donde montar la estructura La plataforma en sí no es un gran problema se puede recortar de partes de cajas de monitores impresoras frentes de PCs bandejas de CR ROM chassis y tapas de discos rígidos etc No necesita tener tantas perforaciones y ranuras como tienen las plataformas comerciales Agujereamos según las necesidades La imagen lo ilustra El problema cuando se busca obtener todos los materiales desde la recuperación de elementos de equipos descartados son las otras tres partes dos motores con reducción sus ruedas y una rueda de giro libre o rueda loca En la serie de artículos de los últimos tiempos estuve tratando sobre la recuperación de motores con reducción que puedan adaptarse a un robot didáctico Quien los haya leído se habrá dado cuenta de que no es tan fácil como parece ya que la mecánica de las unidades de CD ROM de discos rígidos y de disketteras suele ser muy variada Cuesta mucho conseguir los pares para cada robot Deben ser idénticos en lo mecánico y también eléctricamente aunque compensar las diferencias en la parte eléctrica es más fácil Los artículos hasta ahora fueron Robot Didáctico Social Buscando los motores pares logrados Recuperación de partes de un aromatizador de ambientes automático Robot Didáctico Social Buscando los motores rescate de partes Material para reciclado de componentes a usar en robótica Robots para el Taller de Robótica Un proyecto soñado robots para didáctica Así que los próximos movimientos deben estar orientados a conseguir ruedas que se adapten a los mecanismos de motor y engranaje que he rescatado de unidades de CR ROM No deberían ser compradas aunque sí pueden provenir de donaciones o entramos a la situación de crear un robot que no esté formado de partes rescatadas y este es el programa propuesto Otro elemento a lograr es la rueda libre o rueda loca El tercer punto de apoyo del robot Luego vienen los portapilas y finalmente la electrónica Son los temas que iré tratando en unas pequeñas notas que seguirán Hay diversas opciones pero la elegida no debe hacernos muy esclavos en tiempo de trabajo las horas hombre tienen valor cuando no se tiene un mecenas que te mantenga Ejemplo de rueda loca comprada Próximamente un elemento que por simple no se aleja de ser crítico Ruedas para el robot didáctico Ejemplo de base y rueda loca caseras Esta entrada fue publicada en Componentes Didáctica Diseños Hardware Robots el 15 diciembre 2014 por ecarletti Donaciones para los robots desde Marcos Paz Deja una respuesta Nuevas donaciones para desarme y para construir robots de mi plan Robots Didácticos Sociales Como verán algunas muy específicas e interesantes Gracias Susi Leonel Andrea Conjunto de donaciones recibidas Donaciones para los robots desde Marcos Paz un auto a control remoto sin el transmisor del control aunque igual debe valer mucho dinero Donaciones para los robots desde Marcos Paz este tipo de ruedas con cubiertas blandas neumáticas son excelentes para la marcha y agarre de un robot y tienen importantes precios en el mercado Esta entrada fue publicada en Componentes Didáctica Electrónica Hardware Robots el 13 diciembre 2014 por ecarletti Sensores reflectivos QTR para siguelíneas Deja una respuesta Quién dice que la electrónica no es linda Este lo que se ve en la imagen de abajo es un sensor por reflexión a utilizar en un robot sigue líneas avanzado para que pueda seguir líneas a alta velocidad Sensor QTR 8RC Por ahora el robot didáctico utilizará con unos sensores más básicos que se llaman CNY70 porque el primer paso en el aprendizaje es hacer que los chicos entiendan bien el concepto Pero después vamos a hacer el robot que VUELE sobre las pistas Ejemplo Sensor CNY70 Estos son sensores individuales para robots siguelíneas de la misma familia cada uno equivalente al CNY70 El tamaño del sensor en sí es mucho más pequeño en este caso están montados sobre un módulo que ya contiene la electrónica necesaria para adaptar y conectar el sensor al microcontrolador Sensores QTR 1RC Los pequeños rectangulitos negros son un conjunto de emisor de infrarrojo y receptor que emiten un haz contra el suelo y detectan el brillo o capacidad reflectiva que tiene éste Utilizando esta medición y los algoritmos correspondientes en el programa de manejo el robot puede desplazarse con precisión sobre una línea trazada en el suelo Los sensores vienen en pares porque va uno de cada lado de la línea guía a seguir Sensores QTR 8RC El sensor para siguelíneas de alta velocidad en lugar de tener dos sensores uno a cada lado de la línea lleva una hilera de 8 cuatro a cada lado Esto permite que el robot siga la línea a gran velocidad y con un andar de regulación sobre la línea menos abrupto que cuando trabaja con dos únicos sensores Sensor QTR 8RC Sensor QTR 8RC escala con un fósforo El resistor es para cambiar si se quiere una salida analógica o una salida de pulso midiendo la longitud del pulso se sabe cuánto está reflejando el sensor en el caso de que la salida sea analógica hay que utilizar un convertidor A D analógico a digital La medición de longitud de pulsos es una opción recomendable ya que se puede hacer por software o utilizando módulos internos del microcontrolador que son específicos para medir longitud de pulsos Por esta razón los LEDs no están alimentados todo el tiempo existe una línea que permite que el funcionamiento del sensor sea pulsado en lugar de poseer una alimentación constante En la configuración con salida analógica los LEDs podrían estar alimentados siempre aunque esto produce un consumo mayor de energía de las baterías Cuando el circuito está basado en pulsos RC el funcionamiento debe ser sí o sí pulsado para que la carga y descarga del capacitor a través del resistor produzca el pulso proporcional a la calidad del reflejo en el objeto inferior la banda colocada sobre el piso que debe seguir el siguelíneas No se obtendrían pulsos con una alimentación constante Detalles El conjunto de 8 sensores tiene una marca a lo largo de la cual es posible cortar sin dañar el circuito lo que lo convierte en un conjunto de 6 sensores por un lado y uno de dos por el otro Sensor QTR 8RC Circuito El sensor se instala en el frente del robot como se observa en las fotografías que siguen con diversos modelos de robots Obsérvese la escala teniendo en cuenta que el sensor de reflexión QTR tiene sólo 7 cm de longitud y 12 5 mm de ancho Robots con sensores QTR 8RC Para más detalles se pueden leer los datos de los fabricantes QTR 1RC Reflectance Sensor 2 Pack QTR 8RC Reflectance Sensor Array CNY70 Reflective Optical Sensor with Transistor Output Esta entrada fue publicada en Componentes Didáctica Electrónica Hardware Robots el 12 diciembre 2014 por ecarletti Robot Programable Diagrama Básico en Bloques 1 respuesta 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ón al robot se inserta un módulo de comunicación

    Original URL path: http://robots-argentina.com.ar/didactica/category/didactica/ (2016-02-07)
    Open archived version from archive

  • Programación | Robots Didácticos
    microcontrolador sea despertado de posibles estados en que haya quedado detenido sea porque quedó esperando una señal de activación externa o porque falló su programa o porque se lo puso intencionalmente en ese estado por programa El watchdog timer WDT puede producir un reinicio del microcontrolador PIC cada cierto período de tiempo y recomenzar la ejecución del programa Esto es para evitar que el dispositivo entre en un lazo infinito se cuelgue o se quede en una espera muy prolongada por un determinado evento que no ocurre Durante la operación normal el watchdog timer en español perro guardián o despertador genera un reinicio del microcontrolador PIC después del final de su período WDT También cumple la función de sacar al dispositivo del modo Sleep Dormir En este caso el watchdog timer ocasiona que se despierte el microcontrolador PIC y continúe con la operación normal sin producir reinicio lo que se conoce como despertar WDT No lo utilizamos en este programa en particular de modo que fijamos WDT OFF o sea Watchdog Timer apagado PWRTE ON Power up Timer Habilita un temporizador que se dispara en el encendido y permite que durante su espera se estabilicen todos los circuitos antes de comenzar a correr el programa LVP OFF define el modo en que se puede programar el chip Esta definición en OFF determina que no se puede programar el chip utilizando un sistema de programación de bajo voltaje Los programadores de PICs utilizan un voltaje de 12 volts en la pata MCLR del chip para poder escribir en su memoria de programa Al definir el estado OFF de esta configuración se previene una programación accidental que modificaría el programa y dejaría no operativo al microcontrolador con los voltajes estándar de funcionamiento en sus patas BODEN OFF El bit BODEN Brown Out Reset en la configuración define la activación o no de una detención del microcontrolador por un descenso de voltaje de alimentación Puede ser útil pero no lo utilizamos en este diseño por eso lo definimos en OFF CBLOCK 0x20 Declarar las variables d1 usada en Retardos d2 usada en Retardos d3 usada en Retardos ENDC En este bloque se declaran las variables que necesitaremos utilizar y se reservan sus espacios en la memoria RAM Por defecto las variables son bytes 8 bits INICIALIZAR org 0x0000 Indica la dirección de origen del programa clrf STATUS limpia el registro de estado movlw 0x00 valor cero 00 movwf PCLATH al contador de programa comienzo goto Comienzo Salto a comienzo Comienzo BANCO bcf STATUS RP0 Prepara bcf STATUS RP1 RAM Página 0 en pág 0 están los registros de salida de los puertos PUERTOS movlw 0x00 movwf PORTA Inicializar valores del PORT A movlw 0x00 movwf PORTB Inicializar valores del PORT B movlw 0x80 movwf PORTC Inicializar valores del PORT C BANCO bsf STATUS RP0 RAM Page 1 en pág 1 están los registros de configuración de los puertos y otros módulos del microcontrolador FUNCION DE LAS PATAS DE LOS PORTS movlw b 00000000 movwf TRISA Todas las patas port A como salidas movlw b 00000000 movwf TRISB Todas las patas port B como salidas movlw b 10111111 movwf TRISC Todas las patas port C como entradas excepto RC6 TX movlw 0x06 Todas las patas del puerto entrada salida digital movwf ADCON1 esto es necesario para el buen funcionamiento de los puertos que tienen opciones analógicas convertidor A D BANCO bcf STATUS RP0 Página RAM 0 la operación normal se realiza en la página 0 de RAM Las líneas de inicialización en este bloque están ampliamente explicadas con comentarios En la última parte debo aclarar que los registros TRIS son los que definen si una pata de entrada salida es una entrada o una salida Hay un registro TRIS para cada puerto TRISA TRISB y TRISC Un 0 las define como salidas un 1 las define como entradas Por último los microcontroladores con puertos cuyas patas se pueden definir como entradas al módulo Convertidor Analógico Digital Analog Digital Converter o ADC en inglés tienen un registro de configuración en el que se debe definir si se utilizarán o no esas patas como entradas analógicas Esto lo define el registro ADCON1 y el valor a definir para utilizar todas las patas como entrada salida digital tal como las utilizaremos por el momento es 0x06 hexadecimal 06 Esencial La parte del programa en sí Observando el diagrama en bloques del robot programable y con una lectura al artículo de apoyo sobre el chip de manejo de motores podemos determinar que uno de los motores el derecho se maneja a través de dos patas del puerto A RA0 y RA1 y el otro izquierdo a través de las patas RA2 y RA3 del puerto A La tabla de señales de control para los motores es como sigue MOTOR DERECHO MOTOR IZQUIERDO RA0 RA1 ACCIÓN RA2 RA3 ACCIÓN 1 0 AVANCE 0 1 AVANCE 0 1 RETROCESO 1 0 RETROCESO 0 0 DETENIDO 0 0 DETENIDO 1 1 DETENIDO 1 1 DETENIDO Por lo tanto las instrucciones de manejo de los motores se pueden definir del siguiente modo SUBRUTINAS DerechoAdelante bsf PORTA 0 PORTA 0 1 Motor derecho ad bcf PORTA 1 PORTA 1 0 Motor derecho ad return DerechoAtras bcf PORTA 0 PORTA 0 0 Motor derecho atr bsf PORTA 1 PORTA 1 1 Motor derecho atr return DerechoDetenido bcf PORTA 0 PORTA 0 0 Motor derecho det bcf PORTA 1 PORTA 1 0 Motor derecho det return IzquierdoAdelante bcf PORTA 2 PORTA 2 0 Motor izquierdo ad bsf PORTA 3 PORTA 3 1 Motor izquierdo ad return IzquierdoAtras bsf PORTA 2 PORTA 2 1 Motor izquierdo atr bcf PORTA 3 PORTA 3 0 Motor izquierdo atr return IzquierdoDetenido bcf PORTA 2 PORTA 2 0 Motor izquierdo det bcf PORTA 3 PORTA 3 0 Motor izquierdo det return Para realizar un movimiento necesitamos definir tiempos y para eso para empezar podemos utilizar un simple rutina de pérdida de tiempo el microcontrolador se queda perdiendo tiempo dentro de

    Original URL path: http://robots-argentina.com.ar/didactica/category/programacion/ (2016-02-07)
    Open archived version from archive

  • Robot programable | Robots Didácticos
    programa clrf STATUS limpia el registro de estado movlw 0x00 valor cero 00 movwf PCLATH al contador de programa comienzo goto Comienzo Salto a comienzo Comienzo BANCO bcf STATUS RP0 Prepara bcf STATUS RP1 RAM Página 0 en pág 0 están los registros de salida de los puertos PUERTOS movlw 0x00 movwf PORTA Inicializar valores del PORT A movlw 0x00 movwf PORTB Inicializar valores del PORT B movlw 0x80 movwf PORTC Inicializar valores del PORT C BANCO bsf STATUS RP0 RAM Page 1 en pág 1 están los registros de configuración de los puertos y otros módulos del microcontrolador FUNCION DE LAS PATAS DE LOS PORTS movlw b 00000000 movwf TRISA Todas las patas port A como salidas movlw b 00000000 movwf TRISB Todas las patas port B como salidas movlw b 10111111 movwf TRISC Todas las patas port C como entradas excepto RC6 TX movlw 0x06 Todas las patas del puerto entrada salida digital movwf ADCON1 esto es necesario para el buen funcionamiento de los puertos que tienen opciones analógicas convertidor A D BANCO bcf STATUS RP0 Página RAM 0 la operación normal se realiza en la página 0 de RAM Las líneas de inicialización en este bloque están ampliamente explicadas con comentarios En la última parte debo aclarar que los registros TRIS son los que definen si una pata de entrada salida es una entrada o una salida Hay un registro TRIS para cada puerto TRISA TRISB y TRISC Un 0 las define como salidas un 1 las define como entradas Por último los microcontroladores con puertos cuyas patas se pueden definir como entradas al módulo Convertidor Analógico Digital Analog Digital Converter o ADC en inglés tienen un registro de configuración en el que se debe definir si se utilizarán o no esas patas como entradas analógicas Esto lo define el registro ADCON1 y el valor a definir para utilizar todas las patas como entrada salida digital tal como las utilizaremos por el momento es 0x06 hexadecimal 06 Esencial La parte del programa en sí Observando el diagrama en bloques del robot programable y con una lectura al artículo de apoyo sobre el chip de manejo de motores podemos determinar que uno de los motores el derecho se maneja a través de dos patas del puerto A RA0 y RA1 y el otro izquierdo a través de las patas RA2 y RA3 del puerto A La tabla de señales de control para los motores es como sigue MOTOR DERECHO MOTOR IZQUIERDO RA0 RA1 ACCIÓN RA2 RA3 ACCIÓN 1 0 AVANCE 0 1 AVANCE 0 1 RETROCESO 1 0 RETROCESO 0 0 DETENIDO 0 0 DETENIDO 1 1 DETENIDO 1 1 DETENIDO Por lo tanto las instrucciones de manejo de los motores se pueden definir del siguiente modo SUBRUTINAS DerechoAdelante bsf PORTA 0 PORTA 0 1 Motor derecho ad bcf PORTA 1 PORTA 1 0 Motor derecho ad return DerechoAtras bcf PORTA 0 PORTA 0 0 Motor derecho atr bsf PORTA 1 PORTA 1 1 Motor derecho atr return DerechoDetenido bcf PORTA 0 PORTA 0 0 Motor derecho det bcf PORTA 1 PORTA 1 0 Motor derecho det return IzquierdoAdelante bcf PORTA 2 PORTA 2 0 Motor izquierdo ad bsf PORTA 3 PORTA 3 1 Motor izquierdo ad return IzquierdoAtras bsf PORTA 2 PORTA 2 1 Motor izquierdo atr bcf PORTA 3 PORTA 3 0 Motor izquierdo atr return IzquierdoDetenido bcf PORTA 2 PORTA 2 0 Motor izquierdo det bcf PORTA 3 PORTA 3 0 Motor izquierdo det return Para realizar un movimiento necesitamos definir tiempos y para eso para empezar podemos utilizar un simple rutina de pérdida de tiempo el microcontrolador se queda perdiendo tiempo dentro de esta subrutina y no hace ninguna otra cosa La rutina la calculé utilizando los servicios del sitio Delay Code Generator donde se puede crear un código de retardo para PICs definiendo algunos parámetros en el futuro usaremos un módulo TIMER del microcontrolador pero cada cosa a su tiempo La rutina de pérdida de tiempo es Retardo1seg movlw d 0 Frecuencia de reloj 4 MHz Retardo real 1 segundo 1000000 ciclos Error 0 999997 ciclos movlw d 8 0x08 movwf d1 movlw d 47 0x2F movwf d2 movlw d 3 0x03 movwf d3 Retardo 01 decfsz d1 f goto 2 decfsz d2 f goto 2 decfsz d3 f goto Retardo 01 3 ciclos más goto 1 nop return Veamos entonces cómo es un programa que utilice estas subrutinas para ordenar al robot un movimiento en L Principal call DerechoAdelante call IzquierdoAdelante call Retardo1seg call DerechoAdelante call IzquierdoDetenido call Retardo1seg call DerechoAdelante call IzquierdoAdelante call Retardo1seg call DerechoDetenido call IzquierdoDetenido las siguientes llamadas al retardo son para que el robot se detenga unos segundos antes de moverse nuevamente en L y repetir esta secuencia constantemente call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg call Retardo1seg goto Principal El programa completo en ASM con el método de llamado a subrutinas es el que sigue Más abajo encontrarán un enlace para bajarse el archivo en formato TXT con el programa completo en ASM listo para compilar En el próximo artículo presentaré la conversión del programa al método de programación con MACROS y una serie de ejemplos de programas con distintas rutinas de movimiento Procesador PIC16F876 con Xtal 4 MHz Función Manejo del robot programable Hardware Protoboard Archivo 01 Autor Eduardo J Carletti Fecha 21 septiembre 2014 Historia El robot avanza formando una L list P 16F876a include P16f876a inc ERRORLEVEL 1 302 para evitar los mensajes de cambio de banco en el resultado del compilador config CP OFF XT OSC WDT OFF PWRTE ON LVP OFF BODEN OFF CBLOCK 0x20 Declarar las variables d1 usada en Retardo1seg d2 usada en Retardo1seg d3 usada en Retardo1seg ENDC INICIALIZAR org 0x0000 Indica la dirección de origen del programa clrf STATUS limpia el registro de estado movlw 0x00 valor cero 00 movwf PCLATH al contador de programa comienzo goto Comienzo Salto a comienzo org 0x0004 Comienzo BANCO bcf

    Original URL path: http://robots-argentina.com.ar/didactica/tag/robot-programable/ (2016-02-07)
    Open archived version from archive

  • Diseños | Robots Didácticos
    empalmar la rueda con el mecanismo de reducción del motor en el robot didáctico La tarea a pensar seriamente es crear un buje que en su fricción contra el eje no lo desgaste ni tampoco se desgaste demasiado Debería tener incluso un punto de ingreso de grasa lubricante En el centro de la imagen de abajo se observan las piezas de Rasti que de a dos cumplen esta función de color gris Pero no me parece que su durabilidad en un uso más intenso como en un robot para aprendizaje sea adecuada El montaje que debemos estudiar no utilizará las piezas de RASTI que se diseñaron como bujes y de uno de los extremos debemos estudiar el método de anclaje conexión con el mecanismo de engranajes de reducción de los motores Se muestra un diagrama del fabricante del montaje de ruedas con un eje corto no hacer caso a los colores no coinciden con los reales de ninguna de las dos clases de ejes que he conocido Le sigue una imagen con mis anotaciones El buje ideal sería como lo son las piezas de ladrillos encastrables originales una pieza compuesta de dos partes con su conducto para el eje dos orificios de fijación y uno en la parte superior centrado y conectado con el conducto del eje por donde aplicar la grasa adecuada Debo averiguar bien con qué material se debería hacer esta pieza que dibujé más o menos en la imagen de abajo El próximo paso necesario es conectar el extremo opuesto del eje de la rueda al mecanismo de reducción de la unidad de CD ROM sobre el engranaje de salida Quizás la mejor opción es buscar un engranaje que se ajuste al de este mecanismo y colocarlo en el extremo del eje de RASTI Uno de los problemas es que en estos mecanismos como ya comenté en artículos anteriores hay una variación muy grande de diámetros de engranaje de paso y cantidad de dientes Sin embargo es una posibilidad más interesante que la de unir directamente el eje al engranaje de salida ya que aporta facilidad de desarme para el mantenimiento y reemplazo de partes En este caso se conectaría así Otra opción con costo de compra y lamentablemente sin posibilidad de comprar las piezas individuales ya que solamente se pueden adquirir como parte de kits con muchas otras piezas sería usar el conector que mostramos remarcado en la foto que sigue Este conector nos permitiría unir el eje a aquellos engranajes de salida que tengan suficiente diámetro en los cuales se puedan perforar los 4 agujeros de encastre para los postes de amarre de esta pieza En las fotos que siguen muestro algunos ejemplos de uso de esta pieza Pieza de encastre unida a un engranaje y otros empalmes Pieza de encastre unida a una llanta de rueda Pieza de encastre unida a una polea y a un engranaje Piezas de encastre unidas a piezas ladrillo estándar Otra posibilidad es sacar molde del encastre del cubo de la rueda y de la parte circular de la llanta plástica y crear nuestra propias piezas con epoxi o algún plástico derretible Puede ser difícil o no No tengo experiencia en esta tarea y debería hacer pruebas También se podría tomar un molde del punto de unión con el eje de la pieza de encastre de cuatro postes que vimos antes sólo que del lado de los postes insertables se colocaría un círculo plástico a unir con el engranaje o un engranaje que coincida en el engranaje de salida de la caja de reducción Otra manera es unir un círculo de plástico al extremo del eje muy bien centrado y esto me resulta difícil de lograr y que éste se pueda pegar o atornillar aunque los tornillos pesan y todo lo que sea peso adicional evitable debe ser muy tenido en cuenta en este diseño a los engranajes de salida de la caja de reducción Aquí se observa una solución similar un tanto tosca que encontré en Internet pero es más o menos la idea Obviamente se hizo utilizando pegamento El eje que sobresale del disco gris de la foto sería en nuestro caso el eje de RASTI al que va unida la rueda Unión eje engranaje El primer intento será engranajes acoplados al eje y a la salida de la caja de reducción Ya que en principio parece ser menos complejo agregar un engranaje en el extremo opuesto del eje de la rueda he desarmado una serie de video caseteras VHS viejas y descartadas que compré en remates obteniendo varios pares de engranajes Recordemos que cada robot tiene un par de motores y sus juegos de engranaje asociados de modo que siempre estamos hablando de conjuntos de dos piezas Engranajes de desarme El trabajo ahora es buscar de aparear estos engranajes con los de salida de los conjuntos de reducción que obtuve del desarme de unidades de CD ROM muy variados en diámetro y paso como ya dije y luego buscar la forma más segura y práctica de unirlos al extremo del eje El resto es montar todo sobre una base Continuaré con este tema Más información Base robótica Robot Didáctico Social Buscando los motores pares logrados Robot Didáctico Social Buscando los motores rescate de partes Puente H con MOSFET recuperados de discos rígidos antiguos Método para marcar el centro de una forma circular Recuperación de partes de un aromatizador de ambientes automático Esta entrada fue publicada en Componentes Diseños Hardware Robots el 18 diciembre 2014 por ecarletti Base robótica 1 respuesta Construir un robot sobre un chassis comprado que ya tiene los elementos necesarios es mucho más fácil que crear su mecánica se necesita habilidad de manipuleo las herramientas correctas y precisión en el trabajo Si queremos crearlo a partir de materiales de desarme ya es otra cosa Un robot necesita una base donde montar la estructura La plataforma en sí no es un gran problema se puede recortar de partes de cajas de monitores impresoras frentes

    Original URL path: http://robots-argentina.com.ar/didactica/category/disenos/ (2016-02-07)
    Open archived version from archive

  • Software | Robots Didácticos
    activa cuando dos de los otros programas no son capaces de resolver un problema dado Este nuevo software permite al robot simular un comportamiento imaginado para resolver dicho problema Héctor busca nuevas soluciones y evalúa si estas acciones tendrían sentido en vez de completar automáticamente cualquier operación predeterminada El hecho de ser capaz de imaginar acciones es una característica central de una forma simple de conciencia Autoconciencia Pero en breve además Héctor demostrará cómo funciona la nueva arquitectura de software para él creada y que le proporcionará la autoconciencia De momento esta arquitectura solo ha sido probada en simulaciones informáticas Como explica Holk Cruse el ser humano posee conciencia reflexiva cuando no solo puede percibir lo que experimenta sino que también tiene la capacidad de experimentar que está experimentando algo Por tanto la conciencia reflexiva existe si un sistema técnico o humano puede verse a sí mismo desde fuera de sí mismo por así decirlo Cruse y Schilling han demostrado como puede surgir conciencia reflexiva de un robot Con el nuevo software Héctor puede observar su estado mental interno en cierta medida sus estados de ánimo y dirigir sus acciones usando esta información señala Schilling Pero además estas facultades básicas estarán preparadas para que Héctor también sea capaz de evaluar el estado mental de otros Así será capaz de sentir las intenciones o expectativas de los demás y actuar en consecuencia aseguran los investigadores Noticias relacionadas Proyecto ZURI Alemania un robot con estructura de papel y cartón Esta entrada fue publicada en Diseños Electrónica Hardware Robots Software el 20 diciembre 2014 por ecarletti Proyecto ZURI Alemania un robot con estructura de papel y cartón 1 respuesta Este proyecto es presentado en la página de Zoobotics donde también se pueden encontrar otras propuestas en el área de la robótica Robot ZURI de 4 patas Diseño interior En este proyecto el trabajo consiste en idear crear el concepto diseñar y construir un prototipo para pruebas de una plataforma modular de robot compuesto de materiales baratos y livianos como papel y cartón El ZURI es un robot programable con estructura de papel y cartón gris Este equipo móvil concebido como un kit se puede armar con unas pocas herramientas cutter regla una mesa de base para los cortes una herramienta para marcar y plegar que se utiliza para artesanías y origami adhesivo y destornillador Materiales El robot de papel y cartón posee un sensor de distancia motores servo y sus controladores y un módulo Bluetooth para controlarlo de manera inalámbrica vía una PC o un teléfono inteligente Herramientas El robot ZURI es un sistema de estructura modular Se basa en dos variantes de patas 2DOF o dos grados de movimento 3DOF o tres grados de movimiento y dos módulos de cuerpo diferentes 1M 2M La combinación de los módulos de patas y cuerpos permite armar un montón de variantes Como resultado se dan diferentes niveles de dificultad relativos a la programación y la coordinación de los movimientos zuri zoobotics video 01 from zoobotics

    Original URL path: http://robots-argentina.com.ar/didactica/category/software/ (2016-02-07)
    Open archived version from archive

  • Robots Didácticos | Creando robots didácticos al alcance de todos los jóvenes de nuestra Sociedad | Página 2
    de CC corriente continua La USART está orientada a la comunicación entre sí de subsistemas o máquinas RS 232 y el MSSP Master Synchronous Serial Port Puerto Sincrónico Serie Maestro el módulo que implementa la comunicación I2C y SPI está destinado a la comunicación entre diversos circuitos integrados admitiendo los protocolos I2C y SPI En los PIC de esta familia con 40 patas 16F874 y 16F877 está disponible el protocolo PSP Parallel Slave Port o Puerto Paralelo Esclavo que es más veloz que la comunicación serie pero consume muchas líneas de E S 8 del puerto D y 3 de control del puerto E Sin embargo es muy importante su existencia porque estos puertos permiten comunicarse con memorias y periféricos de acceso paralelo utilizados ampliamente en el mundo de los microprocesadores En todos los PIC 16F87X existe un conversor A D de 10 bits con 5 canales de entrada en los de 28 patas y 8 canales en los de 40 Conexiones al exterior del microcontrolador PIC16F876A Diagrama en bloques del microcontrolador PIC16F876A utilizado en el robot programable de los Robots Didácticos Sociales Parámetros generales a tener en cuenta Los microcontroladores que produce Microchip cubren un amplio rango de dispositivos cuyas características pueden variar como sigue Encapsulado desde 8 patitas hasta 68 patitas Tecnología de la memoria incluida EEPROM EPROM ROM FLASH Voltajes de operación desde 2 0 V hasta 6 0 V Frecuencia de operación hasta 20 MHz En el caso de nuestro microcontrolador el que controla el robot programable los parámetros indicados son Cápsula de 28 patas Memoria RAM EEPROM y FLASH Voltaje de operación de 2 V a 5 5 V Frecuencia máxima de operación de 20 MHz Encapsulado El microcontrolador de nuestro robot está disponible en cápsulas DIP SOIC y SSOP de 28 patas que se pueden observar en las figuras de encapsulados que mostramos a continuación y en los diagramas de patas ubicados al comienzo Encapsulado DIP SOIC y SSOP Por el momento utilizamos la cápsula DIP de 28 patas Parte del montaje del robot didáctico programable Diagrama de entradas y salidas del PIC16F876A en formato DIP 28 Oscilador Los PIC de rango medio permiten hasta 8 diferentes modos de funcionamiento para el oscilador El usuario puede seleccionar alguno de estos modos programando 3 bits de configuración en el dispositivo denominados FOSC2 FOSC1 y FOSC0 En algunos de estos modos el usuario puede indicar que se genere o no una salida del oscilador CLKOUT a través de una pata de Entrada Salida Los modos de operación se muestran en la siguiente lista LP Baja frecuencia y bajo consumo de potencia XT Cristal Resonador cerámico externos frecuencia media HS Alta velocidad y alto consumo de energía cristal resonador RC Resistor Capacitor externos lo mismo que EXTRC con salida CLKOUT EXTRC Resistor capacitor externos EXTRC Resistor Capacitor externos con CLCKOUT INTRC Resistor Capacitor internos para una frecuencia de operación de 4 MHz INTRC Resistor Capacitor internos para operación a 4 MHz con CLKOUT Los modos LP XT y HS requieren un cristal o resonador externo Cristal externo En los tres modos se puede utilizar un cristal o un resonador cerámico externo Circuito RC externo En los modos RC y EXTRC el PIC puede generar su señal de oscilación basada en un conjunto RC Resistor Capacitor externo conectados al microcontrolador Este modo sólo se recomienda cuando la aplicación no requiera una gran precisión en la medición de tiempos Rangos La frecuencia de oscilación depende no sólo de los valores del resistor Rext y el capacitor Cext sino también del voltaje de la fuente Vdd Los rangos admisibles para el resistor y capacitor son Rext de 3 a 100 Kohms Cext mayor de 20 pf Oscilador externo También es posible conectarle al microcontrolador una señal de reloj generada en un oscilador externo a través de la pata OSC1 del PIC Para ello el PIC deberá estar en uno de los tres modos que admiten cristal LP XT o HS Oscilador interno de 4 MHz En el modo INTRC el PIC utiliza un conjunto RC interno que genera una frecuencia de 4 MHz con un rango de error calibrable de 1 5 Para calibrar el error de oscilación se usan los bits CAL3 CAL2 CAL1 Y CAL0 del registro OSCCAL Calibración del oscilador interno El fabricante ha colocado un valor de calibración para estos bits en la última dirección de la memoria de programa Este dato se ha guardado en la forma de una instrucción RETLW XX Si no se quiere perder este valor al borrar el PIC por ejemplo en versiones EPROM con ventana primero se deberá leer esta memoria y copiar el valor en un resguardo Es una buena idea escribir el valor en la cápsula empaquetado antes de borrar la memoria En la siguiente figura se muestran las conexiones en cada uno de los modos Modos de oscilador de reloj En nuestro robot programable utilizamos un cristal de 4 MHz en modo XT Periféricos Timer0 Contador Temporizador de 8 bits con pre escalador de 8bits Timer1 Contador Temporizador de 16 bits con pre escalador Timer2 Contador Temporizador de 8 bits con pre escalador y post escalador de 8 bits y registro de periodo Dos módulos de Captura Comparación y PWM Convertidor Analógico Digital de 10 bits hasta 8 canales en nuestro robot hasta 5 canales Puerto Serie Síncrono SSP Puerto Serie Universal USART SCI Descripción de la CPU Central Processing Unit Unidad Central de Proceso La CPU es la responsable de la interpretación y ejecución de la información instrucciones guardada en la memoria de programa Muchas de estas instrucciones operan sobre la memoria de datos Para operar sobre la memoria de datos además si se van a realizar operaciones lógicas o aritméticas se debe usar la Unidad Lógica y Aritmética Arithmetic Logic Unit ALU La ALU controla los bits de estado Registro STATUS Los bits de este registro se alteran dependiendo del resultado de algunas instrucciones Ciclo de instrucción El registro Contador de Programa Program Counter PC

    Original URL path: http://robots-argentina.com.ar/didactica/page/2/ (2016-02-07)
    Open archived version from archive