Olá pessoal, hoje vou falar sobre como decidi atualizar o sensor de umidade do solo com o Aliexpress. Cerca de um mês atrás, um sensor de umidade do solo foi comprado. Por que o comprei e não sei, provavelmente tudo por causa do preço de 40 rublos :)
Tendo recebido e testado com sucesso o sensor (com a ajuda do Arduino Nano), comecei a pensar em onde conectá-lo em um sistema baseado em Maysensors já em funcionamento (o que explicarei mais adiante). Como o sensor é super barato, eu gostaria muito de encontrar uma solução igualmente barata e despretensiosa.

O circuito do sensor é construído em um chip de timer TLC555. O regulador de tensão XC6206P332 (
folha de dados ) é adicionado ao circuito em 3,3v, respectivamente, o circuito pode ser alimentado a partir de uma fonte de no máximo 6v. Quando a tensão de alimentação é inferior a 3,3V, o estabilizador também fornece a saída que recebe na entrada.
Em dois meses, dois módulos do nRF52832 da empresa EBYTE estavam ociosos - E73-2G4M04S1B. Módulos muito baratos, em termos de preço, todos os outros módulos nRF52 estão muito atrás.

Mas eles têm duas desvantagens significativas para mim. O primeiro e menos importante é o tamanho do módulo. Eles são bem grandes. O segundo menos, mais importante é a falta de dois pequenos elementos no circuito, devido aos quais o módulo perde metade de sua atratividade. Os elementos ausentes são dois indutores conectados às pernas DCC e DEC4. Isso é ruim porque não permite o uso de módulos no modo de baixa energia, 7-8mA VS 15-16mA. Por que não os coloquei, não consigo entender, a opção "por causa da economia" não se encaixa, pois o esquema poderia economizar em outros elementos. Em geral, adicionamos à lista de desejos a instalação de indutâncias e a presença do modo DC-DC.
A próxima coisa a resolver é o gerenciamento de energia do sensor. Como o tema é bateria, energia constante é uma opção ruim. A coisa mais simples que implora imediatamente é o uso de um transistor no modo de chave. A escolha recaiu no transistor de campo p de canal IRLML6402TRPBF.
A próxima coisa a se pensar é a porta de programação: em SWD e Serial, acabei de criar blocos. Claro, eu também adicionei um micro conector, que eu uso em outros dispositivos
2x3P | 6 pinos | 1,27 mm | SMT Pin Header Female , mas isso agora é uma coisa puramente opcional.
Você também precisa adicionar um botão de relógio e pelo menos um LED, para que seja mais fácil entender se funciona ou não :).
A próxima coisa a resolver foi como conectar o módulo de rádio e o sensor capacitivo. Eu não queria usar o soquete que está instalado no sensor e os fios do kit. O passo do furo no conector na placa onde o soquete é soldado é de 2,54 mm, uma linha de duplicação adicional também é exibida na placa. Foi decidido usar o "pente" usual em incrementos de 2,54, e o uso de ambas as linhas ao mesmo tempo dará rigidez adicional à conexão.
Parece tudo, desde os pães existem vários elementos que podem ser deixados ou soldados para um dia chuvoso e uma tomada com um fio (será útil em algum lugar :)).
O conselho, como sempre, foi criado no programa Diptrace. A primeira opção foi feita para o LUT, na verdade sobre o que acabou sendo apenas o discurso neste artigo. Mais tarde, uma variante do cartão foi feita para um pedido na fábrica.

Depois de decapagem, estanhagem, corte, perfuração e solda, é hora de testar. Em geral, eu não esperava nada de especial do sensor no módulo da EBYTE, especialmente com algum tipo de medidor de umidade externo com Ali. Mas no final fiquei surpreso com alguns resultados. O consumo no modo de transferência de dados não foi superior a 9 mA (para uma bateria semi-descarregada), o consumo no modo de medição não foi superior a 5 mA. O consumo no modo de suspensão foi de 2,1-2,2 μA !!!

Total que o sensor pode agora. Trabalhe no modo de baixa energia. Meça e transmita ao controlador UD através da rede Maysensors as leituras de umidade do solo, leituras de temperatura, indicações da carga restante da bateria e leituras do nível do sinal de rádio.

E o que é Maysensors?
A é uma comunidade de código aberto de desenvolvedores de software. Este protocolo é desenvolvido pela comunidade para criar redes de rádio e com fio. O projeto foi desenvolvido originalmente para a plataforma Arduino.
Plataformas de hardware suportadas: Linux / Raspberry Pi / Orange Pi | ATMega 328P | ESP8266 ESP32 nRF5x Atmel SAMD usado no Arduino Zero (Cortex M0) | Teensy3 (MK66FX1M0VMD18) | STM32F1.
Transmissores de rádio suportados: NRF24L01 | RFM69 RFM95 (LoRa) | nRF5x
Tipo de comunicação com fio suportada: RS485
Comunicação suportada entre gate e controlador: MQTT | USB serial | Wifi | Ethernet GSM
Código do programauint16_t m_s_m; uint16_t m_s_m2; uint16_t m_s_m_calc; boolean flagSendmsm = 0; float celsius = 0.0; uint32_t rawTemperature = 0; uint32_t rawTemperature2 = 0; uint16_t currentBatteryPercent; uint16_t batteryVoltage = 0; uint16_t battery_vcc_min = 2300; uint16_t battery_vcc_max = 3000; int16_t linkQuality;
Naturalmente, o software de teste, que eu certamente acrescentaria (e acrescentarei), está levando em consideração o coeficiente de descarga da bateria, embora eu use a configuração de tensão de referência no software como uma bateria externa vdd / 4, mas ainda haja pouco ruído ao medir com diferentes níveis de tensão. Também não está claro se deve ou não introduzir o coeficiente de temperatura nos cálculos. Não está claro porque ainda não há estatísticas. Mas, em geral, a saída é resultados muito simpáticos :). O custo de tudo o que tinha que ser adicionado ao sensor de umidade chinês era algo em torno de 400 rublos. Nada mal.
Projeto GitHubEsse é o tipo de projeção que saiu ... enquanto o Ala Arduino é um módulo, mas forneceu locais para a montagem no gabinete com antecedência, portanto o gabinete será mais adiante. Consome pouco, basicamente sempre dorme com um consumo de cerca de 2 μA, portanto as baterias CR2450 devem durar muito tempo.
Um lugar onde você sempre fica feliz em ajudar todos que desejam se familiarizar com os MYSENSORS (instalar placas, trabalhar com microcontroladores nRF5 em um ambiente IDE do Arduino, dicas sobre como trabalhar com o protocolo mysensors, discutir projetos - telegrama chat
@mysensors_rus .