vendredi 14 mars 2014

ATTENTION DANGER !


Il y a quelques temps, pour améliorer le fonctionnement de JAG3 , j’avais décidé de remplacer les 10 accus 1,2 volts NiMh d’une capacité théorique de 3000 milli ampères par un accu LiPo  (3 éléments) de 11,1 volts et 5000 milli ampères de capacité.
Avec les accus NiMh, le robot fonctionnait pendant environ 5 à 6 heures. Avec les LiPo, je doublais largement ce temps.
Des différents essais que j’ai pu réaliser, la tension (globale), bien que plus faible sur les LiPo se maintient dans une fourchette plus serrée, plus longtemps que sur les NiMh. Par contre, JAG 3 fonctionnait encore avec des NiMh à une tension avoisinant la moitié de la tension pleine charge, sans détérioration des accus. alors qu’avec les LiPo, il ne faut pas se risquer à une telle baisse sous peine de détruire l’accu. Pour palier ce risque, à chaque démarrage de programme je relevais la tension des accus directement par une routine programme qui bloquait le fonctionnement du robot en cas de charge trop faible.

Mais le problème n’est pas l’utilisation des accus, mais leur maintient en pleine forme. C'est-à-dire la recharge électrique de ces derniers.

Une chose que je n’ai pas compris, c’est que si je les chargeais sous un courant de 2,5 ampères ou bien sous 5 ampères, le temps de charge se trouvait identique (environ 120 minutes). Mon chargeur est un IMAX B6AC sur lequel on sélectionne le type d’accus, les courants de décharge de charge et des subtilités qui m’échappent. (notice in English)
Je vous parle au passé car une désastreuse aventure m’est arrivée. J’avais effectué plusieurs fois la recharge desdits accus sans rencontrer de problème particulier sinon celui du temps de charge identique sous des courants différents. Peut-être que quelqu’un pourra m’expliquer ça un jour. Bref suite à une charge réalisée comme dab, j’ai eu l’impression que mon accu n’était pas suffisamment chargé, et bêtement sans me poser de question je suis reparti pour une seconde passe ! Je n’ai même pas envisagé d’effectuer une décharge préalable. Et …j’ai eu droit à un beau feu d’artifice dans mon bureau. J’avais laissé l’accu tranquillement se refaire une santé sans bibi qui regardait tranquille  les J.O. Quand j’ai voulu voir où en était l’opération, l’accu avait EXPLOSE et le feu se propageait au plancher de mon bureau. J’ai pu intervenir rapidement et circonscrire l’incendie, mais ce n’était pas le résultat attendu !

Moralité j’ai du déménager le bureau , refaire le plancher, les papier-peints et le plafond…avec les félicitations de madame !

Les erreurs commises : sont

1 - d’avoir posé l’accu sur le sol du bureau (à côté de l’ordi rendu HS par l’opération) sans enveloppe de     protection
2- d’avoir relancé la charge de l’accu sans avoir effectué une décharge préalable ;
3 - de n’être pas resté à surveiller cette charge. (Mais j’aurai loupé les J.O.!)

A BON ENTENDEUR … SALUT

Seul côté positif : JAG3 est vivant.


Des nouvelles suivront. Plus cool, je l’espère !

mardi 18 février 2014

10 - Découverte du RASPBERRY PI

Voici donc la bête

Oui, c’est un ordinateur !
comprenant :
Le cœur (le processeur) est un ARM11.
Le disque : une carte mémoire (SD card)
Des connecteurs permettant d’adjoindre ce qui manque.

On ajoute donc principalement :
Une alimentation en 5 volts
Un écran de préférence avec entrée HDMI
Un clavier avec adaptateur USB

Et c’est parti.
Personnellement, j’ai acheté mon RPI avec une carte mémoire possédant déjà le logiciel nécessaire au démarrage. A savoir que c’est Linux. Il faut bien découvrir !
La première prise en main est un peu délicate. La télé avec le VGA ne fait pas vraiment l’affaire pour bien visualiser, mais ça défile. Donc le RPI est bien vivant.
Après achat d’un écran HDMI, et d’un câble adhoc, l’affichage est nickel.

Première configuration : première difficulté. Je dispose d’un  petit clavier Logitech avec ‘touchpad’ et configuration ‘azerty’, mais impossibilité de le valider en français ! Au diable : je transpose les caractères en ajoutant un transparent sur le clavier pour ne pas trop galérer. Je constaterai par la suite que lorsque l’affichage est graphique : le clavier est ‘US’ et lorsque je suis en affichage console, le clavier est ‘FR’…(pratique !)

La prise en main s’avère amusante. A l’aide des infos piquées sur le web, on peut rapidement faire joujou, et programmer quelques petits programmes à l’aide de logiciels comme ‘Python’ ‘Scratch’ et  langage ‘C’. La liaison internet est opérationnelle et permet de faire quelques mises à jour.

Mon premier but est de faire communiquer le RPI avec l’ARDUINO.
For de mon expérience I2C sur l’Arduino, les 2 modules dialogueront avec ce protocole disponible également sur le RPI.

Oui, mais les signaux du RPI sont en 3,3v et ceux de l’Arduino en 5v. Il faut donc adapter.
Premiers bidouillages, et premiers échecs (normal) La solution viendra d’un composant  ‘Logic Level Converter’ provenant de chez ‘Sparkfun’.



Mais côté logiciel ce n’est pas gagné !
Il a d’abord été nécessaire de recharger une nouvelle version de l’OS , puis de modifier certains paramètres dans le système. Que de bonheur quand ça fonctionne comme prévu.

Voici ce que ça donne quand tout est au point.

En clair ça veut dire que la liaison I2C est validée  entre le RPI (le maître) et
-         avec l’Arduino : adresse 15,
-         avec le compas : adresse 58
-         et avec la carte contrôle des moteurs : adresse 60


Il n’y a plus qu’à programmer….

lundi 27 janvier 2014

9 - JAG2 est mort ... vive JAG3

Je dois avouer que JAG2 n’a pas été à la hauteur de ce que j’espérai.
Quelques degrés d’écart dans un pivotement, et c’est toute la trajectoire à suivre qui est incorrecte ! Alors si les erreurs se cumulent, ça devient vite irréparable !
Comme le programme doit d’une part relever les distances, la direction, et continuer à se déplacer, lorsqu’un impondérable est détecté, il a déjà parcouru un certain espace, et les corrections ne sont pas toujours celles qui devraient être à cet instant.
J’avoue de mon côté que ma programmation n’est peut-être pas tout à fait adéquate. Mais j’ai eu beau triturer le programme dans tous les sens, le résultat n’a pas donné ce que j’en escomptais.

Mais comme les idées ne sont pas figées, je tourne la page…

Courant 2013, je découvre un ordinateur : le « RASPERRY PI ».
Pour les ignares : la bête que je dénommerai désormais RPI est un ordinateur de la taille d’une carte de crédit et qui tourne sous Linux, comme votre PC avec Windows.
Depuis le temps que j’entendais parler de « Linux embarqué » , je m’embarque donc dans cette voie !
Certains diront que le RPI n’est pas fait pour l’embarqué. Mais je ne suis pas un puriste, et j’espère en faire mon affaire.

Dans mon esprit, l’Arduino relèvera les valeurs d’ultra-sons en boucle, et le RPI n’aura qu’à aller l’interroger de temps à autre. Pendant que JAG3 se déplacera vers ses objectifs, l’Arduino continuera ses relevés. Par ailleurs le RPI pourra stocker toutes les données reçues dans un fichier. Ceci  permettant  après parcours d’étudier les réactions de JAG3 en connaissant plus précisément ce qui a pu les provoquer.
Et peut-être même pourrais-je lancer plusieurs applications simultanément…

Je vous présente sommairement le schéma  de la réalisation envisagée.


Donc c’est reparti.
Je garde la base de JAG2.
La première évolution que j’envisage est d’installer une tourelle de 12 ultra-sons qui me permettra de connaître plus précisément l’environnement dans lequel évolue JAG3.
Comme j’avais été limité avec l’Arduino UNO, j’évolue aussi vers un Arduino MEGA 2560. Ce dernier possédant 54 entrées-sorties, je suis fort aise pour connecter les signaux aller-retour des 12 ultra-sons.
La prise en main se révèle identique à celle de l’UNO, avec plus de possibilités physiques et logicielles. De 32 ko de mémoire, ça passe à 256.
J’effectue donc le montage de cette tourelle, et je vous montre le résultat.



Sur ka photo, JAG3 est déjà bien avancé, mais je vous garde la suite au chaud !
Pour les connections, les signaux « émission» et « réception » des ultra-sons sont regroupés sur une plaquette et ensuite relayés par une nappe avec un connecteur 2 fois 13 pins qui s’insère directement sur la carte Arduino. Les tension plus et moins sur une seconde plaquette pour une alimentation 5 volts dédiée aux ultra-sons. Le résultat est propre et me satisfait pleinement J.

Voici donc la première phase de cette évolution.
Je vous parlerai prochainement de mes combats avec le RPI.


A suivre.