Proyecto Integrado: Levitador Acústico

Proyecto Integrado realizado por Christian Álvarez Folkmann, alumno de 2º Mantenimiento Electrónico del IES Politécnico Jesús Marín, curso 2019-2020.

El presente proyecto tiene por objeto la construcción y explicación del funcionamiento de un levitador no resonante de eje único con componentes electrónicos de bajo coste. Se demuestra la levitación de objetos de pequeña masa con un consumo de entrada bastante pequeño.

Memoria del Proyecto Levitador Acústico

Libro en tapa blanda escrito por Christian Álvarez

Código fuente

Proyecto Integrado: Juego Delincuentes Arduino

Proyecto Integrado realizado por Rafael Díaz Robles, alumno de 2º Mantenimiento Electrónico del IES Politécnico Jesús Marín, curso 2019-2020.

Es un videojuego que usa una pantalla LCD de dos líneas y 16 caracteres como monitor, y un Joystick para capturar un personaje que se mueve por la pantalla a una velocidad que se configura con tres pulsadores.

Además de la memoria, que se puede descargar en el siguiente enlace, Rafael Díaz Robles nos ha dejado un detallado videotutorial en 3 capítulos, que se pueden ver en su canal de Youtube.

Memoria del Proyecto Juego Delincuentes Arduino

Videotutorial en 3 capítulos

Código fuente

EVA documentación

Memorias:

Proyecto_EVA.pdf

EVA_dossier.pdf

Esquemas electrónicos:

EVA_electrónica.zip

Programación en Python para Raspberry pi:

EVA_Python.zip   EVA_caras.zip

Archivos stl:

Apliques.zip   Bancada.zip   Cabeza.zip   Embutidor.zip   Eslabón.zip   Llantas.zip   Rodamiento.zip

Planos 2D y 3D:

Planos_M.zip   Planos_PA.zip   Planos_PB.zip   Planos_PC.zip   Planos_PD.zip   Planos_PE.zip   Planos_secuencias.zip

EVA, microtutoriales Software

Realizados por Salvador Moreno.

01. EVA (SW) – Reconocimiento de voz

02. EVA (SW) – Inteligencia artificial

Microtutorial del SW que lleva el «sistema inteligente» de EVA. No es realmente Inteligencia Artificial, aunque lo simula.

EVA, microtutoriales Hardware

Realizados por Antonio Molina.

01. EVA – Tracción (engranajes)

02. EVA – Cadena (tractor oruga)

03. EVA – Suspensión

04. EVA – En movimiento

05. EVA – Electrónica

06. EVA – Refrigeración

07. EVA – Audio

Proyecto Integrado: MEBO 1.0, iniciación a la programación secuencial

MEBO es un robot al que se le pueden programar tareas, para ser posteriormente ejecutadas de manera secuencial, y así iniciar en la programación a los más pequeños. Se les mandan los comandos desde una aplicación para dispositivos Android, que se conecta por bluetooth al robot. Para la electrónica de control usamos un Arduino nano, y para la de potencia varios transistores y mosfets. A continuación todos los detalles del proyecto:

MEBO memoria.pdf

MEBO_app.apk

MEBO_code.ino

MEBO_PCB.zip

MEBO_chasis.dwg

MEBO fue creado por los alumnos del ciclo de Mantenimiento Electrónico del IES Politécnico Jesús Marín: Iván Soormally, Jesús Centeno y Guillermo Cárdenas. Está en su versión 1.0, y desde Malakabot animamos a los makers a que lo mejoren.

Capítulo 9: PWM

Configuramos el módulo CCP1 (PIN_C2) para que genere una señal cuadrada (PWM). En PIN_C2 tenemos conectado un LED. El ciclo de trabajo (duty cycle) de la señal PWM variará de 0% (apagada) a 100% (totalmente encendida), pasando por 4 estados intermedios, de forma que veremos como va cambiando la intensidad luminosa del LED de manera progresiva.

Código fuente: PWM.c

T_PWM = (PR2+1)*prescaler*4*Tosc

Duty cycle (CCPRxx): valor mínimo=0 (0%), valor máximo=PR2 (100%)

El PIC18F2550 tiene dos puertos que pueden generar automáticamente señales PWM: CCP1 (PIN_C2) y CCP2 (PIN_C1).

En nuestro ejemplo, el período de la señal PWM sería:

T_PWM = (255+1) * 16 * 4 *  (1/48MHz) = 341us (2.93KHz)

Duty cycle: CCPR1L = (0 – 255)

Registros para configurar el PWM (para generar el PWM, el PIC18F2550 trabaja con el timer2):

CPxCONbits.CCPxM: configura el módulo CCPx en modo PWM, o en modo Comparación o en modo Mejorado de Captura.
PR2: Similar al valor máximo del duty cycle, para una resolución de 8 bits.
T2CONbits.TMR2ON: Habilita el timer2.
T2CONbits.T2CKPS: Prescaler del timer2. El postscaler del timer2 no se usa en el PWM.
CCPRxL: El valor del duty cycle puede tener una resolución de 8 bits o de 10 bits. Los 8 bits más significativos se almacenan en el resgistro CCPRxL. Los dos bits menos significativos estarían en CPxCONbits.DCxB. En la mayoría de los casos, una resolución de 8 bits (0-255) sería suficiente, por lo que tan solo habría que dar un valor a CCPRxL para cambiar el duty cycle.

ccpxcon

CCPxCON: CCP control register

timer2

T2CON: Timer2 control register