Archives de avril, 2013

Bonjour à tous !

Voici les nouvelles avancés réalisées sur ma CNC 🙂

Je suis passé en phase de démarrage ! Pour le moment le contrôle manuel semble fonctionner, et l’interprétation de G-Code aussi. Je dis « semble » car l’axe Z me pose encore quelques soucis : le moteur n’est pas le même que les deux autres (j’ai fait que de la récup pour les 3 pour le moment) et ne fonctionne pas vraiment. En plus les moteur sont des 0.5A alors qu’au mini le driver fait 0.7A du coup, ça chauffe … Et je ne peux pas faire des essais en continu, il faut faire des pauses pour laisser refroidir. Voici à quoi ressemble l’ensemble pour le moment :

_DSC8662

Niveau configuration Grbl j’ai pas eu encore grand chose à faire, mis à part adapter les vitesses, j’ai dû inverser « step enable ». Je posterai ma config complète dans un prochaine article que j’aurai bien tout compris. Pour les impatient c’est bien expliqué sur le github Grbl.

J’ai également ajouté deux glissières que j’avais récupéré que j’ai mises sous le plateau car les deux autres me semblaient trop écartées et le plateau risquerait de plier lors de l’usinage. J’ai également craqué et acheter 3 accouplement d’axe à 2,50€ pièce (fdp inclus, merci la Chine !) :

$T2eC16hHJI!E9qSO-S8OBQmL+t,t,g~~60_3

_DSC8656

Egalement commandé, une bague pour adapter des outils format Dremel à la défonceuse :

!BtnSdjQEWk~$(KGrHqUH-DkEvsNzohCPBL8tjNKPtQ~~_35

Niveau logiciel j’ai beaucoup avancé également. Finalement GRBL est dispo en version librairie Arduino, avec en supplément une appli Quick GRBL pour streamer le G-Code et disposer d’un pilotage manuel. Et en plus c’est cross-platform. Pas belle la vie ? 🙂 Mais j’en ai trouvé un autre, Zapmaker Grbl controller un poil mieux fait.

Alors je me suis pas encore pencher sur comment greffer mes fonctions en sup de cette librairie, mais pour le début ça devrait suffire ! Mais j’ai commencé à regarder et ça sera pas de la tarte mais j’ai quand même bon espoir !

Concernant la toolchain open-source j’ai justement trouvé un super article (en français s’il-vous-plaît !) sur le sujet, ainsi que cette vidéo qui explique en 5 min comment passer de l’idée à l’objet 🙂

Pour résumer ma (je l’espère) futur toolchain  :

CAO/DAO => – LibreCAD ou FreeCAD pour les pièces .

– Inkscape pour gravures d’image.

– F-engrave pour les gravures de texte « simple ».

– Kicad ou Eagle pour les PCB.

Génération du G-Code => HeeksCAD + HeeksCNC.

Streaming du G-Code => Quick GRBL ou Zapmaker Grbl controller.

Interprétation du G-Code => GRBL.

Enfin pour l’électronique voici le pinmapping de ma carte que j’ai « décodé » :

IMG_1361

Dans un premier temps j’ai fixé mes cartes sur une planche afin de travailler proprement et de vérifier la validité de mon électronique :

_DSC8659

Pour l’instant c’est une alim de récup, mais je viens de recevoir la nouvelle : une 24V 5A pour 15€ 🙂 Et elle a l’air pas dégueu ! A vérifier à l’usage cependant 😉

Par la suite je pense acheter un boitier alu que je ventilerai, et je concevrai une carte pour me brancher directement sur le contrôleur PAP, avec possibilité d’ajouter des capteurs de température, un LCD, des joysticks, monitoring de l’alimentation …

Prochain article : la première gravure 🙂

Publicités

Bonjour à tous !

Un ptit billet pour vous faire partager ce bon plan : promo sur la eZ430-Chronos de Texas Instrument 38$ au lieu de 58$ (mais les frais de port ont l’air costaud mais gratuit si on dépasse 100$).

 

ez430-watch

 

Pour ceux qui connaissent pas c’est une montre programmable avec accéléromètre 3 axes, thermomètre et manomètre. En plus, comme c’est un CC430 à l’intérieur (grosso-modo, un MSP430+module) vous disposer d’une liaison RF, donc connectable avec d’autre CC430 ou CC1111. Attention il y différent modèles fonctionnants à différentes fréquences afin de respecter les différentes normes des différents continents/pays. En revanche aucune différence dans le prix xD

  • Le modèle eZ430-Chronos-433 est à 433MHz : Pour le monde entier
  • Le modèle eZ430-Chronos-868 est à 868MHz : Europe et Inde
  • Le modèle eZ430-Chronos-915 est à 915MHz : Amériques (nord et sud)

Le kit est fourni avec un dongle USB pour programmation over the air ou en lien direct, et permet également de communiquer directement avec la montre suivant l’application. De mémoire il y a un programme dispo sur le site de TI pour tester le joujou, avec notamment une parti pour suivre l’accéléromètre. On peut donc assez facilement faire une souris style wiimote par exemple. Mais les applications sont bien plus nombreuses : on peut relier par radio quasiment ce qu’on veut : fréquencemètre cardiaque, drone, ouverture de porte (vu sur le net j’ai plus le lien) … Bref la montre de James Bond xD

C’est par ici que ça se passe  pour la promo, et si vous souhaitez plus d’info sur la montre en elle-même c’est ici.

Profitez-en c’est à la mode en ce moment les supers-montres !!

Bonjour à tous !

Aujourd’hui j’attaque une série de review de modules chinois qu’on peut trouver sur la baie pour des prix ridicules (pour certains le composant central seul vaut plus cher en France que le module entier en Chine assemblé 😮 )

J’en ai acheté pas mal car je me suis dit que ça pourrait toujours servir et que pour le prix pourquoi se priver 😉

Et je commence par une affaire sympa : l’ensemble revient à environ 7€ et permet de disposer d’un LCD confortable (20×4),  bleu (perso je trouve ça plus joli que le jaune/vert habituel) et à l’interfaçage ultra simple puisqu’en i2c, donc déjà on à pas besoin de 10 fils, et on peut en mettre plusieurs. Ce point la est à vérifier, car j’imagine que l’adresse est configurable mais j’ai pas eu le temps d’essayer. Le module doit être un PCF8574 (les ref de mon CI ont été effacées ..), et il y a d’ailleurs derrière le module 3 ponts soudables A, B et C et le PCF8574 a 3 pattes pour configurer l’adresse 😉

Bref l’ensemble monté :

IMG_1348

Et mise en oeuvre les doigts dans pif avec un Liquidcrystal_I2C.h !


#include Wire.;
#include LiquidCrystal_I2C.h;

LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 20 chars and 4 line display
void setup(){

lcd.init();
lcd.backlight();
Serial.begin(9600);

}
void loop(){

if (Serial.available()) {
delay(100);
lcd.clear();
while (Serial.available(){
lcd.setCursor(0,0);
lcd.write(Serial.read());
lcd.setCursor(1,1);
lcd.write(Serial.read());
lcd.setCursor(2,2);
lcd.write(Serial.read());
lcd.setCursor(3,3);
lcd.write(Serial.read());
}
}

 
Un code ultra basique, si on envoi « test » par le port série, vous obtiendrez ce qu’il y a sur la première photo de l’article.

Le seul point qui peut poser problème : il  y a plusieurs modules, tous utilisant le même mais pas forcement câblé intelligemment (ce qui est le cas du mien ici). Comme vous le voyez sur le mien j’ai dû positionné le module bizarrement pour garder l’accès au potar de réglage du contraste :

IMG_1350

Pouvoir le placer derrière tout en gardant l’accès au potar aurait été mieux …

Donc si vous faîtes gaffe à en prendre un mieux fait, c’est une très bonne affaire !

Bonjour à tous !

Je viens vous faire partager ma première librairie destinée à gérer un MCP3424 qui est un ADC (Analogic to Digital Converter) connectable en i2c.

Pour les débutants : en gros un ADC correspond à la fonction analogRead() sur arduino, sauf qu’ici on va le voir un peu plus loin, en plus performant smiley-wink Et l’i2c  c’est un protocole de communication qui utilise 2 fils et un système d’adresse. Donc on peut en brancher plusieurs sans avoir besoin d’utiliser d’autres pins.

Pour commencer la datasheet de la bête.

Alors le format est pas sympa si on veut faire du prototypage, mais il existe des adaptateurs à souder.

Sans titre

Les point importants à retenir : il a 4 voies et comporte un amplificateur différentiel en entrée, autrement dit on peut soit faire une différence entre deux tensions (par exemple sur un montage en pont de wheatstone) soit mettre une borne à la masse et se servir de l’autre pour mesurer une tension simple.

Ensuite à retenir : il peut mesurer des différences maxi de +- 2.048V, autrement dit, si on met une borne à la masse, l’amplificateur sera saturé à 2,048V. En revanche en différentiel ça fait une amplitude totale de 2 * 2.048 = 4.096 V. Le gain de l’amplificateur est directement programmable, de 1 à 8, sachant que la limite des +- 2.048V est valable pour l’étage ADC, donc par exemple à gain = 8, la saturation sera atteinte à 2.048 / 8 = 0,256V. La résolution est également programmable, on a le choix entre 12, 14, 16 ou 18 bits, avec des vitesses d’échantillonnage de plus en plus lente au fur et à mesure qu’on est plus précis. On peut ensuite choisir entre deux mode de conversion : un mode « one-shot » et un mode continu.

Pour la librairie et bien c’est au final très simple à mettre en oeuvre, je vous invite à consulter les exemples joints à la librairie, en voici un :

#include <MCP3424.h>
#include <Wire.h>

MCP3424 MCP(6); // Declaration of MCP3424 i2c adress=6

long Voltage[4]; // Array used to store results

void setup() {
Serial.begin(9600);  // start serial for output
}

void loop(){

for(int i=1;i<=4;i++){

 MCP.Configuration(i,18,1,8);
 Voltage[i]=MCP.Measure();
 Serial.print("Channel ");
 Serial.print(i);
 Serial.print(" : ");
 Serial.print(Voltage[i]);
 Serial.println(" microVolt");

 }

 delay(500);

 }

Ici on balaye les 4 canaux. A noter également que lorsque l’on fait appel à la fonction Measure(), le programme attend que la conversion soit terminée.

Alors au niveau des perfs, et bien je dois avouer que je suis épaté par ce composant : je mesure des tensions de l’ordre du µV sans problème. En plus il possède sa propre référence analogique ce qui lui permet d’être très juste et l’i2c permet de le placer au plus près de la source ce qui limite les risques de parasite.

Et enfin le plus important, la librairie !

Voila j’espère que ça servira à d’autres et n’hésitez pas s’il y a des questions smiley-wink