Tagged with project

CNC la suite

Présentation du projet

Reprise du projet shapeoko2 qui était depuis un long moment en stand-by par manque de combattant.

La partie mécanique était terminée et quelques tests avaient été effectués.
Et la belle s’était endormie sur un coin d'établi.

Le challenge de cette année terminer enfin la CNC et effectuer nos premiers PCB

Électronique

On reste sur un arduino Uno et un shield GRBL

La broche avec son régulateur de vitesse PWM : alt text

Création de la boite de commande

alt text alt text alt text

L'afficheur indique la tension d'alimentation de la broche et sa consommation de courant.
Pour connaitre la vitesse de rotation en fonction de la tension, on a utilisé un arduino et un emetteur/recepteur infra-rouge.

alt text

alt text

Logiciels

Dans les nuages

Génération du gcode depuis un fichier gerber

Arduino

Le firmware de l'arduino GRBL version 1.1f

Pilotage

Pour piloter et envoyer le gcode vers l'arduino on utilise bCNC

Tests

Un support pour stylo

Pour effectuer les premiers tests j’ai construit un petit support pour stylo.

alt text

On dessine

On a commencé par faire… des ronds pour vérifier.
alt text

Puis un PCB
alt text

Première gravure

On monte la broche, un morceau de cuivre et on se lance. Bon je sais on n'a pas réctifié le plateau.

alt text

alt text

Au final le résultat n'est pas trop mauvais pour un premier test.

Liens

inventable shapeoko2

Tagged ,

Lazarus Arduino COM.

La Shapeoko étant presque... terminé, j'ai mis la dernière version de GRBL sur la carte arduino.

Maintenant il faut paramétrer tout cela.

Le truc du jour... et si je faisais une interface avec pour accéder à l'arduino pour lui envoyer quelques commandes :-).

Ben j'ai du temps et comme je ne sais pas faire, aller hop direction le net pour un peu de lecture

Composant

j'ai trouvé deux composants pour les nuls parce que simple d'utilisation pour moi.

il y a surement d'autres façons de faire voir le wiki de Lazarus.

Résultat

sources

Après quelques tests voila le résultat. Pour cet l'exemple j'ai utilisé le composant TSdpoSerial.
TlazSerial est une dérivation qui apporte des suppléments intéressants.
Il manque quelques tests sur la saisie du port de connexion. Le port usb utilisé est à entrer. Il n'y a pas de liste de port en cours d'utilisation

vue_ihm.png

en action...

vue2_ihm.png

Tagged , , ,

Arduino - Module 433Mhz

bandeau

Présentation du projet

Utilisation module 433Mhz avec arduino, j'ai fait cette recherche pour un projet qui m'a été demandé.

Les vues ont été faites avec fritzing

Pré-requis

  • Deux arduinos UNO
  • Module emetteur 433Mhz
  • Module recepteur

Réalisation du projet

Cablage

Emetteur

emet.png

  • Un cable sur 5V
  • Un cable sur GND
  • Un cable sur la pin 3

Recepteur

recept.png

  • Un cable sur 5V
  • Un cable sur GND
  • Un cable sur la pin 5

Croquis

Ces croquis utilisent la bibliothèque VirtualWire.

Elle est disponible ici : airspayce.com

Emetteur

/*
   Carte   : Arduino Uno
   Capteur : EMETTEUR 433
   Synopsis: exemple d'utilisation du module 433
   Biblio  : utilisation de la bibliotheque VirtualWire

   Source  : http://www.airspayce.com/mikem/arduino/VirtualWire/
*/

#include <VirtualWire.h>

const int ledPin=9;
const int dataOutPin=3;

void setup()
{
    Serial.begin(9600);

    pinMode(dataOutPin, OUTPUT);
    pinMode(ledPin, OUTPUT);

    vw_setup(2000);
    vw_set_tx_pin(dataOutPin);

    Serial.println("SETUP EMETTEUR");

}

void loop()
{
   const char *msg="HELLO";
   vw_send((uint8_t *)msg, strlen(msg));  
   vw_wait_tx();
   Serial.println("MSG PARTI");  
   digitalWrite(ledPin,HIGH);
   delay(500);
   digitalWrite(ledPin,LOW);
   delay(500);
}

Recepteur

/*
   Carte   : Arduino Uno
   Capteur : RECEPTEUR 433
   Synopsis: exemple d'utilisation du module 433
   Biblio  : utilisation de la bibliotheque VirtualWire

   Source  : http://www.airspayce.com/mikem/arduino/VirtualWire/
*/

#include <VirtualWire.h>

const int ledPin = 9;
const int dataInPin = 5;

void setup()
{
  Serial.begin(9600);

  pinMode(ledPin, OUTPUT);
  pinMode(dataInPin, INPUT);

  vw_setup(2000);
  vw_set_rx_pin(dataInPin);
  vw_rx_start();

  Serial.println("SETUP RECEPTEUR");

}

void loop()
{
  uint8_t buf[VW_MAX_MESSAGE_LEN];
  uint8_t buflen = VW_MAX_MESSAGE_LEN;
  if (vw_get_message(buf, &buflen)) {
    digitalWrite(ledPin, HIGH);
    int i;

    for (i = 0; i < buflen; i++)
    {
      Serial.write(buf[i]);
    }
    Serial.println("");
    delay(100);
    digitalWrite(ledPin, LOW);
  }
}
Tagged ,

Circuit d'électro-stimulation

Samedi 11 février

Il y a 2 semaines, nous avons bricolé un circuit d'électro-stimulation musculaire à la demande du club robotique de l'école d'ingénieur #SeaTech de l'université de Toulon.

On utilise l'électrothérapie principalement de deux manières différentes :

  • la neurostimulation, qui consiste en l'excitation des nerfs dans un but antalgique,
  • la myostimulation, qui consiste en l'excitation des muscles à des fins d'entraînement musculaire (rééducation, etc).

C'est ce second champ d'application qui nous concerne.

Pour cela, nous avons réalisé un circuit à base de transformateur 230V~ vers 9V~, utilisé en survolteur, en attaquant son enroulement basse tension avec des impulsions afin d'obtenir côté haute tension les mêmes impulsions avec une amplitude bien supérieure.

Voici deux simulations de ce circuit :

On pourrait également utiliser un convertisseur à découpage de topologie boost, dont on supprimerait le condensateur de filtrage en sortie (ici en ouvrant l'interrupteur).

Samedi 18 février

La semaine dernière, nous avons fait quelques mesures sur un appareil du commerce trouvable chez GearBest.

setup1

Pour pouvoir mesurer des tensions relativement hautes dont la valeur max est inconnue, on utilise ici une sonde différentielle et atténuatrice afin de ne pas prendre le risque de flinguer une entrée du scope.

Ce genre de sonde sert typiquement à :

  • atténuer le signal avant de le faire entrer dans l'oscillo en utilisant un diviseur résistif (ici l'atténuation est de 1/200),

  • assurer l'isolation galvanique entre circuit et entrées de l'oscillo, par exemple afin de ne pas créer de court-circuit à cause des masses de toutes les entrées BNC qui sont reliées entre elles ainsi qu'au circuit de terre du réseau électrique.

setup2

Ainsi on peut constater que l'appareil produit des impulsions d'environ 130 V crête à une fréquence avoisinant les 4,5 Hz.

mesure1

mesure2

Lorsqu'on augmente le réglage d'intensité, aucunes variations n'ont pu être constatés sur l'oscillo avec une charge constante (et alors que ça pique plus !), ce qui indiquerait que le réglage influe sur le courant émis (pas eu le temps de vérifier :).

Bien qu'intéressant du point de vue portabilité et pilotage par Bluetooth, cet appareil est plutôt limité sur le nombre de paramètres modifiables par l'utilisateur. On lui préférera donc une solution maison permettant la génération de trains d'impulsions variables en fréquence, amplitude, ainsi que polarité.

Voici deux projets trouvés dans d'anciens numéros du magazine Elektor :

Mais en attendant d'avoir un cahier des charges plus fourni, le projet sera mis en standby. Trop de degrés de liberté pour démarrer la conception ! ;)

Tagged ,