Général Tension de commande STEP

  • Auteur de la discussion Guy69
  • Date de début
G

Guy69

Compagnon
hello, voici quelques news, et bien sûr un problème à résoudre.

(mon problème ci-dessus a été réglé en mettant des résistances pull-up sur les pins du bus I2C (SCL et SDA)).

Qu'est ce que je cherche à faire? Une petite bobineuse minimale avec un entrainement quelconque (manuel ou visseuse), un capteur optique en quadrature pour récupérer les infos de sens et compte tours, un guide-fil par vis et moteur PAP.
Au milieu un Arduino Leonardo, qui récupère les infos de diamètre (2 boutons encodeurs et affichage sur LCD), quelques poussoirs pour une RAZ du compteur ou l'avance rapide du PAP, mais surtout la surveillance de l'encodeur broche pour mettre à jour l'affichage du compte tours et envoyer les impulsions (Steps) au PAP pour le guide-fil.

Le code (et la machine) marche parfaitement si j'affiche le compte tours sur le Moniteur Série, par contre si j'affiche sur LCD je plante très vite: LCD figé
Je subodore un problème de durée de cycles incompatibles. Est ce que la librairie LiquidCrystal est connue pour des pbs de latence?
L'Arduino fait parfaitement le boulot si j'utilise
- le compte-tours LCD SANS pilotage de PAP
- ou le pilotage de PAP sans compte-tours LCD
mais pas les 2 ensemble...

Dois-je abandonner l'idée d'avoir à la fois un compte-tours et un envoi de steps précis?
Voici mon code ci-dessous.
Je suis preneur de tout commentaire.
MERCI !!

 
Dernière édition:
J

jpbbricole

Compagnon
Salut Guy69

Je ne mets en ligne, une autre version de LiquidCrystal_I2C.h qui me semble plus récente que la tienne.
L'initialisation se fait légèrement différemment:

LiquidCrystal_I2C lcd(0x3F, 16, 2);

void setup()
{
// initialize the LCD
lcd.begin();
}


tu peux, éventuellement jouer sur l'ordre d'invocation des bibliothèques, j'ai résolu un problème avec ce truc.

A ta disposition
Cordialement
jpbbricole
 

Fichiers joints

  • LiquidCrystaIi2C.zip
    156.8 KB · Affichages: 72
G

Guy69

Compagnon
Merci jpbbricole, je teste ça demain

Bonne soirée
Guy
 
G

Guy69

Compagnon
bonjour
J'ai fait un peu de "logging" en mesurant les microsecondes consommées.

En fait j'ai plusieurs pbs je pense.

Les "salves" de steps que j'envoie au PAP prennent environ 20ms quand je veux avancer de 40/100 de mm.
J'ai 5 salves par tour. Donc 100 ms par tour maximum. Ca m'oblige à tourner vraiment lentement.

Le driver Gecko m'annonce une durée de step de 1µs min, mais en pratique, en dessous de 100 µs je vibre mais ne tourne pas.

Je continue à chercher, je mets de l'ordre dans mon truc et reviendrai avec des questions plus précises.

MERCI :wink:
Guy
 
Dernière édition:
G

Guy69

Compagnon
Bonjour
Fin du sujet pour ma part car tout marche! J'ai réduit le nombre de fentes du capteur optique (5 fentes au lieu de 40) ce qui a considérablement réduit la charge sur l'Arduino et les Interrupt.
du coup, je poste un petit CR sans prétention sur cette bobineuse minimale Arduino.
Merci encore à tous
Guy
 

Sujets similaires

Haut