Professional Documents
Culture Documents
OBJETIVOS
Medir corriente y voltaje del motor CC para luego ser procesadas y visualizadas grficamente.
Tomar muestras peridicas de las seales y realizar un promedio entre estas.
Realizar el algoritmo en un microcontrolador dsPIC.
Realizar una comunicacin serial del Pic hacia una interfaz grfica para visualizar las seales.
INTRODUCCION
Gran parte de DSP se relaciona con las telecomunicaciones, procesamiento de voz, audio, video adems de
microcontroladores que hacen posible la obtencin de las seales para su anlisis. A continuacin, iremos
desarrollando la prctica en base a lo mencionado.
MARCO TEORICO
-Microcontrolador dsPic
Controlador digital de seales de 16 bits, de alto desempeo, adecuado para aplicaciones de propsito
general y de audio. Memoria de programa 48kB, SRAM 2048 Bytes, ADC de 12 bits, 200 ksps y 13
canales; interface codecs de audio comunes incluyendo AC'97 y IS; puertos SPI, IC, y CAN, 2 UART's.
Caracteristicas
-Comunicacin serial
MATERIALES Y HERRAMIENTAS
En la tabla se puede observar los materiales y herramientas de manera general que son necesarios para el
desarrollo de esta prctica.
`
DESARROLLO
Se deber realizar la configuracin de manera que del motor se obtenga las seales de velocidad y corriente
luego hacer la conversin analgico-digital para la visualizacin de las seales, teniendo estas realizar un
muestreo cada cierto periodo para finalmente realizar un promedio de ellas. El siguiente esquema nos
muestra una gua general
RA0
RA1
RA2
RA1 RA2
Medicion de corriente
RA0
R=1 ohm
GENERADOR DE
FUNCIONES
M G
Figura.6 Conexin del dsPIC, max 232, cable serial y adicionalmente el pickit para grabar los programas en el
microcontrolador.
* File: motor.c
* Author: Adrian_Landi94
*
* Created on 27 de octubre de 2017, 7:46
*/
#include <xc.h>
#include <stdio.h>
#include <stdlib.h>
#include <libpic30.h>
}
/*
*
*/
void setup()
{
// Configure all 4 port D pins as digital outputs
TRISD = 0;
ADCON3bits.ADCS = 15; // Tad = 266ns, conversion time is 12*Tad
ADCON1bits.ADON = 1; // Turn ADC ON
// Setup UART
U1BRG = 48; // 38400 baud @ 30 MIPS
U1MODEbits.UARTEN = 1; // Enable UART
}
int main(void)
{
// variables de almacenamiento
int vol[20]; //tamano de muestras en este caso 20 muestras
int vol2[20];
int vol3[20];
int pVel[20];
int corr[20];
int pcorr[20];
unsigned char i;
// Configuracion de entradas analogicas del DSPIC
ADCON3bits.ADCS = 15; // Tad = 266ns, conversion time is 12*Tad
ADCON1bits.ADON = 1; // Habilitacion de ADC ON
setup();
while(1){
for(i=0; i<20; i++){
vol[i]=read_analog_channel(0); //voltaje ADC
pVel[i]=(pVel[i]+vol[i])/2; // promedio del voltaje
corr[i]=read_analog_channel(1)-read_analog_channel(2); // calculo de la corriente
pcorr[i]=(pcorr[i]+corr[i])/2; //promedio de la corriente
__delay32(3000000);
}
//enviamos los datos serialmente utilizando la libreria UART
for(i=0; i<20; i++){
printf(" %d", vol[i]); //voltaje ingresado
}
for(i=0; i<20; i++){
printf(" %d", pVel[i]); //promedio del voltaje
}
for(i=0; i<20; i++){
printf(" %d", corr[i]); //enviamos la corriente
}
for(i=0; i<20; i++){
printf(" %d", pcorr[i]); //enviamos promedio de la corriente
}
printf("\n");
}
}
`
close all;
clc;
clear
%Borra datos que se encuentren previos y vuelve a declarar el puerto y
la
%velocidad de transmisin
delete(instrfind({'port'},{'COM9'}));
puerto=serial('COM9');
puerto.BaudRate=38400;
fopen(puerto);%abre el puerto a utilizar
RESULTADOS
Figura.9 Cuando hayan pasado un nmero grande de periodos podemos ver la seal esta suavizada.
CONCLUSIONES
El cable USB-Serial DB9 que se utilizo fue un hembra (extremo-serial DB9) esto permiti la lectura de los
datos desde el microcontrolador hacia la PC, si se utiliza uno de tipo macho se deber realizar las
configuraciones pertinentes.
En cuanto a la manipulacin de las seales se pudo realizar ya que se obtuvo las n muestras por periodos y
luego realizar un promedio entre ellas utilizando la ecuacin ((Periodo1+Perio2+Periodo3+Pn) / n
muestras de periodo).
`
Al aumentar en nmero de periodos y promedios de estas, las seales se iban suavizando y teniendo forma
de la onda senoidal, justamente lo que trataba esta prctica de reconstruccin de la seal mediante
promedios. Esta tcnica puede ser muy bien utilizada en procesamiento de imgenes.
REFERENCIAS
[2] http://www.microchip.com/forums/m124076.aspx
[4] http://www.braintom.net/microcontrolador-dspic-practica-1/
http://www.electronics-base.com/dspic-tutorial/dspic-a-d-converter/dspic30f-analog-to-digital-converter-
adc-example
https://geekelectronica.com/recepcion-de-datos-por-puerto-serial-y-graficacion-en-matlab/