Loading...
  Show Posts
Pages: [1] 2
1  International / Français / Re: Déterminer câblage encodeur on: May 01, 2013, 09:38:30 am
Oups petite erreur d'inattention smiley

Merci beaucoup!

2  International / Français / Re: Déterminer câblage encodeur on: May 01, 2013, 08:55:42 am
Merci à vous.

Je ne peux pas poster de meilleures photos avant ce weekend car je ne possède que l'objectif de mon téléphone dans mon appartement étudiant.

Donc ça donnerait ceci?
3  International / Français / Re: Déterminer câblage encodeur on: May 01, 2013, 07:20:31 am
bonjour
l'encodeur en quadrature "proprement dit" comporte 4 pins
là tu parle du connecteur de raccordement  sur 6 points
4 pour l'encodeur ( VCC, GND, A, B ) et 2 pour le moteur CC (Inversion de polarité pour le sens de rotation)
ce qui fait "la rue michel"  smiley-mr-green

En effet, les 6 pins de la carte doivent correspondre à cela (reste à savoir qui est qui?).

Mais le capteur en lui même possède bien 6 broches (les deux du bas doivent alimenter la led je suppose). Je vous joins une photo plus précise.



4  International / Français / Re: Déterminer câblage encodeur on: May 01, 2013, 06:49:11 am
Merci!

Néanmoins il ne s'agit pas de mon modèle car le mien possède 6 broches. Il ressemble plus à http://datasheet.octopart.com/AEDS-9620%23P10-Avago-datasheet-10313754.pdf , à quelques détails près: en haut à droite de la page 8 il y a un schéma comportant des refs
- on peut lire "20" sur le mien à la place de "10"
- la référence indiquée par XXXX est 9966.

Pensez-vous que je peux utiliser cette datasheet?

5  International / Français / Déterminer câblage encodeur on: April 30, 2013, 02:29:04 am
Bonjour,

J'ai récupéré un petit moteur avec une roue codeuse sur une imprimante hp, pour lequel je souhaite déterminer le câblage sans le détériorer. Comment s'y prendre?





(J'ai vu que certains utilisent le même modèle sur le forum, mais sans détails du câblage.)

Merci d'avance.
6  International / Français / Re: Maîtriser le débit d'une pompe on: May 20, 2012, 01:18:13 pm
Non j'ai adapté le code, l'erreur est donc mienne  smiley-mr-green

Je vais plancher dessus merci!
7  International / Français / Re: Maîtriser le débit d'une pompe on: May 20, 2012, 12:37:39 pm
Merci à vous deux

Comme tu compares une différence (c'est exactement ce qu'il faut faire, bravo)

Je n'ai pas beaucoup de mérite, je n'ai fait qu'adapter la doc smiley-wink

Bon maintenant je chercher à récupérer une consigne de débit via la liaison série. Le but serait d'enregistrer une valeur lorsque la carte reçoit dans son buffer une chaîne "debit : valeur". Par exemple on tape "debit : 100" dans la liaison série et hop! la variable debit passe à 100.

Pour ce faire j'ai essayer d'adapter du code qui provient du cours du site du zero, mais rien que le test "if(mot==test) ne fonctionne pas et je ne comprend pas pourquoi...

Code:
char mot[5];
char test[5]={'d','e','b','i','t'};

void setup()
{
  Serial.begin(115200);
}

void loop()
{
  if(Serial.available())
  {
    //alors on va lire le contenu de la réception
    lireVoieSerie();
    Serial.println(mot);
  }
}
//lit un mot sur la liaison série (lit jusqu'à rencontrer le caractère '\n')
void lireVoieSerie(void)
{
int i = 0; //variable locale pour l'incrémentation des données du tableau

//on lit les caractères tant qu'il y en a
//OU si jamais le nombre de caractères lus atteint 4 (limite du tableau stockant le mot - 1 caractère)
while(Serial.available() > 0 && i <= 4)
{
            mot[i] = Serial.read(); //on enregistre le caractère lu
            delay(10); //laisse un peu de temps entre chaque accès a la mémoire
            i++; //on passe à l'indice suivant
            if(mot==test)
            {
              Serial.println("ca marche");
            }
}
        mot[i] = '\0'; //on supprime le caractère '\n' et on le remplace par celui de fin de chaine '\0'
}
8  International / Français / Maîtriser le débit d'une pompe on: May 20, 2012, 11:34:50 am
Bonsoir,

Une des fonctions de mon programme doit piloter une pompe qui a un débit de 1,8 litres par minute. Or dans ce projet le débit doit être compris entre 0 et 100 ml/h.

Donc 1,8 L/min = 1800 ml /min = 30 ml/sec

100/30 = 3.33 sec

Il faut donc que la pompe fonctionne pendant 3.33 secondes toutes les heures et je ne peux pas utiliser la fonction delay() car le reste du programme doit continuer à s'exécuter.

Je pense donc écrire cette fonction de cette manière:

Code:
int temps = 0;
long precedent_millis = 0;

void arroser(debit) // fonction ne renvoyant rien et recevant un debit compris entre 0 et 100 ml/h
{
  unsigned long valeur_millis = millis();
 
  if(valeur_millis - precedent_millis >= 3600000) // autrement dit si une heure s'est écoulée depuis le dernier arrosage
  {
    temps = debit /30; // donne un résultat en secondes
    temps = temps*1000; // convertit en millisecondes
   
    digitalWrite(pompe, HIGH);
   
    delay(temps);
   
    digitalWrite(pompe, LOW);
  }
}

Ma question est simple: comme millis() déborde tous les 50 jours d'après la doc, est ce que le programme va planter à ce moment.
Si c'est le cas existe-t-il un moyen de réinitialiser millis() à chaque fois que la condition est vraie? Merci.
9  International / Français / Re: IRF530N + moteur on: May 18, 2012, 07:23:49 am
Je pense que je commence à comprendre comment tout cela fonctionne.
Je vais faire des tests pour essayer. En tous cas merci pour ta patience!

Encore une question: est ce que 330 Ohms conviendraient pour la valeur des résistances?
10  International / Français / Re: IRF530N + moteur on: May 18, 2012, 03:55:02 am
Merci beaucoup pour votre aide, c'est sympas.

Malheureusement je ne dispose pas de relais et comme j'habite une petite ville il n'existe pas de magasin de composants digne de ce nom. J'en prendrai donc avec ma prochaine commande... qui risque de ne pas être tout de suite (faut amortir les frais de port).

En attendant j'aimerai essayer de bricoler avec ce que j'ai sous la main même si ce n'est pas l'idéal.

Donc si je regarde la datasheet du bdx33c ( http://www.datasheetcatalog.org/datasheet/SGSThomsonMicroelectronics/mXyztxq.pdf ) je comprend que (mais je ne suis pas sûr de moi):
- ce transistor est saturé pour une tension de 5V
- le gain est de 750, donc si mon moteur pompe entre 1,5 A et 2 A , il me faut un courant de 2/750 = 2.5 mA sur la base.
- donc comme la sortie de l'arduino est à 5V, il faut une résistance de 5/0.0025 = 2 kOhms en série avec la base.

Donc si me plante pas ce montage devrait fonctionner : http://serreautomatisee.legtux.org/wp-content/uploads/2012/05/exemple_BDX33C.png

J'ai volontairement mis le transistor entre le 12V et le moteur puisque visiblement c'est quand il est dans cette position qu'il peut limiter le courant.

11  International / Français / Re: IRF530N + moteur on: May 17, 2012, 08:35:38 am
Merci!

Alors j'ai malheureusement pas de canal P sous la main, par contre j'ai plusieurs BDX33C ( http://www.datasheetcatalog.org/datasheet/SGSThomsonMicroelectronics/mXyztxq.pdf ).  D'après la datasheet c'est pas vraiment le bon type de transistor mais si je la comprend bien un courant de 0.25 A sur la base est suffisant pour le saturer. J'ai testé en remplacant le canal N qui était entre le générateur et le moteur (avec une résistance avant la base) et ça fonctionne! Même si c'est un gros bricolage, est-ce que c'est viable?

Sinon après je n'ai plus que des transistors bipolaires.
12  International / Français / Re: IRF530N + moteur on: May 17, 2012, 08:09:58 am
Merci pour vos réponses. Le pont en H permet de piloter un moteur de vérin qui ouvre ou ferme une fenêtre dans une serre ( dans le cadre d'un projet scolaire, je ne vous le cacherai pas ). Du coup le moteur doit être inversé grosso modo 1 fois toutes les 20 minutes et encore. J'ai donc pas besoin d'un pont en H parfait et très performant, et je tiens à le réaliser moi même pour pouvoir comprendre comment ca fonctionne, enfin apprendre ce qui est le but du projet smiley .

Mais bon c'est vrai que je galère un peu, je maîtrise pas encore ce domaine.

Je voulais faire le pont en H de cette manière, c'est possible?
http://serreautomatisee.legtux.org/wp-content/uploads/2012/05/montage_pont_H.png
http://serreautomatisee.legtux.org/wp-content/uploads/2012/05/montage_pont_H_schema.png
13  International / Français / Re: IRF530N + moteur on: May 17, 2012, 06:34:24 am
J'ai réaliser le montage que tu m'as conseillé : http://serreautomatisee.legtux.org/wp-content/uploads/2012/05/montage_mosfet.png

Le fil rouge qui se balade tout seul est au +12V du générateur, le noir à sa masse.

Dans cette configuration avec les mosfet en aval du générateur ca marche beaucoup mieux merci smiley

Cependant pour faire un pont en H j'aurai forcément des transistors en amonts, donc avec une perte de puissance... Comment je peux résoudre ce problème?

N.B.: je n'ai que des diodes zener ph4148 sous la main, est ce que ca fait l'affaire pour une diode de roue libre? Bien que je ne pense pas qu'elle soit nécessaire, mon moteur n'a aucune inertie car il entraîne la tige filetée d'un vérin.
14  International / Français / Re: IRF530N + moteur on: May 16, 2012, 06:19:59 pm
Justement sur le rail rouge y avait le 12 V et la masse du générateur sur le noir, j'ai du les enlever pour déplacer le montage smiley-wink
15  International / Français / Re: IRF530N + moteur on: May 16, 2012, 02:44:23 pm
Merci pour ta réponse aussi rapide!

Quote

pas de collecteur , ni d’émetteur sur un mosfet   smiley-mr-green


Rah milles excuses je pensais employer le bon vocabulaire. Pour ma défense je suis lycéen et on n'a parlé que de transistor NPN et PNP en cours smiley

Non je n'ai pas mis de résistance, j'en ai vu sur la datasheet mais j'ai un peu de mal à bien comprendre les datasheets...

Photo : http://serreautomatisee.legtux.org/wp-content/uploads/2012/05/montage.png

NB: il manque le 12 v et la masse du générateur sur la photo, mais je ne les ai pas oubliés lors de mon test smiley-wink

Edit:

Bonsoir Wiiiiiiiiik smiley-wink

La grille (ou gate en anglais) (patte de gauche quand on regarde le transistor en face) est connectée à la sortie 13 de l'arduino, le collecteur (patte du milieu) à un générateur qui monte jusqu'à 12V et 2A et l’émetteur alimente le moteur.
Petit problème de vocabulaire : c'est un transistor FET (Transistor à Effet de Champ) donc les broches s'appellent drain, grille et source.
C'est bien le drain, broche du milieu, qui doit être relié au moteur vers le +12V, la grille doit être reliée à l'Arduino de préférence par une résistance. C'est moins critique pour un FET que pour un bipolaire mais c'est préférable. Un peu n'importe quoi entre 100 et 470 ohms fera l'affaire, on va pas chippoter (mais ce n'est pas la cause du problème). Et rajouter aussi une diode de roue-libre (AN4004, 1N4007) en parrallèle avec le moteur, cathode au +12V.
Et la source à la masse.
La masse de ton alimentation 12 doit être mise en commun avec la masse de l'Arduino.

Voir schéma ci dessous

Dans ton code tu pilotes les broches 12 et 13.
Laquelle utilises tu pour la grille du transistor (sachant que la 13 sert aussi pour la LED "L" de la carte Arduino) ?


Merci, je vais tester. Et oui je suis sur le pin 13!
Pages: [1] 2