Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Index du Forum



Sécurité sur une enrouleuse ARDUINO
Aller à la page: 1, 2, 3, 4  >

 
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Projets -> Vos projets
Sujet précédent :: Sujet suivant  
Auteur Message
mallodu55
Débutant

Hors ligne

Inscrit le: 29 Juil 2014
Messages: 28
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Mar 29 Juil - 14:35 (2014)    Sujet du message: Sécurité sur une enrouleuse ARDUINO Répondre en citant

PublicitéSupprimer les publicités ?
Bonjour,

Je travail souvent dans mon garage et la je viens de récupérer une enrouleuse qui est semi autonome, mais sachant que c'est une vieille machine j'aimerais mettre en place une sécurité :)

Pour mettre en place cette sécurité j'utiliserai ma carte Arduino ATMéga Wink !

Voila la machine possède deux arbres et de tant en tant un des deux arbres s'affole... donc la sécurité que j'aimerais mettre en place c'est si il y a une différence de plus de 10tr/min entre les deux arbres ceci me coupe l'alimentation.

Donc :
-Arduino ATMéga
-Capteur à effet hall (TLE4905) avec 4 aimants par tours

Les arbres peuvent tourner à 5tr/min jusque maximum 2500tr/min

Pouvez-vous m'aider pour la programmation ?

En attente de vos réponses et merci à tous !!
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Mar 29 Juil - 16:08 (2014)    Sujet du message: Sécurité sur une enrouleuse ARDUINO Répondre en citant

On peut t'aider à la programmation.
Cependant, nous n'avons aucune données sur les données analogiques de seuil émises par le capteur à effet hall.
Pourrais tu nous donner le niveau à partir duquel cette valeur deviens trop élevée ?


Sur quelle partie de programmation souhaites-tu être aidé ?
____________________________
http://simple-duino.com
Revenir en haut
mallodu55
Débutant

Hors ligne

Inscrit le: 29 Juil 2014
Messages: 28
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Mar 29 Juil - 16:21 (2014)    Sujet du message: Sécurité sur une enrouleuse ARDUINO Répondre en citant

Dans un premier temps merci pour ta réponse ! :)

Le capteur j'ai indiqué celui la mais chez moi j'ai plein de capteur PMH (en automobile). Ce sont les capteurs qui indique la vitesse de rotation moteur. Alors peut être que je peut utilisé celui la ?

Pour faire simple il y a deux arbres qu'on va appeler X et Y
Ma sécurité consiste à arrêter la machine si la vitesse de rotation de Y moins la vitesse de rotation de X donne un résultat supérieur à 10.

Dans la programmation entière ... Je débute avec arduino mais je m'y connais un peu en électronique mais arduino assez peu mais tout le monde en dit que du bien Very Happy
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Mar 29 Juil - 19:38 (2014)    Sujet du message: Sécurité sur une enrouleuse ARDUINO Répondre en citant

Mhhh Il faudrait savoir comment brancher le capteur à effet hall (  tu peux te renseigner là dessus )
Ensuite, il suffit de faire un analogRead (je pense) pour pouvoir récupérer tes valeurs de sécurité...


Si tu sais comment brancher le capteur sur l'Arduino, je peux te préparer un programme pour relever les valeurs
____________________________
http://simple-duino.com
Revenir en haut
mallodu55
Débutant

Hors ligne

Inscrit le: 29 Juil 2014
Messages: 28
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Mer 30 Juil - 13:31 (2014)    Sujet du message: Sécurité sur une enrouleuse ARDUINO Répondre en citant

Voilà j'ai pas mal bossé dessus et surtout réfléchi au capteur utilisé... et finalemment ça sera un capteur optique qui donnera du 0 ou du 1.


Et voici mon programme : (grâce à l'aide de plusieurs programmes sur internet) 
Code:

     #include <FreqCounter.h>  //Inclure la librairie de fréquence

    // Variables utilisées
    unsigned long frqX;    //fréquence mesurée arbre X
    float trminX;         //vitesse de rotation en tour/min arbre X
    
    unsigned long frqY;    //fréquence mesurée arbre Y
    float trminY;         //vitesse de rotation en tour/min arbre Y
    
    int cnt;              //nombre de mesures réalisées
    int encoches=4;      //nombre d encoches de la roue codeuse (1 ou plus)
    
    
    

    // Initialisation
    void setup() {
      Serial.begin(9600);   //connection au port série
      

    }
    
    void arbreX() {
      
      // Attendre le signal
      //compensation (étalonnage)
      FreqCounter::f_comp=10;   // Cal Value / Calibrate with professional Freq Counter

      // 10, 100 ou 1000 ms pour une résolution de 100, 10 et 1 Hz 
      FreqCounter::start(10);  // 10 ms Gate Time

      // Attendre jusqu'à avoir un comptage terminé
      while (FreqCounter::f_ready == 0)
     
     
     // Afficher la mesure de fréquence (et de rotation)
      frqX=FreqCounter::f_freq;
      trminX = frqX/encoches*60;  //Vitesse de rotation en tour/min
    }
      
    void arbreY() {
      
      // Attendre le signal
      //compensation (étalonnage)
      FreqCounter::f_comp=10;   // Cal Value / Calibrate with professional Freq Counter

      // 10, 100 ou 1000 ms pour une résolution de 100, 10 et 1 Hz 
      FreqCounter::start(10);  // 10 ms Gate Time

      // Attendre jusqu'à avoir un comptage terminé
      while (FreqCounter::f_ready == 0)
     
     
     // Afficher la mesure de fréquence (et de rotation)
      frqY=FreqCounter::f_freq;
      trminY = frqY/encoches*60;  //Vitesse de rotation en tour/min
    }
    
    void defaut() {
      
      defaut=trminY-trminX
      
    }

    // === Boucle de mesures
    void loop() {
      
      arbreX();
      
      arbreY();
      
      if (defaut >= 10)
      
      


    } 


Mais j'arrive pas à faire la ligne de calcul pour définir mon défaut = trminY - trminX



Si "défaut" est supérieur ou égal à 10 j'aimerais allumer une led (dans un premier temps)

Et si vous pouvez m'eclaicir un peu plus sur la compensation avec Freqcounter je ne dirais pas non ..
("// Attendre le signal
      //compensation (étalonnage)
      FreqCounter::f_comp=10;   // Cal Value / Calibrate with professional Freq Counter")


En attente de vos réponses :)
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Mer 30 Juil - 14:17 (2014)    Sujet du message: Sécurité sur une enrouleuse ARDUINO Répondre en citant

Salut,
Tu as testé ce script ?
Vu comme ça, il ne fonctionne pas car tu oublies de déclarer "defaut":
Je ferai plutôt ma void loop() de cette manière:


Citation:

// === Boucle de mesures
void loop() {
  arbreX();
  arbreY();
  if (trminY-trminX >= 10)
}



____________________________
http://simple-duino.com
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Mer 30 Juil - 14:17 (2014)    Sujet du message: Sécurité sur une enrouleuse ARDUINO Répondre en citant

Pour freqcounter, j'avoue ne pas trop comprendre non plus...
____________________________
http://simple-duino.com
Revenir en haut
mallodu55
Débutant

Hors ligne

Inscrit le: 29 Juil 2014
Messages: 28
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Mer 30 Juil - 15:59 (2014)    Sujet du message: Sécurité sur une enrouleuse ARDUINO Répondre en citant

Quand je le testé en cliquant sur "Vérifié" dans Arduino il me mettait une erreur ..

Maintenant c'est bon :

 
Code:
     #include <FreqCounter.h>  //Inclure la librairie de fréquence

    // Variables utilisées
    unsigned long frqX;    //fréquence mesurée arbre X
    float trminX;         //vitesse de rotation en tour/min arbre X
    
    unsigned long frqY;    //fréquence mesurée arbre Y
    float trminY;         //vitesse de rotation en tour/min arbre Y
    
    int cnt;              //nombre de mesures réalisées
    int encoches=4;      //nombre d encoches de la roue codeuse (1 ou plus)
 

    // Initialisation
    void setup() {

    }
    
    void arbreX() {
      
      // Attendre le signal
      //compensation (étalonnage)
      FreqCounter::f_comp=10;   // Cal Value / Calibrate with professional Freq Counter

      // 10, 100 ou 1000 ms pour une résolution de 100, 10 et 1 Hz
      FreqCounter::start(10);  // 10 ms Gate Time

      // Attendre jusqu'à avoir un comptage terminé
      while (FreqCounter::f_ready == 0)
     
     
     // Afficher la mesure de fréquence (et de rotation)
      frqX=FreqCounter::f_freq;
      trminX = frqX/encoches*60;  //Vitesse de rotation en tour/min
    }
      
    void arbreY() {
      
      // Attendre le signal
      //compensation (étalonnage)
      FreqCounter::f_comp=10;   // Cal Value / Calibrate with professional Freq Counter

      // 10, 100 ou 1000 ms pour une résolution de 100, 10 et 1 Hz
      FreqCounter::start(10);  // 10 ms Gate Time

      // Attendre jusqu'à avoir un comptage terminé
      while (FreqCounter::f_ready == 0)
     
     
     // Afficher la mesure de fréquence (et de rotation)
      frqY=FreqCounter::f_freq;
      trminY = frqY/encoches*60;  //Vitesse de rotation en tour/min
    }
    
    

    // === Boucle de mesures
    void loop() {
      
      arbreX();
      
      arbreY();
      
      if (trminY-trminX >= 10)
      {}

    }

Mais maintenant j'aimerais que si trminY-trminX >= 10 alors il me coupe mon alimentation donc :

if ....
then ...
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Mer 30 Juil - 16:01 (2014)    Sujet du message: Sécurité sur une enrouleuse ARDUINO Répondre en citant

Ok ok, on y est presque
En fait, la structure "if then" correspond à celà:
if (trminY-trminX >= 10)
{
//then
}


Maintenant, il faut savoir comment est contrôlé ton alimentation. Par relais ? Si oui, tu contrôles ton relais grâce à quel Pin de l'Arduino ?
____________________________
http://simple-duino.com
Revenir en haut
mallodu55
Débutant

Hors ligne

Inscrit le: 29 Juil 2014
Messages: 28
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Mer 30 Juil - 16:05 (2014)    Sujet du message: Sécurité sur une enrouleuse ARDUINO Répondre en citant

Je pense que le plus simple pour faire couper mon alimentation est l'utilisation d'un relais non ?

Hmmm... ça je sais pas à toi de me dire :p
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Mer 30 Juil - 16:09 (2014)    Sujet du message: Sécurité sur une enrouleuse ARDUINO Répondre en citant

Oui, je pense aussi.
Cependant, pour contrôler ton relais, il faut passer par un transistor.
En gros, tu prends un relais 12V, tu cables la base d'un transistor à un pin de l'Arduino, le + du 12V au collecteur puis le relais sur l'emetteur puis le - du 12V après le relais.


N'oublies pas les masses communes, le GND de l'Arduino doit être relié à l'emetteur.


Je sais pas si j'ai été assez clair dans mes explications  Embarassed
Si tu ne comprends pas, dis moi et je ferrais un schéma.
____________________________
http://simple-duino.com
Revenir en haut
mallodu55
Débutant

Hors ligne

Inscrit le: 29 Juil 2014
Messages: 28
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Mer 30 Juil - 16:14 (2014)    Sujet du message: Sécurité sur une enrouleuse ARDUINO Répondre en citant

Oui j'ai parfaitement compris :)

Mais le pin de l'arduino qui va à la base du transistor je le met sur quel pin ? analogique, digital etc..
J'ai un Arduino ATMéga

En revanche penses-tu que ce programme s’exécutera rapidement ? Car il faut que la mesure de tr/min et la coupure ce fasse rapidement
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Mer 30 Juil - 16:16 (2014)    Sujet du message: Sécurité sur une enrouleuse ARDUINO Répondre en citant

Ok parfait si t'as tout compris.Tu dois brancher la base du transistor sur un pin digital quelconque de ton Arduino. Dis moi simplement quel pin tu choisis et je prendrais le temps de modifier ton programme.


Pour l'éxecution du programme, elle se fera en moins d'une milliseconde donc largement suffisant (je pense) pour ton projet.
____________________________
http://simple-duino.com
Revenir en haut
mallodu55
Débutant

Hors ligne

Inscrit le: 29 Juil 2014
Messages: 28
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Mer 30 Juil - 16:21 (2014)    Sujet du message: Sécurité sur une enrouleuse ARDUINO Répondre en citant

J'ai la Arduino Mega 2560 (enfin c'est ce qui est écrit dessus :p)

Donc prenons le pin DIGITAL 34

Tu me modifie le programme ? C'est gentil !!!! :)
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Mer 30 Juil - 16:22 (2014)    Sujet du message: Sécurité sur une enrouleuse ARDUINO Répondre en citant

Ok j'ai simplement oublié, places une résistance de 1kohms entre le pin de l'Arduino et la base du transistor
____________________________
http://simple-duino.com
Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 00:43 (2017)    Sujet du message: Sécurité sur une enrouleuse ARDUINO

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Projets -> Vos projets Toutes les heures sont au format GMT + 1 Heure
Aller à la page: 1, 2, 3, 4  >
Page 1 sur 4

 
Sauter vers:  

Index | creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB
Propulsé par Simple-Duino