RandomRace.ru - busca de direção para manequins (início)


De onde surgiu a ideia?


Um velho amigo meu se comprometeu a discutir seu novo empreendimento comigo - todos nós gostávamos de corridas de aventura, das quais existem muitas em nossa área, mas que não permitiam que uma pessoa vivesse pacificamente na previsibilidade de uma corrida clássica de aventura - os pontos de controle (KP) são colocados por pessoas, o que significa eles podem ser pelo menos um pouco previstos.
Foi assim que o RandomRace.ru apareceu (brevemente - RR).

Portanto, a principal idéia do RR é lançar no ar artes de corrida nas bolas, a uma altura aleatória, as bolas explodirão e as engrenagens cairão em para-quedas. O KP dará suas coordenadas GPS ao servidor de corrida e os participantes procurarão por elas. Em princípio, as regras da competição são projetadas para que as sondas KP sejam devolvidas aos organizadores pelos participantes. Naturalmente, além das sondas que se distinguiam pelo aumento da aleatoriedade e voavam em algum lugar dentro ..longe. Esses organizadores precisam procurar os organizadores por conta própria. Aconteceu que, como resultado, assumi a solução técnica da tarefa “últimos 100 metros”, quando os organizadores chegaram ao local, eu realmente quero encontrar o ponto de verificação e as coordenadas são imprecisas. Para esse propósito, foi planejado o uso de busca de direção - cada sonda carrega um transmissor de rádio e os organizadores carregam um receptor de busca de direção.


Requisitos gerais do transmissor:

- peso e volume leves
- alimentado por uma célula de polímero de lítio (bateria de um telefone celular)
- duração da bateria de pelo menos 24 horas
- preço baixo, porque a probabilidade de perder o dispositivo é considerável

Requisitos gerais do receptor:

- peso e volume moderados
- antena direcional
- indicação sonora e visual do nível do sinal
- duração da bateria de pelo menos 2 horas
- alcance de detecção do receptor - a 100 metros na floresta.

Mais tarde, nossa equipe começou a participar do Global Balloon Space Challenge , assim como em outros eventos, e, é claro, os beacons foram usados ​​em todos os casos.

Frequências e antenas


As frequências padrão da “caça à raposa” tiveram que ser abandonadas devido às dimensões das antenas e, como resultado de uma deliberação dolorosa, decidiu-se usar a frequência de 433 MHz. Condicionalmente não licenciado, não requer grandes antenas, existem vários transmissores e receptores à venda para esse intervalo. A antena do transmissor deve ser omnidirecional, a antena do receptor - pelo contrário, com orientação estreita. No caso do transmissor, não havia escolha em particular - uma antena de mola ou impressa. Para o receptor, a escolha é mais ampla - quadro, quadro "raposa" clássico + pino, quadrado duplo ou triplo, ioga, canal de ondas. Outra noite no fórum Sugare meditações dolorosas levaram à conclusão de que, afinal, um quadrado duplo. Este é um compromisso entre tamanho, simplicidade e qualidade de recepção distintos. O tamanho de toda a antena é de cerca de 18 * 18 * 8 cm. O quadrado da frente é um vibrador aberto, a traseira é um pouco maior, um refletor fechado. A placa receptora foi montada no espaço do vibrador. A geometria de tais antenas é desejável para suportar com a maior precisão possível. O material para a fabricação da antena é um tubo de freio para o "Lada" e vários pedaços de plexiglass, obtidos na despensa.


Dois quadrados do tubo são mantidos por uma parte diagonal e duas placas trapezoidais angulares nos cantos. Toda a estrutura é firmemente apertada com abraçadeiras. Para a fabricação de peças, imprimi os desenhos em escala real e colei-os em acrílico. Então ele fez furos e cortou os contornos com um quebra-cabeças. Apesar das minhas preocupações, a antena acabou sendo bastante rígida, mas, ao mesmo tempo, o plexiglass era um material muito frágil e quebrou rapidamente. Na segunda vez, as peças não metálicas da antena foram feitas de acordo com os mesmos desenhos em um cortador a laser de madeira compensada (obrigado, Fablab Polytechnic ). Um aperto de pistola e orifícios de alívio foram adicionados aos desenhos. Para proteger contra a água, o compensado foi revestido com verniz acrílico em spray.

Aprendendo a cozinhá-los


Para todos os componentes eletrônicos do projeto, foram utilizados microcontroladores da série STM8 - não os mais populares, mas eu gosto deles. O baixo preço, que é uma das principais condições deste projeto, os periféricos ricos, a capacidade de alimentar microns diretamente de uma bateria de Li-Po, a despretensão geral e as boas placas de demonstração são o que me atrai para esses chips. Também vale destacar a simplicidade das placas, porque MK costurado em 1 fio (às vezes 2 - ainda precisa ser redefinido). O depurador de hardware funciona na mesma interface.
Para atualizar o microcontrolador STM8, você precisa de um programador compatível. O programador pode ser adquirido separadamente, mas é mais fácil e barato adquirir uma das placas STM8-something_disc-DISCOVERY. Para usar o programador embutido, é necessário dessoldar 2 jumpers e conectar os pinos da placa ao dispositivo de destino. Pessoalmente, eu uso um programador que foi originalmente interrompido do STM8S-DISCOVERY e, para piscar em massa, eu uso um adaptador especial com dois crocodilos e duas sondas do testador. Infelizmente, o gcc não é portado para o kernel STM8; você precisa usar versões gratuitas de compiladores pagos. No meu caso, isso é racional, o ambiente de desenvolvimento é stvd.

A primeira versão da eletrônica


Transmissor

Para a primeira versão do dispositivo, os módulos Telecontrolli foram adquiridos. Para transmissores - RT4-433 (mais tarde RT14-433). A princípio, parecia uma boa opção. Para controlar os módulos no transmissor, foi utilizado um dos MCUs mais baratos - STM8S003F3, no pacote SO-16, conveniente para soldar. O esquema banal é na verdade o MCU, um capacitor obrigatório, um capacitor de filtragem no circuito de potência, um módulo de rádio, um LED e um resistor. Cerca de uma vez por segundo, o transmissor emite um pulso modulado de aproximadamente meio segundo com uma frequência de 200 Hz e pisca um LED. Essa variação do farol sobreviveu a várias provações e encarnações.
Foram utilizadas placas saqueadas feitas por si,


PP chinês com seeedstudio;


Antenas - molas e impressas.

Também houve experimentos com diferentes LEDs e correntes diferentes - por exemplo, pensava-se que flashes breves e agudos de uma cor azul artificial de dentro de um recipiente transparente poderiam ajudar a encontrar o recipiente na floresta à noite. Os módulos de rádio também variaram, dependendo das condições de mercado para os componentes de rádio.

Receptor


Para o localizador de direção do receptor, foram utilizados módulos RRQ14-433 do mesmo Telecontrolli. O módulo possui duas saídas - os dados recebidos e o nível analógico do AGC, também é RSSI. Ambos estão conectados ao microcontrolador STM8S903C, mas a saída de dados foi apenas por precaução, o sinal nele foi ignorado pelo firmware. O RSSI foi pesquisado continuamente usando o controlador ADC embutido. A indicação da intensidade do sinal deve ser dupla - por um lado, visualmente, com números moderadamente grandes visíveis dia e noite. Por outro lado, é necessário conectar um som - para que você não precise olhar constantemente para o indicador. Bem, as tradições de Hollywood são assim - deve chiar. O controlador era novamente da família STM8S, mas o outro era o STM8S903, equipado com uma fonte de tensão de referência integrada, necessária para medir o RSSI. O indicador recebeu um indicador LED de dois dígitos e 7 segmentos.Eu realmente não queria criar circuitos clássicos do tipo arduino com uma montanha de resistores, indicadores dinâmicos e assim por diante; assim, o driver de LED integrado STP16CP05 entrou no negócio. Este é um registro de deslocamento de 16 canais com estabilização de corrente em cada saída, e o valor atual é definido por um resistor de cada vez para todas as saídas. 16 canais - apenas 2 dígitos de 7 segmentos + pontos decimais. O indicador em si é simplesmente um indicador de tamanho distinto com um ânodo comum. O som que eu fiz no último momento com os fones de ouvido do jogador que vieram à mão. Os fones de ouvido foram conectados através de um resistor (para não atormentar o MK com altas correntes), às saídas diretas e inversas do temporizador MK. Como o módulo de rádio requer 5V, tive que aumentar a tensão de alimentação (modelo de 2 células LiPo para 800mAh) e definir LDO para 5V (não está no circuito).Eu não queria me incomodar com indicadores dinâmicos e, portanto, o driver de LED integrado STP16CP05 entrou no negócio. Este é um registro de deslocamento de 16 canais com estabilização de corrente em cada saída, e o valor atual é definido por um resistor de cada vez para todas as saídas. 16 canais - apenas 2 dígitos de 7 segmentos + pontos decimais. O indicador em si é simplesmente um indicador de tamanho distinto com um ânodo comum. O som que eu fiz no último momento com os fones de ouvido do jogador que vieram à mão. Os fones de ouvido foram conectados através de um resistor (para não atormentar o MK com altas correntes), às saídas diretas e inversas do temporizador MK. Como o módulo de rádio requer 5V, tive que aumentar a tensão de alimentação (modelo de 2 células LiPo para 800mAh) e definir LDO para 5V (não está no circuito).Eu não queria me incomodar com indicadores dinâmicos e, portanto, o driver de LED integrado STP16CP05 entrou no negócio. Este é um registro de deslocamento de 16 canais com estabilização de corrente em cada saída, e o valor atual é definido por um resistor de cada vez para todas as saídas. 16 canais - apenas 2 dígitos de 7 segmentos + pontos decimais. O indicador em si é simplesmente um indicador de tamanho distinto com um ânodo comum. O som que eu fiz no último momento com os fones de ouvido do jogador que vieram à mão. Os fones de ouvido foram conectados através de um resistor (para não atormentar o MK com altas correntes), às saídas diretas e inversas do temporizador MK. Como o módulo de rádio requer 5V, tive que aumentar a tensão de alimentação (modelo de 2 células LiPo para 800mAh) e definir LDO para 5V (não está no circuito).Este é um registro de deslocamento de 16 canais com estabilização de corrente em cada saída, e o valor atual é definido por um resistor de cada vez para todas as saídas. 16 canais - apenas 2 dígitos de 7 segmentos + pontos decimais. O indicador em si é simplesmente um indicador de tamanho distinto com um ânodo comum. O som que eu fiz no último momento com os fones de ouvido do jogador que vieram à mão. Os fones de ouvido foram conectados através de um resistor (para não atormentar o MK com altas correntes), às saídas diretas e inversas do temporizador MK. Como o módulo de rádio requer 5V, tive que aumentar a tensão de alimentação (modelo de 2 células LiPo para 800mAh) e definir LDO para 5V (não está no circuito).Este é um registro de deslocamento de 16 canais com estabilização de corrente em cada saída, e o valor atual é definido por um resistor de cada vez para todas as saídas. 16 canais - apenas 2 dígitos de 7 segmentos + pontos decimais. O indicador em si é simplesmente um indicador de tamanho distinto com um ânodo comum. O som que eu fiz no último momento com os fones de ouvido do jogador que vieram à mão. Os fones de ouvido foram conectados através de um resistor (para não atormentar o MK com altas correntes), às saídas diretas e inversas do temporizador MK. Como o módulo de rádio requer 5V, tive que aumentar a tensão de alimentação (modelo de 2 células LiPo para 800mAh) e definir LDO para 5V (não está no circuito).O indicador em si é simplesmente um indicador de tamanho distinto com um ânodo comum. O som que eu fiz no último momento com os fones de ouvido do jogador que vieram à mão. Os fones de ouvido foram conectados através de um resistor (para não atormentar o MK com altas correntes), às saídas diretas e inversas do temporizador MK. Como o módulo de rádio requer 5V, tive que aumentar a tensão de alimentação (modelo de 2 células LiPo para 800mAh) e definir LDO para 5V (não está no circuito).O indicador em si é simplesmente um indicador de tamanho distinto com um ânodo comum. O som que eu fiz no último momento com os fones de ouvido do jogador que vieram à mão. Os fones de ouvido foram conectados através de um resistor (para não atormentar o MK com altas correntes), às saídas diretas e inversas do temporizador MK. Como o módulo de rádio requer 5V, tive que aumentar a tensão de alimentação (modelo de 2 células LiPo para 800mAh) e definir LDO para 5V (não está no circuito).

O firmware do controlador mede continuamente o nível RSSI, tenta encontrar os picos no momento da recepção do sinal de rádio, contabiliza-os em certos "papagaios" e os exibe no indicador. Esses papagaios são convertidos na duração de "bipes" periódicos. Em 0 papagaios, o localizador de direção é silencioso; em 99, ele chia continuamente. O firmware do transmissor foi refeito 100.500 vezes, principalmente devido a uma recontagem distinta do RSSI. O código de lá não mostrarei a ninguém, você não pode assustar pessoas assim.

First pancake.com



Os primeiros testes e competições usando o sistema "encontre-me" obtido foram geralmente bem-sucedidos, o localizador de direção tornou possível encontrar uma sonda caída na floresta algumas vezes. A antena mostrou uma orientação aceitável, as sondas, como esperado, podem ser ouvidas no rádio. A distância de detecção na floresta também está dentro da razão. Das descobertas desagradáveis, foi que os parâmetros dos módulos transmissores “andam” de uma instância para outra - freqüência e potência. Módulos diferentes rangeram nos canais 32-42, com o esperado 34. O nível RSSI no receptor também se comportou um pouco estranho, mas algum xamanismo no algoritmo do receptor nos permitiu ver no indicador um certo valor semelhante ao nível do sinal do transmissor em alguns papagaios. Na expectativa de fazer outro lote, de repente ficou claroque os principais módulos transmissores de todo o projeto se tornaram muito mais caros e geralmente desapareceram do mercado. Em melancolia, tristemente vasculhei os tesouros do AliExpress, sem muita esperança de encontrar um substituto.

E aqui



E então segue .

Links:
Continuação: geektimes.ru/post/270170
Aproximadamente o mesmo em inglês: www.randomrace.ru/2015/gsbc/preparation/transmitter/eng
RandomRace: randomrace.ru (as competições mais próximas: www.randomrace.ru/2016/spring )
Fontes de todo o firmware: sourceforge.net/projects/randomracebeacon
GBSC: www.balloonchallenge.org/teams/15

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


All Articles