Novo software Arduino para estações Auriol H13726A e clones

Tópico em 'Instrumentos Meteorológicos' iniciado por Werk_AG 10 Abr 2013 às 00:10.

  1. hvalentim

    hvalentim
    Expand Collapse
    Cirrus

    Registo:
    13 Dez 2007
    Mensagens:
    71
    Local:
    Ch. da Caparica
    A propósito de links para projectos inspiradores.


    O Raspberry Pi não é tão flexível como o Arduino em termos de admitir a ligação/encaixe e controlo de outros dispositivos, mormente para colocar sensores a emitir no exterior mas tem uma capacidade de processamento muito mais interessante para funcionar como receptor, podendo matar dois coelhos de uma cajadada só: receber o sinal e servir como computador permanentemente ligado para emitir os dados em tempo real para a Internet.

    No link que coloco supra o autor explica como usa um Raspberry para descodificar e receber o sinal emitido por uma WH1081 (equivalente creio às PCE). O mesmo sistema/princípio pode ser no entanto usado para a W-8681-Solar com uma adaptação: esta emite na frequência dos 868MHz.


    Projecto ideal. Demasiado complexo e dispendioso, usando componentes de grande qualidade. Consiste na utilização de um Arduino para controlar um sistema motorizado capaz de manter permanentemente apontado ao sol um espectrómetro, obtendo valores de radiação directa.

    Pesquisei no entanto sem grande sucesso formas e sensores para medir com um Arduino a radiação solar de outra forma que não por estimativa a partir da medida da luz. Encontrei uma explicação de como o fazer com uma célula fotovoltaica(*), o que me parece a forma mais plausível mas sem qualquer colação à ideia de o implementar de modo a enviar os dados via sem fios remotamente usando um Arduino:


    Interrogo-me no entanto se não seria possível aplicar o princípio ao uso de uma ou mais destas:


    Provavelmente não. Mas talvez usando uma célula de maior dimensão. O seguinte projecto constitui a este propósito um precedente:


    Quem se meta nisso, há-de depois ver-se perante a necessidade de coligir, processar e incorporar os dados com um qualquer software. A solução óbvia usando um Raspberry é de certo o Weewx (demo da interface padrão de apresentação dos resultados aqui). Este é programado em Python e mediante a sua arquitectura aberta, admite a concepção de novos serviços para novos sensores.

    Depois, no universo Python, passíveis de entrosamento com o Weewx expandindo este para o fim em vista e para produzir resultados "engraçados" encontrei em particular disponíveis "já feitos" dois "packages" com interesse:


    ClearFinder​

    Tudo considerado a tarefa afigura-se fazível mas complexa q.b.
     
    Collapse Signature Expandir Assinatura
  2. Werk_AG

    Werk_AG
    Expand Collapse
    Cumulus

    Registo:
    12 Jan 2013
    Mensagens:
    269
    Local:
    Cercal CDV
    Toda esta informação que tem publicado tem sido muito util, e na medida do possível tenho procurado seguir alguns dos links e extrair alguma coisa.

    De um deles surgiu uma nova possibilidade para o sensor Solar que quiz explorar: fazê-lo a partir de uma celula fotovoltaica. Já foi feito por alguns pelo que pude ver em fóruns internacionais, e os resultados ainda muito embrionários que obti mostram-se promissores.

    As dificuldades são a calibração, pela falta de equipamento de referência. Durante o dia de hoje tentei fazê-lo por comparação com os dados fornecidos no Wunderground por duas estação não muito distantes da minha localização.
    Ainda não tenho uma forma de fazer um log durante alguns dias (questões de tempo), talvez nas proximas folgas consiga alguma coisa.
    Surpresa muito boa tem sido o sensor UVI-01, praticamente durante toda a tarde de hoje, deu resultados muito semelhantes ao das estaçoes que estava a monitorizar. Acabei por incluí-lo (o outro ainda não chegou) neste protótipo de sensor Solar + UV.



    Testes e medições...

    [​IMG]


    Sensores e electronica montados num candeiro solar de embutir no solo totalmente desventrado. Excelente estanquecidade

    [​IMG]


    Pormenor do Sensor UVI-01 da REYAX

    [​IMG]


    Resultado final muito sólido e robusto

    [​IMG]


    Os dados deste sensor serão tambem para enviar via RF pela unidade que referi num tópico anterior.
    Entretanto o software do emissor e consequentemente do receptor sofreu algumas modificações. Possivelmente próximas versões do software do receptor só irão correr em Arduino Mega, devido às limitações de memória do UNO.


    Quanto ao Weewx, já dei uma olhada... pelo facto de ser Linux, por agora não poderei usá-lo. Nada contra o Linux, antes pelo contrário, utilizo com alguma frequência e tenho máquinas só com ele, mas a máquina onde está a estação, serve tambem outros fins que implicam ser Windows. Poderia por exemplo correr uma imagem Linux numa Virtual Box... mas nesta máquina não me dá jeito fazê-lo.
     
    Collapse Signature Expandir Assinatura
  3. hvalentim

    hvalentim
    Expand Collapse
    Cirrus

    Registo:
    13 Dez 2007
    Mensagens:
    71
    Local:
    Ch. da Caparica
    O candeeiro solar é uma ideia de uma simplicidade brilhante.

    De quantos Ohms é o resistor usado?

    Entre outras, tenho aqui uma célula de um candeeiro solar que parece dar cerca de 2v em circuito aberto (cerca de 5cm2, seja uns 0.125A, para carregar 1 pilha AA). A que usou é idêntica?

    Por outro lado, o autor do artigo que citei anteriormente (Measuring Solar Radiation) parece dar favorecer a ideia de criar condições de forma a fazer a mediação com um voltímetro digital padrão na escala de até 200mA, no entanto fiquei com a ideia (porventura errada) de ter lido algures que o Arduino consegue nativamente discernir/dar leituras de voltagens até 5 volts. Assim, não se podia em alternativa usar múltiplas células em série? Como é que o executou?

    Cump.s,
     
    Collapse Signature Expandir Assinatura
  4. Werk_AG

    Werk_AG
    Expand Collapse
    Cumulus

    Registo:
    12 Jan 2013
    Mensagens:
    269
    Local:
    Cercal CDV
    Eu andava com os candeiros solares na mira apenas por causa das caixas serem estanques e resistirem bem ao calor, depois surgiu o seu topico em que se referia a possivel utilização de celulas solares para medir a radiação solar, e no mesmo dia, pela mão de Deus encontrei este candeiro no Lidl.

    A celula deste candeiro é suposto carregar duas pilhas AA. Em circuito aberto no dia dos testes medi 4,1V. Como não conhecia as suas caracteristicas fiz várias experiencias com diversas resistencias por forma a determinar com qual obtinha a máxima corrente. O valor que obtive a maxima corrente foi de 100 ohm. Com boa exposição ao sol, apenas pouco mais que 11mA. Achei este valor muito baixo, mas foi o melhor que consegui medir. No entanto com esse valor de R, a tensão que dispunha para injectar no arduino era pouco mais de 1 Volt e qualquer pequena variação na intensidade da luz solar provocava uma enorme queda mas leituras. Assim acabei por ficar com uma de 360 ohm. O que fiz depois, foi atendendo à voltagem lida pelo arduino, procurar determinar um factor, que resulta-se num valor W/m2 semelhante ao que estava a observar em algumas estações pela net. Para aquele dia, multiplicando a leitura por 0,75 fui obtendo resultados relativamente proximos dos que estava monitorizando, até ao sol se por.

    Certamente tudo isto vai ainda requerer algum tempo e muito mais testes... as celulas alteram o seu rendimento com a temperatura, posso tentar compensar isso se perceber qual o coeficiente... etc, etc

    O arduino UNO dispõe de 6 entradas analógicas e cada uma delas pode ser usada para conversão analógica digital com resolução de 10 bits, portanto 1023 niveis de medição. Por defeito pode usar sinais de 0 a 5V, mas podem ser usados outros valores inferiores, basta injectar no pin AREF uma outra qualquer tensão de referencia para o ADC, e ele vai ler entre 0 e essa tensão, sempre com resolução de 10bits. O arduino pode ser ainda configurado por software para usar uma tensão de referencia interna de 1,1V, obtendo assim uma excelente resolução para sinais pequenos, pois serão 1,1V/1023.

    Essa sua célula, com a R de carga certa, possivelmente poderia servir para ser lida numa escala de 0 a 1,1V.

    Nunca mexi em celulas solares, no entanto extranhei a baixa corrente obtida, atendendo a que é suposto carregar duas AA de 800mA/h.
    Estará a celula boa? Ela tem mais ou menos uns 4cm x 3 cm. Como tenho outro desses candeiros que ainda não destruí, nas proximas folgas vou tentar medir a corrente com que carrega as pilhas.
     
    Collapse Signature Expandir Assinatura
  5. hvalentim

    hvalentim
    Expand Collapse
    Cirrus

    Registo:
    13 Dez 2007
    Mensagens:
    71
    Local:
    Ch. da Caparica
    Relendo a explicação do método proposto pelo Chuck Wright. No fundo o que ele propõe - pela equivalência da medição do diferencial em volts obtido pela passagem através de um resistor conhecido/a calibrar muito pequeno - é medir num dado instante a corrente de curto-circuito da célula fotovoltaica (intercepção das linhas pretas com as linhas coloridas, correspondentes aos diversos níveis de irradiação que se pretendem medir/conhecer) cujo comportamento é tão mais linear e passível de ser medido em coerência quanto mais baixa a voltagem. Portanto, a ideia de puxar pela voltagem para aparentemente dar amplitude na verdade não funciona ou só pode funcionar usando mais ou maiores células.

    De outra forma, com resistências e voltagens muito grandes recai-se na parte da curva de comportamento da célula em que os valores desta última (voltagem) deixam de ser significativos para inferir a radiação. Traçando uma linha imaginária de 100 Ohms (ver gráfico, seguindo a tendência das outras que lá estão) dá creio para perceber porque é que nessas condições a amperagem também é tão pequena.

    Portanto, if I got it right, a coisa vai ter mesmo que ser medida na escala de 0 a 1,1v. Ainda assim usando de preferência mais células idênticas em série (mais voltagem com a mesma amperagem) ou uma célula maior.

    [​IMG]

    Deixo aqui dois gráficos exemplificativo do comportamento de uma célula de 2W 13V, atendendo também à questão que levanta da temperatura. Esta também parece menos relevante com voltagens baixas. Portanto talvez seja um factor negligenciável(?)

    [​IMG]
    [​IMG]

    PS: Quando escreve "basta injectar no pin AREF uma outra qualquer tensão de referencia para o ADC, e ele vai ler entre 0 e essa tensão" quer-se com isto significar que seria necessário prover uma fonte de tensão de referência estável? Em si isso seria problemático.
     
    Collapse Signature Expandir Assinatura
  6. Werk_AG

    Werk_AG
    Expand Collapse
    Cumulus

    Registo:
    12 Jan 2013
    Mensagens:
    269
    Local:
    Cercal CDV
    Começando pelo final... Sim é exactamente isso. A estabilidade da fonte de referencia é importante, razão pela qual muitas vezes se recomenda a utilização da ref. interna de 1,1V pela estabilidade da mesma.

    Obter um comportamento linear é de facto extramente importante para que funcione este tipo de medição.
    Com a célula fotovoltaica que testei, não obtive um comportamento semelhante ao mostrado nos gráficos, diria que graficamente se assemelha mais a uma parábola, pois para valores de R inferiores a 100 ohm a corrente voltava a decrescer. No entanto à luz destes gráficos irei tentar fazer novos testes.
    Considerando o exemplo mostrado no gráfico, e para a célula em causa, se não estou a interpretar errado, o intervalo de medição ideal seria entre os 0,4V e 0,55V, portanto uma latitude de medição de 150mV. Bastaria aplicar este input a um OP com ganho configurado de modo a que o output correspondesse linearmente a uma escala de 0V a 1,1V e poderia ser lido com resolução de 1,1V/1023 no Arduino.
    Algo parecido estou a fazer com o sensor UV, pois a saída dele é da ordem dos mili Volt (na imagem publicada anteriormente pode ver-se o OP)

    Quanto à variação da tensão de saída em função da temperatura, se pretendermos ser muito rigorosos, talvez não seja muito dificil adicionar um factor de correcção à leitura em função da temperatura, o que poderia implicar a adição de mais um sensor de temperatura junto à célula fotovoltaica.
     
    Collapse Signature Expandir Assinatura
  7. hvalentim

    hvalentim
    Expand Collapse
    Cirrus

    Registo:
    13 Dez 2007
    Mensagens:
    71
    Local:
    Ch. da Caparica
    Hum... As curvas correspondem às características da célula e não há nada que se possa fazer em relação a isso. São-nos "dadas".

    O ponto sobre o qual há que actuar é escolher um resistor que induza um comportamento/uma leitura em volts que as cruze linearmente (dentro de valores/limites em que a célula tem uma resposta tal que nos permite saber que com um diferencial de x volts observados sobre o resistor se está a produzir y amperes). Ou seja, na prática, quando correm o mais horizontais e paralelas (o multiplicador que buscou no fundo corresponde à inclinação da recta - que o Wright sugere seja de tal maneira que como resultado 1 mVolt = 10 Watts/m2).

    Na verdade, o importante aqui são os amperes, os volts e o resistor são um meio de chegar a eles.

    De qualquer forma, um resistor de 100 Ohms não parece poder funcionar. Tem que ser de muito menos.

    "Penso eu de que." Começa a ser mais "de electricidade" do que aquilo para que estou "cablado" ;)
     
    Collapse Signature Expandir Assinatura
  8. Werk_AG

    Werk_AG
    Expand Collapse
    Cumulus

    Registo:
    12 Jan 2013
    Mensagens:
    269
    Local:
    Cercal CDV
    Caro hvalentim

    Fez muito bem em insistir na questão da resistência!
    O meu desconhecimento sobre células fotovoltaicas e uma leitura, desta vez bem mais atenta do documento do Chuck Wright, levou-me a concluir que estava a abordar o problema de uma forma errada. Basei-me em alguma informação dispersa, em que se calculava o resistor para obter a máxima potencia da célula, o que para este efeito nada tem a ver. Apesar de alguma coerencia nos resultados obtidos, por certo que, se tivesse tido o tempo para fazer registos por um periodo mais prolongado, iria perceber que o sistema de entre outras possibilidades, pecaria por falta de linearidade.
    Vou procurar refazer o sistema com base na informação do Chuck, vamos a ver se os aparelhos de medida que disponho serão de alguma utilidade ou antes pelo contrario complicam... é dificil medir e ou obter valor de R tão baixos para utilizar, mesmo recorrendo apenas a um fio.

    Já agora deixo-lhe uma questão, o Chuck refere que: "(full sunlight is about 1000 watts per square meter)", já li algumas vezes que esse valor pode ser de 1300W/m2. Penso que esse valor pode ser variável consoante a localização geográfica (país, continente, hemisfério). Tem alguma ideia de qual o valor máximo para Portugal?
    Devo ter algures no PC, uma folha Excel que encontrei na net que presumivelmente calcularia o valor maximo teórico para uma dada latitude longitude ao longo de um periodo de tempo. Não estou bem certo disto pois foi já a algum tempo.

    Achei a dita folha Excel, será que isto pode ser util nos cálculos?

    solrad.zip
     
    Collapse Signature Expandir Assinatura
  9. hvalentim

    hvalentim
    Expand Collapse
    Cirrus

    Registo:
    13 Dez 2007
    Mensagens:
    71
    Local:
    Ch. da Caparica
    Para o fim em vista, calcular o valor da máxima irradiância no plano horizontal em condições de céu limpo só é útil quando se pretenda inferir pela comparação com os valores instantaneamente medidos o número de horas de sol para o dia. Como sabe, o Cumulus fá-lo usando para isso o modelo de Ryan-Stolzenbach que assenta sobretudo num parâmetro (para além obviamente da latitude e altitude): a transmissibilidade da atmosfera, o qual varia entre 0.7 e 0.91 (seja assume que entre 70 e 91% da radiação chega ao solo, já tentei pesquisar como é que eles chegaram a este intervalo mas sem sucesso).

    Dar esse valor como uma constante ao longo do ano no entanto não parece garantir a máxima precisão. Se vir no Excel que anexou, existem outros modelos bastante mais completos, como por ex. o de Bird(*). Simplesmente para os aplicar seria necessário, dia à dia, reunir um conjunto relativamente vasto de informação para fazer os cálculos.

    Eu o que constatei com o modelo R-S foi que uma transmissibilidade de 0.8 (o padrão do Cumulus) estava a subestimar os valores (conclusão digamos "empírica" porque os meus painéis solares, mesmo feita a ponderação da inclinação, temperatura etc estavam a atingir valores além). Assim optei por usar 0.9 (o máximo efectivo em todas as condições).

    Não ajuda em nada a medir a radiação instantânea efectiva. Como já escrevi, ajuda a compará-la com o que se sabe seria o seu máximo em condições de céu limpo para poder por exemplo concluir que: "se neste momento a radiação é 50% do que poderia é porque existem nuvens a encobrir o sol".

    A título de exemplo coloco aqui dois gráficos para a minha localização. Um com com a radiação ao longo do ano, baseado em dados históricos do Meteonorm (ano de 1990). Outro com o máximo previsto pelo modelo R-S (Trans. Fac. de 0.8). Vê-se que embora de facto 1000 W/m2 seja um máximo de referência all around muito usado, atinge-se com frequência valores acima do modelo (pontos pretos acima da linha azul).

    [​IMG]
    [​IMG]

    Uma boa fonte para este tipo de dados são as

    "The HelioClim Databases - Solar Radiation Values Derived from Meteosat Satellites"

    embora os valores apresentados sejam harmonizados e não ajudem muito no que toca o apuramento dos máximos. Para isso o histórico do meteomoita (sensor Davis) talvez possa ser uma referência mais útil.

    A julgar pelas observações deste último convém de facto prever um instrumento de medida capaz de ir pelo menos até 1400 W/m2.

    Na verdade o meteomoita regista valores máximos até acima de 1400 W/m2 (1464 em Junho) mas tendo presente que a própria irradiância total do Sol é de 1361 W/m² duvido muito que isso seja possível. Creio que o sensor Davis sobrestima qualquer coisa os valores.

    (*)
     
    Collapse Signature Expandir Assinatura
  10. Werk_AG

    Werk_AG
    Expand Collapse
    Cumulus

    Registo:
    12 Jan 2013
    Mensagens:
    269
    Local:
    Cercal CDV
    I ideia da tabela excel não seria para calcular a radiação instantânea, mas se serviria para ter uma ideia do máximo possível, pois se construir o aparelho exactamente pelas indicações do Chuck, o máximo que ele poderá ler são 1000W/m2. Talvez seja então melhor tentar desenha-lo para que possa fazer leituras até um pouco acima desse valor.

    Não sabia não. Como facilmente se depreende tenho muito pouco conhecimento nesta área... estou é tentando aprender. É um hobby tal como as pequenas coisas feitas com Arduinos
     
    Collapse Signature Expandir Assinatura
  11. hvalentim

    hvalentim
    Expand Collapse
    Cirrus

    Registo:
    13 Dez 2007
    Mensagens:
    71
    Local:
    Ch. da Caparica
    Sem dúvida. No conceito penso que as leituras devem poder ir até 1400 o que atendendo às limitações que apontou do Arduino corresponderia a uma resolução máxima possível de cerca de 1.4 W/m2.

    Lido numa escala de até 1,1v tal corresponderia a 1.075268817 mV por cada 1.368523949 W/m2, admitindo que o Arduino é capaz de ler com uma precisão de 1 mV.

    Agora, para com resistências muito baixas lograr atingir 1.1v será necessário ponderar usar outro modelo de célula fotovoltaica ou talvez mais plausivelmente um pequeno módulo solar que combine várias células. Neste particular tenho no entanto dúvidas relativamente à segurança e ao comportamento de um módulo permanentemente em curto-circuito, dado que muitos incluem diodos de protecção, para além de que é necessário ponderar a resistência introduzida pela própria ligação das células entre si. Eventualmente a solução mais controlável ainda será construir o módulo/ligar as células (e.g. estes modelos) artesanalmente.

    Outra estratégia, como já apontou, é usar um amplificador. Mas é preciso assegurar que este tem uma resposta uniforme.
     
    Collapse Signature Expandir Assinatura
  12. Werk_AG

    Werk_AG
    Expand Collapse
    Cumulus

    Registo:
    12 Jan 2013
    Mensagens:
    269
    Local:
    Cercal CDV
    Sem duvida que o melhor método aqui será recorrer ao uso de amplificadores operacionais (OP), já o estou a fazer com o sensor de UV, pois o seu output é entre 0 e 0,060V (60mV). A vantagem do uso de um OP é que podemos facilmente configurar o seu ganho para que o output caía na escala que pretendemos, e são praticamente lineares. Estou a usar um OP, muito especifico, normalmente designados de OP para instrumentação (exatamente para leitura de sensores com valores de output muito baixos), que além disso tem a particularidsde de ser Single Power Suply (não precisa de alimentação + GND -, e ser ainda Rail to Rail, isto é, o seu ouput pode ir até apenas uns milivolts abaixo do valor da tensão de alimentação.
    Se optar por fazer as medições no Arduino usando a tensão de referencia interna de 1,1V, para um input de, digamos 0,11V bastaria configurar o OP para um ganho de 10 e o seu output ( a ligar a um dos ADC do arduino) iria variar lineramente consoante o input de 0V a 1,1V.

    Se por exemplo aos 1400W/m2 correspondesse 1,1V (depois do OP) então teriamos uma resolução de 1400/1023 ou seja 1,3685W/m2... tal como você disse.

    PS: Estou ansioso por poder voltar a por as maos na obra... :-)
     
    Collapse Signature Expandir Assinatura
  13. hvalentim

    hvalentim
    Expand Collapse
    Cirrus

    Registo:
    13 Dez 2007
    Mensagens:
    71
    Local:
    Ch. da Caparica
    Se estou a raciocinar bem, nesse cenário era possível seguir proximamente o projecto do Wright, fazendo no entanto equivaler o máximo não a 100 mas a 140 mV a que seria aplicada uma amplificação de 7.857142857. Ainda que em termos práticos a calibração do máximo (na ausência do conhecimento das características precisas da célula usada) possa não ser fácil uma vez que são condições excepcionais, longe do dia-a-dia.

    Interrogo-me no entanto se valores de 0.1 mv são fielmente amplificáveis? Talvez seja esperar de mais em termos de precisão. Uma precisão em tese de 8-10 w/m2 parece mais plausível. Enfim, é testar.
     
    Collapse Signature Expandir Assinatura
  14. Werk_AG

    Werk_AG
    Expand Collapse
    Cumulus

    Registo:
    12 Jan 2013
    Mensagens:
    269
    Local:
    Cercal CDV
    Sim, eu gostaria de tentar seguir o projecto do Wright. Mas existem realmente várias dificuldades, a calibração do valor máximo é uma delas, mas a de arranjar uma resistência do valor correcto tambem é considerável, além de não conhecer as caracteristicas da célula PV. Como diz, é testar, testar...

    Já a questão de amplificar sinais tão baixos, para já não me preocupa muito, o OP que irei utilizar é suposto lidar bem com isso, embora nos valores muito proximos de zero, possa existir alguma flutução, o que não é grave.
     
    Collapse Signature Expandir Assinatura
  15. Werk_AG

    Werk_AG
    Expand Collapse
    Cumulus

    Registo:
    12 Jan 2013
    Mensagens:
    269
    Local:
    Cercal CDV
    Primeiro dia de testes no terreno:

    Os sensores usados não são os definitivos, e por agora, o que está em observação é a fiabilidade da electrónica e do software, a acuidade dos dados será numa segunda fase.
    No gráfico de radiação solar, são visíveis algumas falhas (13h10 os valores caem para zero). A causa já foi identificada, trata-se de um erro no software.

    O sensor UV usado neste teste tem uma sencibilidade de 4mV / UV. O OP usado para amplificação do sinal, parece estar a portar-se muito bem.

    [​IMG]

    [​IMG]
     
    Collapse Signature Expandir Assinatura

Partilhar esta Página