14 de mayo de 2015

Control y Monitorizacion de Huerto Parte II: Arduino MEGA2560 y sensores

ESPECIFICACIONES INICIALES MEGA 2560
Este es el modelo de arduino con el que vamos a intentar ir desarrollando el proyecto. De todas las especificaciones de la placa, vamos a resaltar algunas que vamos a tener presentes desde el principio:
  • 54 DI/DO (Digital Input/Digital Output)
    • 02-13 PWM (tienen posibilidad proporcionar salidas alimentadas) I/O: 5V-40mA
      IMPORTANTE:
      Estos pines pueden ser usados como AI/AO.
      Hay que saber que aunque cada pin individual PWM está habilitado para ofrecer 40mA.Arduino agrupa la os pines tomando como restricción que ofrezcan a lo sumo 100mA(0,1,2,3,4) y 100mA(5,6,7,8,9,10,11,12,13).
    • 22-53 DIGITALES si alimentación. I/O: 5V-40mA/5V
  • 16 AI (Analog Inputs)
    • A01-A15
      Pueden recibir voltajes en el rango 0-5V. La placa solo trabaja de forma digital, por lo que incorpora a cada canal un conversor analógico-digital de 10bits.
      NOTA: los pines hembra AI pueden ser usados totalmente como DI/DO numerándose entonces como 14-28.


  •  4 TTL-UART (Puertos Serie por Hardware)
    • (TX0,RX0),(TX1,RX1),(TX2,RX2),(TX3,RX3)
  • Conexión USB,Conexión ICSP
  • Botón RESET.
ALIMENTACIÓN
La placa Arduino Mega trabaja bajo un voltaje de 5V. Dicho voltaje podemos ofrecerlo de varias formas:
  • USB: La forma más sencilla sera conectarlo al ordenador, a través de un puerto USB. El puerto controlará el voltaje a 5V y ofrecerá un consumo máximo de 500mA. En este caso la potencia máxima consumida por la placa no excederá de los 2,5W. En caso de ser sobrepasado el límite, la placa cuenta con un fusible reseteable que interrumpirá las comunicaciones hasta que desaparezca el motivo por el que se activó. Si se usa esta forma de alimentación, es clara la necesidad de calcular el consumo necesario, sobre todo en proyectos con elementos que consumen mucha potencia.
  • FUENTE EXTERNA: Hablamos en este caso de alimentar la placa con un transformador AC/DC o con una batería. La conexión puede realizarse al conector tipo jack 2,1(Exterior-,Interior+) o a los bornes Vin(+) y GND(-) de la placa. En este caso la placa esta preparada para recibir un voltaje de 6-20V aunque lo recomendable es 7-12V. La placa ya se encarga de acomodar este sobrevoltaje a 5V.
    Se debe saber que si la placa está conectada mediante el jack, el borne Vin ofrecerá 5V y 40mA, que pueden ser usados para alimentar algún elemento consumidor externo.
    Idéntica funcionalidad tenemos en el borne llamado 5V.
    El borne 3,3V ofrece este voltaje y un amperaje de 50mA.
SENSORES

Nuestro objetivo es controlar un huerto/invernadero. Tendremos que pensar que variables me gustaría controlar y buscar los posibles elementos que me posibiliten dicho control. Enumeremos las variables y posteriormente veremos que sensores, usaremos.
  1. Luminosidad o intensidad de luz que reciben las plantas.
  2. Temperatura del entorno.
  3. Temperatura dentro del huerto/invernadero.
  4. Humedad relativa del ambiente.
  5. Humedad del suelo.
  6. Nivel de liquido en depósitos, quizás abono, quizás agua...
La información de los sensores que escribo a continuación ha sido extraída de varias paginas web, sobre todo de venta de dichos sensores. No es complicado encontrar bastante mas información de cada uno de ellos.
SENSOR DE LUMINONSIDAD: TSL2561

El Lux Sensor TSL2561 es un sensor de luz digital avanzada, ideal para utilizarse en un amplio rango de aplicaciones. Comparado con las fotoceldas CdS de bajo costo, este sensor es más preciso, permitiendo cálculos exactos de luz y puede ser configurado sobre la marcha con diferentes rangos de ganancia para detectar rangos de luz de hasta 0.1 . 40,000+. La mejor parte de este sensor es que contiene diodos tanto en el espectro infrarrojo como en el completo. Esto significa que permite realizar mediciones separadas de luz infrarroja y de espectro completo o luz visible al ojo humano. La mayoría de los sensores pueden detectar solo una de las dos.
El sensor tiene una interfaz digital I2C. Puedes seleccionar una de las tres direcciones para que así puedas tener hasta tres sensores en el microcontrolador, cada uno con una dirección I2C diferente. El consumo de corriente es extremadamente bajo, así que es perfecto para registro de datos de baja potencia (alrededor de 0.5mA al detectar actividad y menos de 15uA en modo apagado).  
Características: 
  • Se aproxima a la respuesta del ojo humano
  • Medidas de iluminación precisas en diversas condiciones de luz 
  • Rango de temperatura: -30 to 80 *C
  • Rango dinámico (Lux): 0.1 to 40,000 Lux
  • Rango de voltaje: 2.7-3.6V
  • Interfaz: I2C
  • Esta tarjeta/chip utiliza direcciones I2C de 7-bits 0x39, 0x29, 0x49, seleccionable con jumpers.

SENSOR DE TEMPERATURA EXTERIOR TMP36
El TMP36 es el sustituto del LM335A y es un sensor de temperatura analógico muy popular y sencillo de utilizar. Funciona como un diodo Zener con un voltaje de corte proporcional a la temperatura absoluta con un rango de 10mV/ºK. Conecta una resistencia desde 5V a GND y el sensor te dará en su salida un voltaje que podrás medir con el ADC de tu microcontrolador favorito y también con Arduino. La salida del sensor es lineal por lo que no tendrás que hacer calculos de conversión. Puede operar de -40ºC a 100ºC.

Para obtener un menor margen de error (típico de 1%), debes calibrar el sensor. Consulta el datasheet.
Características:
  • Calibrado en grados Kelvin
  • Funciona desde: 400 μA a 5 mA
  • Impedancia: Menos de 1Ω
  • Fácil calibración con pin de ajuste
  • Temperatura de funcionamiento: -40 a 100 ºC

SENSOR DE HUMEDAD EN SUELO OCTOPUS


Sensor de humedad Octopus, puede leer la humedad presente en el suelo que lo rodea. Es un sensor de baja tecnología, pero ideal para monitorear un jardín urbano, o el nivel de agua de sus plantas. Esta es una herramienta indispensable para un jardín conectado!

Este sensor utiliza las dos sondas para pasar corriente a través del suelo, y luego lee la resistencia para obtener el nivel de humedad. Más agua hace que la electricidad circule por el suelo más fácilmente (menos resistencia), mientras que el suelo seco conduce la electricidad mal (mayor resistencia).
Specification
  • Power supply: 3.3v or 5v
  • Output voltage signal: 0~4.2v
  • Current: 35mA
  • Pin definition:
  • Analog output(Yellow wire)
  • GND(Black wire)
  • Power(Red wire)
NOTA: Con objeto de evitar en la medida de lo posible los efectos de la electrólisis en el sensor habilitaremos junto a este un relé que solo deje pasar la electricidad cuando vaya a ser tomada la lectura.

SENSOR DE TEMPERATURA y HUMEDAD INTERIOR DHT11
Los sensores DHT11 nos permiten medir la temperatura y la humedad. A diferencia de otros sensores, éstos los tendremos que conectar a pines digitales, ya que la señal de salida es digital. Llevan un pequeño microcontrolador interno para hacer el tratamiento de señal.

¿Cómo funcionan?

Se componen de un sensor capacitivo para medir la humedad y de un termistor. Están calibrados por lo que no es necesario añadir ningún circuito de tratamiento de señal. Esto sin duda es una ventaja porque nos simplifica las cosas en la protoboard. Además, como los DHTxx han sido calibrados en laboratorios, presentan una gran fiabilidad.

Funcionan con ciclos de operación de duración determinada de 1s. En este tiempo, el microcontrolador externo (Arduino por ejemplo) y el microcontrolador que lleva integrado el sensor, se hablan entre sí de la siguiente manera:
  • El microcontrolador (Arduino) inicia la comunicación.
  • El sensor responde estableciendo un nivel bajo de 80us y un nivel alto de 80us.
  • El sensor envía 5 bytes.
  • Se produce el handshaking.
A modo resumen, las características de cada uno de los sensores las resumimos en la siguiente tabla:
Parámetro DHT11
Alimentación 3Vdc ≤ Vcc ≤ 5Vdc
Señal de Salida Digital
Rango de medida Temperatura De 0 a 50 °C
Precisión Temperatura ±2 °C
Resolución Temperatura 0.1°C
Rango de medida Humedad De 20% a 90% RH
Precisión Humedad 4% RH
Resolución Humedad 1%RH
Tiempo de sensado 1s
Tamaño 12 x 15.5 x 5.5mm

SENSOR DE NIVEL HC-SR04
El sensor de ultrasonidos se enmarca dentro de los sensores para medir distancias o superar obstáculos, entre otras posibles funciones.
En este caso vamos a utilizarlo para la medición de distancias. Esto lo consigue enviando un ultrasonido (inaudible para el oído humano por su alta frecuencia) a través de uno de la pareja de cilindros que compone el sensor (un transductor) y espera a que dicho sonido rebote sobre un objeto y vuelva, retorno captado por el otro cilindro.
Este sensor en concreto tiene un rango de distancias sensible entre 3cm y 3m con una precisión de 3mm.

¿Qué recibimos en el sensor? 

El tiempo que transcurre entre el envío y la recepción del ultrasonido.

¿Cómo vamos a traducir dicho tiempo en distancia?

 Aprovechando que la velocidad de dicho ultrasonido en el aire es de valor 340 m/s, o 0,034 cm/microseg (ya que trabajaremos con centímetros y microsegundos). Para calcular la distancia, recordaremos que v=d/t (definición de velocidad: distancia recorrida en un determinado tiempo).
De la fórmula anterior despejamos d, obteniendo d=v·t, siendo v la constante anteriormente citada y t el valor devuelto por el sensor a la placa Arduino.
También habrá que dividir el resultado entre 2 dado que el tiempo recibido es el tiempo de ida y vuelta.

8 de mayo de 2015

Control y Monitorizacion de Huerto Parte I: Instalación y Comunicación entre LabView y Arduino MEGA 2560

ARDUINO MEGA 2560




OBJETIVO 

Como bien muestra el título, el objetivo es controlar un huerto, dividido en varias zonas de cultivo, que, concretaremos más adelante. Además el huerto será cerrado, por lo que también controlaremos las variables externas, internas y de seguridad, como el control de presencia.

Nuestra intención es conectar arduino, al un pc mediante USB, en principio, controlándolo y recibiendo sus señales mediante el software LabView, despues tendremos que conseguir conectar dicho software a un servidor web con una base de datos Mysql, para que quede registro de todo y accesible desde el exterior del sistema vía web...¡esperemos que no sea demasiado!

HARDWARE

El hardware que vamos a usar será:
-Ordenador PC corriendo bajo windows 7 y con recursos suficientes.
-Placa arduino MEGA 2560. Es la que posee mayor numero de posibles conexiones.
-Sensores de temperatura, humedad, volumétricos...más adelante nos plantearemos que vamos a necesitar y ajustaremos el número.

SOFTWARE

El software que vamos a usar, será libre o sujeto a licencia de prueba de varios días.
-LabView 2014, citaremos su web, www.ni.com , LabVIEW es una plataforma de programación gráfica que ayuda a ingenieros a escalar desde el diseño hasta pruebas y desde sistemas pequeños hasta grandes sistemas. Ofrece integración sin precedentes con software legado existente, IP y hardware al aprovechar las últimas tecnologías de cómputo. LabVIEW ofrece herramientas para resolver los problemas de hoy en día y la capacidad para la futura innovación, más rápido y de manera más eficiente.
-WAMP, que nos dotará de un servidor apache y una base de datos MySQL.

DESCRIPCIÓN DEL PROCESO

PASO 1:Instalación del software NI LabView 2014 en el ordenador.

PASO 2:Descargar e instalar NI-VISA.

Yo voy a instalar la versión 14.0.1, que es la ultima que se adapta a Windows 7. Son 643 Mb, es buena idea usar un software de descarga como JDownloader. Yo he tenido que registrarme en National Instruments...

Link a web de descarga oficial TODOS LabView
Link a version 14.0.1

Virtual Instrument Software Architecture (VISA) es un estándar para la configuración, programación y resolución de problemas en sistemas de instrumentación, que comprende las interfaces GPIB, VXI, PXI, Serial, Ethernet, y / o USB. VISA proporciona la interfaz de programación entre los entornos de hardware y de desarrollo, como LabVIEW, LabWindows / CVI y Measurement Studio para Microsoft Visual Studio. NI-VISA es la implementación de National Instruments de la norma VISA E / S. NI-VISA incluye bibliotecas de software, servicios interactivos, como NI de E / S de seguimiento y el Control Interactivo VISA y programas de configuración a través de Measurement & Automation Explorer para todas sus necesidades de desarrollo. NI-VISA se envuentra de serie en toda la línea de productos de National Instruments. Con NI-VISA, usted puede estar seguro de que su desarrollo de software no se convertirá en obsoleto cuando sus necesidades de hardware de interfaz de instrumentación evolucionan hacia el futuro.

Una vez instalado el controlador debemos verlo en LabView...

PASO 3: Instale JKI VI Package Manager (VIPM) Community Edition
LINK de Descarga

PASO 4: Instalar la interfaz para Arduino usando el kit JKI VI.
1. Asegurarse de tener la ultima versión del paquete JKI VI.
2. Abrir el software del paquete VIPM o VI Package Manager. Si al ejecutarlo, falla, lo más probable es que tengamos algún problema de configuración en LabView. De ser así, ver ARTÍCULO. Si no, al abrirlo se descargaran los archivos necesarios del ftp de NI LabView, de forma automática.
3. Buscar en el explorador del JKI VIPM el paquete llamado LabView Interface for Arduino, en mi caso, la versión que aparece es la 2.2.0.79



4. Teniéndolo seleccionado, hacer click en el botón Install Packages.Dejar que se descargue e instale, aceptando los comentarios que van saliendo.

5. Click Finish. Verificamos que todo ha salido de forma correcta. Reiniciar si estaba abierto el LabView.

La interfaz de LabVIEW para Arduino ya está instalada en su sistema. Una vez instalado el kit de herramientas puede utilizar VIPM para comprobar las actualizaciones de la misma. Cuando haya una actualización del kit de herramientas el icono en VIPM cambiará. Al hacer clic en el botón Actualizar paquetes actualizará el conjunto de herramientas para la última versión.

 PASO 5: Conectar ARDUINO al PC.
1. Descargar la última versión del IDE de Arduino para nuestro sistema operativo, Windows 7. En mi caso es la versión 1.6.4 , con 77'3 Mb.
2. Realizar la instalación del paquete...todo por defecto....esperar a que termine.
3. Conectar el Arduino mediante el cable USB al PC
4. Windows intentará instalar los controladores para el Arduino, pero no será capaz de encontrar los controladores correctos. Para confirmar si se ha instalado el controlador o no, abra el Administrador de dispositivos de Windows. En Windows 7, esto se puede hacer en clic en Inicio, seleccione Panel de control y seleccionar Administrador de dispositivos. Debe de aparecer en Otras Fuentes.
 5. Hacemos click  en el botón derecho y sobre el arduino, seleccionando propiedades. Pinchamos en actualizar driver...Seleccionar que lo vas a buscar dentro de tu PC...y seleccionar la ruta de los drivers anteriormente instalados...C:\Program Files (x86)\Arduino\drivers....en mi caso.

Una vez finalizado estos pasos Arduino debe aparecer como en la imagen, en los puertos COM y LTP.

PASO 6: Cargar la interfaz del LabView para el firmware de Arduino en nuestro propio Arduino.
Al revisar la información que sobre el tema existe en la web de National Instruments vemos que el interfaz LIFA, que es del que habla todo el mundo, quedó obsoleto y ha sido reemplazado por uno que se llama LINX. El Link de descarga se encuentra en la pestaña Recursos.
 Entre las opciones nos da la posibilidad de descargarlo usando el VIPM...haya vamos.

1.Abrimos VIMP, buscamos MakerHub LINX...y lo descargamos e instalamos como antes....le damos a continuar...aceptamos licencias...esperamos a que se descargue e instale todo...y FINISH...
2.Reiniciamos LabView
3.Click Tools»MakerHub»LINX»Firmware Wizard…

4.Seleccionamos nuestra Device Family...y next

5. Nos pedirá que seleccionemos donde se encuentra conectado nuestro arduino. Si nos fijamos en la imagen del arduino en el explorador de dispositivos que vimos antes vemos junto al nombre que, en mi caso está conectado en el COM6...así que es ese el que debo seleccionar. Seleccionamos la versión de Firmware Serial/USB y next. Los leds RX y TX de arduino deben encenderse.

6. Abrir Launch Example...y seguir las instrucciones.
 Nos llevará por el típico ejemplo de verificación de comunicaciones que consiste en hacer parpadear un led.


Seleccionamos el COM6, la salida 13, colocamos un led en GND y output 13 del arduino, hacemos click el la flecha que hay arriba a la derecha...la cual hará correr el programa...pinchamos en el botón verde y EUREKA...encendemos y apagamos el led...todo correcto!!!...

7 de mayo de 2015

YIELDAPP(SCAFFOLD CASE) I: A solution for the lack of information and protocols into the production phase of a company

Example: VIDEO about SCAFFOLD FORM in YIELDAPP

GENERAL PROBLEM

It is not uncommon to find companies, whether small or large,with a deficit in the acquisition, processing and study of the information on its production phase or main activity. As often as the lack of procedures and protocols for optimizing and improving the way of working in each of the performed activities.


SUBJECT AND SPECIFIC PROBLEM

The object of study and improvement which we are going to use like example, will be defined as a medium-sized company with multiple locations inside and outside the country, so we would be talking about applying the solution to different languages.That company offers assembly services, removal and installation of scaffoldings and covers. This company makes most of its services in external work centers and industrial ambients, getting a high volume of activity during all seasons. The registration of the tasks and subsequent accounting of this production is made manually and, this is made using a paper format. This entails among others, several problems:
  1. Slowness in taking decisions affecting the workforce. It's impossible to know the current workload, or in the short-term, for taking actions and avoid the movement of personnel between different workplace for performing efficiently the workload.
  2. Loss of the information necessary for bringing the accounting tasks. Often, the delivery notes are lost in time and space, between the workplace and the office where the accounts are maintained. So, loosing this information for many of the works will force us to not counted them, or in the best case, will not to be done this, without causing discomfort to the client.
  3. The budget and assessment of the made tasks are not done quickly and effectively, because studies and budget should be ordered to the accounting office.
  4. The client does not have access to an account,for example, monthly tasks, done, in progress or completed, budgets or total amount.
  5. The client can not perform task requests without having to make contact with company personnel, through daily or weekly meetings. Nor can request urgent tasks when no staff present in the workplace easily and with few formalities.

OBJECTIVES AND REQUIREMENTS

Making a software tool will be the objetive.This software must to be as cheap as possible to be able to get sufficient and necessary information about the production process of the company, ie, assembly, disassembly and installation roofs and scaffolding. It should be achieved through "smart" and dynamic forms, which will not only obtain  information,they will force the tasks to follow a prescribed procedure.

It would be relatively easy to program a custom application for the company, but, to the main objetive we will add that the application should be able to be used by another company in the sector, or other sectors, so that the complexities are increasing, since it will be necessary utilities implement dynamic generation of information, forms and proceedings.

Counting objectives and requirements:

  1. Using software low cost or free insofar as possible: laravel, WAMP, PHP, MySQL, Javascript, JQuery, jtable ...
  2. Accessibility via Internet: WAMP provides a Apache web server.
  3. Multi-language: Possibility of several languages internally set to begin Spanish and English, making it possible to increase the list.
    At login, the user must choose your company and provide their registration data, and it is possible the choice of language.
    Set languages from the application

  4. Accessing using different profiles as system configuration, management of the company, customers, field staff, management company should be able to access different parts of the application depending on the user profile what you've got.
  5. Dynamic tables with filters and searches: We'll use a javascript plugin called JTable, modified so that it can be configured from a MySql database, thus avoiding having to create or modify code every time we want to insert a new table, for example.
  6. Setting different calendars and schedules according profile or attributed to the time zone used for the performance of work,obtaining different categories of hours: Being able to define different calendars and schedules on the application can be used for crossing these with time intervals, and to give each category of hours of the range, for example, normaly, nightly, holidays hours ...
    Defined schedules graphically displayed

    Calendars

    Schedules


  7. Definition of workplaces, corporate customers, subcontractors and staff within these places: Defining this we can split productions and assists and assign each person to the roll that plays within the system and in the process, for example, the when performing a mount request, always is better to have the list of employees in the client company that can perform this action.
    Definition of subdivisions of the workplaces where assign activity

      
    WorkCenters
  8. Management and management of assistance schedules: Entering information when workers are into and out of their workplaces.
    Assistance Schedules Table
  9. Administration and management tasks (requests, in progress or completed) for each workplace.
  10. Production configuration, definition of processes applied, phases of these processes, and definition of parameters to identify those options: In our case we will define a product (scaffold), defined by the required fields like product name or dimensions.This product has several processes associated (mounting and dismounting), also defined by parameters, and in turn each process consists of phases (partial assembly and disassembly). This production structure (product + process + phase) is applicable to other products such as roofs, so we can generating them as needed.
    Product Definition

    Proccess definition

    Phases definition
  11. Dynamic and programmable forms related to the products offered: products will relate configured with a programming tool that enables dynamic, intelligent forms that lead users to the extent possible through a procedure studied and reduces the possibility of introducing misinformation.
    Once the logic of form is set we can see it as flowchart

    Form for entering schedules

    Initial part of the form to insert a scaffold
  12. Configuration and management of price tables, witch crossing with tasks,hours and made products, will value all in real time: For example, registering a request for assembly a scaffold with certain qualities and crossing it with a price list that is assigned by administering to a particular client, that client can know the price of the item and act accordingly, making the request or by modifying any of the parameters.
  13. Configuration and management of printable formats for delivery notes: Once the petition or during the course of the tasks, printing invoices of work that reflect all the information entered in the system and that enables to leave physically signed the process will be necessary.
  14. Enable the connection of the system to one of the many tools on the market such as ERP, or applications which provide "Business Intelligent" analysis level an exhaustive study of all the information entered in the system by monitoring, for example, performance parameters , as in our case could be m3 of scaffolding built for hours and hours invested types of implementation, and can make decisions that increase productivity and efficiency daily.

PREZI PRESENTATIONS

 In order to provide a better understanding of what I have described, here you have some dynamic presentations which are accessibles from any computer equipped with Internet and a browser.

I think about the name more appropriate for the application and development og this project...YIELDAPP.

It is under development. You could say that points 1 to 11 are made ... ACTIVATION ENERGY ON ...



APPLICATION ONLINE 

The application can be viewed using a private server. If anyone is interested in seeing it would send the URL address and a user to access.

EMAIL SERSORGON@GMAIL.COM

6 de mayo de 2015

Optimizar pérdidas en parque solares fotovoltaicos producidas por MISMATCH

EL PROBLEMA
En un parque solar fotovoltaico los paneles o módulos (PV) se encuentran conectados en series, formando lo que llamamos cadenas o strings (STR) y varias de estas cadenas, conectadas en paralelo, conformando los que llamamos bloques o blocks (BK). Es la misma distribución que encontramos en las diferentes células que conforman un módulo, con la diferencia de que un módulo, podemos quitarlo de una cadena y sustituirlo por otro fácilmente y una célula de un panel se antoja bastante más complicado.

Los PV suelen estar catalogados por potencia, dentro de un límite superior e inferior. Es decir, que podemos tener 100 módulos de 220W y que las potencias oscilen en torno a 200±2%, por ejemplo.
Las características particulares de cada uno de los paneles individuales, queda reflejado en lo que se denominan "Flash Tests". Aquí se muestra lo que podría ser un FT real:

Fabricante Modelo Watts(W) Eficiencia(%) Voc (V) Isc (A) Vmp (V) Imp (A) Tolerancia(%) Peso(Kg)
ST ST-340 340 15.76  50.5 8.85 42.0 8.1 -3.0~3.0  29.0 

Es precisamente el problema de la diferencia de voltajes entre módulos conectados en serie y en paralelo el que provoca un problema de perdida de eficiencia en nuestra instalación. Si tenemos varios ST configurados, por ejemplo, con el mismo tipo de módulos, para simplificar, y sus voltajes van desde 300V a 370V...desgraciadamente todos los ST bajarán su voltaje hasta el que menos ofrezca, en este caso 300. La distribución dentro de cada bloque de las placas que confirman cada uno de las cadenas puede llegar a ser un factor importante a la hora de optimizar el rendimiento del parque.

EL SUJETO
En este caso el sujeto podría ser cualquier parque fotovoltaico, pero en particular, yo lo tendría en cuenta para parques que se encuentran en las fases previas a la construcción, ya que es mucho más fácil ordenar las placas antes de ser instaladas que modificar el orden en parque ya construidos, aunque un estudio de lo que se encuentra construido y una valoración de las posibles mejoras nunca viene mal.

OBJETIVOS Y REQUISITOS
En primer lugar, tomando datos reales de un parque solar, simplemente por considerar que las placas han sido puestas sin ningun criterio que tenga en cuenta los problemas derivados del mismatch, realizaremos unos cálculos de donde podremos comparar de forma aproximada y estimada tres casos:
a) Potencia calculada a través de flash tests de la forma en la que están realmente instalados los módulos.
b) Potencia calculada segun flash tests en el peor de los casos en cuanto a orden se entiende.
c) Potencia calculada según flash test bajo supuesto de un voltaje medianamente optimizado.

En segundo lugar, compararemos estos tres casos para ver que porcentaje de mejora podríamos conseguir.

Por último, tendríamos dos decisiones posibles que tomar. En el primer caso, pudiera ser que ordenando las placas antes del montaje de estas, consiguiéremos un aumento significativo de la producción posterior. En el segundo caso, llegaríamos a la conclusión de que es menos costoso e igual de efectivo realizar el cálculo una vez instaladas las placas, calculando el voltaje por string y modificando únicamente los strings que peor voltaje ofrezcan, instalando otras placas que compensen esta bajada detectada. 


Si el caso fuese el primero,el siguiente objetivo sería conseguir un método iterativo al que ofreciéndole una lista de PV con sus respectivos Flash Tests y configurándole parámetros necesarios como el número de strings necesarios y los módulos por string que queremos instalar, nos proporcione la agrupación óptima de paneles, para que todos los string maximicen el voltaje y así optimizar la generación del parque.

 En un principio se realizaría el método en un archivo excel configurado con macros Visual Basic. De conseguir el propósito se estudiarán otras formas de usar dicho método, como por ejemplo, vía web, o software dedicado.

PASOS
1)Tomar una muestra de un parque real de los módulos instalados en un inversor, que es caso que nos ocupa, por su configuración.
2)Calcular los parámetros según la configuración real.
3)Calcular los parámetros obligando a la agrupación a ser la peor posible.
4)Calcular los parámetros para una agrupación equilibrada.
5)Calcular el posible % de mejora o empeoramiento producido por las reagrupaciones.
6)Estudiar si es viable la agrupación antes del montaje o si por el contrario es suficiente con detectar los strings mas deficitarios restituyendo el voltaje necesario para no degradar al conjunto.

DESCRIPCIÓN DEL PROCESO DE CÁLCULO.
Como la tabla que engloba a los flash test es muy larga para ponerla en el blog, voy a describir lo que me encuentro y dejarlo reflejado en resúmenes.
Los datos que van a describir nuestra instalación son los siguientes:
Link a archivo Excel con tablas
-2112 módulos que cuelgan de un inversor
-96 strings, cada uno de los cuales porta 22 módulos
-Rango de voltajes encontrado se encuentra entre 27,356V y 37,025V.
-Se realiza el calculo de sumar cada uno de los voltaje por string, estando en un rango comprendido entre 654,981V y 622,47V.
-Según esto...todos los strings estarían trabajando a 622,47V.







-Reorganizamos los strings ordenando de la peor forma posible los módulos, es decir, colocando en un string los 22 peores módulos encontrados. De esta forma vemos que la peor configuración provocaría que los strings trabajasen a 615,699V.

-Viendo en la gráfica la población de módulos que tenemos podemos suponer que seríamos capaces de realizar una configuración de strings cuya media por módulos fuese de 29,1V, que es justo el lugar donde la aportación en voltaje de los módulos esta en la mitad(corte de línea roja con verde). Con esta configuración media, diríamos que conseguiríamos que los strings trabajasen a 29,1*22=640,2V





Con estos datos podríamos suponer que mejoraríamos la peor de las configuraciones en un 3,83% y la actual en un 2,77%.


Si seguimos suponiendo...que el parque no se encuentra ni mejor ni peor...sino que esto el una medida adecuada de lo que nos encontraríamos.... el parque consta de una potencia instalada de 18MW...una mejora del 2,77% no hay que infravalorarla...sobre todo porque la generación es contínua. Los módulos que yo conozco perdían entre un 2% y un 3% anual...es decir...sería como ganarle una año de vida a la maxima potencia al parque...

¿Compensa ordenarlas?
Si comprobamos cuantos strings se quedan por debajo de la media, vemos que son unos 22, que habría que modificar para subirlos de voltaje.

Bajo mi punto de vista, y con la experiencia de haber formado parte del equipo de construcción de algún que otro parque, opino que la mejor forma de afrontar este problema sería:

-Obtener los flash test de las placas que vamos o hemos recibido lo antes posible. Con objeto de poder analizar la población con la que nos vamos a encontrar.
-Con estos datos podremos hacer un cálculo aproximado del voltaje medio que deberíamos tener.
-En fase de construcción y mediante alguna herramienta informática nada complicada y una pistola de códigos que nos permita vincular flash test con números de serie de placas, intentar conseguir que los strings ni se pasen ni se queden por debajo de nuestro voltaje estimado.
-En ultimo lugar verificar los strings ya construido el parque, analizando valores eléctricos reales, e intentando apuntar a aquellos string que nos provoquen fallos...seguramente serán muchos menos que los que nos hemos encontrado en este estudio.

No obstante, solo es el punto de vista que tengo...cada uno que saque sus conclusiones.




YIELDAPP I : Solución para la falta de información y protocolos en la fase productiva de una empresa.

EL PROBLEMA   GENERAL

No es poco frecuente encontrar empresas, ya sean de pequeño tamaño o grandes dimensiones con un déficit en la adquisición, tratamiento y estudio de la información referida a su fase productiva o actividad principal. Tan frecuente como la falta de procedimientos y protocolos que optimicen y mejoren la forma de trabajar en cada una de las actividades que realice.


EL SUJETO Y PROBLEMA CONCRETO

El objeto de estudio y mejora, que servirá de ejemplo, sera definido como una empresa de tamaño medio, con varias sedes dentro y fuera del país, por lo que estaríamos hablando de aplicar la solución a distintos idiomas, y que ofrece servicios de montaje, desmontaje e instalación de andamios y cubiertas. Dicha empresa realiza la mayor parte de sus servicios en centros de trabajo externos y de carácter industrial, consiguiendo un volumen de actividad bastante elevado y en todas las épocas del año. El registro de los trabajos y posterior contabilidad de los mismo se realiza de forma manual y mediante formato papel. Esto acarrea entre otros muchos, varios problemas:
  1. Lentitud a la hora de tomar decisiones que afecten a la plantilla de trabajadores. El imposible saber la carga de trabajo actual, o a corto plazo, evitando poder tomar actuaciones de movimiento de personal entre los diferentes centro de trabajo para realizar de forma eficiente el volumen de trabajo.
  2. Pérdida de la información necesaria para llevar la tarea contable. Es frecuente que los albaranes de trabajo se pierdan en el tiempo y espacio que hay entre el centro de trabajo y la oficina en la que se lleva la contabilidad. Por lo que al perder dicha información muchos de los trabajos no pueden ser cobrado o en el mejor de los casos, no pueden serlo, sí provocar molestias al cliente.
  3. El presupuesto y valoración de los trabajos a realizar no se realizan de una forma rápida y efectiva, ya que los estudios y presupuesto deben de ser pedidos a la oficina contable.
  4. El cliente no tiene acceso a un recuento, por ejemplo mensual de los trabajos realizados, en curso o finalizados, presupuestos y montante total.
  5. El cliente no puede realizar peticiones de trabajos sin tener que tomar contacto con personal de la empresa, mediante reuniones diarias o semanales. Tampoco puede solicitar trabajos urgentes en horas en las que no hay personal presente en el centro de trabajo de forma fácil y con pocos tramites.

OBJETIVOS Y REQUISITOS

El objetivo va a ser la creación de una herramienta informática, intentando que su coste sea lo más reducido posible, que sea capaz de conseguir la información suficiente y necesaria sobre el proceso productivo de la empresa, es decir, el montaje,desmontaje e instalación de cubiertas y andamios. Se deberá conseguir mediante formularios "inteligentes" y dinámicos, que consigan, no solo la información, sino que provoquen intrínsecamente que los trabajos sigan un procedimiento determinado.

Sería relativamente fácil realizar una aplicación a medida para dicha empresa, pero al objetivo principal añadiremos, que la aplicación debería poder ser usada por otra empresa del sector, o incluso de otro sector, por lo que la complejidad aumenta, ya que va a ser necesario implementar utilidades para la generación dinámica de información, formularios y procedimientos.Enumerando objetivos y requisitos:

  1. Uso de software de coste bajo o gratuito en la medida de lo posible: Laravel, WAMP, PHP, MySQL, Javascript, JQuery, Jtable...
  2. Posibilidad de acceso a través de Internet: WAMP proporciona un servidor web Apache.
  3. Multi-idioma: Posibilidad de configurar internamente varios idiomas, para empezar Español e Inglés, posibilitando aumentar la lista.
    En el registro el usuario debe elegir su empresa y ofrecer sus datos de registro, y ya es posible la elección del idioma.
    Definición de idiomas desde la aplicacion

  4. Acceso con diferentes perfiles como, configuración del sistema, administración de la empresa, cliente, personal de campo, dirección de empresa: Se debe poder acceder a partes distintas de la aplicación dependiendo del perfil de usuario que seas.
  5. Tablas dinámicas con filtros y búsquedas: Usaremos un plugin javascript llamado JTable, modificado para que pueda ser configurado desde una base de datos MySql, evitando así tener que crear o modificar código cada vez que se desee insertar una nueva tabla, por ejemplo.
  6. Configuración de diferentes calendarios y horarios según perfil o zona que atribuyan al tiempo utilizado en la realización de trabajos diferentes categorías de horas: Al poder definir distintos calendarios y horarios en la aplicación se podrán cruzar intervalos de tiempo con estos, y así darle categoría a cada una de las horas del intervalo, por ejemplo, hora normal,nocturna,festivos...
    Tabla de horarios definidos visualizados de forma gráfica

    Calendarios

    Horarios


  7. Definición de centros de trabajos, empresas clientes, empresas subcontratadas y personal dentro de estas: Definiendo esto conseguimos poder dividir producciones y asistencias, además de poder asignar a cada persona el roll que desempeña dentro del sistema y en el procedimiento, por ejemplo, a la hora de realizar una petición de montaje, siempre será mejor tener la lista de empleados en la empresa cliente que pueden realizar dicha acción.
    Definición de tajos(subdivisiones de los centros de trabajo donde asignar actividad)

      
    Centros de trabajo
  8. Administración y gestión de horarios de asistencia: Introducción de la información de entrada y salida de trabajadores en sus centros de trabajo.
    Ejemplo de tabla de jornadas
  9. Administración y gestión de trabajos(peticiones, en proceso o finalizados) por cada centro de trabajo.
  10. Configuración de producción, definición de procesos aplicados, fases de dichos procesos, y definición de parámetros que identifiquen a dichas opciones: En nuestro caso vamos a definir un producto (andamio), definido por los campos necesarios, como nombre,dimensiones.Dicho producto lleva asociado varios procesos( montaje y desmontaje) , también definidos por parámetros, y a su vez cada proceso está formado por fases (montajes y desmontajes parciales). Esta estructura de producción(producto+procesos+fases) es aplicable a otros productos, como cubiertas, por lo que podremos ir generándolos a medida que sean necesarios. 
    Definición de producción

    Definición de procesos de un producto

    Definición de fase de un proceso
  11. Formularios dinámicos y programables relacionados a los productos ofrecidos: Relacionaremos los productos configurados con una herramienta que posibilite la programacion de formularios dinámicos e inteligentes que conduzcan a los usuarios en la medida de lo posible a través del un procedimiento estudiado y que reduzca la posiblidad de introducir información errónea.
    Un vez configurada la lógica del formulario es posible verla como diagrama de flujo

    Formulario para insertar jornadas de trabajo

    Parte inicial del formulario para insertar un andamio
  12. Configuración y administración de tablas de precios que cruzadas con las jornadas laborales y productos realizados nos valoren todo en tiempo real: Por ejemplo al dar de alta una petición de montaje de un andamio con unas cualidades determinadas y cruzándolo con una tabla de precios que es asignada por la administración a un determinado cliente, dicho cliente puede saber el precio de dicho elemento y obran en consecuencia, realizando la petición o modificando alguno de los parámetros.
  13. Configuración y administración de formatos imprimibles, albaranes: Una vez realizada la petición o durante el transcurso de los trabajos se hará necesaria la impresión de albaranes de trabajo que reflejen toda la información introducida en el sistema y que posibilite de dejar firmado físicamente el proceso.
  14. Posibilitar la conexión del sistema a alguna de las muchas herramientas que hay en el mercado tales como ERPs, o aplicaciones de Bussiness Intelligent que ofrecerán a nivel de análisis un estudio exhaustivo de toda la información introducida en el sistema, monitorizando por ejemplo, parámetros de rendimiento, como en nuestro caso pudieran ser m3 de andamios construidos por horas y tipos de horas invertidos en su realización, pudiendo así tomar decisiones que aumenten la productividad y eficiencia diarios. 

PRESENTACIONES PREZI

 Con objeto de ofrecer una mejor comprensión de lo descrito he creado unas presentaciones dinámicas accesibles desde cualquier ordenador dotado de internet y un explorador.

El nombre que es estimado oportuno para la aplicación en proyecto y desarrollo es YIELDAPP.
Se encuentra en fase de desarrollo. Se podría decir que los puntos de 1 al 11 se encuentran realizados...ENERGIA DE ACTIVACIÓN EN MARCHA...



APLICACIÓN ONLINE 

LA APLICACIÓN PUEDE VERSE USANDO UN SERVIDOR PRIVADO. SI ALGUIEN ESTÁ INTERESADO EN VERLA LE ENVIARÍA LA DIRECCION URL Y UN USUARIO PARA ACCEDER COMO VISITANTE.


CORREO SERSORGON@GMAIL.COM