Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Forum Index



Sécurité sur une enrouleuse ARDUINO
Goto page: 1, 2, 3, 4  >

 
Post new topic   Reply to topic    Simple-Duino Forum Index -> Arduino & Électronique -> Projets -> Vos projets
Previous topic :: Next topic  
Author Message
mallodu55
Débutant

Offline

Joined: 29 Jul 2014
Posts: 28
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Tue 29 Jul - 14:35 (2014)    Post subject: Sécurité sur une enrouleuse ARDUINO Reply with quote

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 !!
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Tue 29 Jul - 16:08 (2014)    Post subject: Sécurité sur une enrouleuse ARDUINO Reply with quote

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
Back to top
mallodu55
Débutant

Offline

Joined: 29 Jul 2014
Posts: 28
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Tue 29 Jul - 16:21 (2014)    Post subject: Sécurité sur une enrouleuse ARDUINO Reply with quote

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
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Tue 29 Jul - 19:38 (2014)    Post subject: Sécurité sur une enrouleuse ARDUINO Reply with quote

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
Back to top
mallodu55
Débutant

Offline

Joined: 29 Jul 2014
Posts: 28
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Wed 30 Jul - 13:31 (2014)    Post subject: Sécurité sur une enrouleuse ARDUINO Reply with quote

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 :)
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Wed 30 Jul - 14:17 (2014)    Post subject: Sécurité sur une enrouleuse ARDUINO Reply with quote

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:


Quote:

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



____________________________
http://simple-duino.com
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Wed 30 Jul - 14:17 (2014)    Post subject: Sécurité sur une enrouleuse ARDUINO Reply with quote

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

Offline

Joined: 29 Jul 2014
Posts: 28
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Wed 30 Jul - 15:59 (2014)    Post subject: Sécurité sur une enrouleuse ARDUINO Reply with quote

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 ...
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Wed 30 Jul - 16:01 (2014)    Post subject: Sécurité sur une enrouleuse ARDUINO Reply with quote

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
Back to top
mallodu55
Débutant

Offline

Joined: 29 Jul 2014
Posts: 28
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Wed 30 Jul - 16:05 (2014)    Post subject: Sécurité sur une enrouleuse ARDUINO Reply with quote

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
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Wed 30 Jul - 16:09 (2014)    Post subject: Sécurité sur une enrouleuse ARDUINO Reply with quote

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
Back to top
mallodu55
Débutant

Offline

Joined: 29 Jul 2014
Posts: 28
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Wed 30 Jul - 16:14 (2014)    Post subject: Sécurité sur une enrouleuse ARDUINO Reply with quote

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
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Wed 30 Jul - 16:16 (2014)    Post subject: Sécurité sur une enrouleuse ARDUINO Reply with quote

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
Back to top
mallodu55
Débutant

Offline

Joined: 29 Jul 2014
Posts: 28
Masculin
Niveau d'éléctronique: Intermédiaire

PostPosted: Wed 30 Jul - 16:21 (2014)    Post subject: Sécurité sur une enrouleuse ARDUINO Reply with quote

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 !!!! :)
Back to top
Admin
Fondateur

Offline

Joined: 12 Apr 2012
Posts: 860
Masculin
Niveau d'éléctronique: Pro

PostPosted: Wed 30 Jul - 16:22 (2014)    Post subject: Sécurité sur une enrouleuse ARDUINO Reply with quote

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
Back to top
Contenu Sponsorisé






PostPosted: Today at 14:29 (2019)    Post subject: Sécurité sur une enrouleuse ARDUINO

Back to top
Display posts from previous:   
Post new topic   Reply to topic    Simple-Duino Forum Index -> Arduino & Électronique -> Projets -> Vos projets All times are GMT + 1 Hour
Goto page: 1, 2, 3, 4  >
Page 1 of 4

 
Jump to:  

Index | Xooit.com free forum | Free support forum | Free forums directory | Report a violation | Conditions générales d'utilisation
Powered by phpBB
Propulsé par Simple-Duino