Beruflich Dokumente
Kultur Dokumente
PROYECTO
POSICIONADOR SOLAR
INTEGRANTE
CRUZ CORS JUANA KARINA
MATERIA
CONTROL II
Turno: Matutino
Grupo: 1601
JUSTIFICACIN
Construir un sistema de control de posicionamiento para optimizar el desempeo de
una celda solar de manera prctica.
OBJETIVOS
Objetivo General
Disear un sistema de control de posicionamiento con dos grados de libertad que siga
las posiciones del sol en intervalos de tiempo a partir de su posicin de longitud y
latitud en la tierra.
Objetivo Especifico
INTRODUCCIN
El aprovechamiento de las energas renovables, como la energa solar o la elica, est
cobrando mucha fuerza en los ltimos tiempos. Sin embargo, los sistemas
fotovoltaicos actuales tienen un rendimiento inferior al deseable.
Los paneles fotovoltaicos suelen estar dispuestos en posiciones fijas, con lo cual, la
implementacin de un brazo robtico con un grado de libertad nos permitir el mximo
aprovechamiento de la energa solar que slo se produce a determinadas horas del
da, e incluso depende mucho de la estacin climtica. El uso de sistemas de
posicionamiento angular permite tener orientados permanentemente los paneles hacia
el Sol.
Con un sistema sencillo al cual se puede agregar los datos del lugar donde se
encuentre y as seguir la posicin solar adecuada con un sistema sencillo donde se le
integran los sensores necesarios para su funcionamiento.
Sensor
Qu es un encoder resistivo?
Estos
codificadores
se
basan
en
la
capacidad del
sensor
de
proximidad
resistivo (resistor). Sobre el eje del potencimetro hay un contacto que gira,
deslizndose sobre este material resistivo. La resistencia elctrica entre un extremo
del anillo y el contacto es proporcional a la posicin angular del eje.
Si se aplica un voltaje entre los extremos del resistor del potencimetro, el voltaje en el
contacto vara en relacin directa con la posicin angular del eje. Este voltaje se puede
ingresar a un convertidor analgico-digital (A/D) para obtener el valor digital de la
posicin angular.
Los potencimetros son tiles para aplicaciones con precisiones entre 0,5 a 5 %. Son
los dispositivos ms baratos que existen para este uso. Debido a que estn sujetos a
desgaste mecnico, su aplicacin se limita a productos hogareos y en industrias
donde no es importante la seguridad y duracin.
Un Potencimetro es un dispositivo electromecnico que consta de una resistencia de
valor fijo sobre la que se desplaza un contacto deslizante llamado cursor y que la
divide elctricamente
La aplicacin ms comn de los potencimetros en instrumentacin es como sensor
de desplazamiento de tipo resistivo. El movimiento del cursor origina un cambio en la
resistencia, el cual puede utilizarse para medir desplazamientos lineales o angulares
de piezas acopladas al cursor.
Los potencimetros pueden usarse para medir diversas magnitudes fsicas siempre
que se puedan convertir en desplazamiento. Los elementos resistivos utilizados en los
potencimetros son de diferentes tipos. Se usan principalmente el bobinado que es
muy lineal y tambin el plstico conductor que aparte de la linealidad ofrece una vida
muy larga. Pero, existen en el mercado una variedad de elementos resistivos que se
utilizan en los potencimetros.
El elemento ms popular es el carbn, su mejor caracterstica es el precio pero como
inconvenientes tiene las variaciones de temperatura y su vida. El cermet es una
combinacin de material cermico y metal que mejora muchsimo las caractersticas
del carbn. Despus se encuentra el bobinado, que sus principales ventajas son el
bajo coeficiente de temperatura, su vida mecnica, bajo ruido, alta disipacin, y
estabilidad con el tiempo.
Otro elemento utilizado es el plstico conductor que mejora en todas las caractersticas
Caractersticas
Modelo conveniente para todas las aplicaciones industriales
Grifo Center disponible
La rotacin contina y topes mecnicos tanto estndar
Gran ngulo elctrico: 352 2
Categorizacin Material: Para las definiciones de cumplimiento consulte
Tipo de sensor rotacional, una sola vuelta de hilo bobinado
Salida Tipo de salida por torretas
Aparato Mercado Industrial
Dimensiones 1 5/16 "(33.3 mm)
Resistencia total
5 a 20 k
ngulo elctrico
352 2
340 5
Resistencia de aislamiento
Rigidez dielctrica
1000 VRMS, 60 H
0.5% mximo
Motor CD
Los motores de corriente directa son insuperables para aplicaciones en las que debe
ajustarse la velocidad, as como para aplicaciones en las que requiere un par grande.
En la actualidad se utilizan millones de motores de C.D. cuya potencia es de una
fraccin de caballo en la industria del transporte como: automviles, trenes y aviones,
donde impulsan ventiladores, de diferentes tipos para aparatos de a/c, calentadores y
descongeladores: tambin mueven los limpiadores de parabrisas y accin de
levantamiento de asiento y ventanas. Tambin son muy tiles para arrancar motores de
gasolina y diesel en autos, camiones, autobuses tractores y lanchas.
2.1
Acondicionamiento
PIC 16F887
Caractersticas
Arquitectura RISC
El microcontrolador cuenta con solo 35 instrucciones diferentes
Todas las instrucciones son uni-ciclo excepto por las de ramificacin
Frecuencia de operacin 0-20 MHz
Oscilador interno de alta precisin
Calibrado de fbrica
Rango de frecuencia de 8MHz a 31KHz seleccionado por software
Voltaje de la fuente de alimentacin de 2.0V a 5.5V
Consumo: 220uA (2.0V, 4MHz), 11uA (2.0 V, 32 KHz) 50nA (en modo de espera)
Ahorro de energa en el Modo de suspensin
Brown-out Reset (BOR) con opcin para controlar por software
35 pines de entrada/salida
alta corriente de fuente y de drenador para manejo de LED
resistencias pull-up programables individualmente por software
interrupcin al cambiar el estado del pin
Programas utilizados
Prton IDE
El compilador PROTN fue escrito con la sencillez y la flexibilidad en mente. El uso de
BASIC, el cual es casi seguro que el lenguaje de programacin ms fcil alrededor,
ahora se puede producir muy aplicaciones de gran alcance para su PICmicrotm sin
tener que aprender la complejidad relativa de as- sembler, o caminar por el galimatas
que es C. Dicho esto, varias "mejoras" para una mayor versatilidad y facilidad de uso
se han incluido en el caso de que se requiere ensamblador.
El protn + IDE proporciona un entorno de desarrollo sin fisuras, lo que le permite
escribir, depurar y compilar el cdigo en el mismo entorno de Windows, y mediante el
uso de una compa- programador ble, a slo una pulsacin de tecla permite programar
y verificar el cdigo resultante en el PICmicrotm de su eleccin.
PROTN + compilador, de 6 pines y 100 pines hasta que todos los PICs de 8 bits
(PIC10, PIC12, PIC16 y PIC18) ha sido desarrollado para operaciones muy complejas,
incluso con solucionadores de mnimo esfuerzo, flexibles, funcionales y fciles de usar
compilador BASIC. PBP tambin es compatible con la funcin de un compilador
tradicional. Por lo tanto, el PDS antes proyectos PBP desarrollados con caractersticas
avanzadas no disponibles en otros compiladores con y muy fciles de cambiar cuando
desee complementar eficaz. Cuando use la opcin optimizador de cdigo, el cdigo
generado por el compilador es casi asamblea densidad producida.
Un amplio conjunto de comandos y funciones a travs de la A / D, D / A, acelermetro,
EEPROM de serie, etc. casi todo tipo de perifricos que se pueden agregar a sus
aplicaciones sin problemas. Obtenidos a partir de la salida del compilador es 100%
compatible con MPASM y Hex, COD, ER y el software archivos LST que es compatible
con todas las herramientas y dispositivos de desarrollo Microchip son compatibles con
la instalacin del programa. El compilador bus Philips I2C, Dallas bus 1-wire, genrico
SPI, las comunicaciones serie RS232/RS485, Compact Flash, X10, USB, etc. con
funciones especiales para dispositivos tales como la interfaz, as como en el PIC Una
interrupcin / D, PWM, temporizadores, USART, etc. Para controlar unidades tambin
tienen diversas funciones. Compilador cadena rico capaz de procesar, operaciones
matemticas tambin son muy fuertes. BIT (1 bit), BYTE (8 bits), Word (16 bits) de tipo
convencional, as como de DWORD (32-bit) entero y "punto flotante" tipos de nmeros
Caractersticas
El compilador tiene un rico soporte de comandos. A continuacin encontrar algunos
ejemplos:
Operadores lgicos
Servo-
Protocolo X10
USB / Salida
, SPI, Dallas 1-wire y comunicacin serie asncrona (RS232, RS485, etc) protocolos
I2C
Serial Communicator
Terminal de comunicacin serial
Dependiendo de puerto serie asncrono circuito de comunicacin de serie de su PC y la
aplicacin puede utilizar para permitir que usted haga un terminal de comunicacin
serial es proporcionado, as integrado en el IDE. Comunicacin serie nmero de puerto
de los terminales, la velocidad de transmisin, ancho de byte y el nmero de bits de
parada se puede configurar como parmetros. Si el puerto serie de su PC, ya que no
tiene que preocuparse acerca de la comunicacin serie del terminal USB / convertidor
de puerto serie tambin es compatible.
Labview
LabVIEW
(acrnimo
de
Laboratory
Virtual
Instrumentation
Engineering
es
la
2013,
con
la
increble
demostracin
de
poderse
usar
Motor DC
3. Adquisicin de Datos
de datos
Encoder
Envi
PC
Sensor
INICIO:
GoSub CONFIGURA_PLC
"CONDICIONES INICIALES DE TRABAJO"
FLAG_POSICION = 0
REFERENCIA = 100
CONTINUA:
DATOS A LA PC
DATOS
FLAG_POSICION = 0
REFERENCIA = 500
While FLAG_POSICION = 0
GoSub POSICIONA
Wend
DelayMS 20000
'
'
'
'
'
'
FLAG_POSICION = 0
REFERENCIA = 700
While FLAG_POSICION = 0
GoSub POSICIONA
Wend
DelayMS 20000
GoTo CONTINUA
POSICIONA:
< SEN_POSICION
GoSub LEE_AI0
SEN_POSICION = ADC_0
HSerOut [Dec SEN_POSICION,13 ]
If REFERENCIA + 2 > SEN_POSICION
Then
And REFERENCIA - 2
HORARIO = 0
ANTIHORARIO = 0
HORARIO_R = 0
ANTIHORARIO_R = 0
FLAG_POSICION = 1
Return
EndIf
If SEN_POSICION < REFERENCIA
HORARIO = 1
ANTIHORARIO = 0
HORARIO_R = 1
ANTIHORARIO_R = 0
EndIf
Then
EndIf
Include "uPLC_PROY_5X5X5.inc"
End
Then
Obtencin de datos
Resultados obteniendo un total de 3591 datos
Diagrama a bloques
2
2
C
Brazo
PC
Caractersticas de la interfaz
Control de posicin
Lecturas de posicin
Fecha
Da en el que se encuentra
Elegir la latitud del lugar donde se quiere calcular la posicin
Include "uPLC_PROY_5x5x5_VAR.inc"
DISTRIBUCION DEL PLC
'
'
'
'
'
'
'
'
LCD_DTPin = PORTD.4
LCD_RSPin = PORTE.0
LCD_ENPin = PORTE.1
LCD_Interface = 4
LCD_Lines = 2
LCD_Type = 0
LCD_CommandUs = 2000
LCD_DataUs = 50
;LIBRERIA DE VARIABLES, Y
;CONFIGURACION EN PROTEUS
Float_Display_Type = fast
Dim lambda As Float
Dim lambda_LABVIEW As Byte
Dim h
As Float
Dim N
As Float
Dim pi As 3.1415926535897932384626433832795
Dim x
As Float
;Dim x_rad
As Float
Dim delta
As Float
Dim hr
As Float
Dim w
As Float
Dim alfa_s As Float
Dim gamma_c As Float
Dim alfa_s_g As Float
Dim gamma_c_g As Float
Dim
duracion_dia
As Float
Dim
altitud_maxima
As Float
Dim
declinacion
As Float
Dim
hora
As Float
Dim
hora_LABVIEW
As Byte
Dim
SIGNO
As Byte
Dim
N_LABVIEW
As Byte
Dim
Dim
Dim
Dim
Dim
AUX1
AUX2
AUX3
AUX4
AUX5
As
As
As
As
As
Float
Float
Float
Float
Float
;;;;;;;;;;;;;;;;;;;;;;MOTORES;;;;;;;;;;
Dim SEN_POSICION_ACI
As Word
Dim SEN_POSICION_ALT
As Word
'
Dim HORARIO
As PORTD.7
'
Dim ANTIHORARIO
As PORTD.6
Dim HORARIO_ACI
As PORTC.4
Dim ANTIHORARIO_ACI
As PORTD.5
Dim HORARIO_ALT
As PORTD.2
Dim ANTIHORARIO_ALT As PORTD.3
Dim REFERENCIA_ACI
As Word
Dim REFERENCIA_ALT
As Word
Dim FLAG_POSICION_ACI
As Bit
Dim FLAG_POSICION_ALT
As Bit
;DO23
;DO28
;DO21
;DO22
TESE
"
hora = 1
lambda = 19.5
Cls
PRINCIPAL:
GoSub LABVIEW
GoSub CALC_COORDENADAS
REFERENCIA_ACI = gamma_c_g - 20
REFERENCIA_ACI = 2.103846154 * REFERENCIA_ACI
REFERENCIA_ALT =
-31.67307692
(alfa_s_g * 116)/77
REFERENCIA_ALT = 113
REFERENCIA_ACI = 63
"
"
PC
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LABVIEW:
TIMEOUT:
HSerIn 10, TIMEOUT,[lambda_LABVIEW,hora_LABVIEW,SIGNO,N_LABVIEW]
;RECIBIMOS UNA CADENA DE 25 DATOS
;
Print At 1,1, Dec lambda_LABVIEW," ", Dec hora_LABVIEW," "
;
DelayMS 3000
;hora = 4
If SIGNO = 0 Then
hora = hora_LABVIEW
hora = hora * -1
Else
hora = hora_LABVIEW
EndIf
hora = hora - 1.5
HORARIO
w= (hora * pi)/12
''lambda=input('Latitud: ');
''lambda=lambda*pi/180;
''N=input('Nmero de da: ');
''h=12;
; lambda= 19.5
;Latitud
lambda = lambda_LABVIEW
lambda=lambda*pi/180
;
;N=168 ;166
;Nmero de da
N = N_LABVIEW
h=12
;NO SE MODIFICA
;;Print At 1,1,"lda:",Dec lambda," "
Return
CALC_COORDENADAS:
''%declinacin
''x=2*pi*(N-1-(h-12)/24)/365;
''delta=0.006918-0.399912*cos(x)+0.070257*sin(x)-0.006758*cos(2*x)
+0.000907*Sin(2*x)-0.002697*Cos(3*x)+0.001480*Sin(3*x);
''%declinacin
'x=2*pi*(N-1-(h-12)/24)/365;
AUX1 = (h-12)/24
AUX2 = N-1+AUX1
AUX3 = 2*pi*AUX2
x = AUX3/365
;;Print "x=",Dec x," "
; x_rad = (x*pi)/180
''delta=0.006918-0.399912*cos(x)+0.070257*sin(x)-0.006758*cos(2*x)
AUX1 = 0.006758*Cos(2*x)
AUX2 = 0.070257*Sin(x)
AUX3 = 0.006918-0.399912*Cos(x)
delta = AUX3 + AUX2 - AUX1
'+0.000907*sin(2*x)-0.002697*cos(3*x)+0.001480*sin(3*x);
AUX1 = 0.000907*Sin(2*x)
AUX2 = 0.002697*Cos(3*x)
AUX3 = 0.001480*Sin(3*x)
AUX4 = AUX1 - AUX2 + AUX3
delta = delta + AUX4
''hr=acos(-tan(lambda)*tan(delta)); %angulo horario del orto u ocaso
AUX1 = -Tan(lambda)
AUX2 = Tan(delta)
hr = ACos(AUX1*AUX2)
;-Tan(lambda)*Tan(delta)
''
''
delayms 2000
"
;;ALTITUD;;
''alfa_s=@(w) asin(cos(lambda)*cos(w)*cos(delta)
+sin(lambda)*sin(delta));
AUX2 = Cos(lambda)*Cos(w)*Cos(delta)
AUX3 = Sin(lambda)
AUX4 = Sin(delta)
AUX5 = AUX3 * AUX4
alfa_s = ASIn(AUX2 + AUX5)
;;ACIMUT;;
''gamma_c=@(w) acos((cos(lambda)*sin(delta)cos(w)*sin(lambda)*cos(delta))./cos(alfa_s(w)));
AUX1 = Cos(lambda)
AUX2 = AUX1*Sin(delta) ;
AUX3 = Cos(w)
AUX4 = AUX3*Sin(lambda) ;
AUX5 = AUX4*Cos(delta)
;
AUX3 = AUX2 - AUX5
AUX1 = AUX3/Cos(alfa_s)
;;;;;;;;;;;;;;
gamma_c = ACos(AUX1)
alfa_s_g = (alfa_s * 180)/pi
gamma_c_g = (gamma_c * 180)/pi
If w>0 Then
gamma_c_g = 360 - gamma_c_g
; gamma_c_g = gamma_c_g +22
EndIf
'
'
'
Cls
Print At 1,1,"ALT:",Dec3 alfa_s," ", Dec alfa_s_g," "
Print At 2,1,"ACI:",Dec2 gamma_c," ",Dec gamma_c_g," "
DelayMS 2000
'
'
'
'
;;;;;;;;;;;;;;;;
''
%muestra datos
''str=sprintf('duracin da: %1.3fh',2*hr*12/pi);
''text(-150,87,str)
''str=sprintf('altitud mxima: %1.3f',90-(lambda-delta)*180/pi);
''text(-150,82,str)
''str=sprintf('declinacin: %1.3f',delta*180/pi);
AUX1 = 2*hr*12
duracion_dia = (AUX1)/pi
AUX1 = lambda-delta
AUX2 = (AUX1*180)/pi
altitud_maxima = 90 - AUX2
declinacion = delta*180/pi
Cls
Print At 1,1,"DUR DIA:",Dec2 duracion_dia
Print At 2,1,"ALT MAX:",Dec2 altitud_maxima," "
DelayMS 2000
'
Cls
'
Print At 1,1," DEC:", Dec declinacion,"
'
Print At 2,1," w :",Dec2 w," "
'
DelayMS 2000
Return
"
POCICIONA_MOTORES:
GoSub LEE_AI0
SEN_POSICION_ACI = ADC_0
HSerOut [Dec SEN_POSICION_ACI,13 ]
If REFERENCIA_ACI + 5 > SEN_POSICION_ACI
REFERENCIA_ACI - 5 < SEN_POSICION_ACI Then
HORARIO_ACI = 0
ANTIHORARIO_ACI = 0
FLAG_POSICION_ACI = 1
Return
EndIf
And
Then
Then
Return
POSICIONA_ALT:
GoSub LEE_AI1
SEN_POSICION_ALT = ADC_1
HSerOut [Dec SEN_POSICION_ALT,13 ]
If REFERENCIA_ALT + 4 > SEN_POSICION_ALT
REFERENCIA_ALT - 4 < SEN_POSICION_ALT Then
HORARIO_ALT = 0
ANTIHORARIO_ALT = 0
FLAG_POSICION_ALT = 1
Return
EndIf
If SEN_POSICION_ALT < REFERENCIA_ALT
HORARIO_ALT = 1
ANTIHORARIO_ALT = 0
EndIf
Return
LEE_AI0:
Average = 0
variable before use
For Samples = 0 To 29
of the ADC
AD_Raw = ADIn 0
conversion of channel 0
Average = Average + AD_Raw
result
Next
after 10 revolutions
ADC_0 = Average/30
Return
LEE_AI1:
Average = 0
variable before use
For Samples = 0 To 29
of the ADC
AD_Raw = ADIn 1
conversion of channel 0
Average = Average + AD_Raw
result
Next
after 10 revolutions
ADC_1 = Average/30
Return
And
Then
Then
En esta ventana se ingresa la latitud del lugar donde se desea calcular la posicin
solar la hora, el da y se visualiza por medio del buffer la posicin calculada.
Diagrama a Bloques
RESUMEN
El prototipo posicionador solar es un brazo robtico con dos grados de libertad el
cual mediante la implementacin de una celda solar y un brazo robtico podremos
ser capaces de aprovechar y simular las posiciones del sol con respecto a la tierra
con el fin de optimizar la forma de cmo aprovechar la energa solar; como un
medio ecolgico de generar energa.
El brazo robtico est constituido por un motor de C.D. y un encoder resistivo el
cual se encarga de medir la variable de posicin; juntos estos dos componentes
forman un servomotor. El cual controlaremos mediante la implementacin de un
programa PROTON IDE el cual es un entorno de programacin basado en un
BASIC estructurado orientado a entrada y salida de seales. La utilizacin de
sencillas instrucciones de alto nivel, permite programar los Microcontroladores
para controlar cualquier aplicacin llevada a cabo por un proceso. Es muy sencillo
de manipular por lo que lo utilizamos en la programacin del
necesario
la
Abstract
Solar positioner prototype is a robotic arm with two degrees of freedom which by
implementing a solar cell and a robotic arm may be able to harness and simulate
the position of the sun relative to the earth in order to optimize the shape of how to
use solar energy; as an environmentally friendly means of generating energy.
The robot arm is constituted by a DC motor and a resistive encoder which is
responsible for measuring the position variable; Together these two components
form a servomotor. Who will control through the implementation of a program
PROTON IDE which is a programming environment based on a structured BASIC
oriented input and output signals. The use of simple high-level instructions, to
program microcontrollers to control any application conducted by a process. It is
very easy to manipulate so we use in programming the PIC 16F887 for this take
care of the digital analog conversion likewise rotation and operation of the
servomotor which is programmed with a certain degree of error to avoid damaging
the arm.
Once this is accomplished I could make handling this with the Labview program
since this program is intended to be able to manipulate a process virtually with real
data. To achieve the manipulation and control of our physical variables properly to
thereby fuse implementing a trainer card and USB, RS-232 SER necessary. Since
the experimental prototype is
Cronograma
Actividades por semana
Octavo Semestre
Febrero
1
Portada
Justificacin
Objetivos
Marco conceptual
Marco metodolgico
Planteamiento del problema
Introduccin
Diseo
Diseo Preliminar
Diseo detallado
Construccin
Resumen
Abstract
Conclusiones
Referencias
Marzo
Abril
3
Junio
Mayo
3
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
Conclusiones.
Con la elaboracin de este proyecto obtuvimos los conocimientos necesarios la
manipular una seal aleatoria analgica, acondicionar esa seal, convertirla a
seal digital, transmitirla por medio de un protocolo de comunicacin USB-SER
encoder resistivo.
As mismo encontramos bastantes problemas al hacer la. Con la interfaz con
Labview , con los motores de CD al momento de acoplar el hardware y software.
Referencias
Sommerville, I. (2006) Ingeniera del software Espaa: Pearson Educacin.
Rodrguez A. (2007) Sistemas SCADA Mxico: Alfa Omega
Mayn Jord. Sensores Acondicionadores y Procesadores de seal.
http://www.elcis.com/SPAGNOLO/generalita/generalitacentro.html, 9/05/09.
http://www.fisicapractica.com/velocidad-angular-mcu.php, 9/05/09.
www.avrfreaks.com, 28/04/09.
www.avrtutor.com, 21/04/09.
http://www.sc.ehu.es/sbweb/fisica/cinematica/circular/circular.htm, 9/05/09.
http://www.ni.com/white-paper/4478/es/