Está en la página 1de 10

UNIVERSIDAD NACIONAL DE SAN AGUSTIN

FACULTAD DE PRODUCCION Y SERVICIOS


ESCUELA PROFESIONAL DE INGENIERIA ELECTRONICA

CURSO:

SISTEMAS DE CONTROL AVANZADO

TURNO:

MARTES: 7:20 A 9:00 PM

PROFESOR:

Dr. Juan C. Cutipa Luque

LABORATORIO 2
“PERIFERICOS DE PLACA CONTROLADORA MSP432P401R ”

INTEGRANTES:
CONDORI CAPAJAÑA, VICTOR HUGO 20152471

FECHA: 10/05/19
SEMESTRE: 2019-A
Arequipa - Perú
2018
Periféricos de placa controladora

Se inicia con la placa controladora configurando periféricos de entrada y de salida con el


objetivo de implementar un control avanzado

Objetivos

Identificar las características de los periféricos de la placa controladora

Fundamentación Teórica

La fundamentación teórica presenta asuntos tratados en sala de aula

 Señal Digital y Analógica


 Conversión Analógico Digital y Digital Analógico
 Generador de señal PWM para accionamiento de servomotores
 Comunicación serial
Materiales y equipamentos

 1 computador PC con Linux o Windows


 1 Software Matlab o Scilab
 1 Software Eneergía
 1 Software Code Compose Studio y TI-RTOS para placa MSP432P401R
 1 Osciloscopio
 2 Resistores de 330 Ohms
 2 LEDs de colores
Procedimientos

1. Instalar Energía
2. Conectar la placa Controladora y probar el programa de encendido de LEDs en
destellos (blink a LED)
3. Realizar un programa que permita variar la intesidad de iluminación de un LED usando
la generación de una señal PWM. Indique los principales parámetros, sus valores
máximos y mínimos
4. Mida la señal generada usando un osciloscopio, guarde la señal en una memoria tipo
pendrive para luego ser graficada en Matlab, usando la función plot.
5. Usando el puerto serial y una variable, envíe la señal PWM al computador para luego
ser almacenada en un archivo txt y ser graficada en Matlab usando la función plot.
6. Compare los resultados obtenidos desde la lectura del osciloscopio y la lectura directa
por el puerto serial, calcule el error porcentual
7. Repetir los procedimientos anteriores desde el software Code Composer Studio y con el
sistema operático TI-RTOS.
Resultados

Presentar los resultados de los procedimientos con gráficas, códigos y comentarios

Análisis de resultados
Utilizando las herramientas matemáticas, analice si los resultados numéricos obtenidos son
próximos de los resultados analíticos.

Conclusiones

Presente las conclusiones de su informe en función a los resultados obtenidos y a los métodos
utilizados. Resalte los resultados más críticos que caracterizan mejor el comportamiento del
experimento. Presente recomendaciones o mejoras para futuras experiencias en laboratorio.

Referencias

Liste las referencias usando el formato APA

PROCEDIMIENTOS

1.-SOFTWAREs

 El entorno de Energia MT
 El entorno de Code Compouser Studio

2.-Encendido de LED’s “Blink led”

Teniendo en cuenta que para encender un led se tiene que definir primero el pin a utilizar en este
caso “P2_0” que sería el led de color rojo para la disposición de la placa.

Blink con Energia MT

void setup() {

pinMode(P2_0, OUTPUT); //inicializamos el pin P2_0 como salida

void loop() {

digitalWrite(P2_0, HIGH); // prendemos al pin P2_0 (led)

delay(1000); // espera por un segundo

digitalWrite(P2_0, LOW); // apagamos el pin P2_0

delay(1000); // espera por un segundo

Blink con CCS

#include <ti/devices/msp432p4xx/driverlib/driverlib.h> // define la libreria


int main(void)
{
volatile uint32_t i;
// Stop watchdog timer
WDT_A_hold(WDT_A_BASE);
// se define el pin P2_1 como salida
GPIO_setAsOutputPin(
GPIO_PORT_P2,
GPIO_PIN1
);
while(1)
{
// alternar la salida del pin prendido y siguiente estado apagado
GPIO_toggleOutputOnPin(
GPIO_PORT_P2,
GPIO_PIN1
);
// retraso
for(i=100000; i>0; i--);
}
}

Para el primer caso se implementa en Energia MT para el LED ROJO y para el Segundo caso se
implement en CCS ya para el LED VERDE.

3. Realizar un programa que permita variar la intensidad de iluminación de un LED


usando la generación de una señal PWM.

Realizar pwm (ENERGIA)

int i=0; //se crea una variable para incrementar

void setup() {
pinMode(P2_2, OUTPUT); //define el pin como salida

void loop() {

i=i+1; // se incrementa el valor

analogWrite(P2_2,i); //es el commando para que trabaje como pwm

delay(40);

if(i>=250)//cuando sea mayor a 250 se reiniciara

i=0;

Realizar pwm (CCS)

#include <unistd.h>
#include <stddef.h>
#include <ti/drivers/PWM.h>
#include "Board.h"
//se definen las librarias
void *mainThread(void *arg0)
{
//periodo del pwm
uint16_t pwmPeriod = 4000;
uint16_t duty = 0;
uint16_t dutyInc = 100;

//tiempo de trabajo del pwm


uint32_t time = 50000;
PWM_Handle pwm1 = NULL;
PWM_Handle pwm2 = NULL;
PWM_Params params;

// llamamos a la funcion
PWM_init();
PWM_Params_init(&params);
params.dutyUnits = PWM_DUTY_US;
params.dutyValue = 0;
params.periodUnits = PWM_PERIOD_US;
params.periodValue = pwmPeriod;
pwm1 = PWM_open(Board_PWM0, &params);
PWM_start(pwm1);

//blucle infinito para aumentar el valor del pwm


while (1) {
PWM_setDuty(pwm1, duty);
duty = (duty + dutyInc);
if (duty == pwmPeriod || (!duty)) {
dutyInc = - dutyInc;
}
usleep(time);
}
}

Podemos representar algunas imagines que para cada programa usado se utiliza un diferente
PWM

4. Usando el puerto serial y una variable, envie la señal PWM al computador para luego
ser almacenada en un archivo txt y ser graficada en Matlab usando la función plot.

Serial PWM

Se aplica un Serial en dicho ejemplo para poder visualizar los valores tomados del pwm:

int i=0;

void setup() {

pinMode(P2_2, OUTPUT);
Serial.begin(9600); // se abre el serial

void loop() {

i=i+1;

analogWrite(P2_2,i);

Serial.println(i); // se imprime el valor del pwm

delay(40);

if(i>=250)

i=0;

}
}

Serial pwm con matlab

%Generacion de Señal PWM


clc;
close all;
clear all;
t=0:0.001:1;
s=sawtooth(2*pi*10*t+pi);
m=0.75*sin(2*pi*1*t);
n=length(s);
for i=1:n
if m(i)>=s(i)
pwm(i)=1;
elseif m(i)<=s(i)
pwm(i)=0;
end
end
plot(t,pwm);
grid on;
ylabel('Amplitud');
xlabel('Tiempo');
title('Señal PWM');
axis([0 1 -1.5 1.5]);

CONCLUSIONES:

 Se vió las diferencias y similitudes que tienen la programación en CCS y en el software


Energía.
 El software Energía tiene una mayor facilidad de programación, mientras que en CCS
se tiene un mayor control de las funciones y variables.
 No se pudo hacer una comparación de la señal medida en osciloscopio con la generada
en Matlab debido a un problema en los laboratorios, pero con la funcion plot de matlab
presumimos un resultado correcto.
 La comunicación serial que posse la placa MSP432 es muy similar a la que presenta
arduino por lo que resulta fácil esta conexión.
 Al igual como sucede en arduino, Energía provee una ampli variedad de librerías y
códigos que nos sirven de ejemplo, asi como usamos “blink led”.
 La experiencia en laboratorio podría verse mejorada si se contará todo el tiempo con
osciloscopio, por le mons un equipo por grupo, de esta manera podríamos generar
múltiples códigos y visualizarlos en pantalla.

Bibliografía
EnergíaIDE. (06 de 05 de 2010). Energia Guide. Obtenido de https://energia.nu/guide/
Lewis, S. (23 de 05 de 2015). Using the MSP432 serial (eUSCI) modules. Obtenido de
http://www.samlewis.me/2015/05/using-msp432-eUSCI/
Unknown. (20 de 12 de 2016). PWM(CCSCompiler). Obtenido de
http://noterau.blogspot.com/2016/12/pwm-ccs-compiler.html

También podría gustarte