Sie sind auf Seite 1von 33

TECNOLGICO DE ESTUDIOS SUPERIORES DE ECATEPEC

DIVISIN DE INGENIERA ELECTRNICA

PROYECTO
POSICIONADOR SOLAR

INTEGRANTE
CRUZ CORS JUANA KARINA
MATERIA
CONTROL II
Turno: Matutino

Grupo: 1601

VALDEZ ALEMAN EVA: __________

Fecha de entrega: 31/07/14

PLANTEAMIENTO DEL PROBLEMA.


Los sistemas actuales de control tienden hacer complejos y estorbosos para poder
obtener su posicin donde siempre es continuo el trabajo lo que ocasiona la prdida de
energa y solo estn situados en una sola rea.

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

Obtener su diagrama a bloques para su control


Obtener el modelo de trasferencia del motor.
Obtener el modelo de trasferencia del encoder.
Conseguir el dominio de Labview para obtener la programacin del PIC
Llevar un sistema de control a simulacin.
Investigacin de latitud y longitud respecto con la tierra para su posicin.
Realizar clculos para obtener los ngulos de la posicin solar con respecto a la
tierra.
Fcil manejo y practica adaptacin en diferentes lugares.

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

(proximidad) para leer los dientes de un engranaje o pinchazos presente en un disco


de metal ( rueda fnica ). El engranaje o el disco que constituye el rotor del codificador.
Mediante la colocacin de los dientes o agujeros pueden codificar un sector de rotor
igual a su resolucin angular.

Figura 1.1.1 Encoder resistivo.

Dentro de un potencimetro normal encontraremos un anillo circular de material

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

respecto a los dems elementos, pero tiene un precio superior.


El problema de los potencimetros es que debido a diversos problemas hayan cado
en
Desuso y hayan sido sustituidos por otro dispositivo ms fiable

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

Potencia nominal 40 C ambiente

2.75 W, derretirse acero a 125 C

ngulo elctrico

352 2

Rotacin Paradas contina

340 5

Resistencia de aislamiento

1.000 M mnimo a 500 VDC

Rigidez dielctrica

1000 VRMS, 60 H

Absoluta resistencia mnima


Tensin mnima

1.0% de la resistencia total o 0.5 W que sea mayor

0.5% mximo

Vivienda moldeado termoplstico relleno de vidrio


Tapa trasera de cristal llenado plstico termoestable
Eje Acero inoxidable, no magntico
Terminales de latn, chapado para soldadura,
No pasivado
Panel Tuerca:
Acero niquelado
Latn, niquelado
Vibracin 15 g al 2000 Hz
Choque 50 g
Niebla salina 48 h
Vida rotativa Revoluciones del eje 500 000
Rango de temperatura de funcionamiento - 55 C a + 125 C

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.

El motor de C.D. tiene un estator y un rotor (ARMADURA). El estator contiene uno no


ms devanados por cada polo, los cuales estn diseados para llevar intensidades de
corriente directas que establecen un campo magntico.
La armadura, y su devanado estn ubicados en la trayectoria de este campo magntico
y cuando el devanado lleva Intensidades de Corriente, se desarrolla un par-motor que
hace girar el motor. Hay un COMUTADOR conectado al devanado de la armadura, si
no se utilizara un conmutador, el Motor solo podra dar una fraccin de vuelta y luego
se detendra.
Para que un motor de C.D. pueda funcionar, es necesario que pase una Intensidad de
Corriente por el devanado de Armadura. El estator debe de producir un campo m (flujo)
magntico con un devanado de derivacin o serie (o bien, una combinacin de ambos).
El par que se produce en un motor de C.D. es directamente proporcional a la
Intensidad de Corriente de la armadura y al campo del estado. Por otro lado, la
velocidad de motor la determinara principalmente la Tensin de la Armadura y el campo
del Estator. La velocidad del motor tambin aumenta cuando se reduce el campo del
estator. En realidad, la velocidad puede aumentar en forma peligrosa cuando, por
accidente, se anula el campo del estator. Como ya sabemos los motores de CD
pueden explotar cuando trabajan a velocidades muy altas. El motor de C.D. que se usa
aqu, ha sido diseado para soportar posibles condiciones de exceso de velocidad.

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

memoria ROM de 8K con tecnologa FLASH


El chip se puede re-programar hasta 100.000 veces
Opcin de programacin serial en el circuito
El chip se puede programar incluso incorporado en el dispositivo destino.

256 bytes de memoria EEPROM


o Los datos se pueden grabar ms de 1.000.000 veces
368 bytes de memoria RAM
Convertidor A/D:
o 14 canales
o Resolucin de 10 bits
3 temporizadores/contadores independientes
Temporizador perro guardin
Mdulo comparador analgico con
o Dos comparadores analgicos
o Referencia de voltaje fija (0.6V)
o Referencia de voltaje programable en el chip
Mdulo PWM incorporado
Mdulo USART mejorado
o Soporta las comunicaciones seriales RS-485, RS-232 y LIN2.0
o Auto deteccin de baudios
Puerto Serie Sncrono Maestro (MSSP)
o Soporta los modos SPI e I2C

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

que incluyen compiladores, trigonometra, logaritmos como operaciones matemticas


complicadas tambin tienen mucho xito .

Caractersticas
El compilador tiene un rico soporte de comandos. A continuacin encontrar algunos
ejemplos:

Operaciones de 8 y 16 bits sin signo, de 32 bits de matemticas entero con signo

Floating Point operaciones matemticas

Operaciones con cadenas y cuerdas virtuales

Funciones matemticas avanzadas - logaritmos, trigonometra, etc.

Operadores lgicos

Agregue el cdigo de ensamblaje

Alfanmeril comandos LCD - HD44780

Comandos de LCD grfico - T6963, KS0108 etc.

Compact Flash comandos de lectura / escritura

Servo-

Protocolo X10

USB / Salida

, SPI, Dallas 1-wire y comunicacin serie asncrona (RS232, RS485, etc) protocolos
I2C

Control avanzado de interrupcin

Control avanzado de subrut

La capacidad del usuario para escribir sus propias funciones

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

Workbench) es una plataforma y entorno de desarrollo para disear sistemas, con


un lenguaje de programacin visual grfico. Recomendado para sistemas

hardware y software de pruebas, control y diseo, simulado o real y embebido,


pues acelera la productividad. El lenguaje que usa se llama lenguaje G, donde la
G simboliza que es lenguaje Grfico.
Este programa fue creado por National Instruments (1976) para funcionar sobre
mquinas MAC, sali al mercado por primera vez en 1986. Ahora est disponible
para las plataformas Windows, UNIX, MAC y GNU/Linux. La ltima antepenltima
versin

es

la

2013,

con

la

increble

demostracin

de

poderse

usar

simultneamente para el diseo del firmware de un instrumento RF de ltima


generacin, a la programacin de alto nivel del mismo instrumento, todo ello con
cdigo abierto. Y posteriormente la versin 2014 disponible en versin demo para
estudiantes y profesional, la versin demo se puede descargar directamente de la
pagina Texas Instruments.
Los programas desarrollados con LabVIEW se llaman Instrumentos Virtuales, o
VIs, y su origen provena del control de instrumentos, aunque hoy en da se ha
expandido ampliamente no slo al control de todo tipo de electrnica
(Instrumentacin electrnica) sino tambin a su programacin embebida,
comunicaciones, matemticas, etc. Un lema tradicional de LabVIEW es: "La
potencia est en el Software", que con la aparicin de los sistemas multincleo se
ha hecho an ms potente.
Entre sus objetivos estn el reducir el tiempo de desarrollo de aplicaciones de
todo tipo (no slo en mbitos de Pruebas, Control y Diseo) y el permitir la entrada
a la informtica a profesionales de cualquier otro campo. LabVIEW consigue
combinarse con todo tipo de software y hardware, tanto del propio fabricante
-tarjetas de adquisicin de datos, PAC, Visin, instrumentos y otro Hardwarecomo de otros fabricantes.

Motor DC

3. Adquisicin de Datos
de datos

Encoder

Envi

PC

Sensor

Conexin del encoder a la tarjeta

Conexin del motor DC a la tarjeta

Comunicacin con cable USB-SER RS-232 con la tarjeta

Programa escrito en la plataforma Proton IDE completo para la


adquisicin de datos.
;;;;;;;;;;;;;;;;;;;;;;;;;FIMWARE DEL uPLC UNIVERSAL COMO
SHIELD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Device = 16F887
;;;;;;;;;;;;;;;;;;; CONFIGURACION DE LOS FUSIBLES;;;;;;;;;;;;;;;;
Config1 LVP_OFF, FCMEN_OFF, IESO_OFF, BOR_OFF, CPD_OFF, CP_OFF,
MCLRE_ON, PWRTE_ON, WDT_OFF, HS_OSC
Config2 WRT_OFF, BOR21V
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Xtal = 20
;LA VELOCIDAD DE TRABAJO ES DE 20
MHZ
Include "uPLC_PROY_5x5x5_VAR.inc" ;LIBRERIA DE VARIABLES, Y
DISTRIBUCION DEL PLC
All_Digital = TRUE
;SE CONFIGURAN TODOS LOS PUERTOS
COMO DIGITALES, MAS ADELANTE SE CONFIGURARAN SOLO LOS_
;_ANALOGICOS
;;;;;;;;;;;Declaracin de variables;;;;;;;;;;;;SYMBOL RBIF = INTCON.0 '
RB Port Interrupt Flag
Dim SEN_POSICION
As Word
Dim HORARIO
As PORTD.7
Dim ANTIHORARIO As PORTD.6
Dim HORARIO_R
As DO23
Dim ANTIHORARIO_R As DO28
Dim REFERENCIA As Word
Dim FLAG_POSICION As Bit

INICIO:
GoSub CONFIGURA_PLC
"CONDICIONES INICIALES DE TRABAJO"

;SUBRUTINA DE CONFIGURACION DEL PLC

FLAG_POSICION = 0
REFERENCIA = 100
CONTINUA:
DATOS A LA PC
DATOS

HSerOut ["Enve una A para arrancar"] ;SE ENVIA LOS


HSerIn [Wait("A")]

;RECIBIMOS UNA CADENA DE 25

For REFERENCIA = 50 To 750 Step 100


HSerOut ["MOVIENDO MOTOR A: " ,Dec
REFERENCIA/10,13 ] ;SE ENVIA LOS DATOS A LA PC
FLAG_POSICION = 0
While FLAG_POSICION = 0
GoSub POSICIONA
Wend
DelayMS 1000
Next
'
'
'
'
'
'

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

If SEN_POSICION > REFERENCIA


HORARIO = 0
ANTIHORARIO = 1
HORARIO_R = 0
ANTIHORARIO_R = 1
Return

EndIf

Include "uPLC_PROY_5X5X5.inc"
End

Then

Obtencin de datos
Resultados obteniendo un total de 3591 datos

4. Interfaz grfica con labview

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

Programacin completa del microcontrolador


Device = 18F452
Xtal = 20
;
All_Digital = TRUE

' Set PORTA and PORTE to all digital

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

Dim REFERENCIA_ALT_LABVIEW As Word


Dim REFERENCIA_ACI_LABVIEW As Word
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INICIO:
GIE = 0
While GIE = 1 : GIE = 0 : Wend
TRISA = %11111111
TRABAJO
ADCON1.7 = 1
TRISB = %00000000
TRISC = %10000001
PORTC.2 = 0
TRISD = %00000011
PORTD = 0
TRISE.0 = 1
TRISE.1 = 1
TRISE.2 = 1
Print $FE, 1
Print At 1, 1, "
DelayMS 1000

' TURN OFF GLOBAL INTERRUPTS


' AND MAKE SURE THEY ARE OFF

;SE CONFIGURAN CONDICIONES INICIALES DE


;
;
;SE PONE A CERO EL RW DE LA LCD

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

If REFERENCIA_ALT > 113 Then


If REFERENCIA_ACI < 63 Then

REFERENCIA_ALT = 113
REFERENCIA_ACI = 63

Print At 1,1,"ALT:",Dec2 alfa_s_g," ", Dec REFERENCIA_ALT,"


Print At 2,1,"ACI:",Dec2 gamma_c_g," ",Dec REFERENCIA_ACI,"

"
"

PC

;;;;; HSerOut [REFERENCIA_ALT,REFERENCIA_ACI] ;SE ENVIA LOS DATOS A LA


; DelayMS 20
;REFERENCIA_ACI = 500
GoSub POSICIONA_ACI
;REFERENCIA_ALT = 50
GoSub POSICIONA_ALT
GoTo PRINCIPAL

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
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

;SE REALIZA UN AJUSTE PARA EL CALCULO POR

''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)

''

Print At 2,1,"DT:",Dec2 delta," hr:",Dec hr,"

''

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:

For REFERENCIA_ACI = 50 To 750 Step 100


; HSerOut ["MOVIENDO MOTOR A: ",Dec
REFERENCIA_ACI] ;SE ENVIA LOS DATOS A LA PC
FLAG_POSICION_ACI = 0
While FLAG_POSICION_ACI = 0
GoSub POSICIONA_ACI
Wend
DelayMS 1000
Next

For REFERENCIA_ALT = 50 To 750 Step 100


; HSerOut ["MOVIENDO MOTOR A: ",Dec
REFERENCIA_ACI] ;SE ENVIA LOS DATOS A LA PC
FLAG_POSICION_ALT = 0
While FLAG_POSICION_ALT = 0
GoSub POSICIONA_ALT
Wend
DelayMS 1000
Next
Return
POSICIONA_ACI:

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

If SEN_POSICION_ACI < REFERENCIA_ACI


HORARIO_ACI = 1
ANTIHORARIO_ACI = 0
EndIf
If SEN_POSICION_ACI > REFERENCIA_ACI
HORARIO_ACI = 0
ANTIHORARIO_ACI = 1
EndIf

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

If SEN_POSICION_ALT > REFERENCIA_ALT


HORARIO_ALT = 0
ANTIHORARIO_ALT = 1
EndIf

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

' Clear the Average


' We will take 10 samples
' Place the
' Build up the Average
' Close the loop

' Clear the Average


' We will take 10 samples
' Place the
' Build up the Average
' Close the loop

Interfaz grfica en Labview


Tabla para ingresar horas en la plataforma de Labview

Interfaz grfica final

En esta ventana se configura la comunicacin con el programa Visa instalado


previamente en la plataforma de Labview, se ingresa el retardo de 15 ms, los
bautios que se trabajaron con 9600, transmisin de 8 bits.

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

Brjula Sun Surveyor Lite


Sun Surveyor Lite (Brjula del Sol Lite) calcula y visualiza la posicin del Sol, sus
horas de salida y puesta con una brjula 3D. Brjula del Sol Lite es til para elegir
localizaciones para el cine y la fotografa, orientacin de paneles solares,
arquitectura, jardinera, empresas de construccin, aficionados a las ciencias de la
Tierra.

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

PIC 16F887 para

que este se encargara de la conversin analgica digital as mismo la rotacin y


funcionamiento del servomotor el cual est programado con un cierto grado de
error para no estropear el brazo.
Una vez logrado esto podramos realizar la manipulacin de este con el programa
de Labview ya que este programa tiene la finalidad de poder manipular un proceso
de forma virtual con datos reales. Para logra la manipulacin y control de nuestras
variables fsicas fusionen

correctamente para ello es

necesario

la

implementacin de una tarjeta entrenadora y la USB-SER RS-232. Ya que el


prototipo es experimental

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

RS-232. Instalando un controlador para el cable reconociendo la computadora


como com5 y por medio de la interfaz grfica adquirir esos datos que enva el
microcontrolador

y recibir informacin de las posiciones de nuestro sensor

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.

McComb Gordon. The Robot Builders Bonanza, tercera edicin, McGraw-Hill.

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/

Das könnte Ihnen auch gefallen