Un autre week end chargé au lab

Le week-end a été bien rempli pour les membres du lab, entre les projets personnels, les projets communs et la préparation de la Fête de la Science.

Quelques photos pour illustrer nos dernières activités : )

Pierre a réalisé ; du dessin, aux maths jusqu’à l’impression un train épicycloïdale, pour donner plus de couple à un moteur. Ce moteur sert à actionner une boite de gateaux apéritifs remplis de sable. Et voici notre nouvelle machine à polir, baptisée le Tonneau Infernal par son concepteur 🙂

wpid-wp-1444634870650.jpeg wpid-wp-1444634888019.jpeg

La première photo, nous séchons le sable à l’aide d’un décapeur thermique, dans une friteuse et on le remue avec un mélangeur à peinture. Astuce : La température de surface ne doit pas dépasser les 70°C, sinon il s’envole 🙂 Cette Recette est sponsorisée par Bébert et Michel.

La seconde le Tonneau infernal en action.

Joël a finalisé ces supers Dominoux entre autre et Gilles a travaillé sur son aéroglisseur sur aimants et moi sur VOR9, pour y installer un petit écran OLED.

wpid-wp-1444634904343.jpeg

Que je vous rassure, Vor9 n’est pas tombé durant l’opération, mais Grégory m’a donné un coup de main avec l’utilisation de la librairie.

Et en bonus, une photo de notre Witbox au salon des assos 2015 de Vauréal

wpid-wp-1444634917739.jpeg

CNC

Vous le savez certainement, nous avons accueilli une fraiseuse à commande numérique Charly Robot, il y a quelque semaine. Nos activités ne nous ont pas permis de prendre le temps d’y jeter un œil. Ayant déjà écarter les problèmes de communication de l’ordinateur avec la machine, le logiciel, de fraise et de matériaux, avec Joël nous nous sommes lancés.

Comme à notre habitude, nous y allons un peu au pif.

Nous avons réussi à casser une fraise, à graver et découper du médium, du contreplaqué et le martyr.

La CNC, est une mini fraiseuse ISEL 9010. Nous l’avons nommée Charlotte !

 Le premier test dans le medium.
 Le troisième dans du contreplaqué.
Nous devons encore nous familiarisé avec le logiciel de dessin fournis, et les outils.
Je signale aussi que nous avons enfin un établis costaud grâce à Pierre qui a réalisé à l’aide de deux palettes et de beaucoup de sueur.

Des robots

Robot Jeep

Robot Jeep

Daniel a intégré une camera et son module radio. Le robot s’est baladé dans les environs alors que Daniel le controlait depuis le lab :+)

Tout le monde a été impressioné par la qualité de l’image transmise et la porté de l’émetteur.

Quand à mon Zumo, le week-end dernier, il a eu le droit a une nouvelle plaque pour acceuillir un sonar. Ce samedi, je lui ai rajouté un module bluetooth, pour débugger le l’intégration du sonar.

Photo

Photo

Tirroire à SSD

AssemblageSDDLe SSD que contenait mon boitier USB 3 de 2.5″ se déconnectait, car le tirroire était légerement trop grand. Pour résoudre le problème, j’ai entrepris de le re-déssiner puis de l’imprimer.

Niveau conception, j’ai rien ré-inventé. J’ai pris les mesures standard du SSD et du tirroire. Et appadpté certains points, comme l’ajout d’emplacement pour des vis de fixation liant le tirroire et le SSD, et une calle pour maintenir le SSD.

AssemblageSSD2Le résultat est relativement bon, malgré quelque soucis de dimension. Le tirroire original étant certainement moulé, les clips blocant le tirroire dans le boitier en aluminium sont très fins. J’ai complétement oublié que la précision de l’imprimante ne me permetrait pas d’imprimer de tels détails.

Ce n’est pas grave car le PLA, est assez souple et avec un scalpel j’ai pus détacher les languettes du battis.

L’impression s’est bien passé, le premier essais a été le bon. Les petites colonnettes de maintient de la carte sont très bien sorties malgrés leurs épaisseurs. L’effet de distortion dans les coins est bien présent, mais je m’y attendais, j’avais légérement réduis la hauteur du tirroire.

 

Photo Photo
Photo Photo
Photo

Vor 9 avance

PhotoDurant les derniers jours, j’ai remplacé les capteurs TCRT 5000 placés à l’avant, par une rampe de capteurs infrarouge assemblée. J’ai aussi changé la plaque en acrylique inférieur qui se dégradait de plus en plus.

J’ai de plus implémenté une sucette Bluetooth pour bénéficier d’une liaison série de debug. Ce qui m’a permis de corriger les tests de laPhoto

machine d’état.

Coté odométrie, avec Joël nous avons tourné cette petite pièce (l’axe à un diamétre de 1.8mm) pour fixer le disque indenté.

Cette pièce n’est qu’un essais. Il reste à affiner certain détails, comme la longueur de l’axe.

La machine d’état étant Photocorrigée, certains problèmes sont mis en éxerguent comme le fait que le moteur droit est beaucoup plus lent que le moteur gauche.

 

Vor 9 – Détection du sol

Pour la détection du sol j’ai installé 5 capteurs infrarouges, 3 à l’avant du robot et 2 derrière.

Mon objectif est de construire une variable en binaire contenant le résultat des tests des 5 capteurs. Ainsi il sera facile de connaitre ou le sol n’est pas détecté pour que le robot ne s’y dirige pas.

Le travail préparatoire réalisé avec l’aide de Joël. Au propre ça donne quelque chose comme ça :

Ci-dessus un schéma de Vor9 et ses capteurs numérotés de 1 à 5 de manière formelle, dans le code de 0 à 4.

Si le capteur n° 1 est déclenché, il met le premier byte à 1, si le capteur n°2 l’est, il passe le second byte à 1 et ainsi de suite. Ce qui permet d’obtenir les tableaux suivant :

 

Capteur N°

Déclenché seul

En décimal

Direction du robot

1

0000 0001

1

Avant

2

0000 0010

2

Avant

3

0000 0100

4

Avant

4

0000 1000

8

Arrière

5

0001 0000

16

Arrière

       
       

N° capteur Déclenché simultanément

En Binaire

En décimal

Direction du robot

1 + 2

0000 0011

3

Avant

2 + 3

0000 0110

6

Avant

1 + 2 + 3

0000 0111

7

Avant

4 + 5

0001 1000

24

Arrière

3 + 4

0000 1100

12

Flanc Droit

1 + 5

0001 0001

17

Flanc Gauche

 

Si plusieurs capteurs sont déclenchés simultanément, on obtient les valeurs du tableau ci-dessus.

 

Ce qui donne en langage Arduino  une fonction retournant la valeur détecté. La machine d’état n’a plus qu’a testé la valeur de cette fonction pour connaitre les zones ou le robot ne peut pas se déplacer.

Une rapide explication de la fonction :

  • J’initialise ma variable en binaire à 0.
  • Avec une boucle for, je lis l’état des 5 capteurs.
  • Si la lecture du capteur est supérieure au seuil paramétré, je décale de 1.
  • Si ma variable en binaire est égale à 0, le sol est détecté par tous les capteurs donc je garde la led d’état éteinte, sinon je l’allume.
  • Et enfin, la fonctionne retourne la valeur de la variable.

 

 

int groundTest()

{

byte statusCapteur = B00000000 ;

for (int cellCapteur = 0; cellCapteur <= 4; cellCapteur++)

// pour tous les capteurs numérotés de 0 à 4

{

if(analogRead(tableauCapteurs[cellCapteur]) > irThreshold)

// si la lecture du capteur est supérieur au seuil, alors incrémenter 1 au binaire si non 0

statusCapteur |= ( 1 << cellCapteur);

}

 

if( statusCapteur == 0 )

// Si tous les capteurs détectent le sol, alors on garde la led éteinte, si non on l’allume

digitalWrite(GroundDetLED, LOW);

else

digitalWrite(GroundDetLED, HIGH);

 

// retourner le statut des capteurs

return statusCapteur;

 

//Serial.println(statusCapteur); // DEBUG

}

 

Le prochain chantier est l’odométrie. Pierre a modélisé les plaques de Vor9 et me les a imprimé. Il m’a aussi fait une roue codeuse ayant le bon diamètre pour être emmanché sur l’axe du moteur.

Disposant d’une deuxième plateforme j’ai commencé à travailler sur le calcul de la vitesse des moteurs. Le but est de synchroniser la vitesse des moteurs pour aller en ligne droite, puis dans un second temps se diriger de manière plus précise à droite ou à gauche.

Si dessous le travail à l’oscilloscope, avec les deux capteurs allant un presque à la même vitesse. Ici j’ai synchronisé la vitesse des moteurs à la main à l’aide de potentiomètre.

La prochaine étape est d’utiliser des interruptions pour compter les fentes des roues codeuses et d’utiliser un timer interne au 2560 pour mesurer le temps et ainsi obtenir une vitesse.

 

Des nouvelles de Vor09 et du Lab

 

 

 

 

Après la chute de Vor09, j’ai réparé un capteur de sol ,mais Vor09 ne fonctionnait plus. En cause petit court circuit bien caché sous la gaine thermo. L’isolant du cable ayant fondu lors de la pause de la gaine. Une nouvelle fois Joël m’a aidé à trouver le défaut.

Un 5ème capteur a été installé, et un lipo 12V remplace les deux blocs de piles. Les petits moteurs prévus pour du 3V, fonctionnent à merveille et Vor galope. J’ai rédigé un petit programme pour tester le fonctionnement des capteurs de proximités. Ce bout de code finira certainement dans l’auto-test.

Soulignons le départ de Poutrelle qui est rentrée chez elle à la médiathèque d’Argenteuil. Voici une petite photo de sont beau câblage et de son support.

Et pour finir nous accueillons, une nouvelle machine outils, un tour ! Il nous a été donné par Gilles.

 

Compte rendu d’hospitalisation

Poutrelle, en cours de réparation

Patient : Poutrelle

Origine : Rep Rap Prusa i2

Symptôme : ça ne marche pas.

Diagnostique : Problème de câblage, d’assemblage.

Les soignants : Dr. Joël et Dr. Pec

Dossier médical :

Dr Joël est le premier à avoir constaté les symptômes. D’après les premières constatations le patient était dans un sale état. Après 2 séances de soins sur place, décision fût prise d’envoyer le patient en convalescence à la clinique pour imprimante 3D: VoLAB pour les 2 mois d’été.

Une fois arrivé à la clinique, le Dr Pec a procédé à une première opération à cœur ouvert pour reprendre entièrement le câblage du patient. Au cour de cette opération, le Dr Pec a découvert d’autres lésions, comme par exemple le charriot support du plateau chauffant non fixé sur ses supports et tenu seulement par la courroie d’entraînement. Malheureusement au cours de l’opération, le cœur  Arduino 2560 et 3 stepsticks sur les 4 ont lâchés. Le Dr Pec a du procédé en urgence à une greffe en prélevant les organes sur notre futur CNC encore à l’état d’embryon en couveuse au VoLAB.

Cette opération fut longue et douloureuse… Il a fallut tester les moteurs pas à pas, vérifier les tensions de sorties des nouveaux stepsticks et surtout paramétrer un nouveau firmware; le firmware d’origine ayant disparu avec le cœur précédent.

Une aventure dans les tréfonds de Marlin, pour le paramétrer, sans les informations du revendeur. Une autre bataille celle de la thermistance et de son PID a eu lieu. Là encore, il a fallu procéder à une greffe d’une nouvelle thermistance.

ecrou pourris

L’écrou du haut au centre de l’image est un écrou sain, celui du bas est malin

Après ces opérations, nous avons aussi  eu pas mal de difficulté à avoir des axes plans. Dr Joël s’est aperçu que le patient souffrait d’une malformation de certains écrous de 8mm don les dimensions étaient différentes de celles de vrais écrous de 8mm. Leurs largeurs n’étant pas la même, les axes n’étaient donc pas droit, comme le montre l’image ci-contre.

Pour faire le zéro il y a eu la aussi pas mal de bidouilles, de calcul de pas, de hauteur des endstops. Mais au bout de plus 80 heures de travail, l’imprimante qui avait mal commencé dans la vie, IMPRIME.

 

Et aux cotes justes ! Ci dessous un cube vide de 20mm x 20mm

Photo

Un dernier petit soucis dont souffre le patient mais qui ne sera pas traité à la clinique VoLAB est la qualité du filament qui depuis tout le temps qu’il est à l’air libre à absorbé beaucoup d’humidité. Gageons qu’en voyant revenir leur bébé ses parents lui offrirons du beau filament PLA tout neuf et bien sec acheté à Asnière chez Imprimante3DFrance.