Tecnológico Nacional de México Instituto Tecnológico de Celaya
“Desarrollo,
fabricación e implementación de dispositivos didácticos para el aprendizaje de física y las matemáticas para el programa de talleres didácticos Math-Bot”
Reporte de Residencias Profesionales
Alumno Oscar Quiñones Busquets
Asesores Dr. Mario Calderón M.C. Juan José Martínez Nolasco
1
Indice
CAPITULO 1 ..................................................................................................................................... 3 1.1
.-Introducción .................................................................................................................. 3
1.2.- Justificación ....................................................................................................................... 3 1.4.- Características del área en que participó ................................................................... 4 1.5.- Problemas a Resolver ...................................................................................................... 4 1.6.- Alcances y limitaciones ................................................................................................... 5 CAPITULO 2 ..................................................................................................................................... 7 2.1.- Fundamento Teórico ............................................................................................................ 7 2.2.- Elementos electrónicos utilizados ............................................................................... 8 CAPITULO 3 ................................................................................................................................... 15 3.1.- Diseño del circuito eléctrico ........................................................................................ 15 3.2.- Generación de código para los talleres .................................................................... 21 3.3.-Prueba de circuito y programación en protoboard ................................................. 27 3.4.- Fabricación del circuito impreso ................................................................................ 29 3.5.- Diseño y fabricación de eje motor-ruedas ............................................................... 32 3.6.- Fabricación del dispositivo ......................................................................................... 33 3.7.- Impartición de los talleres ............................................................................................ 34 CAPITULO 4 ................................................................................................................................... 37 4.1.- Resultados ........................................................................................................................ 37 4.2.-Conclusiones y recomendaciones .............................................................................. 40 Referencias Bibliograficas ......................................................................................................... 42
2
Indice
CAPITULO 1 ..................................................................................................................................... 3 1.1
.-Introducción .................................................................................................................. 3
1.2.- Justificación ....................................................................................................................... 3 1.4.- Características del área en que participó ................................................................... 4 1.5.- Problemas a Resolver ...................................................................................................... 4 1.6.- Alcances y limitaciones ................................................................................................... 5 CAPITULO 2 ..................................................................................................................................... 7 2.1.- Fundamento Teórico ............................................................................................................ 7 2.2.- Elementos electrónicos utilizados ............................................................................... 8 CAPITULO 3 ................................................................................................................................... 15 3.1.- Diseño del circuito eléctrico ........................................................................................ 15 3.2.- Generación de código para los talleres .................................................................... 21 3.3.-Prueba de circuito y programación en protoboard ................................................. 27 3.4.- Fabricación del circuito impreso ................................................................................ 29 3.5.- Diseño y fabricación de eje motor-ruedas ............................................................... 32 3.6.- Fabricación del dispositivo ......................................................................................... 33 3.7.- Impartición de los talleres ............................................................................................ 34 CAPITULO 4 ................................................................................................................................... 37 4.1.- Resultados ........................................................................................................................ 37 4.2.-Conclusiones y recomendaciones .............................................................................. 40 Referencias Bibliograficas ......................................................................................................... 42
2
CAPITULO 1 MARCO REFRENCIAL
1.1 .-Introducción El proyecto que se desarrolló para los talleres Math-Bot del Instituto Tecnológico de Celaya fue el desarrollo de dispositivos didácticos para la enseñanza de las matemáticas y física. El objetivo de estos dispositivos es la impartición de talleres didácticos para jóvenes con un especial énfasis en temas de ciencias de secundaria y preparatoria. El desarrollo del proyecto se realizó en las instalaciones del Instituto Tecnológico de Celaya en el espacio designado por la escuela para los talleres de Math-Both. Los talleres preliminares para analizar el impacto de los talleres fueron realizados en diversas instituciones de la zona incluyendo: Secundaria Arturo Rosenblueth, Preparatoria del ITESM campus Celaya, CONALEP plantel Celaya, secundaria Zalvador Zuñiga y el museo La Nave en Celaya.
1.2.- Justificación Los talleres Math-Bot nacen de la iniciativa de profesores de mecatrónica y ciencias básicas del Instituto Tecnológico de Celaya de promover el gusto y el interés por las matemáticas y ciencias usando las nuevas tecnologías para crear talleres que orezcan una experiencia de aprendizaje poco convencional. Al incluir juegos y dinámicas y sobre todo experimentación experimentación en temas de matemáticas y física se logra una retención más efectiva del conocimiento y se genera un mayor interés por el tema que se está exponiendo. Las materias de química y biología tienden a tener talleres, laboratorios y actividades en los niveles de secundaria y preparatoria, lo que beneficia a que estos conocimientos se retengan más y se genere un mayor interés por el estudio posterior de estos temas. Las materias de matemáticas y físicas en forma tradicional no cuentan con este tipo de métodos de aprendizaje y propician que los estudiantes las consideren tediosas e indeseables para continuar sus estudios a nivel profesional, este es uno de los factores que propician una baja taza de inscripción en carreras de ciencia e ingeniería, carreras que son indispensables 3
para el desarrollo industrial de la región y el desarrollo científico y tecnológico del país
1.3.- Objetivos Generales y específicos. Objetivo general
Desarrollar y fabricar dispositivos electrónicos didácticos que sean económicos, fáciles de usar y que sean útiles para reforzar temas de matemáticas y física en jóvenes de secundaria y preparatoria.
Objetivos específicos
Rehabilitar el espacio designado para los talleres Math-Bot antes usado como la imprenta de la institución.
Diseñar talleres de temas de matemáticas y física que se puedan beneficiar del uso de dispositivos didácticos electrónicos.
Diseñar y fabricar los dispositivos didácticos para los talleres de manera que sean económicos, fáciles de usar, fáciles de recibir mantenimiento y útiles para el aprendizaje
Impartir talleres piloto usando los dispositivos didácticos y realizar encuestas de retroalimentación para fundamentar la utilidad de estos dispositivos y talleres y dirigir mejoras a este proyecto
1.4.- Características del área en que participó El proyecto se desarrolló en las instalaciones del Instituto Tecnológico de Celaya bajo la dirección del fundador de los talleres Math-Bot el Dr. Mario Calderón del departamento de ciencias básicas del instituto. Se designó el espacio de la vieja editorial del instituto para su uso en estos talleres y se acondiciono el lugar que se encontraba en desuso y abandono. El proyecto se desarrolló al igual con el apoyo del departamento de Ingeniería Mecatrónica, más puntualmente con el M.C. Juan José Martínez Nolasco representante del taller por parte de este departamento.
1.5.- Problemas a Resolver 4
El principal reto del proyecto fue el desarrollo completo de un dispositivo didáctico programable para cumplir con las características de los talleres. Este desarrollo desde la fase conceptual, el desarrollo del circuito electrónico y el sistema mecánico, la fase de pruebas, la manufactura y por último la realización de los talleres. El proyecto presento varias complicaciones tanto de diseño mecatrónica como de metodologías de la pedagogía, incluyendo limitaciones de diseño como costo accesible, facilidad de manufactura y ensamble, diseño compacto y que genere interés en jóvenes y utilidad en talleres didácticos. Los retos de diseño presentados por el costo de cada unidad fueron atacados utilizando la plataforma de desarrollo libre brindada por los dispositivos de la familia ARDUINO para la parte de control y programación. Los componentes electrónicos se tuvieron que limitar a sensores ya actuadores procurables en las tiendas de electrónica de la región y que pudieran ser fácilmente remplazables en caso de mal funcionamiento de alguno. Un reto muy importante fue la necesidad de piezas mecánicas echas a la medida para la transmisión de potencia del motor del dispositivo a sus ruedas. No fue posible encontrar alguna pieza ya existente para este propósito por lo que fue necesario el diseño y manufactura de este componente como parte del proyecto. La programación en código libre del dispositivo presento retos pero también beneficios en cuanto a costos y flexibilidad de funcionamiento y programación. Al programar con la plataforma de desarrollo ARDUINO fue posible implementar en los talleres un elemento de bases de la programación que los alumnos encontraron muy interesante. Por último el reto más importante fue seleccionar temas de matemáticas y física del plan de estudios vigente de secundaria y preparatoria que fueran relevantes en la cadena de estudios y al mismo tiempo susceptibles a ser implementados en estos talleres de manera natural generando un interés por el alumno en las ciencias físicas y la tecnología del dispositivo.
1.6.- Alcances y limitaciones
5
El alcance es la generación de prototipos funcionales de los dispositivos didácticos y con ellos realizar los talleres piloto de Math-Bot para comprobar su viabilidad como método de aprendizaje y herramienta para difundir conocimientos científicos e interesar a los jóvenes en carreras de ciencia y tecnología. En los talleres piloto se espera que al contabilizar y revisar los datos de las encuestas a los estudiantes, se encuentre una opinión general positiva sobre los talleres y los dispositivos y un interés renovado por la ciencia y las matemáticas. Las limitaciones al proyecto son las diversas consideraciones de diseño ocasionadas por el objetivo de generar un dispositivo de bajo costo para los talleres, el uso de componentes sencillos de reemplazar y la falta de herramientas de manufactura para las piezas mecánicas necesarias para el proyecto.
6
CAPITULO 2 MARCO DE TEORICO 2.1.- Fundamento Teórico Los Talleres de Math-Bot nacen de la idea de utilizar las nuevas tecnologías en electrónica programable de código abierto para crear dispositivos electrónicos que puedan ser utilizados en la enseñanza de temas de matemáticas y física a jóvenes de diversas edades escolares, haciendo un énfasis en los niveles de enseñanza medio y medio superior. Las matemáticas son de los temas más importantes impartidos en la educación media y media superior, pero tienden a ser temas que se imparten de una forma poco interactiva y que resulta en dificultad para entender estos temas. Aun peor esto ocasiona que muchos jóvenes tengan una opinión negativa del estudio de las matemáticas y más delante de la física y ciencias rigurosas, lo que lleva a la disminución de estudiantes de carreras como ingenierías y ciencias, indispensables para el desarrollo científico y tecnológico del país. Una sección de los talleres Math-Bot realizada por otro compañero utiliza los dispoitivos LEGO MINDSTORM NXT fabricados por la empresa de juguetes LEGO y que son excelentes dispositivos didácticos utilizados ya en diversas instituciones alrededor del mundo (figura 1).
Figura 1.- LEGO NXT en configuración de vehículo.
7
Una segunda sección del taller Math-Bot busca realizar talleres didácticos básicos y llevar los dispositivos a diversas comunidades dentro del estado. Dicho propósito resultaría muy complicado con los dispositivos NXT ya que su alto precio (450 USD por unidad) e imposibilidad de auto reparación los limitan a un uso dentro del instituto y para talleres con menor número de estudiantes. En este proyecto se buscó desarrollar un dispositivo propietario para realizar los talleres en diversas localidades, con facilidad de transporte y de tener buena cantidad de dispositivos de bajo costo fácilmente reemplazables y reparables.
2.2.- Elementos electrónicos utilizados Arduino nano Uno de los elementos que fueron fundamentales para cumplir con las limitaciones de diseño en referencia a costos y flexibilidad de programación fue la plataforma de desarrollo ARDUINO y en específico el modelo NANO de esta línea de dispositivos (Figura 2). Las características del NANO en tamaño, velocidad de operación, número de I/O analógicas y digitales además de su costo accesible lo convirtieron en la elección obvia para el microcontrolador del proyecto.
Figura 2.- Arduino NANO
8
Al hacer un rápido análisis comparativo entre el NANO y usar un microcontrolador independiente (el ATMEL ATmega 328 que es el que viene en el NANO por ejemplo) e implementar todos los componentes necesarios para su funcionamiento y protección (regulador de voltaje, pines aislados de entradas y salidas, etc) era evidente que en costo y complejidad de diseño del circuito eléctrico el NANO era superior. Además de esto el NANO nos permite codificar en el ambiente de programación de ARDUINO que es muy similar a C, lo que permite incluir bases de programación en el taller para los alumnos que muestren interés en este tema (Figura 3).
Figura 3.- Ambiente de programación Arduino
Hitachi HD44780 LCD driver y pantalla monocromática El HD44780 (Figura 4) es un controlador de pantalla de cristal líquido matricial desarrollado por Hitachi e introducido al mercado en 1987. El controlador es capaz
9
de desplegar caracteres ASCII en conjunto con un display matricial y al ser un componente que lleva años en el mercado goza de extensa documentación para su uso y programación incluyendo librerías de operación de código libre para diversas plataformas de desarrollo incluyendo ARDUINO. Además de esto su rango de precio y su facilidad de procuración lo hacen un componente sencillo de reemplazar.
Figura 4.- Hitachi HD44780 LCD driver y pantalla monocromática
Motor reductor Se utilizó como elemento motor para el dispositivo un manorreductor amarillo (Figura 5) genérico con las siguientes especificaciones: Voltaje de alimentación: 3 a 9 volts Corriente de operación nominal (sin carga): 250 mA Razón de reducción 1:50 Torque:3.6 KgF*cm. Velocidad:38 RPM. Consumo de corriente sin carga: 75 mA. Consumo de corriente rotor bloqueado: 670mA.
10
Los motorreductores constan de un motor eléctrico de imán permanente acoplado a un tren de engranes (Figura 6) que permite obtener un torque mayor a la salida que con un motor eléctrico sencillo de estas dimensiones. El componente es económico, robusto y eficiente para las dimensiones y requerimientos del proyecto además de ser de fácil procuración para repuestos.
Figura 5.- Motorreductor utilizado
Figura 6.- Tren de engranes
Opto acoplador TLP250
11
El TLP 250 es un optoacoplador comercial y fácilmente procurable, al igual que los demás componentes para este proyecto es fácilmente reemplazable con piezas de recambio y en el mismo diseño al tener características genéricas (Figura 7). Este componente cumple con la función de aislar el ARDUINO de la etapa de potencia del dispositivo.
Figura 7.- Optoacoplador TLP
Transistor MOSFET IRF640N Por ultimo utilizamos un MOSFET canal N genérico IRF640N para energizar el motorreductor sin correr el riesgo de dañar el TLP 250 por aumentos en la corriente causados por bloqueos en el rotor del motor (Figura 8).
Figura 8.- MOSFET IRF640N
12
Encoders de posición y velocidad FC-03 y HC020K El dispositivo debe ser capaz de sensar la distancia recorrida para los propósitos de los talleres por lo que es necesario incluir un encoder óptico junto con su rueda de pulsos en el diseño (Figura 9 y 10). Para este proyecto utilizamos los encoders de velocidad FC-03 y HC029K por su precio e inclusión en un solo componente del encoder, el circuito de discretización de la señal a través del comparador LM393 y e indicadores luminosos de energización y conmutación.
Figura 9.- Encoders FC-03 y HC-020K
El principio de funcionamiento de cualquier encoder óptico aplica para estos componentes, consta de un emisor de luz en este caso un led y un componente que conmuta en presencia de dicha emisión de luz en este caso un fototransistor.
Colocando un elemento que intermita la emisión de luz entre el emisor y el receptor se generan pulsos a la salida del dispositivo. Si se conoce el número de eventos que generara una vuelta se puede programar el arduino para contar estos pulsos y de esta manera obtener la distancia recorrida por el dispositiva. De igual
13
manera se puede obtener la velocidad censando el tiempo de corrida del dispositivo.
Figura 10.- Rueda para intermisión de luz en encoder
Potenciómetro de calibración de velocidad El dispositivo requiere una forma de controlar la velocidad a la que se moverá por lo que se incluyó un potenciómetro conectado a una entrada analógica del arduino. De esta manera al modular el voltaje manualmente con la perilla del potenciómetro el arduino es capaz de variar la velocidad cuando se arranque el dispositivo (Figura 11).
14
Figura 11.- Potenciómetro angular
CAPITULO 3 Desarrollo del proyecto 3.1.- Diseño del circuito eléctrico El primer paso para desarrollar el dispositivo fue la creación de un circuito eléctrico que cumpliera con todas las características necesarias para cumplir con los fines de los talleres, entre ellas la implementación del display, dispositivos de entrada de información y una etapa de potencia para el motorreductor.
Implementación de pantalla Para incluir la pantalla en el circuito conectamos el display digital al arduino según el siguiente diagrama (Figura 12).
15
Figura 12.- Conexión de driver de display HD4478 0 a arduino nano
En la imagen podemos observar que el arduino nano envía información sobre lo que queremos mostrar en la pantalla por medio de los pines digitales DB7 a DB4 del driver de pantalla, estos se conectan directamente a pines digitales del arduino. Ademas de esto es necesario energizar la pantalla, el driver y la luz trasera de la pantalla con 5V obtenidos de la fuente interna regulada del arduino. La luz trasera es un led por lo que es necesario atenuar la corriente con una resistencia de 220 ohmios. Para controlar la intensidad de luz del led el driver cuenta con una entrada de voltaje variable (V0) cuyo valor determina la intensidad, para aprovechar esta característica del driver incluimos un potenciómetro de alimentado por la fuente regulada del arduino. Por ultimo conectamos el enable (E) y el reset (RS) del dispositivo a dos pines digitales del arduino y el selector de modalidad de lectura y escritura del driver a tierra para mantenernos en modo de escritura permanentemente.
Etapa de potencia del dispositivo El dispositivo es en esencia un carrito eléctrico cuyo propósito es variar su velocidad a través de la programación por medio del arduino. El motorreductor que se utilizara en el dispositivo es un motor de corriente directa cuya velocidad puede ser controlada a través de la modulación del voltaje de entrada. El arduino nano no cuenta con una salida analógica real en su arquitectura pero cuenta con varias salidas digitales de alta frecuencia para generar modulación de ancho de pulso (PWM) que le permiten generar salidas pseudo digitales (Figura 13).
16
Figura 13.- Ejemplo de señales PWM
La técnica de modulación de ancho de pulso busca encriptar información a través de la variación del tiempo en alto de la señal digital durante cada ciclo y es muy útil como medio de comunicación analógico en dispositivos completamente digitales. Es posible transformar estas señales PWM en señales de voltaje variable continuo a través de un filtro RC sencillo pero este tipo de motores de corriente directa son susceptibles al control de velocidad a través de estos métodos. La necesidad de una etapa de potencia para el dispositivo nace de dos consideraciones de diseño: Proporcionar al motorreductor con un nivel de corriente necesario para operar correctamente, mucho mayor al que el arduino puede proporcionar Aislar eléctricamente el arduino del motor para evitar daño eléctrico ocasionado por demandas excesivas de corriente por bloqueo en el rotor del motor principalmente. Para esto utilizamos el opto acoplador TLP250 en conjunción con el MOSFET IRF640N. El opto acoplador está en contacto directo con el ARDUINO y con el MOSFET en la etapa de potencia pero dentro del dispositivo la conexión es por medio de un led y un foto diodo que realiza la conmutación (Figura 14).
Figura 14.- Esquema interno del TLP 250
17
Para implementar la etapa de potencia simplemente se conectó el pin de salida PWM del Arduino que controlara el motor al led del TLP en la terminal dos y la salida VO al gate del MOSFET.
El IRF640N es de canal N por lo que su conexión como conmutador debe ser con la carga en este caso el motor conectado entre el drain del dispositivo y la fuente de voltaje (Figura 15).
Figura 15.- Conexión de MOSFET canal N como conmutador
El MOSFET se utiliza como switch de alta frecuencia activado por el opto acoplador y conmutando el moto reductor con una batería de 9V que le proporciona el voltaje y corriente necesarios para operar correctamente. Esta es una técnica muy común utilizada para energizar cargas con un nivel de voltaje pero modulando la energización con un dispositivo que utiliza niveles de voltaje mucho menores. Como se puede observar en el diagrama(Figura 16), el arduino está aislado completamente de la etapa de potencia del dispositivo, evitando cualquier daño por demanda de corriente en el dispositivo lógico del arduino y limitando el daño
18
de cualquier evento en la etapa de potencia al opto acoplador Y MOSFET dispositivos cuyos costos son mucho menores a los del arduino o el display digital.
Figura 16.- Diseño de la etapa de potencia
Acondicionamiento de señal del encoder Al utilizar el encoder para medir la distancia de recorrido del dispositivo, se encontró que la señal de salida tenía un tipo de ruido electrónico conocido como rebote o “bounce”. Este ruido ocasiona que el arduino cuente más flancos positivos que los que son ocasionados por la conmutación del opto transistor, creando mediciones erróneas de movimiento angular y por lo tanto de desplazamiento lineal. Para eliminar este ruido existen soluciones en software y en hardware. Las soluciones en software buscan cargar en el algoritmo de cuenta de flancos un tiempo de “debounce” y no Sensar durante este tiempo. Existen librerías de arduino que integran estas funciones pero requieren introducir un tiempo de “debounce” aproximado, además de que vuelven más complejo el código y el tiempo de ciclo del programa. Se optó por una solución en hardware sencilla, a pesar de que existen circuitos integrados diseñados específicamente para eliminar el rebote en encoders, se encontró que un simple filtro RC en la salida del encoder disminuye los flancos del 19
encoder lo suficiente para eliminar el problema de cuenta errónea de flancos (Figura 17).
Figura 17.- Eliminación de ruido por filtro RC a la salida del encoder
Como se puede apreciar en las mediciones del osciloscopio, la magnitud de flancos de rebote y su permanencia en la señal a través del ciclo se diminuyo considerablemente y a pesar de que no se eliminó por completo fue suficiente para evitar el conteo erróneo de flancos en el arduino como se apreciara en las secciones de código e implementación de este reporte.
20
3.2.- Generación de código para los talleres En los talleres el objetivo es que los alumnos practiquen conceptos básicos de matemáticas y física con talleres interactivos. Uno de los temas que más se presta para trabajar con estos equipos es el de las relaciones de rotación y traslación en un vehículo. El objetivo de los dispositivos en la actividad es moverse una cantidad pre programada de distancia e imprimir en la pantalla LCD el numero correcto de vueltas que las ruedas dieron junto con la distancia, velocidad y tiempo de desplazamiento. De esta manera los estudiantes pueden realizar ejercicios de desplazamiento relacionados con la rotación y traslación de las ruedas del dispositivo, que pueden ser intercambiables. Para lograr esto fue necesario generar un programa en el ambiente de programación arduino que realice lo siguiente:
Se comunique con la pantalla LCD para imprimir datos de: Numero de vueltas, desplazamiento, velocidad, voltaje en el motor, estatus (ON/OFF) del dispositivo. Sensar pulsos del encoder rotativo para poder realizar cálculo de distancia y velocidad del dispositivo Sensar voltaje variable en el potenciómetro para poder permitir al usuario del dispositivo calibrar el nivel de voltaje que se mandara al motor. Mandar un pulso PWM para controlar el motor del dispositivo proporcional a la cantidad de voltaje que seleccione el usuario con el potenciómetro. Encender y apagar con el switch de ON/OFF
Designación de puertos El primer paso para escribir el código fue designar la función que tendrían los diferentes puertos del arduino. No todos los puertos digitales del arduino son de alta frecuencia, es decir no todos pueden ser usados para generar señales PWM o leer entradas como los pulsos del encoder por lo que fue necesaria hacer la gestión de los recursos (Figura 18).
21
El principal objetivo fue poder cumplir con los requerimientos del dispositivo en cuanto a los talleres y de manera secundaria agrupar los puertos con un orden lógico y sencillo para su manufactura en forma de circuito impreso en placa fenólica.
Puerto(s) en arduino 9,10,11,12 8 7 6
4
2
A1
Función Comunicación de datos a escribir en la pantalla Activar pin de enable en la pantalla Activar pin de reset en la pantalla Salida PWM al optoacoplador que controlara el motor en la etapa de potencia Leer estado de switch para pasar de estado ON a OFF Leer pulsos de encoder rotativo
Leer potenciómetro de calibración de velocidad
Comentario Habilitados como salidas digitales sencillas Habilitado como salida digital sencilla Habilitado como salida digital sencilla Habilitada como salida digital en modo PWM
Habilitado como entrada digital sencilla Habilitada como entrada digital de interrupción. Solo pin 2 y 3 tienen esta capacidad Habilitada como entrada analógica sencilla
Figura 18.- Tabla de designación de puertos en el arduino
Una vez con las funciones de los puertos designadas correctamente se procede a habilitar estas funciones en la declaración de variables al inicio del código de arduino. Resulta muy útil designar los números de puerto con una abreviatura que sea familiar para el programador y realizar anotaciones en el código para futuras referencias y modificaciones (Figura 19).
22
Figura 19.- Declaración de variables en código incluyendo nombres de puertos
Otro punto importante del inicio del código fue la inclusión de la librería LiquidCrystal para manejar la pantalla LCD. Esta librería es la más utilizada en proyectos de arduino con el driver de pantalla LCD HD44780 y nos permite agilizar la codificación de proyectos de arduino que la utilicen. Además de incluir la librería es necesario habilitar y reservar los pines del arduino que se utilizaran para controlar la pantalla. De acuerdo a la tabla de designación de puertos que construimos anteriormente se utilizan los pines 7,8,9,10,11,12 y se declaran con el comando lcd () (Figura 20).
Figura 20.- Inclusión de la librería LiquidCrystal y declaración de puertos de control en el código
En la etapa de setup del programa se coloca el código que correrá una sola vez cada que se inicializa el arduino. En esta sección se declaran los pines digitales sencillos que no sean los ya declarados en la función de la pantalla LCD y además se debe declarar el pin de interrupción como habilitado para poder ser utilizada esta función (Figura 21).
Figura 21.- Inicialización de pin ON/OFF y pin de interrupciones
Las interrupciones son una característica especial de los microcontroladores que permiten habilitar a un pin para que cuando detecte un evento predeterminado, 23
interrumpa lo que sea que esté haciendo en ese momento y ejecute un código previamente designado llamado subrutina. Para el caso de nuestro código habilitaremos una interrupción en el pin dos habilitada por un evento de flanco positivo. Esta interrupción nos mandara a la subrutina count que escribiremos al final del código principal ya que no es parte de él. La subrutina count simplemente actuara como un contador de pulsos. Cada vez que un flanco positivo del encoder sea detectado por el arduino, este dejara interrumpida cualquier actividad que tenga en ese momento e incrementara la cuenta por uno (Figura 22) .
Figura 22.- Subrutina count
Esta cuenta ira incrementando a medida que el dispositivo se desplaza por el piso y de esta manera se podrá obtener el desplazamiento angular dividiendo el número de pulsos contados entre el número de pulsos que sabemos que debe generar una vuela, en este caso 20 por el número de indentaciones en la rueda del encoder (Figura 23).
Figura 23.- Calculo de distancia y velocidad
Al obtener el desplazamiento angular es posible obtener el lineal con el dato de diámetro de ruedas cargado al principio en la etapa de definición del variables del programa. Aprovechamos esta etapa de definición de variables para cargar también datos como el valor numérico de pi y variables de control como “fincarrera” y “finrevoluciones ” que nos permiten controlar después de cuanto desplazamiento o rotaciones se detendrá el carrito y se salvaran los datos en la pantalla para que los alumnos puedan analizar los resultados (Figura 24).
24
Figura 24.- Introducción de variables de experimento en el código
En la sección de bucle del código se pone el código que re repetirá mientras el arduino este energizado. Para nuestra aplicación este código consta de dos partes, una parte de operación en ON y una parte de operación en OFF. Para seleccionar entre estos dos estados el dispositivo cuenta con un switch de ON/OFF físico cuyo estado es leído por el pin 4 del arduino cada ciclo. Cada que un nuevo ciclo de programa inicia se checa el estado de este pin y se decide entre operar en modo ON u OFF con una sentencia if sencilla. Si el estado del pin 4 está en ON y además de esto no se ha llegado al número de revoluciones deseado para detener el dispositivo, el modo ON se mantiene de cualquier otra manera se pasa al modo OFF (Figura 25).
Figura 25.- Selección de modo ON/OFF con sentencia if
Mientras el dispositivo esta en modo OFF buscamos que el motor este estático y que podamos modificar el valor de voltaje en el motor por medio del potenciómetro, además de poder ver este cambio en selección de voltaje en la pantalla. También es necesario borrar la cuenta de pulsos al pasar a OFF para poder permitir que el dispositivo vuelva a correr (Figura 26 y 27).
25
Figura 26.- Selección de modo ON/OFF con sentencia if
Figura 27.- Código de modo OFF
Cuando el dispositivo esta en modo ON imprime a la salida de PWM el valor que se seleccionó con el potenciómetro en el estado OFF para así generar una velocidad en el motor eléctrico. Además de esto calcula el desplazamiento angular y lineal por medio del valor del contador de la subrutina count a medida que el encoder rotatorio sensa pulsos en la operación del dispositivo. Esto continua hasta que el valor de revoluciones es igual al seleccionado en la fase de declaración de variables, al suceder esto el dispositivo entra en estado OFF y se detiene (Figura 28 y 29).
26
Figura 28.- Código de modo OFF
Figura 29.- Código de modo ON
3.3.-Prueba de circuito y programación en protoboard Antes de pasar a diseñar el circuito impreso del dispositivo es necesario probar el circuito en protoboard para asegurarnos que funciona de manera correcta. Conjuntando la conexión a la pantalla, la etapa de potencia y el filtro RC con encoder de velocidad tenemos el circuito completo del dispositivo (Figura 30).
27
Figura 30.- Prueba de circuito en protoboard
Se comprueba en la protoboard el funcionamiento correcto del dispositivo y del código. Es de especial importancia comprobar que el dispositivo cuenta la distancia rotacional de manera correcta. Para esto se armó una versión preliminar del dispositivo montando el circuito en protoboard a una plataforma de otro carrito para poder experimentar con el funcionamiento (Figura 31).
Figura 31.- Montaje en protoboard del circuito del dispositivo 28
Al realizar pruebas programando una distancia determinada al dispositivo y haciéndolo recorrer esta distancia para después medirla se comprobó el funcionamiento correcto del circuito y se continuó a la etapa de diseño del circuito impreso.
3.4.- Fabricación del circuito impreso Se diseñó el circuito impreso del dispositivo en el programa PCB wizard por la relativa simplicidad del diseño y por ser un software de fuente abierta que cuenta con una gran documentación para desarrollo, incluyendo modelos de todos los componentes que se utilizaron para el proyecto a excepción del arduino nano (Figura 32 y 33).
Figura 32.- Diseño de circuito en PCB Wizard
29
Figura 33.- Vista real del circuito impreso en PCB Wizard
Ya con el diseño terminado procedemos a fabricar la placa. El método utilizado es el de planchado en placa fenólica. El diseño es impreso con un método laser en un papel cuche estilo revista que facilita el traspaso de la tinta a la placa fenólica. Por medio de calor y humedad proporcionados por una plancha de ropa se traspasa la tinta por contacto a la placa fenólica, remarcando con plumón indeleble las pistas que no se hayan traspasado correctamente. Una vez que el circuito está completamente traspasado a la placa, se le aplica una solución de cloruro férrico y agua para remover el cobre de toda la superficie que no esté protegida por la tinta dejando solamente en cobre las pistas del circuito (Figura 34).
Figura 34.- Placa fenólica terminada
Procedemos a barrenar en las terminales de los componentes y por ultimo pasamos a soldar cada uno de ellos en su respectivo lugar (Figura 35). 30
Figura 35.- Proceso de fabricación de dispositivos
Para varios de los componentes incluyendo el arduino, la pantalla y los componentes de la etapa de potencia se utilizaron terminales que permiten la remoción del componente. Esto con la finalidad de reemplazar cualquier componente dañado en vez de desechar la placa completa (Figura 36).
Figura 36.- Circuito con componentes en bases
El dispositivo de encoder rotativo está posicionado debajo del dispositivo por lo que para adquirir sus señales a en la placa se soldó una terminal que incluye su entrada al filtro RC en la placa y los pines de energización para el encoder conectados a la fuente de 5V proporcionada por el dispositivo en la etapa de control (Figura 37). 31
Figura 37.- Encoder de velocidad
3.5.- Diseño y fabricación de eje motor-ruedas Un último reto que se tuvo en la fabricación del dispositivo fue el uso de un solo motor para asegurar el movimiento lineal controlado por el arduino. Al usar un solo motor fue necesario un elemento mecánico que transmitiera la potencia del motor a las ruedas del dispositivo ubicadas a los lados del carrito (Figura 38).
Figura 38.- Diseño en Solid Works de eje motor-rueda
Al no existir ningún elemento mecánico que satisficiera las necesidades del dispositivo para cumplir con los retos de diseño se optó por diseñar nuestro propio eje que uniera los ejes rotativos a los lados del motoreductor con los diferentes tamaños de rueda que se utilizarían para los talleres. Se tuvieron que tomar 32
medidas del vástago del motor para poder llevar acabo el diseño en el software Solid Works (Figura 39).
Figura 39.- Diseño de ensamble en vástago motoreductor
La fabricación del elemento mecánico fue con una impresora 3D propiedad de uno de los profesores de la institución.
3.6.- Fabricación del dispositivo Por último se procedió a fabricar el dispositivo completo. La placa terminada y soldada fue montada en una tabla de madera para utilizar como base y no tener que perforar la placa para añadir las ruedas y el encoder de velocidad (Figura 40).
Figura 40.- Montaje de dispositivos
33
Por último añadimos los componentes de energía que son 4 pilas AA para energizar el arduino, la pantalla y el encoder óptico. Usamos una pila de 9V para la etapa de potencia (Figura 41).
Figura 41.- Fuente de energía de circuito
Para unir todo lo que no iba soldado usamos una combinación de tornillos y pegamento para las bases de las baterías.
3.7.- Impartición de los talleres Para poder comprobar que los dispositivos son una herramienta de enseñanza efectiva fue necesario realizar talleres piloto con alumnos de la demográfica objetivo para el programa, en este caso alumnos de secundaria y preparatoria (Figura 42 a 44).
34
Figura 42.- Talleres Mathbot en colegio Arturo Rosenblueth
Los talleres son impartidos con el dispositivo y con una presentación que apoya al instructor al impartir los talleres. La presentación es esencial porque además de presentar los temas del curso apoya al instructor en la descripción del funcionamiento del dispositivo y de esta manera interesar a los alumnos en la fabricación de estos dispositivos. Para los talleres piloto las actividades realizadas fueron relacionadas con las relaciones de rotación y traslación en un vehículo. Con ayuda del dispositivo se les puede presentar a los alumnos una problemática sobre cuantas vueltas necesita un vehículo para recorrer una distancia determinada, y luego comprobarlo con el dispositivo. Como el carrito es capaz de detenerse después de una distancia determinada y mostrar la distancia recorrida y otros datos como el tiempo y revoluciones los alumnos pueden comprobar los datos de sus cálculos con un experimento real.
Figura 43.- Talleres Mathbot en CONALEP Celaya
Los talleres fueron impartidos en diversas instituciones de secundaria y preparatoria en la ciudad de Celaya. Se impartieron en: Preparatoria del Tecnológico de Monterrey sede Celaya, secundaria del colegió Arturo
35
Rosenblueth, la preparatoria del CONALEP plantel Celaya y la secundaria Salvador Zúñiga.
Figura 44.- Talleres Mathbot
Los talleres fueron impartidos a grupos de entre 20 y 40 alumnos y al finalizar cada taller se les entrego a los alumnos una encuesta para poder saber el grado de entendimiento sobre los temas percibían los alumnos (Figura 45).
36
Figura 45.- Encuesta Talleres Mathbot
Además de esto se les pidió a los alumnos que dejaran un comentario en la parte de atrás de la encuesta si así lo deseaban, esto para que pudieran retroalimentar los talleres en cuestiones que no aparecieran en la encuesta.
CAPITULO 4 Resultados, conclusiones y recomendaciones 4.1.- Resultados El desarrollo de los dispositivos fue un completo éxito ya que los carritos cumplieron con los objetivos de diseño de crear un dispositivo sencillo, económico y con componentes fácilmente reemplazables para poder impartir los talleres de Math-Bot. Durante los talleres el dispositivo funciono de manera correcta y permitió al instructor impartir los talleres sin ningún problema excepto por el ocasional cambio de pilas o eje mecánico averiado. Más importante aún la respuesta a los talleres fue extremadamente positiva. Los alumnos de las diversas instituciones respondieron de manera positiva en las encuestas, teniendo estas una cantidad predominante de opiniones positivas en los cinco rubros de la encuesta (Figura 47 a 509.
37
Rosenblueth
De acuerdo
Parcialmente de acuerdo
En desacuerdo
¿Quedo clara la relacion entre rotacion y traslacion en un vehiculo?
550
32
2
539
41
4
517
60
7
560
19
5
531
51
2
¿Comprendiste los elementos y partes del circulo mejor al realizar el experimento? ¿Conoces los factores que afectan el movimiento e un vehiculo mejor ahora que hiciste un experimento? ¿Crees que los talleres mathbot mejorarian tu comprension de otros conceptos de fisica y matematicas? ¿Te gustaria que el taller mathbot incluyera otros temas de tu interes?
Figura 47.- Encuesta Talleres Mathbot Rosenblueth
38
Pre pa Te c de Monte rre y
De acue rdo
Parci al me nte de acue rdo
En de sacue rdo
¿Quedo clara la relacion entre rotacion y traslacion en un vehiculo?
104
3
0
102
8
0
103
7
0
101
9
0
101
9
0
¿Comprendiste los elementos y partes del circulo mejor al realizar el experimento? ¿Conoces los factores que afectan el movimiento e un vehiculo mejor ahora que hiciste un experimento? ¿Crees que los talleres mathbot mejorarian tu comprension de otros conceptos de fisica y matematicas? ¿Te gustaria que el taller mathbot incluyera otros temas de tu interes?
Figura 48.- Encuesta Talleres Mathbot Rosenblueth
Secundaria Zalvador Zuñiga
De acuerdo
Parcialmente de acuerdo
En desacuerdo
¿Quedo clara la relacion entre rotacion y traslacion e n un vehiculo?
153
21
2
150
9
6
139
17
3
133
24
4
155
22
2
¿Comprendiste los elementos y partes del circulo mejor al realizar el experimento? ¿Conoces los factores que afectan el movimiento e un vehiculo mej or ahora que hiciste un experimento? ¿Crees que los talleres mathbot mejorarian tu comprension de otros conceptos de fi sica y matematicas? ¿Te gustaria que el taller mathbot incluyera otros temas de tu interes?
Figura 49.- Encuesta Talleres Mathbot Rosenblueth
39
CONALEP Celaya
De acuerdo
Parcialmente de acuerdo
En desacuerdo
¿Quedo clara la relacion entre rotacion y traslacion en un vehiculo?
90
5
0
88
7
0
81
14
0
88
7
0
84
11
0
¿Comprendiste los elementos y partes del circulo mejor al realizar el experimento? ¿Conoces los factores que afectan el movimiento e un vehiculo mejor ahora que hiciste un experimento? ¿Crees que los talleres mathbot mejorarian tu comprension de otros conceptos de fisica y matematicas? ¿Te gustaria que el taller mathbot incluyera otros temas de tu interes?
Figura 50.- Encuesta Talleres Mathbot Rosenblueth
Además de esto los comentarios en las encuestas fueron extremadamente positivos, indicando que los alumnos disfrutaron la experiencia de aprendizaje diferente que ofrecieron los talleres. De los comentarios y respuestas más satisfactorias que se tuvieron fue una impresión general de que los alumnos disfrutaron y se interesaron en los dispositivos de esta naturaleza, además muchos alumnos expresaron interés en el funcionamiento del dispositivo y en continuar sus estudios en la línea de la ingeniería y las ciencias.
4.2.-Conclusiones y recomendaciones La mayor deficiencia que encuentro en el dispositivo fue el diseño y el material que se utilizó para los ejes motor-rueda. Con un tiempo mayor de diseño, mejores métodos y probablemente un mejor material se podría haber obtenido un mejor resultado en este componente que fue el que más fallas presento durante los talleres. 40
Por cuestiones de tiempo de desarrollo no fue posible implementar varios temas en los talleres, por ejemplo se podría manejar el movimiento de traslación en una pendiente o la descripción de trayectorias no lineales y la obtención de su distancia.
41