Estación para medir la velocidad y dirección del viento.

Una estación meteorológica doméstica de marca o casera mide dos temperaturas-humedad (en una habitación y en la calle), la presión atmosférica y además tiene un reloj con un calendario. Sin embargo, una estación meteorológica real tiene mucho más: un sensor de radiación solar, un medidor de precipitación y todo lo que, en general, se requiere solo para necesidades profesionales, con una excepción. Un instrumento de medición de los parámetros del viento (velocidad y, lo más importante, dirección) es una adición muy útil para una casa de campo. Además, los sensores de viento de marca son bastante caros incluso en Ali Baba, y tiene sentido buscar soluciones caseras.

Debo decir de inmediato que si supiera de antemano cuánto trabajo manual y dinero gastado en experimentos derramaría mi idea, tal vez no comenzaría. Pero la curiosidad pesaba más, y los lectores de este artículo tienen la oportunidad de evitar esas trampas por las que tuve que tropezar.

Para medir la velocidad del viento (anemometría), existen cientos de métodos, los principales son:

- alambre caliente,
- mecánico - con una hélice (más precisamente, un impulsor ) o un impulsor de copa horizontal ( anemómetro de copa clásico). La medición de la velocidad en estos casos es equivalente a medir la velocidad del eje en el que está montada la hélice o el impulsor.
- así como ultrasonido, combinando medidas de velocidad y dirección.
Para medir la dirección de los métodos menos:
- mencionado ultrasonido;
- Veleta mecánica con eliminación electrónica del ángulo de rotación. También hay muchas formas diferentes de medir el ángulo de rotación: óptico, resistivo, magnético, inductivo, mecánico. Es posible, por cierto, simplemente conectar una brújula electrónica al eje de la veleta: estos son métodos confiables y simples (para la repetición "hasta la rodilla") de transmitir lecturas desde un eje que gira al azar. Por lo tanto, elegimos el método óptico tradicional.

Si repite de forma independiente cualquiera de estos métodos, debe tener en cuenta los requisitos de consumo mínimo de energía y exposición durante todo el día (y tal vez durante todo el año) al sol y la lluvia. El sensor de viento no se puede colocar debajo del techo a la sombra; por el contrario, debe estar lo más alejado posible de todos los factores que interfieren y "abierto a todos los vientos". Una ubicación ideal es la cresta del techo de la casa o, en el peor de los casos, un granero o cenador, alejado de otros edificios y árboles. Dichos requisitos requieren energía autónoma y, obviamente, un canal de datos inalámbrico. Estos requisitos son responsables de algunas de las "campanas y silbatos" del diseño, que se describe a continuación.

Sobre el consumo mínimo de energía
Por cierto, ¿cuánto es el consumo mínimo de energía? Basado en las baterías domésticas de tipo AA ordinarias, el consumo de circuito promedio idealmente no debería ser más de 1-2 mA. Cuente usted mismo: la capacidad de un elemento alcalino decente de tamaño AA es de aproximadamente 2.5-3 Ah; es decir, un circuito con el consumo indicado funcionará durante aproximadamente 1500-2500 horas, o 2-3 meses. En principio, esto también es un poco, pero relativamente aceptable: no puede hacer nada menos: quiebra o use baterías que deberán cargarse con más frecuencia que cambiar las baterías. Por esta razón, al elaborar dicho esquema, estamos obligados a atrapar cualquier migaja: el modo obligatorio de ahorro de energía, circuitos cuidadosamente pensados ​​y la secuencia de acciones en el programa. Además, veremos que en el diseño final aún no cumplía con los requisitos necesarios y tuve que usar la batería.


Una historia cognitiva sobre cómo intenté reproducir el método más moderno y avanzado: ultrasonido, y fallé, contaré en otro momento. Todos los demás métodos implican una medición separada de la velocidad y la dirección, por lo que tuve que cercar dos sensores. Después de haber estudiado teóricamente anemómetros de alambre caliente, me di cuenta de que no podremos obtener un elemento sensible de nivel aficionado (¡están disponibles en el mercado occidental!), Pero inventarlo por mi cuenta, involucrarme en I + D regular con la pérdida de tiempo y dinero correspondiente. Por lo tanto, después de pensarlo un poco, decidí hacer un diseño unificado para ambos sensores: un anemómetro de copa con medición óptica de la velocidad de rotación y una veleta con medición electrónica del ángulo de rotación basada en un disco de codificación (codificador).

Diseños de sensores


La ventaja de los sensores mecánicos es que no se requiere I + D allí, el principio es simple y claro, y la calidad del resultado depende solo de la precisión de la ejecución de un diseño cuidadosamente pensado.

Así que, en teoría, parecía que, en la práctica, esto resultaba en un montón de trabajo mecánico, algunos de los cuales debían pedirse de forma lateral, debido a la falta de máquinas de torneado y fresado. Debo decir de inmediato que nunca me he arrepentido de haber confiado en un enfoque de capital desde el principio, y no comencé a hacer construcciones con materiales improvisados.

Para una veleta y un anemómetro, se necesitan las siguientes partes, que se deben solicitar a un operador de torneado y fresadora (la cantidad y el material se indican inmediatamente para ambos sensores):

imagen
Los ejes, notamos, están necesariamente girados sobre un torno: es prácticamente imposible hacer un eje con un punto exactamente en el centro sobre una rodilla. Y la colocación de la punta exactamente a lo largo del eje de rotación aquí es un factor determinante para el éxito. Además, el eje debe ser perfectamente recto, no se permiten desviaciones.

Sensor mecánico de dirección del viento - veleta electrónica


La base de la veleta (así como el sensor de velocidad a continuación) es un soporte en forma de U hecho de duraluminio D-16, que se muestra en el dibujo en la parte superior izquierda. Se presiona una pieza de fluoroplástico en el rebajo inferior, en el que se realiza un receso escalonado secuencialmente con brocas de 2 y 3 mm. Se inserta un eje en este hueco con un extremo afilado (para una veleta, de latón). Desde arriba, pasa libremente a través de un agujero de 8 mm. Sobre este orificio, los tornillos M2 sujetan al soporte una pieza rectangular del mismo fluoroplástico de 4 mm de grosor para que se superponga al orificio. Se realiza un orificio en el fluoroplástico exactamente a lo largo del diámetro del eje de 6 mm (ubicado exactamente a lo largo del eje general de los orificios; consulte el dibujo del conjunto a continuación). Ftoroplast arriba y abajo juega el papel de cojinetes deslizantes.
imagen
El eje en el lugar de fricción contra el fotoplástico se puede pulir, y el área de fricción se puede reducir al contrarrestar el orificio en el fluoroplástico. ( Consulte sobre este tema a continuación UPD del 13/09/18 y 05/06/19 ). Para la veleta, esto no desempeña un papel especial: alguna "inhibición" es incluso útil para él, y para el anemómetro, deberá intentar minimizar la fricción y la inercia.

Ahora sobre la eliminación del ángulo de rotación. El codificador gris clásico con 16 posiciones en nuestro caso se ve como se muestra en la figura:
imagen
El tamaño del disco se eligió en función del aislamiento óptico confiable de los pares emisor-receptor entre sí. Con esta configuración, las ranuras de 5 mm de ancho también están separadas por 5 mm, y los pares ópticos están separados exactamente por 10 mm. Las dimensiones del soporte al que está unida la veleta se calcularon precisamente sobre la base de un diámetro de disco de 120 mm. Todo esto, por supuesto, se puede reducir (especialmente si elige LED y fotodetectores del diámetro más pequeño posible), pero se tuvo en cuenta la complejidad de la fabricación del codificador: resultó que las fresadoras no realizaban un trabajo tan delicado, por lo que tuvo que cortarse manualmente con un archivo. Y cuanto más grandes son las dimensiones, más confiable es el resultado y menos molestias.

El dibujo de ensamblaje anterior muestra el montaje del disco en el eje. Un disco cuidadosamente centrado se sujeta con tornillos M2 al cubo del caprolon. El manguito se coloca en el eje de modo que el espacio libre en la parte superior sea mínimo (1-2 mm), de modo que el eje en la posición normal gire libremente y durante la revolución la punta no se caiga del zócalo de abajo. Los bloques de fotodetectores y emisores están unidos al soporte en la parte superior e inferior del disco, más específicamente sobre su diseño.

Toda la estructura se coloca en una caja de plástico (ABS o policarbonato) de 150 × 150 × 90 mm. Montado (sin cubierta y veleta), el sensor de dirección es el siguiente:

imagen

Tenga en cuenta que la dirección seleccionada hacia el norte está marcada con una flecha, deberá observarse al instalar el sensor en su lugar.

En la parte superior del eje, se adjunta la veleta real. Se realiza sobre la base del mismo eje de latón, en el corte en el lado romo del cual se suelda un vástago de latón. En el extremo afilado, se corta un hilo M6 de cierta longitud y se fija una carga redonda de contrapeso, fundida con plomo, con la ayuda de tuercas:

imagen

La carga está diseñada para que el centro de gravedad caiga exactamente en el lugar de fijación (moviéndolo a lo largo del hilo, puede lograr un equilibrio perfecto). La paleta se fija al eje utilizando un tornillo de acero inoxidable M3, que pasa a través del orificio en el eje de la paleta y se atornilla en el hilo cortado en el eje de rotación (el tornillo de fijación se puede ver en la foto de arriba). Para una orientación precisa, la parte superior del eje de rotación tiene un rebajo semicircular en el que se encuentra el eje de la veleta.

Sensor de velocidad de viento DIY - Anemómetro de copa DIY


Como ya entendió, la base para el sensor de velocidad con el fin de la unificación se eligió de la misma manera que para la veleta. Pero los requisitos de diseño aquí son algo diferentes: para reducir el umbral de arranque, el anemómetro debe ser lo más ligero posible. Por lo tanto, en particular, el eje para él está hecho de duraluminio, el disco con agujeros (para medir la velocidad) tiene un diámetro reducido:

imagen

Si se requieren cuatro optoacopladores para un codificador Gray de cuatro bits, entonces solo hay uno para un sensor de velocidad. Se perforaron 16 orificios alrededor de la circunferencia del disco a una distancia igual, por lo que una revolución del disco por segundo es equivalente a 16 hertzios de la frecuencia proveniente del optoacoplador (son posibles más orificios, menos posibles; la única pregunta es la escala de conversión de energía y ahorro de energía para los emisores).

Un sensor casero seguirá siendo bastante irregular (el umbral para comenzar no es inferior a medio metro por segundo), pero solo se puede reducir si el diseño se cambia radicalmente: por ejemplo, en lugar de una plataforma giratoria, coloque una hélice. En una rueda giratoria, la diferencia en las fuerzas de resistencia al flujo, que determina el par, es relativamente pequeña: se logra únicamente debido a la diferente forma de la superficie que se encuentra con el flujo de aire entrante (por lo tanto, la forma de las tazas debe ser lo más aerodinámica posible, idealmente es medio huevo o una bola). La hélice tiene mucho más torque, se puede hacer mucho más pequeña en peso y, finalmente, la fabricación en sí es más simple. Pero la hélice debe instalarse en la dirección del flujo de aire, por ejemplo, colocándola al final de la misma veleta .

La pregunta es: ¿cómo transmitir lecturas desde un sensor que gira aleatoriamente alrededor de un eje vertical? No pude resolverlo, y a juzgar por el hecho de que las construcciones profesionales de vasos todavía están muy extendidas, de ninguna manera se decide a partir de una media patada (no tomamos en cuenta los anemómetros manuales, están orientados de acuerdo con el flujo de aire manualmente).

Mi versión del anemómetro de copa está hecha sobre la base de un disco láser. La vista superior e inferior se muestra en la foto:

imagen
imagen

Las tazas están hechas de fondos de botellas debajo del agua para bebés Agusha. La parte inferior está cuidadosamente cortada, y las tres, a la misma distancia, para que tengan el mismo peso, se calientan localmente en el centro (no caliente todo, ¡se deformará irreversiblemente!) Y la parte posterior del mango de madera se dobla hacia afuera para hacerlo más aerodinámico. Repetirá: almacene botellas más grandes de cinco o seis piezas, probablemente podrá hacer tres más o menos la misma taza. En las copas hechas, se hace un corte lateral y se fijan a lo largo del perímetro del disco a 120 ° en relación entre sí con la ayuda de un sellador de pegamento resistente al agua. El disco está estrictamente centrado alrededor del eje (lo hice con la ayuda de una arandela de metal anidada) y está montado en el cubo del caprolon con tornillos M2.

Diseño general e instalación de sensores.


Ambos sensores, como ya se mencionó, se colocan en cajas de plástico de 150 × 150 × 90 mm. La elección del material de la caja debe abordarse con cuidado: el ABS o el policarbonato tienen suficiente resistencia a la intemperie, pero el poliestireno, el plexiglás y especialmente el polietileno no serán adecuados aquí (y será difícil pintarlos para protegerlos del sol). Si no es posible comprar una caja de la compañía, es mejor soldar la caja con papel de aluminio y luego pintarla para protegerla de la corrosión y darle una apariencia estética.

Se hace un orificio de 8-10 mm en la tapa exactamente en el punto de salida del eje, en el que se pega un cono de plástico cortado de una boquilla de una lata de aerosol con un sellador o pegamento de construcción con el mismo sellador adhesivo:

imagen

Para centrar el cono a lo largo del eje, use una abrazadera para fijar un trozo de madera en la parte inferior de la cubierta, marque el centro exacto en él y vaya un poco más profundo con un taladro de plumas de 12 mm, haciendo un hueco anular alrededor del orificio. El cono debe entrar exactamente allí, después de lo cual se puede recubrir con pegamento. Se puede fijar adicionalmente en posición vertical durante el período de solidificación con el tornillo y la tuerca M6.

El propio sensor de velocidad cubre el eje con este cono, como un paraguas, evitando que el agua ingrese al cuerpo. Para una veleta, es necesario colocar adicionalmente un manguito sobre el cono, que cerrará la brecha entre el eje y el cono del flujo de agua directo (vea la foto de la vista general de los sensores a continuación).

Los cables de los optoacopladores se enrutan a un conector de tipo D-SUB separado (vea la foto del sensor de dirección arriba). La contraparte con el cable se inserta a través de un orificio rectangular en la base de la carcasa. El orificio se cubre con una cubierta con una ranura para el cable, que evita que el conector se caiga. Los soportes de duraluminio se atornillan a la base de la carcasa para su fijación en su lugar. Su configuración depende de la ubicación de los sensores.

Cuando se ensamblan, ambos sensores tienen el siguiente aspecto:

imagen

Aquí se muestran ya instalados en su lugar, en la cresta de la glorieta. Tenga en cuenta que los huecos para los tornillos que sujetan la cubierta están protegidos contra el agua mediante tapones de goma cruda. Los sensores están instalados estrictamente horizontalmente nivelados, para lo cual tuve que usar revestimientos de piezas de linóleo.

Parte electrónica


La estación meteorológica en su conjunto consta de dos módulos: una unidad remota (que sirve a ambos sensores de viento, y también toma lecturas de un sensor externo de temperatura y humedad), y el módulo principal con pantallas. La unidad remota está equipada con un transmisor inalámbrico para enviar datos instalados dentro de ella (la antena sobresale desde el costado). El módulo principal recibe datos de la unidad remota (el receptor, para su conveniencia, se coloca en un cable en una unidad separada), y también toma lecturas del sensor interno de temperatura y humedad y muestra todo esto en las pantallas. Un componente separado de la unidad principal es un reloj con un calendario, que, para la comodidad de la configuración general de la estación, es atendido por un controlador Arduino Mini separado y tiene sus propias pantallas.

Módulo remoto y circuito de medición de sensores de viento.


Como fotoemisores, se seleccionaron los IR-LED AL-107B. Estos LED antiguos, por supuesto, no son los mejores en su clase, pero tienen una carcasa en miniatura con un diámetro de 2.4 mm y son capaces de transmitir corriente de hasta 600 mA por pulso. Por cierto, durante las pruebas resultó que la muestra de este LED alrededor de 1980 (en el caso rojo) tiene aproximadamente el doble de eficiencia (expresada en el rango de operación confiable del fotodetector) que las copias modernas compradas en Chip-Dip (tienen un transparente cuerpo verde amarillento). Es poco probable que en 1980 los cristales fueran mejores que ahora, aunque ¿qué demonios no es broma? Sin embargo, es posible que la materia esté en diferentes ángulos de dispersión en uno y otro diseño.

Se pasó una corriente constante de aproximadamente 20 mA (resistencia de 150 ohmios con una fuente de alimentación de 5 voltios) a través de un LED en el sensor de velocidad, y se pasó una corriente pulsada (meandro con un ciclo de trabajo de 2) de aproximadamente 65 mA (los mismos 150 ohmios con una fuente de alimentación de 12 voltios) en el sensor de dirección. La corriente promedio a través de un LED del sensor de dirección en este caso es de aproximadamente 33 mA, en solo cuatro canales, aproximadamente 130 mA.

Como fotodetectores, se eligieron los fototransistores L-32P3C en un caso con un diámetro de 3 mm. La señal se tomó de un colector cargado en una resistencia de 1.5 o 2 kOhm a partir de un suministro de 5 V. Estos parámetros se seleccionan de modo que a una distancia de ~ 20 mm entre el emisor de fotos y el receptor, una señal lógica de tamaño completo a niveles de 5 voltios llegue inmediatamente a la entrada sin amplificación adicional. . Las corrientes que aparecen aquí pueden parecer desproporcionadamente grandes para usted, según el requisito de consumo mínimo de energía indicado anteriormente, pero como verá, aparecen en cada ciclo de medición durante un máximo de varios milisegundos para que el consumo total permanezca pequeño.

La base para montar los receptores y emisores fueron los segmentos del canal del cable (visibles en la foto de los sensores de arriba), cortados para formar "orejas" para el montaje en el soporte en la base. Para cada uno de estos desechos, se pegó una placa de plástico a la tapa de cierre desde el interior, de igual ancho que el ancho del canal.Los LED y los fototransistores se fijaron a la distancia correcta en los agujeros perforados en esta placa para que los cables estuvieran dentro del canal, y solo las protuberancias en el extremo de los depósitos sobresalieran hacia afuera. Las conclusiones se sueldan de acuerdo con el diagrama (ver más abajo), las conclusiones externas se hacen con trozos de un cable flexible multicolor. Las resistencias para emisores del sensor de dirección también se encuentran dentro del canal, una conclusión general se hace a partir de ellas. Después de desoldar, la tapa se ajusta en su lugar, todas las ranuras se sellan con plastilina y una cinta adhesiva adicional, que también cierra el orificio en el lado opuesto a los terminales, y toda la estructura se llena con epoxi. Las conclusiones externas, como se puede ver en la foto de los sensores, se muestran en el bloque de terminales montado en la parte posterior del soporte.

Diagrama de circuitoLa unidad para procesar sensores de viento tiene este aspecto:

imagen

sobre el origen de la potencia de 12-14 voltios, consulte a continuación. Además de los componentes indicados en el diagrama, la unidad remota contiene un sensor de temperatura y humedad, que no se muestra en el diagrama. El divisor de voltaje conectado al terminal A0 del controlador está diseñado para controlar el voltaje de la fuente de alimentación para un reemplazo oportuno. El LED conectado al terminal tradicional 13 (terminal 19 de la carcasa DIP) es súper brillante, por su brillo normal y no deslumbrante, suficiente corriente en una fracción de miliamperios es suficiente, que es proporcionada por una resistencia inusualmente alta de 33 kOhm.

El esquema utiliza un controlador Atmega328 "desnudo" en un paquete DIP, programado a través de Uno y montado en un zócalo. Dichos controladores con un cargador Arduino ya registrado se venden, por ejemplo, en Chip-Dip (o puede grabar el cargador usted mismo ). Dicho controlador está convenientemente programado en un entorno familiar, pero, al carecer de componentes en el tablero, es, en primer lugar, más económico y, en segundo lugar, ocupa menos espacio. Se podría obtener un modo de ahorro de energía completo eliminando también el gestor de arranque (y generalmente pintando todo el código en el ensamblador :), pero aquí no es muy relevante y la programación es innecesariamente complicada.

En el diagrama, los rectángulos grises están rodeados por componentes relacionados por separado con los canales de velocidad y dirección. Considere la operación del circuito como un todo.

El funcionamiento del controlador en su conjunto está controlado por el temporizador de vigilancia WDT, que se activa en el modo de llamada de interrupción. WDT activa el controlador desde el modo de suspensión a intervalos establecidos. Si el temporizador se inicia nuevamente en la interrupción llamada, no se reinicia desde cero, todas las variables globales permanecen en sus valores. Esto le permite acumular datos desde el despertar hasta el despertar y, en algún momento, procesarlos, por ejemplo, para promediar.

Al comienzo del programa, se hicieron las siguientes declaraciones de bibliotecas y variables globales (para no saturar el texto de los ejemplos ya extensos, aquí se publicó todo lo relacionado con el sensor de temperatura y humedad):

#include <VirtualWire.h> #include <avr/wdt.h> #include <avr/sleep.h> . . . . . #define ledPin 13 //  (PB5  19 ATmega) #define IR_Pin 10 //  IRLU (PB2  16 Atmega) #define in_3p 9 //   3 #define in_2p 8 //   2 #define in_1p 7 //   1 #define in_0p 6 //   0 #define IR_PINF 5 //(PD5,11)   -  #define IN_PINF 4 //(PD4,6)    volatile unsigned long ttime = 0; //   float ff[4]; //      char msg[25]; //  byte count=0;// int batt[4]; //   byte wDir[4]; //   byte wind_Gray=0; //    

Los siguientes procedimientos se utilizan para iniciar el modo de suspensión y WDT (despertarse cada 4 s):

 //      void system_sleep() { ADCSRA &= ~(1 << ADEN); //. cbi(ADCSRA,ADEN);   set_sleep_mode(SLEEP_MODE_PWR_DOWN); //   sleep_mode(); //   sleep_disable(); //      watchdog ADCSRA |= (1 << ADEN); /. sbi(ADCSRA,ADEN);   } //**************************************************************** // ii: 0=16ms, 1=32ms,2=64ms,3=128ms,4=250ms,5=500ms // 6=1 sec,7=2 sec, 8=4 sec, 9= 8sec void setup_watchdog(int ii) { byte bb; if (ii > 9 ) ii=9; bb=ii & 7; if (ii > 7) bb|= (1<<5); // bb -   bb|= (1<<WDCE); MCUSR &= ~(1<<WDRF); //   WDTCSR |= (1<<WDCE) | (1<<WDE); //      WDTCSR = bb; WDTCSR |= (1<<WDIE); // WDT } //**************************************************************** //     ISR(WDT_vect) { wdt_reset(); } 

El sensor de velocidad da la frecuencia de interrupción del canal óptico, el orden de magnitud es de unas pocas decenas de hertzios. La medición de este valor es más económica y más rápida después de un período (este fue el tema de la publicación del autor " Evaluación de métodos para medir bajas frecuencias en el Arduino "). Aquí, el método se selecciona a través de la función pulseInLong () modificada, que no vincula la medición a salidas específicas del controlador (el texto de la función periodInLong () se puede encontrar en la publicación).

En la función setup (), se declaran las direcciones de salida, se inicializan la biblioteca del transmisor de 433 MHz y el temporizador de vigilancia (la línea para IN_PINF es básicamente superflua e insertada para la memoria):

 void setup() { pinMode(IR_PINF, OUTPUT); //  pinMode(IN_PINF, INPUT); //     pinMode(13, OUTPUT); // vw_setup(1200); //   VirtualWire vw_set_tx_pin(2); //D2, PD2(4)   VirtualWire // Serial.begin(9600); // Serial-     setup_watchdog(8); //WDT  4 c wdt_reset(); } 

Finalmente, en el ciclo principal del programa, primero cada vez que nos despertamos (cada 4 segundos) leemos el voltaje y calculamos la frecuencia del sensor de velocidad del viento:

 void loop() { wdt_reset(); //  digitalWrite(ledPin, HIGH); //    batt[count]=analogRead(0); //      /*===  ==== */ digitalWrite(IR_PINF, HIGH); // -   float f=0; //   ttime=periodInLong(IN_PINF, LOW, 250000); // 0,25  // Serial.println(ttime); //    if (ttime!=0) {//    f = 1000000/float(ttime);} //      digitalWrite(IR_PINF, LOW); // - ff[count]=f; //     . . . . . 

El tiempo de quemado del LED IR (consumiendo, recuerdo, 20 mA) aquí, como puede ver, será máximo en ausencia de rotación del disco del sensor y en esta condición será de aproximadamente 0.25 segundos. La frecuencia mínima medida, por lo tanto, será de 4 Hz (un cuarto de revolución de disco por segundo con 16 agujeros). Como resultó durante la calibración del sensor (ver más abajo), esto corresponde a aproximadamente 0.2 m / s de velocidad del viento. Hacemos hincapié en que este es el valor más pequeño medible de la velocidad del viento, pero no una resolución y no un umbral para el arranque (que resultará ser mucho más alto). Si hay una frecuencia (es decir, cuando el sensor gira), el tiempo de medición (y, en consecuencia, el tiempo de encendido del LED, es decir, el consumo de corriente) se reducirá proporcionalmente y la resolución aumentará.

Los siguientes son procedimientos que se realizan cada cuarto despertar (es decir, cada 16 segundos). El valor de la frecuencia del sensor de velocidad de los cuatro valores acumulados que transmitimos no es promedio, sino máximo; como lo ha demostrado la experiencia, este es un valor más informativo. Por conveniencia y uniformidad, cada uno de los valores, independientemente de su tipo, se convierte antes de la transmisión a un entero positivo de 4 decimales. La variable de conteo es monitoreada por la variable de conteo:

 // 16        //  4- : if (count==3){ f=0; //  for (byte i=0; i<4; i++) if (f<ff[i]) f=ff[i]; //    int fi=(int(f*10)+1000); //  4 .    int volt=0; //  for (byte i=0; i<4; i++) volt=volt+batt[i]; volt=volt/4+100; //   100  = 3 . volt=volt*10; // 4 .  . . . . . 

A continuación se encuentra la definición de la dirección del código Gray. Aquí, para reducir el consumo, en lugar de estar constantemente en LED IR, se suministra una frecuencia de 5 kHz a los cuatro canales simultáneamente a través de un transistor de efecto de campo clave que utiliza la función tone (). La presencia de una frecuencia en cada una de las descargas (salidas in_0p - in_3p) se detecta utilizando un método similar al anti-rebote cuando se leen las lecturas de un botón presionado. Primero, en el ciclo esperamos para ver si hay un nivel alto en la salida, y luego lo verificamos después de 100 μs. 100 μs es un período medio de una frecuencia de 5 kHz, es decir, si hay una frecuencia al menos desde la segunda vez, volveremos a caer a un nivel alto (por si acaso, repite cuatro veces) y esto significa que definitivamente está allí. Repetimos este procedimiento para cada uno de los cuatro bits de código:

 /* ===== Wind Gray ==== */ //: tone(IR_Pin,5000);// 5    boolean yes = false; byte i=0; while(!yes){ // 3 i++; boolean state1 = (digitalRead(in_3p)&HIGH); delayMicroseconds(100); //   100  yes=(state1 & !digitalRead(in_3p)); if (i>4) break; //   } if (yes) wDir[3]=1; else wDir[3]=0; yes = false; i=0; while(!yes){ // 2 i++; boolean state1 = (digitalRead(in_2p)&HIGH); delayMicroseconds(100); //   100  yes=(state1 & !digitalRead(in_2p)); if (i>4) break; //   } if (yes) wDir[2]=1; else wDir[2]=0; yes = false; i=0; while(!yes){ // 1 i++; boolean state1 = (digitalRead(in_1p)&HIGH); delayMicroseconds(100); //   100  yes=(state1 & !digitalRead(in_1p)); if (i>4) break; //   } if (yes) wDir[1]=1; else wDir[1]=0; yes = false; i=0; while(!yes){ // 0 i++; boolean state1 = (digitalRead(in_0p)&HIGH); delayMicroseconds(100); //   100  yes=(state1 & !digitalRead(in_0p)); if (i>4) break; //   } if (yes) wDir[0]=1; else wDir[0]=0; noTone(IR_Pin); //  //     : wind_Gray=wDir[0]+wDir[1]*2+wDir[2]*4+wDir[3]*8; //   .  int wind_G=wind_Gray*10+1000; //  4- .  . . . . . 

La duración máxima de un procedimiento será en ausencia de frecuencia en el receptor e igual a 4 × 100 = 400 microsegundos. El tiempo de grabación máximo de 4 LED de dirección será cuando no se iluminen receptores, es decir, 4 × 400 = 1,6 milisegundos. El algoritmo, por cierto, funcionará exactamente de la misma manera, si en lugar de una frecuencia cuyo período es un múltiplo de 100 μs, es simple aplicar un nivel alto constante a los LED. Si hay un meandro en lugar de un nivel constante, simplemente ahorramos la comida a la mitad. Todavía podemos ahorrar si iniciamos cada LED IR a través de una línea separada (respectivamente, a través de una salida separada del controlador con su propio transistor de llave), pero al mismo tiempo el circuito, el cableado y el control son complicados, y la corriente es de 130 mA durante 2 ms cada 16 segundos - Esto, ya ves, un poco.

Finalmente, transferencia inalámbrica de datos . Para transferir datos desde el sitio de instalación del sensor al marcador de la estación meteorológica, se eligió el método más simple, económico y confiable: un par transmisor / receptor a una frecuencia de 433 MHz . Estoy de acuerdo en que el método no es el más conveniente (debido a que los dispositivos están diseñados para transmitir secuencias de bits, no bytes completos, debe refinar su mente sobre la conversión de datos entre los formatos necesarios), y estoy seguro de que muchas personas querrán discutir conmigo en términos de su confiabilidad. La respuesta a la última objeción es simple: "¡simplemente no sabes cómo cocinarlos!"

El secreto es que generalmente permanece detrás de escena de varias descripciones de intercambio de datos en el canal de 433 MHz: dado que estos dispositivos son puramente analógicos, la fuente de alimentación del receptor debe estar muy limpia de cualquier pulsación extraña. ¡En ningún caso debe alimentar el receptor desde el estabilizador interno Arduino de 5 voltios! La instalación de un estabilizador de baja potencia separado para el receptor (LM2931, LM2950 o similar) directamente en la vecindad de sus terminales, con los circuitos de filtrado correctos en la entrada y salida, aumenta radicalmente el rango de transmisión y la confiabilidad.

En este caso, el transmisor funcionaba directamente desde el voltaje de la batería de 12 V, el receptor y el transmisor estaban equipados con antenas estándar hechas en casa en forma de un trozo de cable de 17 cm de largo (recuerdo que el cable para antenas es adecuado solo de un solo núcleo, y es necesario colocar las antenas en el espacio paralelas entre sí). Se transmitió con confianza un paquete de información de 24 bytes (teniendo en cuenta la humedad y la temperatura) sin problemas a una velocidad de 1200 bit / s en diagonal a través de una parcela de 15 acres (aproximadamente 40-50 metros) y luego a través de tres registros paredes dentro de la habitación (en las cuales, por ejemplo, se recibe una señal celular con gran dificultad y no en todas partes). Condiciones que son prácticamente inalcanzables para cualquier método estándar de 2.4 GHz (como Bluetooth, Zig-Bee e incluso Wi-Fi amateur), a pesar de que el consumo del transmisor aquí es miserable de 8 mA y solo en el momento de la transmisión real, el resto del tiempo el transmisor consume centavos El transmisor se coloca estructuralmente dentro de la unidad remota, la antena sobresale horizontalmente desde el costado.

Combinamos todos los datos en un paquete (en una estación real, se le agregarán temperatura y humedad), que consta de partes uniformes de 4 bytes y precedidos por la firma "DAT", lo enviamos al transmisor y completamos todos los ciclos:

 /*=====Transmitter=====*/ String strMsg="DAT"; // -  strMsg+=volt; //  4  strMsg+=wind_G; // wind 4  strMsg+=fi; //  4  strMsg.toCharArray(msg,16); //    // Serial.println(msg); //  vw_send((uint8_t *)msg, strlen(msg)); //   vw_wait_tx(); //    - ! delay(50); //+      count=0; //  }//end count==3 else count++; digitalWrite(ledPin, LOW); //   system_sleep(); // —   } //end loop 

El tamaño del paquete puede reducirse si rechaza el requisito de presentar cada uno de los valores de varios tipos en forma de un código uniforme de 4 bytes (por ejemplo, para el código Gray, por supuesto, un byte es suficiente). Pero en aras de la universalización, dejé todo como está.

Características de nutrición y diseño de la unidad remota . El consumo de la unidad remota se calcula de esta manera:

- 20 mA (emisor) + ~ 20 mA (controlador con circuitos auxiliares) durante aproximadamente 0.25 s cada cuatro segundos - un promedio de 40/16 = 2.5 mA;
- 130 mA (emisores) + ~ 20 mA (controlador con circuitos auxiliares) durante aproximadamente 2 ms cada 16 segundos - un promedio de 150/16/50 ≈ 0.2 mA;

Después de realizar este cálculo, el consumo del controlador al tomar datos del sensor de temperatura y humedad y cuando el transmisor está funcionando, podemos llevar el consumo promedio a 4 mA de forma segura (¡con un pico de aproximadamente 150 mA, eso sí!). Las baterías (que, por cierto, requerirán hasta 8 piezas para proporcionar el transmisor con el voltaje máximo). Tendrán que cambiarse con demasiada frecuencia, por lo que la idea era alimentar la unidad remota con baterías de 12 voltios para un destornillador: solo tenía dos adicionales. Su capacidad es incluso menor que la cantidad correspondiente de baterías AA: solo 1.3 A • horas, pero nadie se molesta en cambiarlas en ningún momento, manteniendo listo un segundo cargador. Con el consumo indicado de 4 mA, la capacidad de 1300 mA • horas es suficiente durante aproximadamente dos semanas, lo que no es demasiado problemático.

Tenga en cuenta que el voltaje de una batería recién cargada puede ser de hasta 14 voltios. En este caso, se instaló un estabilizador de entrada de 12 voltios, para evitar el sobrevoltaje de la fuente de alimentación del transmisor y no sobrecargar el estabilizador principal de cinco voltios.

La unidad portátil en una caja de plástico adecuada se encuentra debajo del techo, un cable de alimentación de la batería y las conexiones a los sensores de viento se conectan a ella en los conectores. La principal dificultad es que el circuito resultó ser extremadamente sensible a la humedad del aire: en clima lluvioso, después de un par de horas, el transmisor comienza a fallar, las mediciones de frecuencia muestran un desorden completo y las mediciones de voltaje de la batería muestran "clima en Marte".

Por lo tanto, después de depurar los algoritmos y verificar todas las conexiones, el caso debe sellarse cuidadosamente. Todos los conectores en la entrada de la carcasa están sellados con sellador, lo mismo se aplica a todas las cabezas de tornillo que sobresalen, la salida de antena y el cable de alimentación. Las articulaciones del cuerpo se untan con plastilina (teniendo en cuenta que deberán separarse) y, además, se pegan en la parte superior con tiras de cinta de plomería. También es bueno fortalecer suavemente los conectores usados ​​en el interior con un epóxico: por ejemplo, el DB-15 que se muestra en el diagrama del módulo remoto no está apretado, y el aire húmedo se escapará lentamente entre el marco de metal y la base de plástico.

Pero todas estas medidas en sí mismas solo tendrán un efecto a corto plazo, incluso si no hay succión de aire frío y húmedo, entonces el aire seco de la habitación se convierte fácilmente en aire húmedo cuando baja la temperatura fuera de la carcasa (recuerde el fenómeno llamado "punto de rocío").

Para evitar esto, es necesario dejar un cartucho o bolsa con un desecante - gel de sílice dentro de la caja (las bolsas con ella a veces se colocan en cajas con zapatos o en algunos paquetes con dispositivos electrónicos). Si el gel de sílice de origen desconocido se ha almacenado durante mucho tiempo, debe calcinarse antes de usarlo en un horno eléctrico a 140-150 grados durante varias horas. Si el estuche está sellado adecuadamente, entonces el desecante tendrá que ser reemplazado no más a menudo que al comienzo de cada temporada de verano.

Módulo principal


En el módulo principal, todos los valores se aceptan, se descifran, si es necesario, se convierten de acuerdo con las ecuaciones de calibración y se muestran.

El receptor se coloca fuera del módulo principal de la estación y se coloca en una pequeña caja con orejas para el montaje. La antena se saca a través de una abertura en la cubierta, todas las aberturas en la carcasa están selladas con caucho crudo. Los contactos del receptor están conectados a un conector doméstico muy confiable del tipo RS-4, en el lado del receptor está conectado a través de un cable AV de doble blindaje:

imagen

Se recoge una señal a lo largo de uno de los núcleos de cable y, por el otro, se suministra energía en forma de 9 voltios sin procesar desde el adaptador de corriente del módulo. El estabilizador tipo LM-2950-5.0 junto con los condensadores de filtración se instala en una caja con el receptor en una bufanda separada.

Se realizaron experimentos para aumentar la longitud del cable (por si acaso, ¿de repente no funcionaría a través de la pared?), En el que resultó que nada cambia dentro de la longitud de 6 metros.

Solo hay cuatro pantallas OLED: dos datos de clima de servicio amarillo, dos relojes verdes y un calendario. Su ubicación se muestra en la foto:

imagen

Tenga en cuenta que en cada grupo una de las pantallas es texto, la segunda es gráfica, con fuentes creadas artificialmente en forma de imágenes de glifos. Aquí no nos detendremos en el tema de mostrar información en las pantallas para no inflar el texto ya extenso del artículo y los ejemplos: debido a la presencia de imágenes de glifos que deben mostrarse individualmente (a menudo simplemente enumerando las opciones usando el operador de caso), los programas de salida pueden ser Muy voluminoso. Para obtener información sobre cómo manejar tales pantallas, consulte la publicación del autor, " Modo gráfico y de texto de pantallas Winstar " , que incluye un ejemplo de una pantalla para generar datos de viento.

Diagrama de circuito El reloj y sus pantallas son atendidos por un controlador Arduino Mini separado para facilitar la configuración y ya no los desmontaremos aquí. El diagrama de conexión de los componentes al Arduino Nano, que controla la recepción y salida de datos meteorológicos, es el siguiente:

imagen

Aquí, a diferencia del módulo remoto, se muestra la conexión de sensores meteorológicos: un barómetro y un sensor interno de temperatura y humedad. Preste atención al cableado de alimentación: las pantallas están alimentadas por un estabilizador de 5 V separado tipo LM1085. Es natural alimentar las pantallas del reloj, sin embargo, en este caso, el controlador del reloj también debe ser alimentado por el mismo voltaje, y a través de la salida de 5 V, no Vin (para Mini Pro, este último se llama RAW). Si enciende el controlador del reloj de la misma manera que Nano - 9 voltios a través del pin RAW, entonces su estabilizador interno entrará en conflicto con los 5 voltios externos y, por supuesto, el más fuerte ganará en esta pelea, es decir, LM1085, y Mini se quedará completamente sin energía. Además, para evitar todo tipo de problemas, antes de programar Nano y especialmente Mini (es decir, antes de conectar el cable USB), se debe desconectar el adaptador externo.

En el estabilizador LM1085, cuando las cuatro pantallas están conectadas, la potencia se asignará a aproximadamente un vatio, por lo tanto, debe instalarse en un pequeño radiador a unos 5-10 cm2 de una esquina de aluminio o cobre.

Recepción y procesamiento de datos. Aquí reproduzco y comento solo fragmentos del programa relacionados con los datos del viento, algunas palabras sobre otros sensores a continuación.

Para recibir un mensaje en un canal de 433 MHz, se aplica el método estándar descrito en muchas fuentes. Conectamos la biblioteca y declaramos las variables:

 #include <VirtualWire.h> . . . . . int volt; //      float batt; //  —   byte wDir; //    uint16_t t_time = 0; //   char str[5]; //   uint8_t buf[VW_MAX_MESSAGE_LEN]; //    uint8_t buflen = VW_MAX_MESSAGE_LEN; // max    . . . . . 

Una peculiaridad está relacionada con el tamaño del búfer buflen: declarar su valor (VW_MAX_MESSAGE_LEN) una vez al comienzo del programa no es suficiente. Como esta variable aparece por referencia en la función de recepción (ver más abajo), el tamaño predeterminado del mensaje debe actualizarse cada ciclo. De lo contrario, debido a la recepción de mensajes corruptos, el valor de buflen se acortará cada vez hasta que comience a obtener todo tipo de tonterías en lugar de datos. En los ejemplos, estas dos variables generalmente se declaran localmente en el ciclo loop (), porque el tamaño del búfer se actualiza automáticamente, y aquí simplemente repetiremos la asignación del valor deseado al comienzo de cada ciclo.

En el procedimiento de configuración, realice las siguientes configuraciones:

 void setup() { delay (500); //    pinMode(16,INPUT_PULLUP); //   vw_setup(1200); //   VirtualWire vw_set_rx_pin(17); //A3   VirtualWire . . . . . 

Antes de tomar cualquier cosa, se verifica el intervalo de tiempo t_time transcurrido desde la última recepción. Si ha excedido los límites razonables (por ejemplo, 48 segundos, tres veces el tiempo de reintento de los mensajes de la unidad externa), esto se percibe como una pérdida del sensor y se muestra de alguna manera en la pantalla:

 void loop() { vw_rx_start(); //   buflen = VW_MAX_MESSAGE_LEN; //     if ((int(millis()) - t_time) > 48000) // t_time    48  { <   > }//end    if (vw_have_message()) { //  if (vw_get_message(buf, &buflen)) //    { vw_rx_stop(); //    t_time = millis(); // t_time for (byte i=0;i<3;i++) //     str[i]= buf[i]; str[3]='\0'; if((str[0]=='D')&&(str[1]=='A')&&(str[2]=='T')) { //  // : for (byte i=3;i<7;i++) //     str[i-11]= buf[i]; //     volt=atoi(str); //    volt=(volt/10)-100; //   4-  batt=float(volt)/55.5; //       //      for (byte i=7;i<11;i++) //     str[i-15]= buf[i]; //     int w_Dir=atoi(str); //    w_Dir=(w_Dir-1000)/10; //    wDir=lowByte(w_Dir); //  -   <      case> . . . . . 

Coeficiente 55.5 - conversión del valor del código ADC en un voltaje real, su valor depende del voltaje de referencia y los valores de las resistencias del divisor.

Por cierto, el código Gray tiene una característica: el orden de los bits no es importante, el código guarda todas sus propiedades cuando se reorganizan. Y dado que al descifrar, todavía consideramos cada caso por separado, los bits se pueden ver en cualquier orden e incluso confundirse cuando están conectados. Es otra cuestión si desea resolver este asunto de alguna manera, por ejemplo, crear una matriz de valores de dirección ("s", "ssz", "sz", "ssz", "z", etc.), y en lugar de una consideración individual cada opción para extraer designaciones por número en esta matriz. Entonces sería necesario convertir el código Gray en un binario ordenado, y el orden de los bits jugaría un papel importante.

Y finalmente, extraemos el valor de la velocidad y cerramos todos los operadores:

 . . . . . for (byte i=19;i<23;i++) //     str[i-19]= buf[i]; //     int wFrq=atoi(str); //    wFrq = (wFrq-1000)/10; //   4-  wFrq=10+0.5*wFrq;//      <    > }//end if str=DAT }//end vw_get_message } //end vw_have_message(); . . . . . 

Aquí 10 + 0.5 * wFrq es la ecuación del medidor. 10 dm / s (es decir, 1.0 metros por segundo) es el umbral para comenzar, y 0.5 es el coeficiente para convertir la frecuencia en velocidad (en dm / s). Con un valor cero de la frecuencia de entrada, esta ecuación da 10 dm / s, por lo tanto, se debe tener cuidado por separado para que no sea 1 m / s, sino un valor cero. Puede calibrar el sensor de velocidad utilizando cualquiera de los anemómetros portátiles y ventiladores de escritorio más baratos. No intente determinar el umbral de inicio experimentalmente: será mucho más preciso si se observan dos o tres puntos del valor directo de calibración de la velocidad V versus la frecuencia F: V = V + K × F a diferentes velocidades de flujo, entonces el umbral de inicio se determina automáticamente como el valor de V (punto ordenado intersección de esta línea con el eje de velocidades).

Antes de cerrar el ciclo principal, debe hacer una cosa más. Tenemos el voltaje de la batería, pero no es necesario que lo muestre todo el tiempo, solo tome espacio. Para hacer esto, necesitamos el botón Kn1; al hacer clic en él, reemplazamos temporalmente (hasta la próxima actualización de datos) la línea de temperatura y humedad externa con el valor de voltaje:

 . . . . . if (digitalRead(16)==LOW){ //  <   ,   -> }//  delay(500); }// loop 

Tenía un botón, como se puede ver en el circuito, con un contacto de cambio, pero nada impide instalar el habitual con un contacto de cierre, que lo conecta a la fuente de alimentación a través de una resistencia. También puede agregar a esto el parpadeo de los símbolos en la pantalla si el voltaje de la batería cae por debajo de, por ejemplo, 10 voltios, como una señal de que es hora de cambiarlo.

En conclusión sobre los sensores climáticos. Como sensor externo , se usó SHT-75 , el único sensor aficionado que encontré que no requiere calibración y muestra valores reales de temperatura y humedad directamente " listos para usar " (de ahí su alto precio).

Puede encontrar una biblioteca para conectarlo aquí .

El SHT-75 está diseñado de manera bastante estúpida: el sustrato metálico de la placa conduce el calor muy bien, por lo tanto, debe eliminarse por completo fuera de la carcasa. De lo contrario, la presencia de un solo controlador del tipo ATmega328 con un regulador de potencia en una caja cerrada es suficiente para calentar el sensor a través del sustrato en un par de grados, incluso si se saca la cabeza. Mi esquema con sensores de viento, con sus corrientes de 20-130 mA (incluso corrientes de milisegundos insignificantes) calentó el SHT-75 grados por cinco, por lo que fue sacado e instalado por separado en una placa de plástico que sobresale de la carcasa lateralmente.

Los datos del SHT-75 son tomados por el mismo controlador que los datos de los sensores de viento y enviados desde el módulo remoto en un solo paquete a través de un canal inalámbrico de 433 MHz. Para la transmisión, también se convierten preliminarmente a un formato de cadena de 4 bytes.

Para medir la temperatura y la humedad dentro de la habitación, se eligió el DHT-22 banal, ya que el rango allí es pequeño en comparación con la calle, no importa qué sensor usar (excepto, por supuesto, el DHT-11, que no se debe usar bajo ninguna circunstancia, en simplemente no es funcional). La temperatura del DHT-22 se corrigió mediante mediciones con un termómetro de mercurio (¡coincidieron completamente con el SHT-75!), Y la humedad se aplanó ligeramente en comparación con el SHT-75. Las correcciones se ingresan inmediatamente antes de la visualización.

Por cierto, el DHT-22 también debe retirarse de la caja con pantallas, de lo contrario, inevitablemente se calentará y mentirá. Lo fijo en un soporte de plástico en la parte inferior de la caja, a una distancia de diez milímetros. Esta circunstancia, por cierto, como sospecho, es una de las razones (excepto por la falta de calibración individual) de que todas las estaciones meteorológicas hogareñas de marca RST y Oregon están descaradamente mintiendo en el testimonio, incluso teniendo una extensión de sí mismos (un sensor interno con uno externo) de dos a tres grados y hasta diez por ciento de humedad.

BarómetroNo presenta problemas, ya que casi todos los productos disponibles comercialmente se fabrican sobre la misma base: el chip microelectromecánico BMP180 (MEMS) o sus modificaciones. Mi experiencia personal al tratar de usar una variante más rara basada en LPS331AP fue negativa: fue más difícil encontrar una biblioteca para él y, para colmo, se encontró un conflicto con otros dispositivos en el bus I2C. Es posible que sea necesario ajustar las lecturas del barómetro en el sitio de instalación: cada 10-12 metros sobre el nivel del mar reducen la presión en 1 mm Hg. Art.Por lo tanto, se tendrá que restar (o agregar) un cierto valor de las lecturas para que la presión corresponda a las lecturas de la estación meteorológica oficial en el área.

No traigo todos los programas de estaciones meteorológicas por completo: son bastante voluminosos y aún así no podrá repetir la construcción uno a uno. En todo caso, llama al PM.

UPD del 30/06/17. Energía instalada desde un panel solar. Kit desde aquí: controlador de
panel solar

Batería
Todos juntos + entrega en Moscú dentro de 2.5 tyr. Funciona a la perfección.
Una técnica interesante para calcular la potencia de la batería solar y la batería, que ofrecen los consultores de este sitio. Ejemplo de cálculo de 3 W de consumo de energía (tengo mucho menos), cito:
"3W multiplicado por 24h y dividido por 6 = 12Ah, esta es la capacidad mínima de la batería
3W multiplicado por 24h y dividido por 3h = 24W, esta es la potencia mínima de la batería solar"
No hay comentarios
En mi caso, la potencia resultante de una planta de energía solar es diez veces mayor que la necesaria en las peores condiciones climáticas. Por lo tanto, en el controlador del sensor, no puede preocuparse particularmente por el ahorro de energía y aplicar las frecuencias necesarias para tomar lecturas y promediar valores.

UPD del 13/09/18. Durante casi dos temporadas de operación, se revelaron las fortalezas y debilidades de la estación. Débil: en primer lugar, el ciclo de actualización de las lecturas de 16 segundos (de cuatro series de mediciones), como era inicialmente, es demasiado largo. La instalación de una batería solar con una batería intermedia nos permitió no pensar en el ahorro de energía y jugar con el tiempo del ciclo. Como resultado, el ciclo se estableció en 8 segundos (cuatro mediciones en dos segundos).
A partir de mejoras mecánicas, se introdujo un cojinete de empuje sólido debajo de la punta del sensor de velocidad (sí, me advirtieron sobre su necesidad en ese momento, pero no descubrí cómo hacerlo en ese momento). Después de un tiempo, el eje del sensor cortó completamente el soporte fluoroplástico y el umbral inicial aumentó bruscamente (por cierto, esto no afectó la sensibilidad de la veleta). Por lo tanto, el soporte fue reemplazado por un cojinete de empuje de acero inoxidable, en el cual se hizo un pequeño hueco con un taladro delgado. Preveo que luego tendré que encontrar algo más con un punto que, como todo el eje, esté hecho de duraluminio. Pero lo pospuse hasta el momento en que el sensor todavía tiene que rehacerse: el disco láser, tomado como base del diseño, se nubló del sol durante dos estaciones y comenzó a agrietarse.

UPD del 06/05/19.
Sobre la alteración del sensor (queda la misma veleta). El sensor de velocidad tuvo que rehacerse tanto por el eje desgastado como por el disco láser inutilizable. La base del diseño se mantiene igual, pero el nuevo disco láser está pintado con pintura en aerosol dorada. La solución para la punta del eje se encontró en la siguiente forma. Se perforó con precisión un receso en el eje dural exactamente en el centro, y se insertó un borde de la parte superior del grifo chino de 3 mm en el segundo pegamento allí. La punta del grifo es un cono bien centrado con un ángulo de aproximadamente 70-80 grados. Además, se pulió con una piel nula y luego con pasta GOI. Como base, utilicé la cabeza de un tornillo M3 inoxidable con una ranura aserrada, en la que se marca un pequeño hueco central con un taladro convencional D = 2 mm. Este tornillo fue atornillado directamente en el receso en el fluoroplástico,aserrado con un eje anterior a la alineación proporcionada.
La punta del eje fue lubricada con grasa de grafito para protegerla de la corrosión (ya que las propiedades inoxidables del grifo son desconocidas para mí). Después de un poco de molienda, el umbral inicial disminuyó tanto que se hizo imposible medirlo con un anemómetro de marca, en el que el umbral es de aproximadamente 0.3-0.5 cm / s. Según datos indirectos (al construir una línea recta en dos puntos), se adoptó voluntariamente un umbral de 0.3 m / s, aunque es probable que sea un poco menor.

El cambio principal en los algoritmos de cálculo también se refiere a los sensores de viento, y me pareció útil poner esto en un artículo separado .

Source: https://habr.com/ru/post/es404385/


All Articles