... rgl
Radio-Commande "Vintage"
et
Montages électroniques pratiques
à l'usage des "vieux dinosaures"
|
SOMMAIRE:
01 - Introduction - Présentation - Généralités
02 - Adaptation des récepteurs Robbe au standard universel FUTABA
03 - Robbe PROMARS
- Adaptation pour réglage du Neutre à 1,5 mSec
- Fragilité du module HF enfichable
- Nouvelle jeunesse: Adaptation d'un module CORONA 2.4Ghz (En attente du module)
04 - Robbe MARS
- Schéma du module BF
- Ajout de fonctions T/R, proportionnelle, exponentielle
- Couplage de voies
05 - FUTABA F14
- Platine 7 Voies
- Platine 8 Voies
- Remplacement d'un potentiomètre du double stick F14
- Ajout de voies proportionnelles
06 - Servo en Tout ou Rien (NE556 et NE555)
07 - Moteur en Tout ou Rien (Pont H)
08 - Propulseur d'étrave commandé en Tout ou Rien (Programme Picaxe 08M2)
09 - Ralentisseur de servo basique + Version "Deluxe" (PIC12F629) de RC-CAM
10 - Dual Slow Down Servo Driver de A.CLEMENT (PIC12F675)
11 - Ralentisseur de servos UNISERCOM UNISERCOM de Philippe LOUSSOUARN (PIC12F675)
12 - Elargisseur de course d'un servo
- Par interfage à microcontrôleur (PIC12F675)
- Par interface à microcontrôleur (ATtiny85)
- Par bidouillage de l'électronique interne du servo
13 - Inverseur de sens servo
- Par logique combinatoire
- Par MicroContrôleur
14 - Module Multi-Prop8 et Multi-switch jusqu'à 32 voies T/R par canal (Ce chapitre est traité sur une autre page vers laquelle vous allez être redirigé)
- Principe élémentaires des signaux RC
- Principe de fonctionnement des Codeurs Multi-Switch
- Système de Synchro_Logic pour étendre le nombre de fonctions (8, 16, 32)
- Principe de fonctionnement des Codeurs Multi-Prop
- Principe de fonctionnement des Décodeurs Multi-Switch et Multi-Prop
- Emulateur de récepteur: Testeur de décodeur MultiSwitch 8, 16 et 32 voies T/R.
Voir aussi ma page: Testeur de récepteur de RC
Diverses autres sources d'inspiration à visiter !
http://bateaux.trucs.free.fr/ageneral.html
https://www.cp-elektronik.de/index.php/de/
http://www.lesailesdupic.fr/modelismesmt/index2.html
http://www.ksmc.de/
http://philrich123.free.fr/
http://ilufa.orgfree.com/MIXER_E.htm
Catalogue ROBBE 1980: http://www.rcmagvintage.com/reviews/retro/catalogues/robbe/robbe1980de/robbe80de.htm
La grande mode de notre société de consommation est d'aujourd'hui sacrifier nos anciens ensembles RC par les nouvelles générations "2.4Ghz" parfois proposées à "prix jaunes" interpellant.
Outre le fait qu'il n'est plus nécessaire de disposer de paires de quartz interchangeables, ces radios sont programmables et sont munies de mémoires permettant de conserver diverses configurations et réglages en fonction du modèle piloté.
Leur émission est cependant entravée par des obstacles éventuels survenant entre l'émetteur et le modèle à contrôler.
Il faut comparer un spectre émis sur 2.4Ghz à "un rayon lumineux" ne passant pas au travers d'un quelconque obstacle.
Cette gamme de fréquence n'est donc pas indiquée pour la pratique du sous-marin qui nécessite des ondes plus longues.
Néanmoins, il reste de "vieux dinosaures" friands de ces Belles Radios Vintage, relativement faciles à réaligner, réparer ou adapter.
Je suis de ceux-là, et pour des modèles de bateaux, elles répondent parfaitement à nos besoins, même les plus gourmands.
D'autant plus d'ailleurs qu'il est très facile de leur adjoindre des fonctions supplémentaires par l'adjonction de modules d'extension.
Notez qu'une page distincte est ainsi consacrée à l'étude et à la réalisation de modules Multi-Switch et Multi-Prop.
Penchons nous maintenant sur quelques adaptations et montages pratiques pour ces ensembles "Vintage" dont j'ai fait, au fil du temps, les autopsies et tracé les schémas.
Adaptation des récepteurs ROBBE au standard UNIVERSEL JR/FUTABA |
Les connecteurs des récepteurs RC actuels et de leurs, servos, variateurs de vitesse et autres décodeurs sont désormais normés au pas de 2,54 mm. (Standard JR/FUTABA)
Il est donc intéressant de modifier la connectique de nos récepteurs Robbe pour les rendre "universels".
En outre, cette amélioration ne peut qu'améliorer leur fiabilité car à la longue, les connecteurs Robbe d'origine présentent des défaillances de contact.
Cette modification est facile à réaliser. Il vous faudra juste acheter une barrette sécable de pinheaders mâles !
Barrette sécable de pinheaders mâles Connecteurs ROBBE d'origine à changer
Après avoir ouvert la boîtier du récepteur en retirant ses deux vis, vous accéder au circuit et aux soudures qu'il faudra soigneusement retirer.
Pour un travail propre une pompe à déssouder sera un atout certain car la quantité à enlever est relativement importante et il faut éviter de surchauffer les pistes cuivrées.
Soudure des connecteurs à enlever Une pompe à déssouder est idéale pour un travail rapide et propre
Une fois les anciens connecteurs retirés on constate avec plaisir que les trous d'origine sont déjà placés... au pas de 2,54 mm !
Il faudra maintenant juste reforer les trous avec une mèche de 0,8mm car les pinheaders sont un peu plus épais que les connecteurs d'origine.
La barrette sera alors sectionnée par groupe de trois pins qui seront soudés à leurs emplacements définitifs.
Pins du Connecteur d'alimentation !
Seul le connecteur de l'alimentation doit retenir votre attention et subir une petite adaptation !
Car à défaut de disposer d'un système de détrompage, vous provoquerez un court-circuit de la batterie d'alimentation si vous l'enfichez à l'envers !
En effet, vous pouvez remarquer que les pins 1 et 2 sont placées sur la même piste cuivrée.
La solution consite donc à simplement couper le pied du pin 1 avant de souder le connecteur d'alimentation avec ses deux pins restants.
Et pour garantir un appui solide du connecteur d'alimentation on pourra l'assurer avec une goutte de colle cyanocrylate, côté composants. |
Enfin les soudures seront bien "renourries' sur les deux bus d'alimentation pour permettre le passage du courant cumulé par les divers servos.
Et vous voici maintenant en possession d'un récepteur normalisé et ainsi "modernisé".
1. Valeur du NEUTRE
Voici assurément une radio dont le look ne peut laisser indifférent ! J'en dispose de trois exemplaires ...
Et un petit nettoyage au rénovateur de plastique pour tableaux de bord automobile vous fait rebriller ce bel émetteur comme un sou neuf !
De prime abord il faut savoir que les signaux de l'émetteur Robbe PROMARS sont décalés par rapport à la norme actuelle.
Les servos Robbe d'ancienne génération tenaient évidemment compte de cette particularité et ils se positionnaient donc parfaitement à la position milieu si le stick correspondant de l'émetteur, et son trim, étaient bien au milieu. Avec de nouveaux servos, le décalage se traduit par une position neutre décalée.
La radio Robbe Terra Top présente également la même particularité.
Il est cependant facile de récaler cet émetteur à la norme "standard" en augmentant simplement la valeur de la résistance ajustable identifiée P2 sur la platine.
A l'origine, P2 vaut 10K. Il suffit de le remplacer par un autre modèle de 22K tourné au 3/4 ou un 25 K réglé à mi course... et le tour est joué ;)
Evidemment, un réglage fin sera opéré en visualisant les signaux sur un oscilloscope.
J'ai effectué quelques mesures de longueur des impulsions avec la configuration d'origine, ensuite en mettant P2 à fond (10K) et enfin en remplacant P2 par une ajustable de 22K réglée environ au 3/4.
Les longueurs d'impulsions, exprimées en milli Secondes, sont reprises au tableau suivant.
Et là, nous voyons qu'avec le remplacement de P2, il est possible d'obtenir facilement le protocole standard "1 - 1,5 - 2 msec".
Vous constatez aussi que ces valeurs peuvent légèrement être débordées par l'usage du trim.
REMARQUE !
Je me suis rendu compte que si le signal arrivant au module HF de l'émetteur présentait bien une valeur de 1,5 msec pour le Neutre, il n'en était plus de même côté récepteur !!!
La mesure des impulsions du Neutre est donc à faire sur l'une des sorties du récepteur !
A défaut de disposer d'un Oscilloscope, mon petit montage "Testeur de RX" peut rendre de grands services.
2. Fragilité des contacts du Module HF enfichable
Un problème que j'ai rencontré, sur la platine de l'émetteur, est la cassure des pistes des longs connecteurs servant à enficher le module HF au dos du boîtier.
1. Pour éviter de forcer sur ces longues "aiguilles", lorsqu'on enfiche le module, j'ai fraisé les trous du PCB de la platine du module avec une petite fraise cônique.
Cela crée une espèce de petit entonnoir qui guide les aiguilles vers les contacts.
2. J'ai ensuite renforcé les 10 soudures au dos de la platine de l'émetteur.
Vue côté composants
3. Nouvelle jeunesse
Certains se sont même appliqué à modifier cet ensemble et l'adapter à la fréquence de 2.4 Ghz mais sans toutefois disposer de mémoires et de possibilités de programmation.
Mais bon, pour ma part, je ne l'estime pas vraiment nécessaire, même pour mes très grands bateaux ...
Que voici un joli exemplaire à envier comptant pas moins de 170 fonctions !
Je vais m'en inspirer pour placer mes nombreux codeurs multiswitch.
Un chapitre est consacré, sur une page distincte, aux systèmes "MultiSwitches"...
Source: //www.ksmc.de/index.php/technik/221-170-kanal-anlage-promars
Allé, bon, laissons nous tenter ... !
Pour éviter l'usage de quartz sur le terrain, je viens de commander un module d'adaptation 2.4Ghz au prix plancher de moins de 30€, pour le module émetteur et un récepteur 8voies !
En attente de réception du module ...
A suivre ...
Que voici un émetteur sympathique !
Une électronique simple, sans µContrôleur, facile à appréhender et donc à réparer et offrant la facilité de créer ses propres extensions à moindres coûts.
Il est doté d'un module HF interchangeable permettant de moduler en différents spectres (27, 40, 41, 72 Mhz).
Chaque plage d'émission présente un module de couleur différente qui comporte un connecteur pour le quartz.
Il s'agit d'un émetteur 8 voies proportionnelles.
Des modules d'extension Multi-Switch peuvent être ajoutés pour augmenter les possibilités de fonctions appréciées en modélisme naval.
La platine BF se trouve sous le module HF
Les accus ont été remplacés et voici ma première fidèle radio âgée de plusieurs décénnies prête à rivaliser, sans rougir, avec ses plus jeunes concurrents !l
Ajout de simples voies supplémentaires
Schémas de voies/canaux supplémentaires.
A l'origine, une voie est composée du potentiomètre de stick de 4K7 dont le fil central est relié en série avec une ajoustable de "butée" de 10K délimitant la course du servo de cette voie.
Ajout de deux voies proportionnelles dans les logements prévus au bas de l'émetteur
Bâtis et leviers réalisés en PVC noir 3mm
Il reste à souder l'ajustable de B10K
Dual Rate
La fonction Dual Rate permet de limiter la course d'un servo symétriquement par rapport au neutre.
Particulièrement utile pour régler correctement la course du servo treuil d'un voilier par exemple.
Un tel circuit consiste simplement à placer un petit potentiomètre de B10K en série avec le fil du milieu du stick.
En fait, on augmente ainsi la valeur de l'ajustable de butée déjà existant.
Un petit commutateur permettant de le court-circuiter supprime la limitation de course.
Exponentiel
Cette fonction permet d'atténuer l'action du manche aux alentours du neutre pour s'accentuer vers les extrémités de sa course.
Cela permet des mouvements plus doux particulièrement utiles pour les modèles très rapides.
Couplage de voies
Ce principe peut s'appliquer à tous les émetteurs.
Il consiste à recopier l'information d'une voie vers une autre.
Prenons l'exemple d'un bateau équipé de deux moteurs.
Le moteur droit est contrôlé par la voie 2 et le moteur gauche par la voie 4.
En mode manoeuvre, il est utile de pouvoir commander séparément les moteurs pour, par exemple, tourner sur place en mettant un moteur en marche avant et l'autre en marche arrière.
Cependant, en mode marche avant normale, il est plus pratique de commander les deux moteurs avec un même régime et avec un seul stick du canal 2.
Il suffit donc d'utiliser un commutateur pour la voie 4 qui sélectionnera soit le signal issu du stick 4 (mode manoeuvre) soit celui du stick 2 (mode marche avant/couplage).
Le canal 2 est donc le "Maître" et le canal 4 peut être commuté en "esclave" du 2.
On pourrait également agir de la même manière sur les deux gouvernails ou sur deux pods orientables.
Les faire travailler en opposition peut être intéressant en "mode manoeuvre", mais les coupler en "mode normal".
Câble de charge et contrôle servo sans émission HF
Sur l'extrait de schéma de ci-dessous, vous trouverez la connectique de la fiche DIN 5F.
On peut y constater que lorsque la batterie est en charge, le chargeur sera déconnecté dès que l'émetteur sera allumé.
Le câble de contrôle servo se raccorde sur la prise prévue du récepteur et sert à tester son modèle sans allumer le module HF.
Cela est très pratique pour éviter d'éventuellement brouiller d'autres modélistes en cours d'émission.
La prise DIN peut également être facilement utilisée pour une connexion d'écolage "Maître/Elève" établie entre les deux émetteurs.
Le Maître utilise alors son émetteur allumé qui comporte un module équipé d'une autre fiche DIN et d'un swich permettant de sélectionner le signal BF de l'élève ou le sien en cas de reprise en main.
L'émetteur de l'éléve n'est pas allumé (pas d'émission HF) mais son module BF est alimenté par le strap de sa fiche d'écolage.
Module d'écolage "Double commande" placé sur l'émetteur du Maître
Double commande: https://www.ordinoscope.net/images/9/97/TX2TX.pdf
Cet ensemble se décline sous deux variantes ( 7 canaux ou 8 canaux) abritées dans un même boitier.
Il est donc difficile de les distinguer sans les ouvrir pour une autopsie rapide.
Huit pré-trous sont déjà ménagés sous l'autocollant au bas du boîtier pour le placement de switches.
Notez cependant que ces émetteurs sont livrés, l'un comme l'autre, avec un récepteur 8 voies.
Futaba F14 - 7 voies
Les premiers modèles ne géraient que 7 canaux.
Le composant principal étant le NE 5044N défini comme étant un "Programmable Seven-Channel RC Encoder".
Un composant tout particulièrement dédié à cet usage spécifique.
Il comprend un multiplexeur à 7 entrées et une unité de traitement délivrant en sortie un train d'impulsions séries conforme au protocole RC usuel.
Il intègre également un régulateur de tension de 5 volts pour l'alimentation générale de tous les circuits, y compris les modules d'extensions possibles (Multi-Switch, Multi-Prop).
Les quatre premières entrées du multiplexeur sont raccordées aux potentiomètres des sticks de commande.
Les trois autres entrées notées "EXT" peuvent accueillir les modules d'extension (Multi-Switch, Multi-Prop, ... )
Le connecteur Multi-OP délivre l'alimentation ainsi que la trame globale.
Il ne fournit cependant pas le signal d'horloge nécessaire aux modules d'extension Milti-Switch et Multi-Prop !!!
Pour ces modules, un petit adaptateur sera nécessaire et il devra être branché sur ce connecteur Multi-OP !
Ce petit module est étudié sur la page traitant des extensions Multi-Switch.
Futaba F14 - 8 voies
Conservant le même boîtier et une platine pratiquement identique pour la partie HF, une petite amélioration a été apportée par l'usage de la puce M34513M2 de Mitsubishi (4-bit MicroComputer).
Il est également alimenté en 5volts par un régulateur placé sur la platine.
Une alimentation régulée à 5 volts offre l'avantage de ne pas modifier la largeur des tops émis lorsque la batterie de 10,5V; se décharge au cours de l'utilisation.
Cela a toute son importance, notamment pour le bon fonctionnement des extensions Multi-Prop dont il sera question dans la page consacrée à ce module Multi-Prop.
Cet ensemble est alors capable de gérer 8 voies en proposant ici quatre connecteurs pour les modules additionnels ainsi que ceux nécessaires à leur alimentation et synchronisation.
Le connecteur Multi OUT délivre ici le signal d'horloge nécessaire aux modules d'extension Multi-Switch et Multi-Prop.
Contrairement à la version 7 voies, un adaptateur additionnel n'est donc plus nécessaire.
Le connecteur "Train" est destiné au module d'écolage Maître/Elève.
La partie HF ne diffère pas pour les deux modèles de F14 et se limite à un circuit accordé (avec Quartz TX interchangeable).
Il débouche sur un unique "transistor de puissance" (2S)C2314 , boîtier TO-126, référencé " 27Mhz CB Transceiver Driver".
Il est cependant utilisé dans les ensembles RC de 40Mhz !
Notez que sa Fréquence de transition = Min.180 Mhz / Typ.250Mhz !
Il est donc parfaitement adapté pour cet ensemble de Radio-Commande.
Remplacement d'un potentiomètre du double stick Futaba F14
J'ai dernièrement fait l'acquisition d'un émetteur F14-8Voies défectueux.
Le vendeur me spécifiant qu'une voie ne fonctionnait plus après que l'émetteur ait reçu un choc !
Je teste préalablement les récepteurs fournis avec un autre émetteur fonctionnel et les RX ne présentent aucune faille.
Poursuivant donc mes investigations vers l'émetteur, je constate effectivement que la piste d'un potentiomètre du stick droit est irrémédiablement cassée...
Commencent alors les recherches d'un potentiomètre pouvant convenir pour le remplacement !
Evidemment, Futaba utilise du matériel pas très conventionnel... rendant les recherches difficiles et... si on trouve ..., les pièces sont à vil prix !
Le potentiomètre défectueux est fixé à l'ensemble du double stick par une bague filetée en laiton traversant le dispositif mobile du trim.
Le pas de vis de ce potentiomètre de 5Kohm Linear (B5K) est à la norme M8x0,75 et présente un axe plein muni d'un méplat s'engageant dans l'étrier rotatif, solidaire du mécanisme de commande.
Les potentiomètres les plus approchant, en terme d'encombrement, et au prix dérisoire, sont les modèles du type WH148... mais ceux-ci comportent un pas de vis M7x0,75 !
Qu'à cela ne tienne, un petit passage sur le tour et c'est parti pour la réalisation d'une nouvelle bague au même encombrement mais munie d'un filet interne M7x0,75.
A noter également que le potentiomètre que j'ai pu trouver à moindre prix, dispose d'un axe crénelé et fendu.
No Problemo ! Un petit coup de lime pour parfaire le méplat et l'affaire est faite ! Cet axe ne subit en effet aucune contrainte mécanique vilolente !
A gauche le nouveau potentiomètre et sa nouvelle bague M7x0,75 réalisée sur un tour à métaux et taraudée au pas adéquat. A droite le potentiomètre d'origine défectueux au pas de M8x0,75 et sa bague de fixation.
Et voici une réparation rondement menée !
Ajout des voies proportionnelles
Le boîtier F14 est muni de deux emplacements permettant d'ajouter des voies proportionnelles.
Il est aisé de réaliser soi-même une telle extension coûtant 25€ dans le commerce, pour un prix dérisoire.
Cette voie consiste en effet en un simple potentiomètre et une résistance en série sur le curseur.
Extension Voie proportionnelle du commerce au prix de l'ordre de 25€
Extension DIY !
Circuit T/R n°01
En écrivant cette page, je me suis rappelé avoir réalisé, il y a quelques années, un circuit permettant de contrôler un servo en mode T/R.
Je ne sais plus d'où émanait la source mais ce circuit fonctionne parfaitement.
Il utilise deux timers NE555 réunis dans un NE556.
Les positions extrêmes du servo sont réglées avec deux Résistances ajustables distinctes.
Je vous livre ici le schéma et la platine.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Circuit T/R n°02
J'ai aussi trouvé un petit circuit plus compact, n'utilisant qu'un seul NE555, mais je ne l'ai pas testé.
Source: https://www.pobot.org/Commande-d-un-servomoteur-sans.html |
Schéma redessiné et ajout d'une alimentation à base de 7805. Un 7805 peut être remplacé par un régulateur "Low Drop", type LM2940CT / TO220 (1Amp.) Ce dernier permet des tensions d'entrée à partir de 5,5 Volts jusqu'à 26 Volts !
|
Si vous voulez maintenant contrôler la vitesse de déplacement du servo, (ouverture d'une trappe, d'un train d'atterissage, d'un régulateur de vitesse, ...)
les montages qui suivent, ci-dessous, vous intéresseront certainement...
Pont en H
Un moteur commandé en mode T/R (Tourne à gauche / STOP / Tourne à droite) pourrait être celui d'un propulseur d'étrave de bateau. (voir juste après ci-dessous)
Il nécessitera l'usage d'un commutateur à trois position On-Off-On. (voir les schémas des voies additionnelles de la Robbe MARS).
La voie du récepteur délivrera trois impulsions possibles (1, 1,5 et 2msec).
Ces impulsions seront traitées soit par une logique combinatoire, soit par µcontrôleur. (voir principe des décodeurs MultiSwitch ci-dessous)
Et ce dernier pilotera un simple pont en H. (voir principe ici)
Un pont en H est facile à réaliser, soit avec des transistors conventionnels soit avec des MOS permettant plus d'intensité.
Notez cependant la nécessité de ménager un temps d'arrêt entre les inversions de sens de rotation !
Mais sachez qu'il existe des circuits de différentes puissances, dédiés pour cette fonction.
Un petit µC délivrera les signaux indiquant, au module H-Bridge module, la direction et un autre la vitesse de rotation du moteur par un signal PWM ou simplement un On/Off si pas de PWM disponible.
Ce principe sera utilisé pour piloter un propulseur d'étrave.
Pour ma part, je commanderai le propulseur de mon Maxi Springer en Tout ou Rien à l'aide d'un peu d'électronique programmable "maison" grâce à un petit MCU PICAXE qui a le grand avantage de ne nécessiter AUCUN compilateur coûteux, ni de plateforme de programmation !
Le contrôle de notre propulseur d'étrave consistera donc à traiter 3 instructions distinctes: "Chasse à gauche - Stop - Chasse à droite".
Côté Emetteur, à défaut d'utiliser une voie proportionnelle nécessitant un variateur de vitesse moteur sur la voie du RX, Côté émetteur un simple commutateur à 3 positions ON-OFF-ON sera alors suffisant !
Côté récepteur, les impulsions reçues (1msec - 1,5msec - 2msec) par le canal correspondant seront adressées à un petit µC Picaxe qui se chargera de commander un "pont en H" modèle LMD18200.
(Voir sur ma page les considérations sur les ponts en H.)
En outre, un potentiomètre de consigne pourra régler et fixer la vitesse de rotation du moteur.
Principe de contrôle d'un moteur en Tout ou Rien à l'aide d'un Pont en H, piloté par un petit µC Picaxe 08M2
Le potentiomètre, connecté à l'ADC du Picaxe fixera la vitesse du moteur et le signal issu du RX sera traité par ce même petit Picaxe.
Le module H-Bridge LMD18200 se trouve facilement à un prix dérisoire.
Il supporte une tension moteur de 10 à 30V, un courant de 3A, pour une puissance maximale de 75W !
Ce "Pont en H" sera piloté par sa broche DIR pour déterminer le sens de rotation.
La broche PWM recevra le signal PWM généré par le Picaxe, dépendant de la position du potentiomètre de consigne fixant la vitesse de rotation du moteur
Pour un signal PWM interrompu (ratio 0%) le moteur sera à l'arrêt.
Il restera à l'arrêt tant que les impulsions reçues par le Rx se situeront dans une plage fixée autour de la valeur du neutre (N= 1,5 msec).
A noter que la broche Brake (Frein) n'est pas utile dans notre cas. Elle sera donc désactivée en la connectant à GND.
Enfin, la broche +5V. ne sert qu'à allumer une led témoin. Elle peut être raccordée à l'alimentation du récepteur.
Nous allons maintenant nous intéresser aux trois Instructions nécessaires au petit Picaxe 08M2 (PIC12F1840 muni d'un Basic Bootstrap)
1. Lecture des impulsions du RX
Suivant la vitesse d'horloge du µC Picaxe, les valeurs de mesure des impulsions d'entrée sont données dans le tableau suivant:
Dans nos programmes, il suffira simplement de déterminer dans laquelle de ces trois zones distinctes se situe l'impulsion mesurée et provoquer l'action désirée.
Pour une bonne définition des valeurs Pulsin, nous allons fixer la fréquence interne du Picaxe à 16Mhz.
2. Lecture du potentiomètre de consigne (ADC)
Indépendamment de la vitesse d'horloge du µC Picaxe, les valeurs ADC sur 8 ou 10 bits sont données dans le tableau suivant:
|
L'entrée ADC est connectée à un potentiomètre de 10K branché aux bornes de l'alimentation du µC Picaxe (0 à 5V).
Le Taux est donc le pourcentage de la tension d'alimentation.
La résolution de l'ADC peut être effectuée sur 8 bits (ReadADC) ou sur 10 bits (ReadADC10)
|
La précision sur 8 bits nous sera bien suffisante et nous donnera donc une valeur Byte variant de 0 à 255.
3. Contrôle PWM
L'instruction PWM pour un µC Picaxe a la structure suivante: PWMOUT (PwmDIVxx), PinOut, Period, Duty Cycle
Elle génèrera un signal PWM en tâche de fond qui ne ralentira donc pas le bon déroulement de la suite du programme.
Comme le signal PWM est généré en continu et "en tâche de fond", la valeur de l'ADC ne sera prise en compte qu'après un arrêt et une relance du signal PWM !
Cet arrêt est provoqué lorsque le signal du RX se trouve dans la zone Neutre (1,5 msec).
Ainsi, lorsque le moteur tourne, l'action sur le potentiomètre de réglage de vitesse ne sera effectif qu'après un arrêt de celui-ci, provoqué par le passage dans la zone Neutre.
La valeur Period est fixée en fonction de la vitesse d'horloge du µC, de son éventuel coef. de division de cette vitesse, et de la fréquence de référence du signal PWM.
La valeur Duty Cycle est variable suivant que le ratio du signal PWM varie de 0 à 100%.
Vous trouverez, ci-dessous un lien pour télécharger mon petit fichier Excel permettant de calculer ces valeurs.
En outre, ce fichier donne de précieuses indications sur les différents Picaxe® usuels (Fréquences d'horloge possibles, ...)
Il indique également tout problème de choix erroné des divers paramètres (limites de fréquences, ...)
Download PWM Picaxe Wizard: rev.11/2020
En utilisant ainsi un Picaxe 08M2 cadencé à 16Mhz, nous allons utiliser le Wizard (que vous avez téléchargez ci-dessus) et comparer les valeurs données pour une fréquence PWM de 4Khz et 10Khz.
Picaxe cadencé à 16Mhz, Signal PWM à 4Khz, le moteur démarrant avec un ratio de 20% du PWM.
Picaxe cadencé à 16Mhz, Signal PWM à 10Khz, le moteur démarrant avec un ratio de 30% du PWM.
Le Picaxe étant cadencé à 16Mhz (pour une meilleure définition de PULSIN), le calculateur nous indique qu'il faudra utiliser le diviseur (Prescaler) de valeur 4 dans la commande PWMOUT.
Au vu de l'utilisation de mon PWM Picaxe Wizard, on voit que les paramètres PERIOD et DUTY CYCLE varient en fonction de la fréquence d'horloge du µC et de la fréquence du signal PWM.
Maintenant, partant du principe qu'un moteur ne démarre effectivement qu'à partir d'un certain ratio du PWM lui appliqué, il va falloir déterminer l'équation à appliquer à la valeur de l'ADC pour que le ratio du PWM varie effectivement de 20% ou 30% en position zéro du potentiomètre de consigne à 100% en position max .
On se doute que cette équation fera intervenir une valeur d'OffSet.
Nous nous trouvons donc dans la recherche de la simple équation d'une droite passant par deux points.
Ces deux points de (ADC: Ratio) étant = (0,200) et (255,1000) pour un signal PWM de 4Khz ou (0,120) et (255,400) pour un signal PWM de 10Khz.
Sans devoir entrer dans des calculs compliqués Excel nous calcule facilement cette équation (par ajout d'une "courbe de tendance" linéaire).
Mon utilitaire, à télécharger ci-dessus, intègre cette fonction de calcul de l'équation d'une droite passant par deux points !
Cependant, comme nous savons qu'un µC Picaxe ne calcule qu'en valeurs entières, il faudra adapter et approcher cette formule, qui deviendra:
y = (31x + 2000 ) /10 pour un signal PWM de 4Khz, ou y = (11x + 1200 ) /10 pour un signal PWM de 10Khz
La valeur sera approchante mais largement suffisante pour notre application.
La vitesse du moteur pourra donc ainsi finalement être fixée de 20% ou 30% à 100% de son régime.
Vous pouvez maintenant vous amuser avec mon utilitaire Wizard en choisissant différentes valeurs.
L'équation sera alors finalement implémentée dans le programme à introduire dans le µC Picaxe.
Réalisation
Schéma, extrêmement simple grâce à l'utilisation d'un µC Picaxe
Platine alimentée en 12V avec régulateur 7805 pour le Picaxe
Si votre RX est alimenté en 4,8V max, (le Picaxe ne supporte pas plus de 5 volts !), le circuit s'en trouve simplifié :
Programme de contrôle (Picaxe 08M2)
;Bow Thruster Control.bas
;Roger LEGAT 11/11/2020
;
;Picaxe 08M2 + H_Bridge LMD18200
;*************************************************
;*** Programming Directives ***********************
;#SimSpeed 500
;#Terminal 4800
#Picaxe 08M2
; __ __
; Vcc o| U |o Gnd
; C.5 x|Rx Tx|x C.0
;_Potar C.4 >|ADC |> C.1 _DIR
;_Pulse C.3 >| PWM|> C.2 _PWM
; -----
; Setfreq setting (all internal)
; 08M2 => k31, k250, k500, m1, m2, m4, m8, m16, m32
; PULSIN MAX value to be measured = 2200 usec (2,2 msec)
; m4 Unit = 10 uSec 1,5msec = 150 (*10 for 1500 uS)
; m8 Unit = 5 uSec 1,5msec = 300 (*5 for 1500 uS)
;>> m16 Unit = 2,5 uSec 1,5msec = 600 (*25/10 for 1500 uS) 2200*25=55000 (<Word 65536 OK)
; m32 Unit = 1,25 uSec 1,5msec = 1200 (*125/100 for 1500 uS) 2200*125 = 275000 OverWord!
;( m20 Unit = 2 uSec 1,5msec = 750 ) (*2 for 1500 uS)
;( m40 Unit = 1 uSec 1,5msec = 1500 ) in uSec
Setfreq m16 ; Range Pulsin: 0,8msec=320 to 2,2msec=880
;*** Pins I/O ***********************
Symbol _DIR = C.1 : Output _DIR
Symbol _PWM = C.2 : Output _PWM
Symbol _Pulse = C.3 : input _Pulse
Symbol _Potar = C.4 : input _Potar
;*** Variables **********************
Symbol PValue = w0 ; Average Pulsin Value
Symbol Measure = W1 ; Successive measurements
Symbol PADC = W2 ; Potar measurement
Symbol Period = W3
;Period = 249 ; Constant for PWM instruction at 4Khz
Period = 99 ; Constant for PWM instruction at 10Khz
Symbol Duty = W4 ; Duty value for PWM, depending on ADC
Symbol Lower_Max = w5
Lower_Max = 480 ; IF <= 1,2msec (480) LOWER Zone (0 to 480)
Symbol Neutral_Max = w6
Neutral_Max = 680 ; THEN, IF <= 1,7msec (680) NEUTRAL Zone (481 to 680)
; ELSE, >1,7msec UPPER ZONE (681 and more)
;Threshold LOW : 1,2msec 4Mhz=120 16Mhz=480 <1,2msec
;Threshold NEUTRAL : 1,7msec 4Mhz=170 16Mhz=680 <1,7msec,>1,2msec
; Else: > 1,7msec
Symbol State = b14 ; 1=Low, 2=Neutral, 3=Upper - Depending on average PULSIN
Symbol Old_State = b15 ;Previous state depending on previous average PULSIN
Symbol i = b16 ;Working Variable
;**** Main Program Loop ********************************************
DO
;--- Set Speed --- Takes effect after a new PWM command that follow a PWM OFF (Neutral zone)!
ReadADC _Potar,PADC
;Duty = 31*PADC+2000 /10 ;PWM 4Khz
Duty = 11*PADC+1200 /10 ;PWM 10Khz
;--- Pulsin ReInit ---
PValue = 0 : Measure = 0
For i=1 to 10 '10 Successive Measurements
Again:
Pulsin _Pulse,1,Measure ; At 16mhz: Pulsin 0,8msec=320 to 2,2msec=880
if Measure <320 or Measure >880 then goto Again ; Wrong Reading or Pulse
PValue = PValue + Measure
Next
;--- Average PULSIN value ---
PValue = PValue/10
;--- Valid Impulse Processing ---
If PValue <= Lower_Max then ;LOWER Area
;Sertxd ("PValue= ", #PValue," LOWER ",cr,lf)
State = 1
if State = Old_State then goto Exit_if ;No action required. PWM continued
High _DIR ;DIR = Left
PWMOUT pwmdiv4,_PWM,Period,Duty ;PWM ON
Old_State = State
Else
If PValue <= Neutral_Max then ;NEUTRAL Zone
;Sertxd ("PValue= ", #PValue," NEUTRAL ",cr,lf)
State = 2
if State = Old_State then goto Exit_if ;No action required. PWM stay OFF
pause 3000 ; 750msec at 16Mhz; Delay for reverse direction
Pwmout _PWM, OFF ;PWM OFF
Old_State = State
Else ;UPPER Zone
;Sertxd ("PValue= ", #PValue," UPPER ",cr,lf)
State = 3
if State = Old_State then goto Exit_if ;No action required. PWM continued
Low _DIR ;DIR = Right
PWMOUT pwmdiv4,_PWM,Period,DUTY ;PWM ON
Old_State = State
Endif
Endif
Exit_if: ;Exit IF Loop
LOOP
End
;========================================================================================
Oscillographes des signaux transmis au Pont-H LM218200 (mesure sur Port C.2)
Malgré un oscillateur interne, le petit Picaxe 08M2 se débrouille comme un Grand, présentant précision et stabilité.
Signal PWM Ratio 30% avec potentiomètre de consigne en butée minimale
Signal PWM Ratio 100% avec potentiomètre de consigne en butée maximale
Source: https://www.rc-cam.com/ldtastic.htm
Ce circuit a été initialement concu pour commander et ralentir le mouvement d'un train d'atterissage sur un modèle d'avion RC, mais rien n'empêche de l'utiliser sur nos navires.
Il comprend la possibilité de programmer l'inversion de sens de déplacement du servo et dispose d'un ralentissement de mouvement à l'approche des fins de course.
Version DELUXE !
Comme dit ci-dessus, ce circuit étant initialement concu pour un avion RC, la version "Deluxe" ajoute les fonctions de flash de queue anti-collision et phares d'atterrissage.
Il active également un buzzer sonore en cas de perte du modèle. Dans ce cas, il suffit de couper l'émetteur pour que ce buzzer se déclenche.
* Remarques:
Dans les rares cas ou les mouvements du servo seraient affectés par le clignotement du" stroboscope" LED3, il peut être utile de placer la capa C2 optionnelle.
Un petit anneau de ferrite installé sur le câble de la LED du stroboscope pourrait aussi être utile.
Ce noyau sera à placer à moins de 2,5 cm de la sortie du circuit.
Le câble devra effectuer plusiers tours jointifs dans cet anneau de ferrite.
Les R.LED R1, R2 et R3 seront à calibrer en fonction des LEDS choisies.
En effet, suivant le type et la couleur, les tensions de chute de ces leds seront différentes, nécessitant un calcul approprié des résistances série.
Voir ici mon calculateur de R.LED série. et spécifications de quelques LED usuelles
Mise en fonction:
Supposons que vous ayez construit la version Deluxe avec toutes les options.
Si votre circuit n'utilise pas les fonctions supplémentaires (éclairage et/ou alerte), alors il suffit de sauter le texte qui les mentionne.
1.Connectez le circuit au RX et branchez un servo en sortie du circuit.
Assurez vous que le Jumper de configuration n'est PAS installé.
Amenez vers le bas le stick RX correspondant à la voie du servo.
2.Avec le R/C Tx (émetteur) éteint, allumez le Rx (récepteur)..
Après un court délai, vous devriez voir la led flash ralentir en clignotant (20 à 30 battements/min) et le piézoélectrique devrait émettre un bip au même rythme.
Ceci démontre que la fonction d'alerte en cas de perte du modèle, ou de signal démission, fonctionne parfaitement.
Remarque : l'alerte de modèle perdu n'est pas compatible avec des Rx PCM ou avec certains nouveaux modèles "DSP".
3.Allumez l'émetteur R/C. Au bout d'un moment, le bip alerte devrait s'arrêter et la led flash devrait s'éteindre.
Le servo se déplacera légèrement, à pleine vitesse, vers sa position.
4.Basculez l'interrupteur de l'engrenage Tx sur l'autre position.
Le servo devrait se déplacer, mais à une vitesse beaucoup plus lente que d'habitude.
Si vous observez attentivement, vous remarquerez peut-être que la vitesse du servo ralentit encore plus en fin de course.
Le dernier petit saut est le frein à inertie.
Si la lumière stroboscopique ne clignote pas (double clignotement à environ 50 battements/minute), alors basculez à nouveau le sélecteur de vitesse.
Les phares d'atterrissage devraient s'allumer et s'éteindre, selon la position de l'interrupteur.
Ne vous inquiétez pas si le sens du servo ou la commande des feux est inversé.
Nous nous occuperons de cela dans un instant.
Infos pratiques:
Avec ce circuit, les caractéristiques de mixage de votre émetteur R/C ne sont pas affectées.
Seule la vitesse du servo est modifiée. Il est donc souvent plus pratique de régler mécaniquement la course des servos d'utiliser ce montage.
Une fois installé, vous devrez le configurer en fonction de la vitesse de déplacement, du sens du servo et de la position du commutateur Tx.
Nous vous expliquerons en détail comment procéder dans la section suivante.
Ce qui est bien avec ce système, c'est qu'il comprend une fonction d'inversion des servocommandes particulièrement pratique si votre Tx n'inclut pas cette fonction sur son canal Gear/Aux.
Lorsque vous utilisez les options de feux d'atterrissage et de stroboscope de queue, une fonction d'activation est utilisée.
Les phares ne seront pas activés tant que le canal Gear/Aux n'aura pas subi une simple séquence d'initialisation (similaire à l'armement de l'ESC moteur).
Ainsi, lorsque vous allumez le système pour la première fois, TOUS les feux seront éteints. Cela permet d'économiser la batterie pendant le travail dans les stands.
Voici la bonne façon d'utiliser le système lorsque les lumières sont utilisées (vous pouvez ignorer cette section si elles ne sont pas installées) :
Placez votre interrupteur Gear/Aux sur la position "Gear Down". Allumez le R/C Tx, puis allumez le R/C Rx.
Lorsque vous êtes presque prêt à lancer le modèle, tenez le modèle au sol (pour protéger la rétractation du train d'atterrissage) et actionnez l'interrupteur Gear/Aux au moins une fois.
La lumière stroboscopique et les feux d'atterrissage seront alors opérationnels.
Une fois en l'air, placez l'interrupteur de rétraction sur la position "Gear Up" (train rentré). Les phares d'atterrissage s'éteindront lorsque le train d'atterrissage rentrera. Le stroboscope anticollision restera allumé.
Configuration du système :
Si vous souhaitez un temps de rétraction par défaut de cinq secondes, aucune autre action n'est nécessaire.
Cependant, si vous souhaitez personnaliser le système en fonction de vos besoins particuliers, suivez le guide ...
Les différents paramètres de fonctionnement sont configurables par l'utilisateur.
Tout ce qu'il faut, c'est votre émetteur R/C et un petit cavalier qui sera à installer sur les deux pinhearders mâles prévues à cet effet.
La configuration sera conservée dans la mémoire EEPROM du PIC, même si la batterie est déconnectée ultérieurement.
Une configuration unique suffit donc, mais vous pouvez la changer aussi souvent que vous le souhaitez.
Vous aurez besoin d'un canal d'asservissement proportionnel contrôlé par un stick pour entrer les données de configuration.
En effet, les simples canaux commutés par basculement on/off ne peuvent pas être utilisés à cette fin.
Avant de commencer, vous devez identifier la direction native du manche pour les deux canaux Gear/Aux et Elevator.
Une fois le circuit retiré, connectez le servo de rétraction au récepteur Rx.
Placez l'interrupteur Gear/Aux en position "Gear Down". Notez mentalement la position du servo.
Maintenant, connectez le même servo au canal de profondeur de l'émetteur. Déplacez le manche pour déterminer quelle direction du manche déplace le servo {dans la même direction} qui représente la position "Gear Down".
Pendant les étapes de programmation, lorsqu'il vous est demandé de déplacer le manche vers les positions Gear Down (ou Gear Up), veuillez tenir compte de ce qui vient d'être dit ci-dessus.
Pour configurer le circuit, veuillez suivre ces étapes simples :
1. Connectez le circuit à votre R/C Rx et au servo.
Vérifiez que la glissière de trim du Tx est centré et que les doubles vitesses, si elles existent, sont désactivées.
Si votre Tx a des volumes de déplacement réglables (EPA, T-ADJ, ATV), assurez-vous qu'ils sont au moins à 100% (125% est le mieux).
2. Installez le cavalier de configuration.
Avec le Rx éteint, allumez le Tx et maintenez le stick de commande en position extrême "Gear Down".
3.En le maintenant dans cette position, allumez le Rx.
Si l'option buzzer piézo est installée, vous entendrez un ou deux bips, selon la position du stick (un bip pour la direction normale du bâton, deux bips pour la direction inversée du bâton).
4.Vous venez d'indiquer au systèmela position du stick Gear Down. Jusqu'à présent, tout va bien...
5. Vous allez maintenant remarquer que le servo se déplace lentement d'avant en arrière. Il vous attend pour entrer la vitesse de déplacement du servo.
Il vous suffit de déplacer le manche jusqu'à obtenir la vitesse de rétraction que vous préférez.
Il y a dix vitesses disponibles, d'environ une seconde à un peu plus de dix secondes.
6. Une fois que vous avez trouvé la meilleure vitesse, maintenez le manche immobile pendant que vous retirez le jumper.
Un long bip se fera entendre pour indiquer que les données de configuration ont bien été enregistrées.
Vous pouvez maintenant déplacer le stick du RX pour regarder le servo utiliser, avec succès, sa nouvelle vitesse.
Si jamais vous souhaitez changer la vitesse et/ou le sens du manche, revenez à l'étape 1.
Freinage de fin de course:
Lorsque des vitesses d'asservissement rapides sont utilisées (moins de cinq secondes de temps de trajet), une fonction de freinage de fin de course est disponible !
Lorsqu'elle est activée, elle fera ralentir le servo à l'approche de sa position de fin de course.
Si vous souhaitez modifier cela (l'activer ou le désactiver), procédez comme suit:
7. Continuez avec la configuration décrite ci-dessus à l'étape 1.
8. Éteignez le Rx. Réinstallez le cavalier de configuration.
9. Allumez le Tx. Tenez le manche Tx exactement à la position centrale (position mains libres d'un manche à ressort).
10. Allumez le Rx. Vous entendrez trois ou quatre bips. Trois bips indiquent que vous souhaitez activer le frein à inertie, quatre bips signifient que vous souhaitez désactiver le frein à inertie.
11. Si un buzzer piézo est utilisé et qu'un nombre de bips indésirables se fait entendre, éteignez le Rx MAINTENANT et passez à l'étape 12 (cela annule commodément le changement de mode de freinage).
Sinon, poursuivez la mise à jour en laissant Rx sous tension.
12. Retirez le cavalier: la programmation du frein est terminée.
Veuillez noter que cette fonction de configuration est une fonction à bascule.
Chaque fois que vous exécutez complètement les étapes 7 à 12, vous activez et désactivez le frein à inertie. Veuillez garder cela à l'esprit si vous n'avez pas installé l'avertisseur piézoélectrique.
Inversion de sens du servo:
Une fois que vous avez réinstallé le circuit sur le canal Gear / Aux de votre Rx et connecté le servo au mécanisme de rétraction, vous devez vérifier la bonne direction du servo.
Si vous découvrez que le sens du servo est inversé, ne le corrigez PAS en utilisant la fonction d'inversion trouvée sur votre R / C Tx.
Au lieu de cela, vous devez configurer la direction d'asservissement à partir du circuit.
Veuillez suivre ces étapes:
13. Assurez-vous que le cavalier de configuration est retiré. Allumez le Tx et le Rx.
14. Réinstallez le cavalier de configuration. Cela changera la direction du servo. Vous entendrez cinq bips ou six bips, suivis d'un silence. Le servo ne bougera pas.
15. Pour entrer la nouvelle direction d'asservissement, veuillez passer à l'étape 16.
Pour annuler le changement, éteignez simplement l'alimentation Rx et passez à l'étape suivante.
16. Retirez le cavalier et vérifiez que la direction du servo est maintenant correcte.
Téléchargez le Fichier HEX :
CONFIGURATION des "Fusibles" |
|
Oscillator (OSC): |
IntOSC GP4 |
|
Watch Dog (WDT): |
Disabled |
|
Power Timer (PWRT): |
Enabled |
|
MCLR (Master Clear): |
Disabled |
|
Brown Out (BODEN): |
Enabled |
|
Code Protect (CP): |
Disabled |
|
Code Protect Data (CPD): |
Disabled | |
Ne pas oublier de récupérer et noter, avant toute programmation du PIC, la valeur OSCCAL !
Lisez attentivement les remarques relatives au registre OSCCAL et la sauvegarde de la valeur d'usine stockée en adresse mémoire 0x.3FF !!!
Voir infos relatives à la valeur OSCCAL sur ce site >>> Lien OSCCAL PIC 12F6xx et sur ma page Stamp to PIC.
Dual Slow Down Servo Driver |
Source: A.CLEMENT: http://www.lesailesdupic.fr/modelismesmt/Ralentisseur_servo/Ralentisseur_servo.html
Lors du baptême de mon dernier modèle de 100 Kg de 2,10 mètres (sur base du plan du Gwen Mor) j'ai rapidement brûlé le MOSFET de mon régulateur de 15Ampères et surchauffé les contacts du relais de direction !
Outre le fait que j'ai repris un régulateur statique beaucoup plus puissant et placé un disjoncteur à réarmement automatique, je me suis dit qu'il serait opportun de ralentir la commande de gaz pour éviter des pics de courant en cas de mouvement trop rapide du stick.
Et si par accident on passe de la marche avant toute à la marche arrière toute, je vous raconte pas l'indignation du moteur et de son régulateur !
"Google étant notre ami", j'ai fait quelques recherches et j'ai trouvé quelques circuits intéressants.
Voici un petit module à base d'un PIC12F675.
Il permet de commander deux servos indépendamment l'un de l'autre.
Schéma:
J'ai reconsidéré le schéma en tenant compte du fait qu'un récepteur peut être alimenté en 6 volts mais que le PIC ne supporte pas cette tension, tant en alimentation qu'en signal d'entrée !
Le PIC sera alors alimenté par un régulateur Low Drop disposant, en entrée, de la tension du récepteur (VRX) et délivrant 5volts max (VDD).
De même, les entrées devront être protégées en tension par une Zener de 4v7.
Platine:
Vue côté composants |
Vue côté composants |
Programmes - Fichiers HEX
L'auteur, A.CLEMENT, met à disposition deux fichiers HEX permettant de programmer le Pic ainsi que la configuration des fusibles et de l'oscillateur du PIC.
Grand merci Mr. Clement pour ce partage !
Il existe deux versions du programme :
1) Version V02.5 : le temps de déplacement entre les positions extrêmes est de 5 secondes
2) Version V02.20 : le temps de déplacement entre les positions extrêmes est de 20 secondes
Configuration du programmateur
La configuration de l'Oscillateur et des "Fusibles" est généralement définie dans le programme.
Si ce n'était pas le cas, voici la configuration à indiquer au programmateur.
Voici repris sur ce site, le fameux UNISERCOM de Philippe LOUSSOUARN !
UniSerCom signifiant "Commande Universelle de Servo".
J'ai juste modifié et stabilisé l'alimentation du microcontrôleur et tracé le nouveau circuit imprimé.
En outre, ce petit montage permet de:
- régler indépendamment chaque butée de servo (Courses asymétriques * / Dual Rate )
- étendre la débattement d'un servo jusqu'à 180° (Vérifier si votre servo n'est pas muni de butées mécaniques internes !)
- contrôler la vitesse de déplacement
- fonctionner aussi en mode Tout ou Rien (T/R - cavalier retiré ou placé à droite) ou en Proportionnel (jumper placé à gauche) par l'usage d'un jumper ou d'un mini switch à glissière.
* Inconvénient:
En cas de courses asymétriques, le "Neutre naturel" se décale pour se placer au milieu des deux extrémités choisies.
Techniquement, on ne peut donc PAS vraiment parler de véritable course asymétrique, puisque la course sera identique de part et d'autre du "nouveau" neutre.
Ce décalage du neutre peut alors être un problème majeur dans certains cas: régulateur de vitesse, servo-treuil, ...
De même, pour obtenir une véritable fonction "Dual Rate" sans déplacement du Neutre naturel, il faudra jouer fin sur les deux potentiomètres pour réduire chaque course, de manière identique, de part et d'autre du Neutre naturel.
Ce module s'insère entre la sortie du récepteur et le servo ou le régulateur de vitesse.
Enfin, il ne nécessite pas d'alimentation externe et le PIC est protégé par un régulateur Low Drop de 5Volts.
Le petit régulateur est un LP2950-5.0: 5.0V/160 mA LOW-DROPOUT VOLTAGE REGULATOR.
Attention, V.in s'applique sur la broche 3 du régulateur !
Vous trouverez une petite présentation de deux régulateurs "Low Drop" très pratiques (150 mA et 1A) à la page Testeur de RX.
Si votre batterie de réception ne dépasse pas 6Volts, le régulateur peut être remplacé par une simple diode chutrice (voir schéma précédent) mais je préfère un petit LP2950-5.0 !
Ce génial petit montage trouvera bien des usages pratiques !
Pour ma part, je le destine au pilotage des variateurs de vitesse (Electronic Speed Controler) * de mes gros modèles ainsi que pour le réglage des courses des servo-treuils * de mes voiliers.
Merci Mr. LOUSSOUARN pour ce partage et la mise à disposition du fichier de programmation !
La valeur de l'OSCCAL, lue en adresse 3FF, est à indiquer sur le PIC12F675. |
|
Réglage de POS_A |
Réglage de POS_B |
Comme vous pouvez le constater, et comme l'explique Philippe dans son fichier PDF, les courses peuvent même être inversées !
Le site source comprenant les explications ainsi que le fichier HEX et instructions de programmation du PIC se trouvent sur le site de Philippe LOUSSOUARN.
A lire attentivement, notamment les remarques relatives au calibrage du registre OSCCAL et la sauvegarde de la valeur d'usine stockée en adresse mémoire 0x.3FF !!!
Concernant les PIC12F675 et PIC12F629, une précaution préalable mais absolument indispensable consiste à lire la valeur des deux derniers octets de la zone programme de son registre mémoire.
En effet, esPic's sont dotés, au cours de leur fabrication, d'un oscillateur interne destiné à cadencer leur fonctionnement, et contrairement à d'autres types de micro contrôleurs, ils n'ont pas besoin de quartz extérieur pour piloter leur horloge interne à la fréquence prévue.
En contre-partie, selon la fabrication, la fréquence de cet oscillateur peut varier légèrement et nécessite donc une petite correction dont la valeur varie d'un µC à l'autre.
Le fabricant a donc introduit dans la mémoire flash de chaque µC la valeur individuelle de la correction à apporter à la fréquence de l'oscillateur interne.
Cette valeur doit impérativement être lue avec un programmateur, notée et réintroduite à la même adresse dans le programme complet avant de lancer la programmation.
Il est absolument nécessaire de lire préalablement la valeur avant toute programmation, faute de quoi, cette valeur sera irrémédiablement réinitialisée en phase d'écriture sans possibilité de la retrouver ultérieurement avec pour conséquence le refus du µC de fonctionner !
Pour chaque PIC, Microchip donne cette valeur (valeur à charger dans le registre OSCCAL) et la stocke à la fin de la zone mémoire programme, c’est-à-dire à l'adresse 0x.3FF dans le cas des PIC12F629/675.
Aussi, avant de charger le fichier HEX, il est indispensable de faire une lecture du contenu de la mémoire programme du PIC neuf afin de noter la valeur présente à l'adresse 0x3FF (normalement 0x34XX).
Le programme HEX peut alors être chargé dans le buffer de l’outil de programmation (Ex : IC-PROG).
Une fois chargé, il est nécessaire de forcer la valeur présente à l'adresse 0x3FF à la valeur précédemment relevée (0x34XX).
Le composant peut maintenant être programmé (chargement du fichier HEX).
Une relecture du composant PIC permettra de vérifier qu’à l'adresse 0x.3FF se trouve bien la valeur 0x.34XX.
Il est indispensable que cette valeur commence par 0x34, parce qu’il s’agit d’une instruction RETLW qui retourne dans W la valeur XX destinée à être chargée dans le registre OSCCAL du PIC.
Dans le cas contraire, le programme ne démarrera pas.
L’opération de calibration de l’oscillateur interne est réalisée automatiquement au démarrage du programme.
Voir infos complémentaires relatives à la valeur OSCCAL sur ce site >>> Lien OSCCAL PIC 12F6xx et sur ma page Stamp to PIC.
( Voir aussi ---> //p.loussouarn.free.fr/projet/unisercom/unisercom.html)
Elargisseur de course d'un servo - Servo Extender 180 degrees |
Méthode 01 - Par interface PIC
Source: http://philrich123.free.fr/gupique/articles9e9d.html
J'ai déniché ce montage, que je n'ai pas testé, qui permet d'utiliser toute la course mécanique possible d'un servo.
En effet, bien des servos sont dépourvus de butées mécaniques leur permettant physiquement de dépasser le débattement standard de 90° imposé initialement par les impulsions de commande variant de 1 à 2 msec.
Ce montage va donc élargir cette plage des impulsions de commande.
En effet, un servo, pour autant qu'il ne soit pas pourvu de butées mécaniques, peut être commandé par une plage d'impulsions élargie variant au plus de 0,8 à 2,2 msec, contrairement à la trame standard de 1-1,5-2 msec.
Ce dispositif, se place simplement entre le récepteur et le servo concerné. msec. msec.
Attention toutefois que le PIC mémorise la dernière configuration effectuée.
Veuillez donc à reconfigurer en cas de changement de servo ou d'une autre disposition dans votre modèle !
Procédure de réglage:
Vous aurez constaté qu'il n'y a pas de potentiomètre. En fait, tout se fait par le manche de l'émetteur !
Le signal entre sur le bornier IN, ainsi que l'alimentation issue du récepteur.
Certains récepteurs étant alimentés en 6Volts, un régulateur spécifique protège le PIC qui ne supporte pas plus de 5V !
Une diode chutrice suffirait aussi si la tension d'alimentation du Récepteur ne dépasse pas 6Volts.
Le signal traité par le PC se trouve sur le bornier OUT.
Un bornier complémentaire Reverse OUT présente le signal inversé.
Le fonctionnement normal:
Si à la mise sous tension le jumper de Config est ouvert, le PIC utilise la configuration précédente stockée dans son EEPROM.
Il est donc en mode normal.
Mode de configuration:
Si le jumper Config est fermé à la mise sous tension, le PIC entre alors en mode de configuration.
La LED s'allume et le servo se met en position milieu.
Pour régler une fin de course on met le manche en butée vers la fin de course à régler.
Le servo se met alors en position maxi (ou mini) standard (impulsions de 1 msec ou de 2 msec) et ensuite augmente (ou diminue) lentement.
ll suffit de ramener le manche au neutre pour stopper le déplacement.
De cette position on peut soit reprendre le réglage commencé ou régler l'autre débattement (en amenant la manche en buttée dans l'autre sens).
Si l'on ne fait rien, au bout d'un certain temps la LED s'eteint, correspondant à la mémorisation des courses.
Ensuite la LED va clignoter, indiquant la fin proche de la phase de réglage (A ce moment, il est encore possible d'ajuster les réglages).
Puis elle s'éteint, indiquant cette fois la fin de la phase de configuration, sa mémorisation et le début du fonctionnement normal.
ATTENTION au TRIM !
N'oubliez pas que le Trim (Glissière de réglage placée parallèlement au stick de votre émetteur) peut aussi décaler les valeurs des impulsions.
Ainsi, lorsque vous réglez une course maximum, placez préalablement votre trim en butée maximum aussi !
De cette façon, vous serez certain de ne jamais dépasser la limite physique de votre servo en cours d'utilisation sur le terrain.
N'oubliez pas de bien aller lire et noter la valeur de la correction à apporter à la fréquence de l'oscillateur interne (adresse 0x.3FF) et la replacer dans le fichier HEX.
Le fichier HEX permettant de programmer le PIC est gracieusement mis à votre disposition par l'auteur. Merci.
Méthode 02 - Par interface ATtiny85
Source: http://bateaux.trucs.free.fr/ageneral.html
l'ATtiny85 est une version réduite du microcontrôleur de la gamme ATméga tels que ceux équipant les cartes Arduino.
Il est doté de 5 I/O dont 4 ADC, 2 PWM, oscillateur externe possible, ...
Il dispose d'un oscillateur interne de 8Mhz, 8Ko de mémoire flash et 512 Bytes de mémoire EEPROM/SRAM, deux compteurs 8 bits, un CAN 10 bits à 4 canaux, ...
Schéma
Platine
Programme
A introduire dans l'EDI Arduino.
!!! Merci pour le partage de ce code complet et commenté !!!
Ces partages se doivent d'être soulignés car on rencontre malheureusement des modélistes qui présentent de belles photos de leurs électrobidouilles et réalisations à base de PIC ou autres microcontrôleurs, MAIS ... qui ne veulent pas lâcher leurs schémas, codes, ni même leurs fichiers HEX ... !?
Quel est donc l'intérêt de ces articles stériles alors ?????
Narcissisme, finalités commerciales dans le but de vendre "leurs" modules ready to use , ... ?
Dommage, autant que stupide ... |
Adresses de sites à visiter impérativement !
Je publierai ultérieurement les schémas et platines de ces modules au fur et à mesure de mes réalisations...
http://bateaux.trucs.free.fr/ageneral.html
https://www.cp-elektronik.de/index.php/de/
http://www.lesailesdupic.fr/modelismesmt/index2.html
http://www.ksmc.de/
http://philrich123.free.fr/
http://ilufa.orgfree.com/MIXER_E.htm
Méthode 03 - Bidouillage de l'électronique interne du servo
Le web regorge de sites présentant cette solution.
Exemples sources:
http://www.modelismenaval-amiens.fr/accueil/astuce-et-doc/trucs-et-astuces/astuce-servo-moteur-angle-de-rotation-de-180-au-lieu-de-90/
http://bateaux.trucs.free.fr/course180.html
http://manubricole.free.fr/articles.php?lng=fr&pg=744&tconfig=0 ...
Elle consiste à ouvrir le servo et repérer les trois fils du potentiomètre de recopie.
On y repère le fil allant au curseur central et on sectionne les deux autres fils se trouvant aux extrémités des pistes du potentiomètre de recopie, aussi appelé potentiomètre de consigne.
On intercale alors une résistance en série sur chacun de ces deux fils.
La valeur de chaque résistance vaudra entre 0.5 et 0.6 fois la résistance du potentiomètre de recopie (à mesurer entre les deux broches que l'on a déssoudé).
Pour des petits servos, on préfèrera des résistances SMD nécessitant très peu d'espace de logement.
On pourrait aussi utiliser des résistances ajustables restant accessibles au niveau du boîtier du servo.
La course du servo pourrait alors être ajustée au besoin.
Ici aussi, dans le cas de courses asymétriques, par réglages différents des deux R.aj., le Neutre naturel serait décalé !
Dans les "anciens" émetteurs RC il suffit de faire pivoter de 180°, la fiche correspondante à la voie à inverser.
Pour certains de mes émetteurs j'ai placé des switchs inverseurs pour éviter de devoir ouvrir le boîtier.
Il peut cependant parfois être nécessaire d'avoir, sur une même voie, deux servos en opposition.
Nous allons utiliser deux méthodes possibles:
1. Par logique combinatoire (électronique conventionnelle)
Le schéma suivant répond à notre besoin, avec de l'électronique conventionnelle (logique combinatoire).
Principe de de fonctionnement
Pour inverser le sens de rotation d'un servo il faut que le signal à lui appliquer soit égal à 3msec moins la durée du signal du récepteur..
Ainsi pour un signal du récepteur égal à:
RX= 1msec (Gauche), OUT = (3msec - 1msec) = 2 msec (Droite)
RX= 1,5msec (Neutre), OUT = (3msec - 1,5msec) = 1,5 msec (Neutre)
RX= 2msec (Droite), OUT = (3msec - 2msec) = 1 msec (Gauche)
Nous aurons besoin d'un seul circuit CD4001 qui comporte 4 portes NOR.
Les deux portes N1 et N2 vont constituer une bascule monostable dont la constante de temps devra être exactement de 3msec.
Le signal issu de ce monostable sera appliqué à la porte N3 qui se chargera de soustraire la valeur de l'impulsion d'entrée de ces 3msec du monostable.
La dernière porte, N4 inutilisée, voit ses entrées connectées à +Vcc pour éviter toute oscillation parasite.
La constante de temps du monostable, égale à 0,7RC, devra être parfaitement calibrée à 3 msec !
Les composants, notamment les condensateurs, n'ayant que rarement une valeur parfaitement exacte à leur marquage, une résistance ajustable permettra d'atteindre la durée exacte attendue.
Pour calibrer cette constante de temps, vous pourrez utiliser: un impulsiomètre, un oscilloscope ou un analyseur logique.
Voici le résultat d'une mesure réalisée avec un analyseur logique avec seulement un C=47nF et R=100K; ce qui devrait théoriquement donner T=3,29msec... mais qui ne donne en réalité que 2,84msec.
D'où la mise en évidence de la nécessité d'user d'une résistance d'ajustement !
Vous aurez remarqué que les impulsions appliquées au servo inversé sont légèrement décalées (en fait,de la valeur de l'impulsion d'entrée) par rapport aux impulsions issues du récepteur mais le fonctionnement du servo restera conforme à la norme d'utilisation.
2. Par MicroContrôleur
Petit programme pour Picaxe 08M2.
Le programme peut ensuite être très facilement adapté pour le placer dans un PIC12Fxxx, à programmer ensuite avec un compilateur PicBasic Pro.
' Servo Rotation Reverser
;Roger LEGAT 19/08/2021
;The principle consists in generating a pulse equal to 3ms
;minus the duration of the control pulse from the RX
; Picaxe 08M2 - Then convert to PIC 12Fxxx
;=========================================================
;*** Picaxe Config *****************************
#Picaxe 08M2
; __ __
; Vcc o| U |o Gnd
; C.5 x|Rx Tx|x C.0
; C.4 x| |x C.1
; iPULSE C.3 >| |> C.2 oSERVO
; -----
Setfreq m4 ; Range Pulsin: 0,8msec=80 to 2,2msec=220
;*** Pins I/O ***********************
Symbol iPULSE = C.3 : Input iPULSE
Symbol oSERVO = C.2 : Output oSERVO
;*** Variables **********************
Symbol Measure = W1 ; Successive measurements
;-----------------------------------------------------
DO
; OUT = (3msec - Input)
Pulsin iPULSE,1,w1 ;Reading Input
W1 = 300 - w1
Pulsout oSERVO, W1 ;OUT = (3msec - IN)
LOOP
;=====================================================
______