Bonjour à tous
Tout d’abord je tiens à vous remercier d’avoir pris du temps à m’informer et à m’aider. Je vais tenter dans ce message de répondre aux objections qui ont été formulées.
Tout d’abord sur l’installation :
La zone où je compte installer l’aimant et le capteur est une zone sans limaille ni copeaux. C’est sur la partie supérieure de la broche, à proximité de la poulie d’entrainement. Pas du côté outil donc. Par contre ça vibre et c’est graisseux, mais c’est cartérisé.
C'est une solution effectivement, sinon une autre méthode pour un affichage plus "fluide" c'est d'utiliser une interruption, l'affichage sur le 7seg dans le programme principal (loop) et le calcul "en interruption" de la vitesse (voir attachInterrupt(), micros()).
OK. Je comprends mieux.
Le programme ressemblerait donc à un truc comme ça :
setup :
{
Initialiser les variables
T0=millis()
N=0 ;
}
loop:
{
Afficher la valeur de la vitesse de rotation V (fonction à définir)
}
Fonction parcourue en cas d’interruption (signal sur le capteur) :
{
T1=millis() ;
N=N+1 ;
if (T1-T0)>=1000 then
{
Mise à jour de la valeur de V=N*(T1-T0)/60000 ;
Réinitialisation des variables
N=0 ;
T0=T1 ;
}
}
Sauf erreur, ce code permet de considérer des vitesses de rotations très faibles, voire nulles, le calcul de V n’étant effectué que si le différentiel de temps excède la seconde. En dessous de 60 tr/min, la mesure de la vitesse ne se fera qu’avec une seule occurrence de l’interruption. Ca ne me gène pas trop vu que j’utilise très rarement des vitesses inférieures à 200 tr/min.
Pour piloter 4 afficheurs 7seg, au choix :
- un MAX72xx mais c'est "un peu" ch*ant à utiliser,
- un pcf8575 et les 4 afficheurs multipléxé,
- un pcf8574 ou un 74HC595 avec un circuit de décodage bcd->7seg en plus du multiplexage des 4 afficheurs,
- les 4 afficheurs multipléxé "en directe" sur l'arduino (avec de la manipulation de port),
- afficheurs 7seg série de sparkfun,
- afficheurs 7seg série "maison" (si j'ai le temps je prépare un tutoriel vidéo sur l'utilisation de 12 afficheurs 7seg avec "seulement" 20 sorties digitales (multiplexage, gestion du refresh, ...).
C’est du chinois pour moi tout cela. De ce que tu proposes, je retiens surtout la solution de l’afficheur Sparkfun : SparkFun 7-Segment Serial Display - Red - COM-11441 - SparkFun Electronics
3 pins arduino utilisées seulement. Apparemment ils fournissent une bibliothèque, donc je vais regarder plus en détail comment ça marche, mais elle est écrite en C : est ce génant pour Arduino ?
Je n’ai besoin au final que de 4 digits pour l’affichage, je n’en mettrais pas plus , d’autant que la place est comptée.
J'utilise le capteur PMH (une ferrite avec une bobine autour, le tout à 1mm du volant moteur qui possède 100 dents) qui passe dans un amplificateur différentiel (un AOP et 4 résistances) puis sur une entrée "timer" de l'arduino (chaque dent moteur génère une impulsion qui incrémente un compteur).
Chez moi c’est différent, je ne peux pas utiliser un tel système, ne pouvant installer une roue dentée sur la broche. Par contre je comprends que ce soit bien plus précis.
Concernant le capteur, j’ai vu que Sparkfun vendait un US1881 à un prix dérisoire, je pense partir là-dessus vu que je vais probablement commander l’afficheur chez eux.
Maintenant j’ai des questions sur la carte Arduino à acheter.
En réalité j’en souhaiterais 2 : une pour la mise au point qui resterait connectée à mon PC. Une carte pour débuter donc, un modèle de base avec quelques possibilités de connexions. Evidemment le port USB et un fonctionnement sous Linux. Que me conseilleriez vous chez Sparkfun ? Uno ou bien une Mega2560 ?
Et l’autre pour faire le tachymètre, je cherche donc un modèle basique, petit et suffisant pour ce faire. J’avais pensé à une Arduino Pro Mini que je programmerais via une carte additionnelle avec le port USB (mais on n’en trouve plus chez Sparkfun apparemment…).
Les alimentations que j’ai disponibles sur ma fraiseuse sont fournies par le variateur de commande du moteur triphasé (Altivar ATV15HU15M2). Il me donne :
- +5V continu +/- 5% (soit entre 4.75V et 5.25V), Imax = 10 mA dont 1 mA utilisé pour la commande du variateur, donc reste 9 mA pour une autre utilisation en parallèle
- +24V continu -15%/+20% (soit entre 20.4 V et 28.8V), Imax = 100 mA dont 8 sont réservés pour la commande du variateur, reste donc 90 mA environ
Est-ce suffisant pour commander une carte Arduino, ainsi que son capteur et l’afficheur ?
Je peux envisager de rajouter un régulateur de tension à base LM7805 derrière le 24V, mais je risque de manquer de courant, non ?
1-Le capteur à effet Hall : 5 mA d’après la datasheet
2- la carte Arduino = xxx mA ?
3- l’afficheur = yyy mA ? (la doc dit de l’alimenter en 5V, mais ils ne donnent pas la consommation maxi, juste qu’il est construit sur un ATMega328
Voilà, c’est tout pour aujourd’hui et je vous remercie de m’avoir lu.
Cordialement,
Alfred