Compteur Bobineuse

Bonjour,

Mon projet est un compteur avec alarme sur une enrouleuse de fil.
J'ai utilisé un bout de code trouvé sur le forum usinages écrit par @jpbbricole que je remercie au passage.
J'ai apporté quelques modifications pour que cette application réponde à mes besoins.
La première est que je n'ai besoin que du compteur de tour en mètres.
La seconde est de pouvoir régler la limite en mètres a l'aide d'un potentiomètre (codeur incrémental) et avec son switch réinitialiser le compteur lorsque la limite est atteinte. Lorsque la limite fixée par l'encodeur est atteinte elle fait sonner le buzzer.

J'alimente le buzzer en 12v pour l'entendre correctement (transistor BC547 + resistance 100Kohm)

J'ai fabriqué une petite interface pour pouvoir tout connecter correctement.

Bref sur le papier ça à l'air bien mais en pratique c'est pas trop ça ...

J'ai plusieurs problèmes :

Lorsque j'alimente l'arduino en 5v via USB le compteur semble fonctionner mais lorsque je veux reseter en pressant le switch du potard la variable se met bien à 0 mais dès la captation suivante elle reprend la ou elle s'est arrêtée.

Lorsque j'alimente en 12v le compteur s'affole à chaque passages et impossible de le reseter

Alors les vitesses de comptes tours ne sont pas très élevées, entre 10 et 700 tours/minutes

Il s'avère que le buzzer n'est pas assez fort je pense donc remplacer l'ensemble transistor résistance buzzer par un relais pour déclencher un klaxon.

CPT0.6.ino (10.6 KB)
pitches.h (2.0 KB)

Quelqu'un peut il éclairer ma lanterne ?

Merci d'avance

Bonjour,

100k dans la base du transistor c'est très élevé.
Cette résistance devrait être de l'ordre de 1k ou 470Ω (il faudrait connaitre l'intensité dans le buzzer pour le calculer plus précisément)

Lorsque tu presses le boutons du codeur incrémental, tu fais ça:

	if (digitalRead(toursCompteurRazPin) == LOW)                                  // Si bouton reset presse
	{
		compVal = 0;
    playPassed();
	}

Mais dans le calcul de la longueur tu fais ça

	if ((capteur.impulsCpt % capteurImpulsTour == 0) && capteur.toursCompteurOn)
	{
		capteur.toursCompteur += capteur.toursCompteurIncr;
   compVal = ((capteur.toursCompteur/8) * diametrerouleau)/1000;
	}

Le cumul du compteur n'est pas dans compVal mais dans capteur.toursCompteur.
C'est donc capteur.toursCompteur qu'il faut remettre à zéro.

A chaque passage de quoi?

Pour avoir plus de réponses, il est toujours bon de mettre en pratique ce qui est dit dans:

Par exemple sur la présentation du code. Je veux bien aider si j'ai accès facilement au code. Dans le cas présent, il faut que je télécharge le code, que j'ouvre un programme pour le lire... Mon navigateur ne sais pas lire les .ino et les .h Et je ne parle pas de mon téléphone. Pour moi, c'est comme si je n'ai pas le code.

Sans infos, pas de réponse précise!
Si le buzzer est piézo et consomme peu, il peut être mis directement en sortie de l'arduino, pourquoi pas en pont (entre deux sorties qui seront opposées). Avec un montage en pont, on a une puissance pus élevée. Si le buzzer consomme plus de 20mA, la résistance de base est effectivement trop grande. Le code pourrait me donner plus d'info si je le lisait et si il est effectivement écrit pour le bon buzzer. Accessoirement un lien sur le buzzer utilisé serait intéressant. Dire ce qu'il faut faire pour le buzzer, c'est comme acheter une paire de chaîne pour une voiture sans avoir aucune idée de la taille des pneus.

Concernant le compte tour, si il s'agit d'une bobineuse, il est possible que si on double la longueur, que le nombre de tours ne doive pas être doublé. Compter une longueur en comptant les tours peut être une source d'erreur. Ce problème est-il résolu?

Merci pour cette info, je vais essayer de mesurer cette intensité.

C'est corrigé ! Merci cette partie fonctionne maintenant :slight_smile:

Chaque fois que le plot passe devant le Capteur.

  • Nom du produit: Commutateur de proximité inductif;Modèle: LJ12A3-4-Z-BX 5V;Type de fil: Type à 3 fils (noir,marron,bleu);Type d'apparence du commutateur: Type de cylindre
  • Théorie: capteur inductif;Type de sortie: NPN NO (normalement ouvert);Diamètre du filetage: 10.5 mm/0.41";Diamètre de la tête: 11.8 mm/0.46"
  • Distance de détection: 4 mm;Tension d'alimentation: 5 V CC;Sortie de courant: 300 mA;Fréquence de réponse: 150 Hz
  • Détecter l'objet: fer; Température de fonctionnement: -25°C à + 55°C (condition sans gel);Taille: 6.2 x 2 cm/2.4`` x 0.8'' (L*Dia max.);Longueur du câble: 110 cm/43.3"
  • Matériau externe: plastique,alliage; Poids net: 100g;Couleur: ton argent,jaune,gris;Contenu de l'emballage: 1 x interrupteur de proximité inductif

Voici un les spec du Buzzer :

  • Type: sonnerie d'alarme électronique piézo active avec son continu, Matériel: ABS, Couleur: noir
  • Module de sonnerie active piézoélectrique prenant en charge une alimentation à tension large DC 3-24V
  • Sortie audio: ≥85dB, fréquence de réponse: 3000 ± 500Hz
  • Courant nominal: ≤30mA, taille du module: 30 x 15 mm / 1,18 x 0,59 pouces
  • Connexion: avec des câbles de connexion 2 fils, il vous suffit de brancher toute alimentation de 3 à 24 volts Circuit d'entraînement complet incorporé pour un fonctionnement direct à partir d'une source d'alimentation CC.

La longueur de fil se calcul sur la base du diamètre d'un rouleau avant la bobine. Un plot est placé sur ce rouleau qui passe devant le capteur à chaque tours. Donc diamètre x Pi et j'ai ma longueur de fil à chaque tours normalement.

@vileroi navré pour le fichier INO il me semblait plus pertinent de joindre le fichier :confused:

En tous cas merci à tous de m'avoir lu.

Si il est alimenté avec un transistor non saturé, cela peut expliquer les choses. Au vu de ces caractéristiques, le montage est bon, et si le son n'est pas suffisant, il faut s'assurer que l'on ait bien 0,2V environ aux bores du transistor (on est en continu). Sinon augmenter la tension.

Avec un courant <30mA on pourrait presque se passer d'un transistor si on était en 5V.

Il n'y a qu'une seule couche alors! Dans ce cas c'est bon.

La plupart des buzzer "alarme" sont alimentés au travers d'un autotransfo (bobine 3 pattes sur photo) pour produire un niveau sonore élevé .

Exciter un piezo en 5 ou12V au travers d'un transistor ne sortira pas une tension suffisamment élevée pour un niveau sonore "insupportable" . :loud_sound:

image