ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Laboratorio de puertos ARDUINO MEGA


Enviado por   •  22 de Abril de 2018  •  Ensayo  •  5.759 Palabras (24 Páginas)  •  148 Visitas

Página 1 de 24

INTRODUCCIÓN:

        En el presente laboratorio se logró programar el microcontrolador ATmega2560 en dos lenguajes diferentes (assembler y c), utilizando los puertos de Entrada/Salida para comandar periféricos, en nuestro caso, un motor paso a paso unipolar a través de un driver y una sirena a través de un relé.

ELEMENTOS UTILIZADOS:

  • Protoboard - cables
  • Motor paso a paso unipolar NMB PM55L-048
  • ULN2003A
  • Leds
  • Resistencias de 330[pic 1]
  • Pulsadores
  • Fuente de alimentación ATTEN TPR3005T-3C (FI9514)
  • Software Atmel Studio 7.0.1417
  • Arduino Mega 2560
  • Relé 5v/60mA
  • BC337

PROCEDIMIENTO:

EXPERIENCIA 1: 

        Un motor PaP es un actuador que puede girar su eje de acuerdo a la secuencia de encendido de sus bobinas. La rotación del eje puede efectuarse en ambos sentidos, utilizando una secuencia de paso completo (full-step) o de medio paso (half-step).

        El programa realizado en assembler permite manejar el motor teniendo en cuenta los siguientes aspectos:

  • Cuando el circuito se energiza, el motor permanecerá apagado.
  • Al pulsar P1, el motor se encenderá o a pagará, según el estado anterior.
  • Al pulsar P2, girará en sentido horario o antihorario, según el estado anterior.
  • La llave S1 controla la secuencia del motor, la misma puede ser medio paso o paso completo.

El circuito propuesto por la cátedra se puede observar en la figura 1.1

[pic 2]

Figura 1: Esquema Controlador Motor PaP

Para el cálculo de las resistencias Pull-up R1, R2 y R3 se tomaron datos de la hoja de datos del microcontrolador, estos son  y [pic 3][pic 4]

[pic 5]

Como las resistencias Pull-Up internas del Arduino tienen valores de entre 20 kΩ y 50 kΩ, optamos por utilizarlas. Además, se colocaron resistencias limitadoras a los leds correspondientes al accionamiento de cada bobina:

[pic 6]

Puertos y diagrama de flujo:

        A continuación, se presenta la disposición de puertos y el diagrama de flujo correspondiente a la experiencia propuesta, procediendo a la programación en lenguaje assembler.

PUERTOS

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

PORT A (Motor)

L4

X

L3

X

L2

X

L1

X

PORT B (Switch)

X

X

X

X

X

S1

P2

P1

[pic 7]

Figura 2: Diagrama de flujo Motor PaP

El circuito se lo implementó en una Protoboard utilizando un ULN2003 como etapa de potencia para comandar un motor de 24 V y 800 mA por paso, previamente identificado las bobinas del motor, se energizaron con 5 V debido a la gran disipación del ULN2003.

         Además, se adicionaron leds indicadores para el encendido de cada bobina y leds de estado de la alarma.

 El circuito implementado puede observarse en la siguiente figura:

[pic 8]

Figura 3: Montaje final de la experiencia 1


EXPERIENCIA 2
:

        Consiste en un sistema de alarma domiciliaria con cuatro zonas (A, B, C y D) que poseen un interruptor NC, esto es, activos en BAJO. Cuenta con un led indicador para cada zona cuando el sensor correspondiente esté activo o no. Con un único pulsador, se activa o desactiva la alarma dependiendo del estado anterior.

        La alarma posee dos modos de funcionamiento:

Cuando la alarma está desactivada, se enciende los leds de zona en caso de que algún sensor se active. Cuando la alarma esta activada, los leds de zona quedan encendidos de forma intermitente hasta que se desactiven manualmente, cuando esto ocurre, una salida SIR comanda un relé durante un tiempo determinado avisando que se disparó la alarma.

[pic 9]

Figura 4: Esquema sistema de alarma por zonas.

Cálculos:

Se colocaron resistencias limitadoras a los leds correspondientes al accionamiento de cada interruptor de zona:

[pic 10]

        Para la activación del relé utilizamos un transistor BC337 con , con un factor de saturación de 10 y considerando una circulación de corriente de 60 mA, obtenemos la resistencia de base como sigue:[pic 11]

[pic 12]

Como , adoptamos un resistor de 680 Ω correspondiente a la serie E12. [pic 13]

Puertos y diagrama de flujo:

        A continuación, se presenta la disposición de puertos utilizados y el diagrama de flujo correspondiente a la experiencia propuesta, procediendo a la programación en lenguaje c.

PUERTOS

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

PORT A (Switch)

X

X

X

P

SW4

SW3

SW2

SW1

PORT B (Bocina)

X

X

X

X

X

X

X

SIR

PORT C (LED)

X

X

X

X

L4

L3

L2

L1



[pic 14]

Figura 5: Diagrama de flujo del sistema de Alarma

El circuito implementado puede observarse en la siguiente figura:

[pic 15]

Figura 6: Montaje final de la experiencia 2.

CONCLUSIÓN:

        En cuanto a la experiencia 1, se puede destacar el uso del lenguaje assembler para la programación del giro del motor, ya que trabajamos directamente con los bits de registro de un puerto, esto nos permite optimizar el tiempo en que se ejecuta cada instrucción, pero es más complejo la sintaxis.

...

Descargar como (para miembros actualizados) txt (14 Kb) pdf (540 Kb) docx (306 Kb)
Leer 23 páginas más »
Disponible sólo en Clubensayos.com