www.DigitalSpirit.org

Politique d'accessiblité | Aller au contenu | Aller au menu | Aller à la recherche

RaspiO'Mix ou GrovePi ?

On m'a demandé par courriel quelles étaient les différences entre le RaspiO'Mix et la carte GrovePi et j'ai pensé qu'il serait intéressant d'en faire un article...et je vais tâcher de faire un effort pour rester objectif, promis !

raspiomixvsgrovepi.png

Tout comme RaspiO'Mix, GrovePi vous permet de connecter vos modules Grove à votre Raspberry, même finalité mais choix technique différent : là ou RaspiO'Mix utilise directement les entrées / sorties du Raspberry, GrovePi utilise en fait un ATMega jouant le rôle d'intermédaire entre le Raspberry et le monde extérieur via une liaison I2C.

L'avantage pour l'un, c'est que GrovePi utilise moins d'entrées / sorties et du coup, vous pouvez les utiliser pour autre chose, l'inconvénient, c'est qu'on ne les pilote par directement, supprimant certaines fonctionnalités des IO du PI.

RaspiO'Mix fait office d'interface direct entre le Raspberry et le monde extérieur, vous pouvez donc utiliser des lignes de commandes, du Python, ce que vous voulez sans avoir à passer par une librairie spécialisée, en gros, pour faire cours, vous n'avez pas besoin d'utiliser un drivers contrairement à GrovePi.

Détails sur le mapping des ports : RaspiO'Mix et GrovePi.

Fonctionnalité GrovePi RaspiO'Mix
Entrées / Sorties 7 4
Entrées analogiques 3 4
Résolution CAN 10bits 18bits
Lignes I2C 4 2
Lignes série 1 1
Horloge Non Oui (via DS1307) avec batterie de sauvegarde
Interrupteur 0 2
Alimentation via le Raspberry via le Raspberry ou une prise jack / bornier

Flag_of_France.svg.png
Autre chose importante, les RaspiO'Mix sont fabriquées en France !

oshw-logo-100-px.png
Dans les 2 cas, GrovePi et RaspiO'Mix sont des projets OpenSource et OpenHardware et vous pouvez retrouver toutes les sources sur GitHub : GitHub / GrovePi et GitHub / RaspiO'Mix

Les cartes RaspiO'Mix devraient être disponible dans des boutiques en ligne mais en attendant, si vous en voulez une, contactez moi directement !

Table de placement manuel : Le cadre

Suite à l'introduction de ma table de placement manuel, je vais poursuivre en vous présentant le cadre.

Tous le design des pièces est réalisé à l'aide de OpenSCAD et est disponible sur le dépôt GitHub suivant : GitHub / hugokernel / ManualPickAndPlace

La base

Le cadre qui va supporter la mécanique doit être suffisamment rigide pour ne pas bouger, je désire aussi quelque chose de suffisamment fin, les profilés aluminium couramment utilisé dans le milieu maker m'ont semblé parfaitement adapté.

Voici le cadre en profilé aluminium de 20mm, les profilés sont maintenus entre eux par des équerres internes :

frame.png

Concernant la taille du cadre (60x40cm), il est parfaitement possible d'avoir d'autres dimensions (tout est paramétrable dans les sources OpenSCAD), j'ai choisi cette dernière en fonction des arbres de précisions (trempés et rectifiés) de 12mm de diamètre que j'ai pu trouver.

Lire la suite...

Table de placement manuel : Introduction

Le projet OpenAlarm utilisera comme module de transmission des FunkyV3, des cartes de très petites tailles avec tout un tas de composants permettant la connexion à différents type de capteurs, la liaison radio avec la base, etc...

Les Funky V3 sont très petit, pourtant, ils embarquent un bon nombre de composants et pour faire tenir autant de monde sur une surface aussi réduite, pas de mystère, il faut utiliser des composants TRÈS petit, lorsque je dis très petit, je parle de la résistance au format 0402 tout à gauche de la photo ci-dessous :

comparatif_cms.png

Et j'en viens à parler d'une des choses qui fait que OpenAlarm à pris beaucoup de retard, c'est que pour pouvoir manipuler des composants aussi petit en quantité (je ne vais pas faire des cartes que pour moi), il faut du matériel approprié.

Impossible de manipuler de tels composants directement avec les mains, avec des brucelles, c'est faisable mais pas pratique, le plus adapté est d'utiliser une pompe de préhension qui n'est rien d'autre qu'une micro ventouse et si on y ajoute une table de placement, alors, là, on tend vers le parfait...

Mais c'est quoi une table de placement ?

C'est assez simple : on place la ou les cartes électroniques sur une surface, on dispose les composants à proximité, et à l'aide d'un support coulissant et par des mouvements de translation, on vient prendre les composants et on les dépose sur le pcb.

Les composants sont « pris » par un système de pompe à dépression pour une grande précision de positionnement et surtout permettant de prendre des composants dans de très petits formats.

Lire la suite...

Mes projets faits main pour 2014

Je profite de ce début d'année pour faire un point sur l'avancement de certain de mes projets personnels liés au DIY et qui devraient être mis à jour ou terminés dans le courant de cette l'année...

LedPong

Il s'agit d'une version réduite du Led Pong Wall du Tetalab.

Le montage est terminé (un simple avr d'Atmel pilotant une matrice de led hautes luminosités) et fonctionne correctement mais le rendu n'est pas tout à fait celui que je souhaite, la lumière n'étant pas assez forte. J'envisage de remplacer toutes les leds par des modèles RGB adressables (WS2812) et pilotées par un RaspberryPi.

2011-06-09_16.55.39.jpg

À faire :

  1. Faire des tests avec des WS2812 pour s'assurer que l'adressage de 64 leds est suffisamment rapide
  2. Enlever l'ancienne matrice de led
  3. Poser les WS2812
  4. Interface et intégration avec le RaspberryPi

Ballon à air chaud

C'est un aérostat constitué de 8 fuseaux de 9m² réalisé à partir de sacs poubelle bas de gamme (faible épaisseur, environ 17 micron d'épaisseur), le ballon est fini et traine depuis plus d'un an dans un coin, il faut dire que malgré le temps que j'ai passé à le faire (quelques dizaines d'heures), l'arrivée de mon Ultimaker m'a totalement fait changer de priorité.

C'est une belle bête capable de lever théoriquement 2kg de charge utile, je compte profiter d'une journée fraiche pour le gonfler et faire un premier test.

La moitié du ballon déployé à côté du chat !

À faire :

  1. Fabriquer une nacelle pour tenir les suspentes et les relier à un fil maitre
  2. Trouver une journée froide et sans vent pour faire un test (certainement un matin très tôt

Lire la suite...

OpenAlarm : Un système d'alarme libre

Après de multiples recherches sur Internet, je m'avoue vaincu : pas moyen de trouver un système d'alarme libre suffisamment avancé et les systèmes propriétaires sont beaucoup trop chères, même d'occasion...

Bien sûr, il reste les systèmes d'alarmes bas de gamme mais que valent t'ils vraiment face à des pros du vol qui connaissent bien les parades...

J'ai donc décidé de développer mon propre système libre, les toutes premières briques ont été posées sur le wiki SystèmeDAlarmeLibre et dans cet article, je vais détailler mes choix.

Cahier des charges

  • Multi-zones sans fil, hors de question de tirer des cables partout, il faudra donc prévoir des capteurs autonomes en énergie et capable de communiquer avec la base par radio
  • Système d'avertissement local sonore et lumineux ainsi qu'un envoi de SMS avec détail sur l'incident (zone, type d’évènement, horodatage)
  • Type de capteurs : Infra rouge (PIR), ouverture (reed switch), vibration, sonore, lumière, fumée, fuite d'eau et pourquoi pas la température et l'humidité
  • Communications sécurisées : Multi-bandes et il ne doit pas être possible de brouiller la bande de fréquences utilisée sans déclencher d'alerte, on ne doit pas pouvoir forger de faux messages de « tout va bien »
  • Alarmes techniques en cas de batterie faible des capteurs autonomes ou perte du signal d'un capteur
  • Watchdog : La centrale doit être capable de se sortir elle même d'un plantage inopiné
  • Autonomie électrique de la centrale : en cas de coupure d'alimentation, elle doit tenir suffisamment longtemps pour avoir le temps de lancer ces alertes
  • Les boitiers des capteurs et de la centrale devront être autant que possible réalisables grâce aux outils d'un fablab (impression 3d, découpe laser, etc...)

Lire la suite...

Impressions multi-matériaux avec un seul extrudeur

Imprimer directement en plusieurs couleurs peut vraiment être intéressant, par exemple, pour intégrer des pictogrammes informatifs sur la face d'un objet ou simplement dans un but purement décoratif.

Ultimaker propose un kit permettant d'imprimer en 2 couleurs (ou 2 filaments de matériaux différents) mais les retours sur les forums ne m'ont pas convaincus de l'acheter, je pense au final que le ratio coût / intérêt n'est pas vraiment bon lorsque l'on s'en sert uniquement pour du multi couleurs, l'intérêt est bien plus grand pour de l'impression multi-matériaux (support en PVA par exemple).

Je vais vous expliquer 2 méthodes qui vous permettront de passer à l'impression multi couleur avec un seul extrudeur.

Notez que cet article tourne autour de l'Ultimaker et de son slicer Cura mais il est tout à fait possible d'adapter cette solution à toute RepRap.

Avec le plugin Cura : PauseAtZ

En utilisant le plugin fourni avec Cura PauseAtZ qui permet, comme son nom l'indique, de stopper l'impression à une certaine hauteur, de parker la tête afin de changer le filament et ensuite de relancer l'impression avec le nouveau filament.

Le principal problème de cette technique est qu'il ne permet pas à une couche d'avoir plusieurs couleurs, rien de vraiment nouveau avec cette méthode...

Feinter le slicer : PauseAtExtruderChange

Dans cette méthode, on va utiliser Cura exactement comme si nous avions le kit de double extrusion, et allons dire à Cura de slicer comme tel. C'est par la suite que nous allons lire le GCode et remplacer l'instruction de changement de tête (Tx) par des instructions permettant de parker la tête le temps d'effectuer le changement de filament.

Voici les étapes exactes :

  1. Parker le Z
  2. Déplacer la tête en X, Y à la position de parkage
  3. Stopper le ventilateur
  4. Attendre une action de l'utilisateur (nécessite un ulticontrolleur TODO)
  5. Restaurer la position X, Y
  6. Redémarrer le ventilateur
  7. Restaurer le Z

Nous pourrions également utiliser le G-Code M600 mais il s'agit d'une instruction en test qui n'est pas inclut par défaut dans tous les firmware et l'utilisation de nos propres instructions nous permet de faire exactement ce que l'on souhaite...

En pratique

1. Installez le plugin Cura PauseAtExtruderChange, (déposez simplement le fichier PauseAtExtruderChange.py dans le dossier ~/.cura/VERSION/plugins)

2. Créons un nouveau profil d'imprimante : File > Machine setting > Add new machine, dans le panel Extruder 2, on s'assure que Offset X et Offset Y soit égal à 0 comme dans l'image ci-dessous :
Cura - Machine settings

3. Importez vos fichiers stl, précisez à Cura que vous souhaitez les fusionner pour faire de la double extrusion (sélectionnez le premier objet d'un clique gauche, puis, bouton droit sur le second objet et cliquez sur Dual extrusion merge)

4. Ajoutez le plugin, modifiez les paramètres tel que vous le souhaitez et vous voilà avec votre fichier G-Code modifié

5. Lancez l'impression et l'imprimante vous signalera chaque changement de couleur, il vous restera alors à changer le filament, valider le changement auprès de l'imprimante, l'impression reprendra alors exactement oû elle avait été arrêtée mais avec un autre filament.

Note: Vous pouvez aussi utiliser le fichier python directement en ligne de commande : python PauseAtExtruderChange.py file.gcode > out.gcode (python PauseAtExtruderChange.py -h pour avoir de l'aide)

Voilà ce qu'il est possible de faire très simplement :

Vous voilà maintenant capable d'imprimer en multi couleur d'une manière un peu plus évoluée qu'avec PauseAtZ, néanmoins, l'utilisation de PauseAtExtruderChange ne sera intéressante que pour des impressions ou le nombre de changement de couleur par couche est faible sinon, vous risquez de passer votre temps à changer de filament...

RaspberryPi + Grove = RaspiO'Mix

RaspiO'Mix est une carte fille pour Raspberry Pi développée par mes soins sur une idée de Michel d'Erasme qui va vous permettre de connecter facilement et rapidement tout un tas de modules de type Grove initialement prévus pour Arduino.

Caractéristiques

  • Aux dimensions du RaspberryPi
  • 4 entrées / sorties tolérantes 5V (basée sur un TXS0108PWR)
  • 4 entrées analogiques, 0-5V, 18 bits de résolution
  • 2 entrées numériques via DIP switch
  • Horloge temps réel avec batterie de sauvegarde
  • 2 connecteurs pour I2C
  • 1 connecteur pour communication série
  • Alimentation 5V via jack

Connecteurs

Bien entendu, cette carte est entièrement libre, toutes les informations nécessaires pour la fabriquer sont disponibles sur GitHub / RaspiO'Mix.

Lire la suite...

Nouvelle mise à jour sur l'Ultimaker

Cela fait un bon bout de temps que je n'avais pas écrit d'article sur l'Ultimaker, il faut dire qu'elle fonctionne parfaitement bien et que je n'ai plus à me préoccuper des réglages et autres et je me focalise depuis quelques mois sur d'autres projets qui en dépendent complètement dont Bleuette ou LeMurmureDuSon.

Extracteur d'air

En suite direct avec l'article Extracteur de fumées fait soi-même, voici l'adaptation pour Ultimaker qui vous permettra d'absorber les mauvaises odeurs très présentes lors d'impression avec de l'ABS avec toutes les particules que vous vous apprêtiez à respirer...

scad.png 2013-11-03_19.48.03.jpg 2013-11-03_19.48.17.jpg 2013-11-03_19.48.41.jpg

Les sources OpenScad sont disponibles par ici : https://github.com/hugokernel/OpenSCAD_Things/tree/master/ActiveCarbonExtractor

Lire la suite...

Un extracteur de fumées fait soi-même

Si vous faites de l'électronique, vous êtes certainement amené à souvent souder, cette odeur particulièrement désagréable d'étain et autre produit vous est donc familière et avouez qu'on s'en passerait finalement assez bien...

Dans le commerce, il existe des extracteurs adaptés mais aussi assez chère :

Un extracteur monté sur un bras orientable Un extracteur monté sur pied droit

Le premier est à environ 50€ (en promo) et le second à plus de 100€, ça fait mal pour un adaptateur secteur, un ventilo, un pied, un filtre et un bati...

Pourquoi ne pas s'en fabriquer un ? Rien de difficile, encore moins avec une imprimante 3D...

C'est parti ! Nous allons avoir besoin d'une lampe d'architecte, on en trouve à moins de 10 euros en magasin, le mieux est encore de prendre celle qui traine au grenier depuis des années, un ventilateur récupéré dans une vieille alimentation d'ordinateur, un adaptateur secteur de 12V d'un appareil tombé en panne, et des filtres à charbon actif que vous pouvez trouver dans n'importe quel magasin de bricolage ou sur le net...

On récapitule, vous avez besoin de :
lampe_architecte.jpg   fan.JPGadaptateur_secteur.jpg Filtre charbon actif bolt.jpg

Maintenant, il nous faut un support pour le filtre, un petit coup de OpenScad et nous voilà avec de belles pièces à imprimer.

Voici, ci-dessous, les 4 pièces que vous devrez imprimer et assembler (bien entendu, grâce à OpenScad, tout est paramétrable et vous pouvez aisément adapter votre pièce aux dimensions du ventilateur, filtre, etc...) :

attach.pngverticalBase.png handle.png support.png

Lire la suite...

Dernières avancées de Bleuette

Un petit billet pour vous donner des nouvelles de Bleuette...

Alimentation

Pour fonctionner correctement, Bleuette à besoin d'une tension de 5V@1A pour alimenter son cerveau (un RaspberryPi) et d'une autre tension de 6V@3A pour alimenter les servos et la guirlande de led.

Le développement d'une seconde carte fille permettant de générer les alimentations est prévue mais pour le moment, j'ai fait au plus simple, ainsi, pour le 6V, j'ai branché en parallèle 2 modules régulateurs de tension à découpage facilement trouvable sur le net, notamment, sur DealExtreme, ce sont des modules très pratiques que j'utilise assez souvent, ils sont capables de débiter 3A en pointe, mis en parallèle, nous avons donc théoriquement 6A, c'est amplement suffisant pour Bleuette qui comme dit plus haut doit avoir besoin de 3A maximum.

Note: Concernant la mise en parallèle des régulateurs à découpage, prenez garde à parfaitement bien régler la même tension sur les 2 modules à l'aide d'un multimètre fiable.

Pour le 5V du Raspberry, j'ai fait très simple en récupérant le régulateur inclu dans une prise allume cigare, voir Régulateur à découpage à très faible coût.

La source de tension est un accu LiPo de 11.1V @ 1.3A, c'est plutôt faible mais je n'ai que ça sous la main pour le moment...

Logiciel embarqué : le Pic

Sur la carte BleuettePi se trouve un Pic 18F452 qui est là afin d'assurer les mêmes tâches que sur la version Arduino (Bleuette Shield) mais avec quelques différences :

  • Les ports utilisés pour piloter les servos ne sont pas les mêmes
  • Le RaspberryPi n'ayant pas de convertisseur Analogique / Numérique, c'est le Pic qui s'en charge et met à disposition 8 entrées analogiques
  • Il surveille la tension de la batterie et prévient le RaspberryPi (via INTD) en cas de passage sous un seuil
  • Il surveille le courant consommé par les servos et prévient le RaspberryPi (via INTD) en cas de dépassement d'un seuil

La communication avec le Pic se fait via une liaison série à l'aide de commande :

Divers :

  • Version Retourne la version du micrologiciel
  • Status Retourne des informations courantes sur le système

Spécifique au pilotage des servos :

  • Init Initilisation
  • Pause Met en pause les servos
  • Resume Sort d'une pause
  • Clear Passe à 0 toutes les consignes
  • Set Spécifie les positions des servos

Spécifique au convertisseur analogique :

  • Current Retourne la dernière valeur du courant consommé par les servos
  • Set Max Spécifie la valeur max du courant à ne pas dépasser
  • Read x Lit la valeur de l'entrée analogique (x vaut de 0 à 7)

Lire la suite...

- page 1 de 7