Show Posts
|
|
Pages: [1] 2
|
|
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"  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.  
|
|
|
|
|
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.
|
|
|
|
|
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  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... 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: 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.pngJ'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.
|
|
|
|
|
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.pngLe 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  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 
|
|
|
|
|
15
|
International / Français / Re: IRF530N + moteur
|
on: May 16, 2012, 02:44:23 pm
|
Merci pour ta réponse aussi rapide! pas de collecteur , ni d’émetteur sur un mosfet  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  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.pngNB: 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  Edit: Bonsoir Wiiiiiiiiik  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!
|
|
|
|
|