» Eletrônicos » Arduino »Equipamento de controle de rádio no Arduino

Equipamento de controle de rádio no Arduino



Este artigo discute a fabricação de equipamento de controle por rádio proporcional à placa Arduino. Uma característica interessante do projeto é que o equipamento foi concebido como uma alternativa ao equipamento "adulto", mas que pode ser fabricado por você. Existem teclas de compensação no transmissor, o que é importante para o controle, por exemplo modelos Na aeronave, o transmissor também é equipado com uma pequena tela com LEDs orgânicos, que exibe informações básicas sobre a operação do transmissor. O equipamento foi projetado para 6 canais, 4 proporcionais e 2 discretos. O autor também estabeleceu as bases para a futura adição de mais dois canais proporcionais, dois potenciômetros foram adicionados ao caso, mas no momento eles não estão envolvidos. No entanto, isso é suficiente para controlar o modelo de um avião, navio ou carro, e canais discretos permitirão controlar a carga adicional, por exemplo, a inclusão de faróis, luzes do convés, luzes de navegação ou até o lançamento de pequenos mísseis. O equipamento possui dois modos de controle - linear e exponencial.




Para o transmissor, você precisará de:

1 x Arduino NANO / UNO / ProMini
1 x placa de proteção BMS para três latas de íon de lítio
1 conector de 5,5 x 2,1 mm
1 x Conversor DC / DC Step Up XL6009
1 x pequeno conversor step-down LM2596 (falarei sobre isso separadamente)
3 x 18650:
2 x joysticks JH-D202X (vendidos na Ali)
2 x chave seletora
1 x Tela OLED i2c de 0,96 polegadas 128X64
1 x módulo de rádio NRF24l01 com amplificador e antena
9 x botão de tato 6 * 6 * 5 mm
Resistores de saída (veja o diagrama)

Para o receptor, você precisará de:

1 x Arduino NANO / UNO / Pro Mini
1 x módulo de rádio NRF24l01
1 x regulador de tensão AMS1117 3.3V
30 x pentes de pls
1 x placa de ensaio
1 x 10 uF capacitor

Abaixo, você pode ver uma imagem gráfica de todos os componentes e um diagrama de suas conexões. Antes da montagem, os conversores buck devem ser configurados, XL6009 a 12,6 V (este módulo é responsável pelo carregamento), LM2596 a 3,3 V (energia para o módulo de rádio). Em vez do LM2596, é teoricamente possível usar o ASM117, de acordo com a folha de dados, a tensão máxima de entrada deste estabilizador é de 15 V, mas é aconselhável não aplicá-lo acima de 12 V. Aparentemente, com base nessas considerações, o autor usou outro conversor DC / DC. Em vez disso, você também pode usar um estabilizador ajustável, por exemplo, LM317.




Habitação

Equipamento de controle de rádio no Arduino


O gabinete consiste em duas partes principais: superior e inferior. Além disso, são impressos 9 botões (8 para recorte e um botão de modo), 5 backups para botões, um painel de exibição e um controle deslizante de energia.O autor imprimiu um PLA com uma borracha com 20% de cobertura, um bico de 0,4 mm e uma altura de camada de 0,3 mm. A propósito, ninguém proíbe o uso de outro estojo, você pode simplesmente pegar uma caixa adequada, colar você mesmo ou retirar uma estante razoavelmente grande de um brinquedo chinês, eles quase são vendidos em sacos em sites classificados.


Montagem do transmissor

As baterias estão conectadas em série. O autor fez isso com a soldagem. Quero observar que as latas de solda de 18650 exigem alguma habilidade; portanto, se você não tiver essa experiência, compre baterias com pétalas já soldadas e solda a elas. Além disso, as baterias de acordo com o esquema acima são soldadas no módulo BMS, cuja entrada é fornecida com tensão do conversor XL6009 (o MT3608 pode ser usado). O BMS é responsável por carregar / descarregar uniformemente todas as latas e desligar a energia quando as baterias estiverem gastas. A tensão também pode ser monitorada usando o display. As baterias são carregadas por uma fonte de alimentação de 9 V com uma corrente não superior a 3 A (máximo para XL6009). De fato, a corrente de carga deve ser calculada dependendo da capacidade das baterias e levar a fonte de alimentação com uma corrente ligeiramente mais baixa ou limitá-la. É conveniente montar os módulos na carcaça com a ajuda de fita dupla face "automóvel".




Os botões do relógio são instalados em plataformas especiais, após o que são anexados com pequenos parafusos aos suportes correspondentes dentro do gabinete. Aqui, de fato, tudo está no nível do designer e é bem compreendido pela foto.




Os botões são interconectados por resistores, deixando essencialmente um pequeno teclado resistivo, que permite usar apenas um pino da placa Arduino. Os fios são soldados aos potenciômetros do joystick, os fios extremos vão para o solo e 5 V, os fios médios ao pino Arduino correspondente. Tenho planos de repetir esse esquema, já experimentei um pouco e posso dizer que o código tem a função de inverter automaticamente os canais conforme necessário, mas ainda não entendi como o esquema determina essa necessidade. Isso quer dizer que a inversão de canal é essencialmente realizada soldando as conclusões extremas em alguns lugares. Esses joysticks, no momento da redação deste artigo, são vendidos em Ali a um preço de cerca de US $ 7 cada, independentemente de você ou não. Em vez disso, você pode usar os módulos de joystick para arduino ou joysticks dos controladores de jogos.

De fato, o joystick funciona como um divisor, desviando o manípulo, alteramos a tensão na saída média do potenciômetro e, dependendo dessa tensão, o arduino determina o desvio.
[centro] [/ centro]
Os copos também estão conectados. São necessárias chaves de alternância on-off, pois o canal é discreto e possui apenas dois valores - 0 ou 1, dependendo se a saída do arduino é atraída para o solo ou para uma fonte de alimentação de 5 V. Além disso, a chave on-off é necessária, se você deixar a saída "suspensa no ar", o que aconteceria ao usar três posições, o controlador não entende o que está acontecendo e o valor salta aleatoriamente 0 ou 1 (na minha experiência). Você não pode definir potenciômetros adicionais, no momento em que eles não estiverem envolvidos. Ou você pode colocar e monitorar a página de origem, talvez o autor eventualmente poste o firmware atualizado.




Em seguida, um arduino, um módulo de rádio e uma placa de potência do módulo de rádio são instalados. Como descrito acima, é necessário definir uma tensão de 3,3 volts. É quase impossível fazer isso usando um resistor variável padrão, de modo que o autor o dessoldou e soldou um aparador de várias voltas. A seguir, o monitor é montado e todos os componentes são conectados aos terminais do arduino, conforme o diagrama.




Firmware

O firmware do Arduino já foi falado cerca de 1000 vezes; neste momento, a capacidade de fazer isso enquanto se mantém em um projeto do arduino é tão importante por padrão quanto a capacidade de segurar um ferro de soldar nas mãos enquanto mantém algo para soldar.O código do transmissor, receptor, bibliotecas necessárias e um arquivo para impressão 3D do estojo podem ser baixados em um arquivo no final do artigo.


Receptor



Para o receptor, você precisará de outra placa Arduino, um módulo de rádio (sem antena, a telemetria ainda não está implementada aqui) e um estabilizador de 3,3 volts. O receptor é soldado à tábua de pão. A potência do receptor é realizada da mesma maneira que a potência de qualquer outro receptor de fábrica, a partir de uma saída especial do controlador de velocidade.




Por conta própria, quero acrescentar que, em vez da antena padrão deste módulo, é desejável soldar a mesma antena instalada no módulo com um amplificador (somente sem caixa). Isso não afetará particularmente a faixa de recepção, mas afetará significativamente a qualidade da recepção, dependendo da posição do modelo controlado em diferentes planos. Para receptores e transmissores modernos, para esse fim, até duas antenas são instaladas, localizadas perpendicularmente uma à outra.


Além disso, o autor implementou uma função muito importante - a saída do sinal do receptor PPM. Esquematicamente, neste caso, nada muda, basta preencher outro firmware, o sinal PPM é emitido da mesma maneira que na maioria dos receptores de fábrica - a partir do primeiro canal (gás).




Isso é tudo. Pessoalmente, gostei muito do projeto e, como já disse, planeja repeti-lo no caso do controle remoto de um brinquedo infantil. No menu, você pode selecionar o modo de linear para exponencial e ajustar o valor de cada stick. Lembre-se de que o valor médio de cada canal deve ser 127.


Você pode baixar tudo o que precisa aqui.

Todo o sucesso no trabalho!
8.9
8.6
8.6

Adicionar um comentário

    • sorrirsorrisosxaxaoknão seiyahoonea
      chefearranhartolosimsim simagressivosegredo
      desculpedançardance2dance3perdãoajudabebidas
      pararamigosbomgoodgoodapitodesmaiarlíngua
      fumaçapalmascraydeclararirônicodon-t_mentionbaixar
      calorirritantelaugh1mdareuniãomoskingnegativo
      not_ipipocapunirlerassustarsustospesquisar
      provocarthank_youistoto_clueumnikagudoconcordar
      malbeeeblack_eyeblum3corargabar-setédio
      censuradobrincadeirasecret2ameaçarvitóriayusun_bespectacled
      sacudirrespektlolpreviubem vindoKrutoyya_za
      ya_dobryiajudantene_huliganne_othodifludproibirfechar
30 comentários
feonor12 escreve corretamente que as entradas não utilizadas devem ser puxadas para o chão ou para a energia. Comecei a aderir a essa regra assim que aprendi a trabalhar com chips CMOS. Ah, há quanto tempo ... E nos microcontroladores, é claro, ninguém cancelou essa regra.
muito obrigado !!!!!
O autor
No processo de compilação, também redesignei algumas variáveis ​​e também escrevi que havia pouca memória, embora tenha sido escrito imediatamente que o esboço usa 77% da memória. O esboço é desajeitado, ninguém nega, mas funciona. A principal coisa que compilou. Construa um circuito de teste e verifique como ele funciona; os problemas devem ser resolvidos assim que estiverem disponíveis. Quando você monta o circuito de teste do transmissor - todos os canais não utilizados, seja joysticks, uma chave seletora ou teclado, em geral, tudo o que não está conectado deve ser ligado ao terra ou a 5V, se você deixar o dispositivo "suspenso no ar", ele não funcionará adequadamente. colidiu quando repetido.

Z.Y. Registre-se e você pode.
Convidado Andrew
quase saiu como na sua foto.
só agora jura, enfim, aqui
C: \ Usuários \ mozga \ Documents \ Arduino \ library \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: na função de membro 'valor booleano Adafruit_GFX_Button :: contains (int16_t, int16_t)':

C: \ Users \ mozga \ Documents \ Arduino \ library \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1120: 28: aviso: comparação entre expressões inteiras assinadas e não assinadas [-Wsign-compare]

Retorno ((x> = _x1) && (x <(_ x1 + _w)) &&

                             ^

C: \ Users \ mozga \ Documents \ Arduino \ library \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1121: 28: aviso: comparação entre expressões inteiras assinadas e não assinadas [-Wsign-compare]

(y> = _y1) && (y <(_ y1 + _h)));
eventualmente compilação concluída
e grava pouca memória e o programa pode não funcionar de maneira estável.
desculpe aqui não posso colocar uma foto.
O autor
Remova / coloque duas barras.

#define SSD1306_128_64
// #define SSD1306_128_32
// #define SSD1306_96_16

É assim que deve ser.
Convidado Andrew
muito obrigado
não juro muito.
Agora vou pesquisar no Google, o que significa:
(Comente o segundo e remova o comentário do primeiro.)
O autor
Por dois, caramba, minutos do google. No arquivo Adafruit_SSD1306.h, você precisa encontrar essas linhas

// #define SSD1306_128_64
#define SSD1306_128_32
// #define SSD1306_96_16

comente o segundo e descomente o primeiro.
O autor
Ouça, eu não escrevi esse código e não sou especialista em programação. O que eu sabia, então solicitado, não combina com você. Funciona para o autor, eu colecionei - funciona para mim também. Como não funciona para você, o erro não está no código ou na biblioteca. Entre em contato com o fórum temático, acesse a fonte e escreva para o autor ou aguarde até que alguém que conheça aqui responda. Eu disse que não sabia qual era o problema, o que mais era necessário de mim, para que eu largasse tudo e começasse a lidar com o problema para você? Desculpe, não.
Convidado Andrew
"obrigado pela ajuda"
erro na biblioteca Adafruit_SSD1306.h
E eu tenho um problema de "ordem privada".
é isso que dá.
Transmitter_code: 102: 2: error: #error ("Altura incorreta, corrija isso em Adafruit_SSD1306.h!");
talvez que número ou letra deva ser alterado lá, mas não sei
O autor
Então eu não sei, tudo compilou e foi costurado. Agora, verifiquei por interesse, tudo também foi compilado. Então, um problema particular.

Convidado Andrew
Biblioteca Adafruit_SSD1306-master
instalou o programa ide arduino no próprio programa
O autor
Existe um erro durante a compilação? Ele está xingando na biblioteca de exibição. Você instalou a biblioteca Adafruit_SSD1306-master a partir do arquivo na quarta-feira?
Convidado Andrew
ola
Decidi verificar os esboços primeiro: receptores PPM e PWM (leia-se)
Comecei a verificar o transmissor, dá um erro.
#error ("Altura incorreta, corrija isso em Adafruit_SSD1306.h!");
Tradutor do Google traduzido.
#error ("A altura está incorreta, corrija isso em Adafruit_SSD1306.h!");
E o que devo fazer agora, nem sei ..............
O autor
Olá pessoal. Em geral, não tenho tempo nem vontade de terminar o aplicativo em um futuro próximo para poder escrever um artigo, mas por muito tempo desenhei um sinete do receptor que precisa ser levado. Não colecionei o quadro, mas verifiquei várias vezes, tudo parece estar correto. Algumas palavras que não haveria perguntas:
O estabilizador do módulo de rádio é soldado em smd na placa (ASM1117 a 3,3 V, ativando pela folha de dados). Se funcionar de maneira instável ou a curta distância - pendure 10 microfarads de conders diretamente nos contatos de potência do módulo (não consegui encontrar um lugar para enfiar na placa).
Soldamos o smd, depois os jumpers, seguidos pelo arduino (patas de programação para o pente das saídas), o segundo "piso" do módulo de rádio, como fiz no controlador de vôo. O módulo de rádio se sobrepõe ao botão de reinicialização do arduino, então eu o trouxe para a parte traseira do sinete (apenas solde-o do arduino e solde-o). Se o seu programador fizer o reset sozinho ou você não planeja reflash após a montagem, você pode remover o botão e as faixas do regador, o cachecol sairá alguns milímetros mais estreito e mais curto (20x50 mm). De qualquer forma, o cachecol saiu muito compacto. No módulo de rádio, é desejável cortar a antena impressa e soldar como nos receptores padrão de 2,4 GHz (foto abaixo). Isso não afetará o alcance, mas a recepção será aprimorada com diferentes orientações no espaço. Poder 5V para qualquer conector do regulador de PESO ou externo.
Defina o painel acabado em uma contração térmica transparente, você pode pré-desenhar, imprimir e inserir uma placa de identificação com a designação de grupos de contatos. Ou faça um pãozinho como o mesmo estabilizador de vôo.
Bem, tudo parece estar você pode baixar um sinete aqui.



Aqui está o esboço. voo, um artigo sobre ele no meu perfil.


Guest Vladislav
Escreva para ajudar, coletei o esboço em pedaços, já que meu nativo não foi iniciado, agora tudo funciona bem, Viber 0993482290
o robô
ajuda com a skatech. existem muitos erros !!
O autor
Eu faço Appu no meu tempo livre, mesmo do tempo livre, uma tautologia, mas é verdade.Pois existe um aplicativo de fábrica flysky i6, este, por uma questão de interesse esportivo, estou coletando. Quando terminar completamente, colecionarei o receptor normal - elaborarei tudo em um artigo separado.
Mas para que você não tivesse dúvidas sobre o seu desempenho, aqui acenou o aileron:

Como você pode ver, funciona. Um canal conectado, por exemplo. O fio do receptor é de energia, alimentado pelo carregamento do telefone.

Embora exista muito a desenvolver, em geral é na parte do software, realizar a escolha do canal mais silencioso, vinculativo, para coletar vários receptores, adicionar memória para pelo menos 5 modelos. Até a telemetria pode ser reduzida, se você quiser. Mas isso requer a ajuda de entusiastas, ou a própria linguagem do Arduino é melhor para aprender, ou o autor para escrever, talvez isso o interesse. Eu, em um futuro próximo, definitivamente não farei isso.

E eu já falei sobre a comida. 1 lata de 18650 + MT3608 + ASM1117 + TP4056 com proteção de -54-5 dólares. Como opção, mas existem muitos deles, pelo menos a partir de baterias.
Andrew1978
Mostre o vídeo do seu controle remoto ..... Sobre o absurdo - o absurdo pode ser para você, mas é 65% do custo de todo o controle remoto - três stubs, um carregador e três lítio ....
O autor
Ninguém se preocupa em organizar as refeições de outra maneira. Por alguma razão, todo mundo se apega ao absurdo, omitindo a principal nuance - esses são “cérebros” prontos, o receptor e o transmissor em um sinal PPM padrão, e como alimentá-los e, nesse caso, empurrar é a décima coisa. É possível alimentar a partir de uma lata através de um conversor DC / DC de reforço, corrigindo o código para indicar corretamente a carga de uma lata. Até agora, tenho comido da coroa, pois para uso permanente não concebi minha própria versão.
Andrew1978
Que perversão alimentar os três lítio com um controle remoto que usa 5v e 3.3v ....
O autor
O autor
Você quer se defender? Isso é uma perda de tempo, normalmente ainda não dá certo. Nos sites, os anúncios classificados vendem vários controles remotos de brinquedos, incluindo pistolas. Venda por um centavo (a criança matou o brinquedo, mas o controle remoto permanece). Escolha menos massivo e refaça. A alteração é reduzida a jogar fora todo o enchimento e forçar os controles dos potenciômetros lineares.
Outra opção é comprar um appu com recheio chamuscado, mas toda a mecânica. Nos sites de modeladores, de tempos em tempos, aparecem.
Meu appa ficará assim (a placa de identificação é teste, então eu vou torná-lo mais bonito)
Convidado Eugene
essa é a mecânica e os interesses e não há nada a redesenhar com
O autor
Porque Sim, e quem está interferindo, isso é uma questão de mecânica. Pegue o console da pistola do brinquedo, modifique-o e assim será. Você pode pegar qualquer coisa, um joystick de computador para simuladores de vôo, até um gamepad da Sonya. Aqui o esquema principal.
Eu já estou me montando em um console de brinquedo.
Convidado Eugene
equipamento tipo pistola seria feito ...
O autor
Apenas verificado, tudo abre e faz o download. Talvez você tenha algum tipo de bloqueador de anúncios ou algo assim.
Se alguém tiver problemas com o download - gravação, voltarei ao administrador.
esse aqui não funciona
O autor
Você pode baixar tudo o que precisa aqui.

Clique aqui
O autor
Você pode baixar tudo o que precisa aqui.

Clique aqui
e onde está o esboço para o equipamento

Aconselhamos que você leia:

Entregue-o para o smartphone ...