» Électronique » Arduino »Equipement de contrôle radio sur Arduino

Équipement de contrôle radio sur Arduino



Cet article traite de la fabrication d'équipements de radiocommande proportionnels sur carte Arduino. Une caractéristique intéressante du projet est que l'équipement a été conçu comme une alternative à l'équipement "adulte", mais que vous pouvez fabriquer vous-même. Il y a des touches de trim sur l'émetteur, ce qui est important pour le contrôle, par exemple modèles avion, l'émetteur est également équipé d'un petit écran avec des LED organiques, qui affiche des informations de base sur le fonctionnement de l'émetteur. L'équipement est conçu pour 6 canaux, 4 proportionnels et 2 discrets. L'auteur a également jeté les bases de l'ajout futur de deux canaux proportionnels supplémentaires, 2 potentiomètres ont été ajoutés au boîtier, mais pour le moment ils ne sont pas impliqués. Néanmoins, cela suffit pour contrôler le modèle d'un avion, d'un navire ou d'une voiture, et des canaux discrets vous permettront de contrôler la charge supplémentaire, par exemple, l'inclusion de phares, de feux de pont, de feux de navigation ou même le lancement de petits missiles. L'équipement a deux modes de contrôle - linéaire et exponentiel.




Pour l'émetteur, vous aurez besoin de:

1 x Arduino NANO / UNO / ProMini
1 x carte de protection BMS pour trois bidons Li-ion
1 x connecteur 5,5 x 2,1 mm
1 x convertisseur élévateur DC / DC XL6009
1 x petit convertisseur abaisseur LM2596 (j'en parlerai séparément)
3 x 18650:
2 x joysticks JH-D202X (vendus sur Ali)
2 x interrupteur à bascule
1 x écran OLED i2c 0,96 pouces 128X64
1 x module radio NRF24l01 avec amplificateur et antenne
9 x bouton tactile 6 * 6 * 5 mm
Résistances de sortie (voir schéma)

Pour le récepteur, vous aurez besoin de:

1 x Arduino NANO / UNO / Pro Mini
1 x module radio NRF24l01
1 x régulateur de tension AMS1117 3,3 V
30 x peignes pls
1 x planche à pain
1 x 10 uF condensateur

Ci-dessous, vous pouvez voir une image graphique de tous les composants et un schéma de leur connexion. Avant l'assemblage, les convertisseurs abaisseur doivent être configurés, XL6009 à 12,6 V (ce module est responsable de la charge), LM2596 à 3,3 V (alimentation du module radio). Au lieu de LM2596, il est théoriquement possible d'utiliser ASM117, selon la fiche technique, la tension d'entrée maximale de ce stabilisateur est de 15 V, mais il est conseillé de ne pas l'appliquer au-dessus de 12 V. Apparemment, sur la base de ces considérations, l'auteur a utilisé un autre convertisseur DC / DC. Au lieu de cela, vous pouvez également utiliser un stabilisateur réglable, par exemple LM317.




Logement

Équipement de contrôle radio sur Arduino


Le boîtier se compose de deux parties principales: la partie supérieure et inférieure. De plus, 9 boutons (8 pour le recadrage et un bouton de mode), 5 sauvegardes pour les boutons, un cadre de l'écran et un curseur d'alimentation sont imprimés.L'auteur a imprimé un PLA avec une gomme avec une couverture de 20%, une buse de 0,4 mm et une hauteur de couche de 0,3 mm. Soit dit en passant, personne n'interdit d'utiliser un autre étui, vous pouvez simplement prendre une boîte appropriée, la coller vous-même ou prendre un étui assez grand d'un jouet chinois, ils sont presque vendus dans des sacs sur des sites classés.


Montage de l'émetteur

Les batteries sont connectées en série. L'auteur a fait cela avec la soudure, je tiens à noter que les boîtes à souder de 18650 nécessitent certaines compétences, donc si vous n'avez pas une telle expérience, achetez des batteries avec des pétales déjà soudés et soudez-les. De plus, les batteries selon le schéma ci-dessus sont soudées au module BMS, dont l'entrée est alimentée en tension par le convertisseur XL6009 (MT3608 peut être utilisé à la place). Le BMS est chargé de charger / décharger uniformément toutes les canettes et de couper l'alimentation lorsque les batteries sont épuisées. La tension peut également être surveillée à l'aide de l'écran. Les batteries sont chargées par une alimentation 9 V avec un courant ne dépassant pas 3 A (maximum pour XL6009). En effet, le courant de charge doit être calculé en fonction de la capacité des batteries et prendre l'alimentation avec un courant légèrement inférieur ou le limiter. Il est pratique de monter les modules dans le boîtier à l'aide de ruban adhésif double face "automobile".




Les boutons de l'horloge sont installés sur des plates-formes spéciales, après quoi ils sont fixés avec de petites vis aux supports correspondants à l'intérieur du boîtier. Ici, en fait, tout est au niveau du designer et est bien compris de la photo.




Les boutons sont interconnectés par des résistances, laissant ainsi essentiellement un petit clavier résistif, ce qui vous permet d'utiliser une seule broche de la carte Arduino. Les fils sont soudés aux potentiomètres du joystick, les fils extrêmes vont à la masse et 5 V, les fils moyens à la broche Arduino correspondante. J'ai l'intention de répéter ce schéma, j'ai déjà expérimenté un peu et je peux dire que le code a pour fonction d'inverser automatiquement les canaux selon les besoins, mais je n'ai pas encore compris comment le schéma détermine ce besoin. C'est-à-dire que l'inversion de canal s'effectue essentiellement en soudant les conclusions extrêmes par endroits. De tels joysticks, au moment de la rédaction du présent document, sont vendus à Ali au prix d'environ 7 $ chacun, que cela dépend de vous ou non. Au lieu de cela, vous pouvez utiliser les modules de joystick pour Arduino ou les joysticks des contrôleurs de jeu.

En fait, le joystick fonctionne comme un diviseur, déviant la poignée, nous changeons la tension à la sortie médiane du potentiomètre, et en fonction de cette tension, l'arduino détermine l'écart.
[centre] [/ centre]
Les gobelets sont également connectés. Des interrupteurs à bascule sont nécessaires on-off, car le canal est discret et n'a que deux valeurs - 0 ou 1, selon que la sortie de l'arduino est attirée vers le sol ou vers une alimentation 5 V. De plus, l'interrupteur on-off est nécessaire, si vous laissez la sortie "suspendue en l'air", ce qui se passerait lors de l'utilisation de trois positions, le contrôleur ne comprend pas ce qui se passe et la valeur saute au hasard soit 0 soit 1 (selon mon expérience). Vous ne pouvez pas définir de potentiomètres supplémentaires, pour le moment ils ne sont pas impliqués. Ou vous pouvez mettre et surveiller la page source, peut-être que l'auteur publiera éventuellement le firmware mis à jour.




Ensuite, un Arduino, un module radio et une carte d'alimentation de module radio sont installés. Comme décrit ci-dessus, il est nécessaire de régler une tension de 3,3 volts sur celui-ci. Il est presque impossible de le faire en utilisant une résistance variable standard, donc l'auteur l'a dessoudée et soudé un trimmer multi-tours à la place. Ensuite, l'écran est monté et tous les composants sont connectés aux bornes Arduino conformément au schéma.




Firmware

Le micrologiciel Arduino a déjà été évoqué 1000 fois, à ce stade, la capacité de le faire tout en conservant un projet Arduino est tout aussi importante par défaut que la capacité de tenir un fer à souder entre vos mains tout en tenant quelque chose à souder.Le code de l'émetteur, du récepteur, des bibliothèques nécessaires et un fichier pour l'impression 3D du boîtier peuvent être téléchargés dans une archive à la fin de l'article.


Récepteur



Pour le récepteur, vous aurez besoin d'une autre carte Arduino, d'un module radio (sans antenne, la télémétrie n'est toujours pas implémentée ici) et d'un stabilisateur de 3,3 volts. Le récepteur est soudé à la planche à pain. La puissance du récepteur est effectuée de la même manière que la puissance de tout autre récepteur d'usine, à partir d'une sortie spéciale du régulateur de vitesse.




Pour ma part, je veux ajouter qu'au lieu de l'antenne standard de ce module, il est souhaitable de souder la même antenne qui est installée dans le module avec un amplificateur (uniquement sans boîtier). Cela n'affectera pas particulièrement la portée de réception, mais affectera considérablement la qualité de réception en fonction de la position du modèle contrôlé dans différents plans. Pour les récepteurs et émetteurs modernes, à cet effet, même deux antennes sont installées, qui sont situées perpendiculairement l'une à l'autre.


De plus, l'auteur a mis en œuvre une fonction très importante - la sortie du signal du récepteur PPM. Schématiquement, rien ne change dans ce cas, il vous suffit de remplir un autre firmware, le signal PPM est émis de la même manière que dans la plupart des récepteurs d'usine - à partir du premier canal (gaz).




C’est tout. Personnellement, j'ai vraiment aimé le projet, et comme je l'ai déjà dit, je prévois de le répéter dans le cas de la télécommande d'un jouet pour enfant. Dans le menu, vous pouvez sélectionner le mode de linéaire à exponentiel et affiner la valeur de chaque stick. Gardez à l'esprit que la valeur moyenne de chaque canal doit être de 127.


Vous pouvez télécharger tout ce dont vous avez besoin ici.

Tous les succès dans le travail!
8.9
8.6
8.6

Ajoutez un commentaire

    • souriresouritxaxaokne sais pasYahoonea
      patronse gratterfououioui-ouiagressifsecret
      désolédansedanse2danse3pardonaiderles boissons
      arrêteramisbonbonsifflerévanouirla langue
      fumerapplaudircraydéclarermoqueurdon-t_mentiontélécharger
      chaleurirritérire1mdaréunionmasquagenégatif
      not_ipop-cornpunirlireeffrayerfait peurrecherche
      railleriemerci_vousçato_clueumnikaigud'accord
      mauvaisabeilleblack_eyeblum3rougirse vanterennui
      censuréplaisanteriesecret2menacervictoireyusun_bespectacled
      shokrespektlolprévalubienvenuekrutoyya_za
      ya_dobryiaidene_huliganne_othodifludinterdirefermer
30 commentaires
feonor12 écrit correctement que les entrées inutilisées doivent être tirées au sol ou à l'alimentation. J'ai commencé à adhérer à cette règle dès que j'ai appris à travailler avec des puces CMOS. Oh, il y a combien de temps ... Et dans les microcontrôleurs, bien sûr, personne n'a annulé cette règle.
merci beaucoup !!!!!
L'auteur
Dans le processus de compilation, j'ai également réaffecté certaines variables et j'ai également écrit qu'il y avait peu de mémoire, bien qu'il ait été immédiatement écrit que l'esquisse utilise 77% de la mémoire. L'esquisse est maladroite, personne ne le nie, mais ça marche. La principale chose qui a compilé. Construisez un circuit de test et vérifiez son fonctionnement, les problèmes doivent être résolus dès qu'ils sont disponibles. Lorsque vous assemblez le circuit de test de l'émetteur - tous les canaux inutilisés, que ce soit des joysticks, un interrupteur à bascule ou un clavier, en général, tout ce qui n'est pas connecté doit être lié à la terre ou à 5V, si vous laissez l'appareil "suspendu en l'air", cela ne fonctionnera pas correctement, avec cela est entré en collision lorsque répété.

Z.Y. Inscrivez-vous et vous pouvez.
Invité Andrew
c'est presque comme sur ta photo.
jure seulement maintenant, en bref, ici
C: \ Users \ mozga \ Documents \ Arduino \ library \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: dans la fonction membre 'valeur booléenne Adafruit_GFX_Button :: contient (int16_t, int16_t)':

C: \ Users \ mozga \ Documents \ Arduino \ library \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1120: 28: avertissement: comparaison entre les expressions entières signées et non signées [-Wsign-compare]

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

                             ^

C: \ Users \ mozga \ Documents \ Arduino \ library \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1121: 28: avertissement: comparaison entre les expressions entières signées et non signées [-Wsign-compare]

(y> = _y1) && (y <(_ y1 + _h)));
éventuellement compilation terminée
et écrit pas assez de mémoire et le programme peut ne pas fonctionner de manière stable.
désolé, je ne peux pas mettre de photo ici.
L'auteur
Retirez / mettez deux barres obliques.

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

Voilà comment cela devrait être.
Invité Andrew
merci beaucoup.
ne jure pas beaucoup.
Maintenant, je vais google, ce qui signifie:
(Mettez en commentaire le second et décommentez le premier.)
L'auteur
Pour deux, bon sang, google minutes. Dans le fichier Adafruit_SSD1306.h, vous devez trouver ces lignes

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

commentez le second et décommentez le premier.
L'auteur
Écoutez, je n'ai pas écrit ce code et je ne suis pas un spécialiste de la programmation. Ce que je savais, puis incité, cela ne vous convient pas. Cela fonctionne pour l'auteur, je l'ai collecté - cela fonctionne aussi pour moi. Cela ne fonctionne pas pour vous, donc l'erreur n'est pas dans le code ou dans la bibliothèque. Contactez le forum thématique, allez à la source et écrivez à l'auteur, ou attendez que quelqu'un qui connaît ici réponde. J'ai dit que je ne savais pas quel était le problème, que m'attendait-on d'autre, pour que je laisse tout tomber et que je commence à régler le problème pour vous? Désolé, non.
Invité Andrew
"merci pour l'aide"
erreur dans la bibliothèque Adafruit_SSD1306.h
Et j'ai un problème de "commande privée".
c'est ce qui donne.
Transmitter_code: 102: 2: erreur: #error ("Hauteur incorrecte, corrigez cela dans Adafruit_SSD1306.h!");
peut-être quel numéro ou quelle lettre devrait être changé, mais je ne sais pas
L'auteur
Ensuite, je ne sais pas, tout a été compilé et cousu. Maintenant, j'ai vérifié par intérêt, tout a été compilé aussi. Donc, un problème privé.

Invité Andrew
Bibliothèque maître Adafruit_SSD1306
installé le programme Arduino Idé dans le programme lui-même
L'auteur
Y a-t-il une erreur lors de la compilation? Il maudit la bibliothèque d'affichage. Avez-vous installé mercredi la bibliothèque Adafruit_SSD1306-master à partir des archives?
Invité Andrew
bonjour.
J'ai décidé de vérifier d'abord les croquis. Récepteurs PPM et PWM (lire.)
J'ai commencé à vérifier l'émetteur, cela donne une erreur.
#error ("Hauteur incorrecte, veuillez corriger cela dans Adafruit_SSD1306.h!");
Traducteur Google traduit.
#error ("La hauteur est incorrecte, veuillez corriger cela dans Adafruit_SSD1306.h!");
Et que dois-je faire maintenant, je ne sais même pas ..............
L'auteur
Bonjour à tous. En général, je n'ai ni le temps ni l'envie de terminer l'application dans un proche avenir afin de pouvoir écrire un article dessus, mais pendant longtemps j'ai dessiné un sceau du récepteur qui doit être pris. Je n'ai pas récupéré la planche, mais je l'ai vérifiée plusieurs fois, tout semble être correct. Quelques mots qu'il n'y aurait pas de questions:
Le stabilisateur du module radio est soudé en smd sur la carte (ASM1117 à 3,3 V, mise en marche par fiche technique). Si cela fonctionne de manière instable ou sur une courte distance - accrochez 10 microfarads de condensateurs directement sur les contacts d'alimentation du module (je n'ai pas trouvé d'endroit où pousser sur la carte).
Nous soudons le smd, puis les cavaliers, suivis de l'arduino (pattes de programmation au peigne de sorties), le deuxième "étage" du module radio, comme je l'ai fait dans le contrôleur de vol. Le module radio chevauche le bouton de réinitialisation de l'arduino, je l'ai donc amené à l'arrière de la chevalière (il suffit de le souder de l'arduino et de le souder). Si votre programmeur tire vous-même la réinitialisation, ou si vous ne prévoyez pas de reflasher après assemblage, vous pouvez retirer le bouton et les pistes de l'arrosoir, l'écharpe sortira de quelques millimètres plus étroite et plus courte (20x50 mm). En tout cas, l'écharpe est sortie très compacte. Sur le module radio, il est souhaitable de couper l'antenne imprimée et de souder comme sur les récepteurs standard 2,4 GHz (photo ci-dessous). Cela n'affectera pas la portée, mais la réception s'améliorera avec différentes orientations dans l'espace. Puissance 5V à n'importe quel connecteur du régulateur de POIDS ou externe.
Réglez le panneau fini dans un thermorétractable transparent, vous pouvez pré-dessiner, imprimer et insérer une plaque signalétique avec la désignation des groupes de contacts. Ou faites un pain d'épice comme le même stabilisateur de vol.
Eh bien, tout semble être vous pouvez télécharger une chevalière ici.



Voici le talon. vol, un article à ce sujet dans mon profil.


Guest Vladislav
Écrivez pour vous aider, j'ai rassemblé le croquis en morceaux, car mon natif n'a pas commencé, maintenant tout fonctionne bien, Viber 0993482290
le robot
aider avec le skatech. il y a beaucoup d'erreurs !!
L'auteur
Je fais de l'Appu dans mon temps libre même à partir du temps libre, une tautologie, mais c'est vrai.Car il y a une application d'usine flysky i6, celle-ci, pour des raisons sportives, je la collectionne. Lorsque je le terminerai complètement, je récupérerai le récepteur normal - je rédigerai tout dans un article séparé.
Mais pour que vous n'ayez aucun doute sur ses performances, voici agité l'aileron:

Comme vous pouvez le voir, cela fonctionne. Un canal connecté, par exemple. Le fil du récepteur est l'alimentation, alimenté par la charge à partir du téléphone.

Bien qu'il y ait beaucoup à développer, c'est en gros dans la partie logicielle, pour réaliser le choix du canal le plus silencieux, la liaison, pour collecter plusieurs récepteurs, ajouter de la mémoire pour au moins 5 modèles. Même la télémétrie peut être nettoyée si vous le souhaitez. Mais cela nécessite soit l'aide de passionnés, soit la langue Arduino elle-même est préférable d'apprendre, ou l'auteur d'écrire, cela l'intéressera peut-être. Je ne ferai certainement pas cela dans un avenir proche.

Et j'ai déjà parlé de la nourriture. 1 boîte de 18650 + MT3608 + ASM1117 + TP4056 avec protection de -54-5 dollars. En option, mais il y en a beaucoup, au moins à partir de batteries.
Andrew1978
Montrez la vidéo de votre télécommande ..... À propos de Nonsense - le non-sens peut être pour vous, mais c'est 65% du coût de la télécommande entière - trois talons, un chargeur et trois lithiums ....
L'auteur
Personne ne prend la peine d'organiser des repas autrement. Pour une raison quelconque, tout le monde s'accroche au non-sens, en omettant la nuance principale - ce sont des "cerveaux" prêts à l'emploi, le récepteur et l'émetteur sur un signal PPM standard, et comment les alimenter et dans quel cas pousser est la dixième chose. Il est possible d'alimenter à partir d'une boîte via un convertisseur DC / DC amplificateur, en corrigeant le code pour indiquer correctement la charge d'une boîte. Jusqu'à présent, j'ai mangé de la couronne, car pour une utilisation permanente, je n'ai pas conçu ma propre version.
Andrew1978
Quelle perversion pour alimenter les trois lithium avec une télécommande qui utilise 5v et 3,3v ....
L'auteur
L'auteur
Voulez-vous faire un cas vous-même? C'est une perte de temps, normalement ça ne marchera toujours pas. Sur les sites, les petites annonces vendent un tas de télécommandes de jouets, notamment de type pistolet. Vendez pour un sou (l'enfant a tué le jouet, mais la télécommande reste). Choisissez moins massif et refaites. L'altération est réduite à jeter tout le remplissage et à faire levier sur les commandes des potentiomètres linéaires.
Une autre option consiste à acheter un appu avec une garniture roussie, mais l'ensemble de la mécanique. Sur les sites de modélisateurs tels que de temps en temps apparaissent.
Mon appa ressemblera à quelque chose comme ça (la plaque signalétique est test, alors je la rendrai plus belle)
Eugene invité
c'est la mécanique et les intérêts et il n'y a rien à redessiner
L'auteur
Pourquoi? Oui, et qui interfère, c'est une question de mécanique. Prenez la console du pistolet du jouet, modifiez-la et ce sera comme ça. Vous pouvez emporter n'importe quoi, un joystick d'ordinateur pour les simulateurs de vol, même une manette de jeu de Sonya. Voici le schéma principal.
Je m'assemble déjà à partir d'une console de jouets.
Eugene invité
du matériel de type pistolet serait fabriqué ...
L'auteur
Juste vérifié, tout s'ouvre et se télécharge. Peut-être que vous avez une sorte de bloqueur de publicités ou quelque chose.
Si quelqu'un d'autre a des problèmes de téléchargement - écrivez, je me tournerai vers l'administrateur.
celui-ci ne fonctionne pas ici
L'auteur
Vous pouvez télécharger tout ce dont vous avez besoin ici.

Cliquez ici
L'auteur
Vous pouvez télécharger tout ce dont vous avez besoin ici.

Cliquez ici
et où est le croquis de l'équipement

Nous vous conseillons de lire:

Donnez-le au smartphone ...