En cours Réglage vitesse moteur p.a.p avec minuterie

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

gaston83

Compagnon
Bon, voilà, j'ai adapter le code. Les touches fonctionnent mais il n'y a aucune sauvegarde. Lorsque je retourne sur le menu de départ y a çà...

IMG_20211109_235735[1].jpg
 
S

speedjf37

Compagnon
Bon, voilà, j'ai adapter le code. Les touches fonctionnent mais il n'y a aucune sauvegarde. Lorsque je retourne sur le menu de départ y a çà...
Super on peut passer à la suite :smt038

Pour la sauvegarde il faut retourner dans le menu (ou faire un reset) et verifier si les dernières modification sont mémorisées.:smt050

Le chargement du compteur se fait au moment du démarrage (touche UP) affichage R:T1(val compteur).
S: (Stop)
R: (Rotation/Run)
P: (Pause/Wait)


Maintenant on entre dans l'ergonomie du logiciel !!
N'ayant pas de "cahier des charges" j'ai fait simple !

Le menu est accessible à tout moment (y compris en cours de décomptage):
donc au retour pas d'affichage de la valeur modifiée.
pour ne pas écraser la valeur du compteur en cours (à modifier si compteur en Stop ?)

L'affichage T1 laisse supposer que l'on pourrait avoir plusieurs timers préprogrammés (1 seul pour l'instant).
On pourrait changer les valeurs du timer sur l'écran principal (quels boutons et affichage)


Pour le réglage du moteur:
Régler le nb de pas/tr ex: 800 = moteur 1.8° 200 pas et driver 4 micropas.
Régler l'accélération et la vitesse
Utiliser le menu "Test 1tr" pour valider les paramètres moteur (commande le moteur à 0° puis à 180°).

Le rapport entre le moteur et la sortie n'est pas encore utilisé (option: affichage de la vitesse du tambour)

JF
 
G

gaston83

Compagnon
Bonjour,

Bon, ça avance... à priori, j'avais des soucis sur ma carte Mega. J'ai refais toutes les soudures le shield compris (j'ai remplacé le LCD.. :smt002 ). ça à l'air de gazer...

Je peux maintenant paramétrer le timer. Reste à voir le reste. Je n'ai pas trouvé les pin pour le pul et le dir.

EDIT: ha oui, c'est le 2 et le 3

Re EDIT: c'est lequel le pul et le dir ? et pul+ ou pul - Sur mon driver j'ai le Pul-, le Dir- et ENA au GND.
 
Dernière édition:
G

gaston83

Compagnon
Quand je compile, j'ai ce message. Peut-être qu'il y a un rapport avec le mauvais fonctionnement.
 

Fichiers joints

  • message.txt
    4.7 KB · Affichages: 43
S

speedjf37

Compagnon
Bonjour Gaston,

Ce n'est qu'un "warning" ce n'est pas fatal !


Essai de modifier comme ceci :
//const byte ARROW = 0;
//const byte iArrow[8] = { B00000, B00100, B00110, B11111, B00110, B00100, B00000, B00000 };
const uint8_t ARROW = 0;
const uint8_t iArrow[8] = { B00000, B00100, B00110, B11111, B00110, B00100, B00000, B00000 };
//const byte customBackslash[8] = { 0b00000, 0b10000, 0b01000, 0b00100, 0b00010, 0b00001, 0b00000, 0b00000};
const uint8_t customBackslash[8] = { 0b00000, 0b10000, 0b01000, 0b00100, 0b00010, 0b00001, 0b00000, 0b00000};


Re EDIT: c'est lequel le pul et le dir ? et pul+ ou pul - Sur mon driver j'ai le Pul-, le Dir- et ENA au GND.

Le driver est câblé avec un + commun pour les entrées.
Par défaut ENA non câblé =driver actif

les deux sortie sur les deux entrées.

Pour l'instant enable non géré

On peut rendre plus lisible le code avec :

#define STEP_PIN 2
#define DIR_PIN 3

TStepperIndexer MyStepper(STEP_PIN,DIR_PIN);


Cordialement JF
 
G

gaston83

Compagnon
Bonjour,

Ce n'est qu'un "warning" ce n'est pas fatal !

Ok pour ça si ça gène pas on va laisser comme çà.

Pour le reste, je comprends rien... :smt021 . J'ai beau suivre la manip pour paramétrer le moteur, la vitesse etc..., je n'y arrive pas.

EDIT:

J'appui Select , je descend sur seconde, je paramètre 30 secondes, Left deux fois, Up .... le décompte se lance mais le moteur ne bouge pas... le driver est bien branché... l'alim y est ... les microstep sur 4 (800).

Après il faudra voir la sauvegarde... :smt017
 
Dernière édition:
G

gaston83

Compagnon
Ok,

On y retourne...

EDIT

ça y'est, je commence à piger....

Résultat des courses...

J'ai mis des paramètres aléatoires pour tester. Bon, ça fonctionne.... J'ai fait "Mot Test 1tr". J'ai fait "Sauve et Quit ", j'ai débranché la carte, je l'ai rebranché, j'ai fait un "Restaure et Quit" et là, il n' y a plus rien dans les paramètres. Qu'est-ce que j'ai oublié ?
 
Dernière édition:
G

gaston83

Compagnon
Bonjour speedjf37,

Je fouille dans le code pour essayer de comprendre... et dans le code Eeprom.h, il y a des valeurs par défaut. Si je comprends bien, ces valeurs doivent être chargées dans l'EEPROM au démarrage ? Y a t-il une manip spéciale pour que cela se produise ?
 
Dernière édition:
S

speedjf37

Compagnon
Bonjour speedjf37,

Je fouille dans le code pour essayer de comprendre... et dans le code Eeprom.h, il y a des valeurs par défaut. Si je comprends bien, ces valeurs doivent être chargées dans l'EEPROM au démarrage ? Y a t-il une manip spéciale pour que cela se produise ?

Bonjour,

J'ai mis à jour la gestion Eeprom et le menu !

Avec une ligne du menu pour recharger les valeurs par défaut.
Affichage sur la liaison série des valeurs en EEPROM.


JF
 
G

gaston83

Compagnon
Haaaaaa, he ben voilà... heu, je la récupère comment la mise à jour ?
 
G

gaston83

Compagnon
:smt017 je ne vois pas la ligne du menu pour recharger les valeurs par défaut.

Il y a une ligne Timer1 vitesse ?
 
Dernière édition:
G

gaston83

Compagnon
Bonsoir,

:smt038:smt038:smt038:smt038:smt038 :drinkers::drinkers::drinkers::drinkers: :goodman: ..... et tu le mérites :prayer:

Tout ça pour dire que ça fonctionne !! Juste un détail... je fais "Select", "Val Def & Quit", ... et je dois souvent appuyer trois fois de suite sur "Up" pour lancer et quelques fois pareil sur "Down" pour Stopper.
 
G

gaston83

Compagnon
Bonjour,

J'ai fait des tests plus poussés... Val Def & Quit, ça fonctionne. Et je ne sais pas si c'est "Sauve" ou "Restore" , là, y rien à faire , Fonctionne pas...
Bon, en attendant, je modifie les val Def et faï tira marius...

EDIT:

J'ai rien dit... mauvaise manip !!

Re EDIT:

Je continue: j'ai donc paramétrer les Val Def... je peux incrémenter et décrémenter la Mot Vit... et j'ai fait un Sauve. J'ai débranché la carte, j'ai rebranché et j'ai fait un Restore... rien !!
Je suis obligé de faire un Val Def et de reparamétrer le Mot Vit.

Maintenant faut-il attendre un moment après avoir appuyé sur Sauve ensuite Right et ensuite sur Left ?
 
Dernière édition:
G

gaston83

Compagnon
Voilà ça c'est fait.... ça va me faire un Tumbler Hitech.... :drinkers: j'attends les modifs du code.

IMG_20211113_172259[1].jpg
 
S

speedjf37

Compagnon
Bonjour,

Donc ok sur la MEGA2560 !

Pour les boutons as tu modifié la LIB comme indiqué ici ?

Cela ralentit la saisie , il faut trouver le rythme qui va bien !


Usage de :
1) "Sauve"
Mémorisation des valeurs RAM -> Eeprom

2) "Restore"
Recharge en Ram les paramètres de l'Eeprom (dans le cas ou les modifs ne sont pas validées).
Un "Reset" de la carte produit le même résultat

3) "Val Def"
Charge en RAM les valeurs définies dans le code et les "Sauve" en Eeprom


A l'initialisation de la carte "Restore" et affichage des valeurs sur la liaison série (si "#define Eeprom_print" validé dans eeprom.h)


Si tu désire un autre fonctionnement , il faut le décrire !!!!!

JF
 
Dernière édition:
G

gaston83

Compagnon
Bonjour,

Pour les boutons as tu modifié la LIB comme indiqué ici ?

En cours - Réglage vitesse moteur p.a.p avec minuterie

Ok
usinages-favicon.png
www.usinages.com

Oui, je l'avais déjà fait.

Avant de continuer, tu dis "

3) "Val Def"
Charge en RAM les valeurs définies dans le code et les "Sauve" en Eeprom


donc si à l'initialisation de la carte, je fais "Restore" je dois les retrouver ? He ben non, il n'y rien... tout les paramètres sont vierges.

Est-ce que ma manip est bonne ?

EDIT:

Un autre détail: la pause "P" arrête la minuterie mais pas le moteur.
 
Dernière édition:
G

gaston83

Compagnon
j'ai fait l'update.

J'ai réinitialisé la carte... j'ai fait Val Def... j'ai re réinitialisé la carte... j'ai fait Restore et voilà...



serial.JPG
 
S

speedjf37

Compagnon
Effectivement ce n'est pas du tout correct.

Voici ce j'ai au démarrage !

************************************

Eeprom readConfig
sizeof(memory.d) :28
0 :Initialised :1
1 :Timer1 heure :0
2 :Timer1 minute :3
3 :Timer1 seconde :30
4 :Timer1 vitesse :300
5 :Aff Mot/Sort :0
6 :Liai Sort * :1
7 :Liai Sort / :1
8 :Mot nb pas/tr :800
9 :Mot sens :0
10 :Mot Vit Min :800
11 :Mot Vit Max :12000
12 :Mot Vit :10000
13 :Mot Accel :9000

Timer + Stepper V 1.00

Aff heu :00
Aff min :00
Aff sec :00
**************************************


Je ne suis pas chez moi et je n' qu'une UNO pour tester.

Je testerai sur une MEGA2560 à mon retour

JF
 
G

gaston83

Compagnon
C'est la pause qui ne fonctionne pas... pour le moteur (malgré le Update). La minuterie, elle, elle s'arrête...

Pour le Restore... j'ai fait la manip suivante....

J'ai fait un Val Def... sur la liaison série, c'est parfait tout mes paramètres s'affichent

Eeprom write val defaut
Eeprom writeConfig
sizeof(memory.d) :28
0 :Initialised :1
1 :Timer1 heure :0
2 :Timer1 minute :0
3 :Timer1 seconde :30
4 :Timer1 vitesse :300
5 :Aff Mot/Sort :0
6 :Liai Sort * :1
7 :Liai Sort / :1
8 :Mot nb pas/tr :800
9 :Mot sens :0
10 :Mot Vit Min :800
11 :Mot Vit Max :10000
12 :Mot Vit :1000
13 :Mot Accel :800

et lorsque je fais un Restore tout est mis aux valeurs initiales

Eeprom readConfig
sizeof(memory.d) :28
0 :Initialised :-1
1 :Timer1 heure :0
2 :Timer1 minute :0
3 :Timer1 seconde :0
4 :Timer1 vitesse :-1
5 :Aff Mot/Sort :-1
6 :Liai Sort * :-1
7 :Liai Sort / :-1
8 :Mot nb pas/tr :-1
9 :Mot sens :-1
10 :Mot Vit Min :-1
11 :Mot Vit Max :-1
12 :Mot Vit :-1
13 :Mot Accel :-1
 
Dernière édition:
G

gaston83

Compagnon
Dans le code Eeprom.h, il y a la ligne " if( !memory.d.initialized )" et si je fais // if( !memory.d.initialized ), elle n'est pas lu dans le code. Et là, la config Val Def est prise en compte a l'initialisation de la carte.
 
Dernière édition:
S

speedjf37

Compagnon
La lecture/écriture dans l'eeprom ne fonctionne pas sur ta MEGA2560
 
P

pascalp

Compagnon
Sur "ma" 2560 avec le .ino d'aujourd'hui 14/11 03:00:38
Le fonctionnement a l'air OK

Reset hard carte
Eeprom readConfig

sizeof(memory.d) :28
0 :Initialised :1
1 :Timer1 heure :0
2 :Timer1 minute :3
3 :Timer1 seconde :30
4 :Timer1 vitesse :300
5 :Aff Mot/Sort :0
6 :Liai Sort * :1
7 :Liai Sort / :1
8 :Mot nb pas/tr :800
9 :Mot sens :0
10 :Mot Vit Min :800
11 :Mot Vit Max :12000
12 :Mot Vit :10000
13 :Mot Accel :9000

Timer + Stepper V 1.00

Aff heu :00
Aff min :00
Aff sec :00

Modification de qq paramètres et sauvegarde
Eeprom writeConfig


Restore
Eeprom readConfig
sizeof(memory.d) :28
0 :Initialised :1
1 :Timer1 heure :1
2 :Timer1 minute :2
3 :Timer1 seconde :3
4 :Timer1 vitesse :400
5 :Aff Mot/Sort :0
6 :Liai Sort * :1
7 :Liai Sort / :1
8 :Mot nb pas/tr :800
9 :Mot sens :0
10 :Mot Vit Min :800
11 :Mot Vit Max :12000
12 :Mot Vit :10000
13 :Mot Accel :9000

Timer + Stepper V 1.00

Aff heu :00
Aff min :00
Aff sec :00


Reset hard carte .Les modifications sont conservées.
Eeprom readConfig

sizeof(memory.d) :28
0 :Initialised :1
1 :Timer1 heure :1
2 :Timer1 minute :2
3 :Timer1 seconde :3
4 :Timer1 vitesse :400
5 :Aff Mot/Sort :0
6 :Liai Sort * :1
7 :Liai Sort / :1
8 :Mot nb pas/tr :800
9 :Mot sens :0
10 :Mot Vit Min :800
11 :Mot Vit Max :12000
12 :Mot Vit :10000
13 :Mot Accel :9000

Timer + Stepper V 1.00

Aff heu :00
Aff min :00
Aff sec :00

Débranchement/rebranchement .Les modifications sont conservées.
Eeprom readConfig

sizeof(memory.d) :28
0 :Initialised :1
1 :Timer1 heure :1
2 :Timer1 minute :2
3 :Timer1 seconde :3
4 :Timer1 vitesse :400
5 :Aff Mot/Sort :0
6 :Liai Sort * :1
7 :Liai Sort / :1
8 :Mot nb pas/tr :800
9 :Mot sens :0
10 :Mot Vit Min :800
11 :Mot Vit Max :12000
12 :Mot Vit :10000
13 :Mot Accel :9000

Timer + Stepper V 1.00

Aff heu :00
Aff min :00
Aff sec :00

Val def ramène aux valeurs par défaut
Eeprom write val defaut
Eeprom writeConfig

sizeof(memory.d) :28
0 :Initialised :1
1 :Timer1 heure :0
2 :Timer1 minute :3
3 :Timer1 seconde :30
4 :Timer1 vitesse :300
5 :Aff Mot/Sort :0
6 :Liai Sort * :1
7 :Liai Sort / :1
8 :Mot nb pas/tr :800
9 :Mot sens :0
10 :Mot Vit Min :800
11 :Mot Vit Max :12000
12 :Mot Vit :10000
13 :Mot Accel :9000
 
G

gaston83

Compagnon
Ha ben ça alors... ma carte mega 2560 ne prends pas les write et read :smt021 :smt013 . Effectivement, tout fonctionne impec sur une Duemilanove.

et quelqu'un aurait une idée du pourquoi du comment ?
 

Sujets similaires

V
Réponses
3
Affichages
1 044
vibram
V
G
Réponses
0
Affichages
609
gaston83
G
Moi33
Réponses
3
Affichages
47 993
speedjf37
S
F
Réponses
6
Affichages
25 676
fraiddy
F
zygo4619
Réponses
34
Affichages
35 470
zygo4619
zygo4619
V
Réponses
62
Affichages
5 391
vibram
V
Mcar
Réponses
65
Affichages
11 711
Mcar
U
Réponses
85
Affichages
7 272
Hubert86
H
shodan47
Réponses
7
Affichages
9 720
shodan47
shodan47
M1M1HRC10
Réponses
7
Affichages
38 039
M1M1HRC10
M1M1HRC10
F
Réponses
14
Affichages
3 031
franckapik
F
G
Réponses
65
Affichages
9 323
rokag3
R
Haut