Autres PAP piloté par Arduino

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

gaston83

Compagnon
J'ai rebranché le scope. Les impulsions font un peu moins de 20µs en PUL. C'est pas un peu rapide çà ?
 
G

gaston83

Compagnon
Je continue les tests...
j'ai positionné les dip sur le driver sur 1/2, çà accroche beaucoup moins
mais sur 1/4 c'est bon. Mais je perds la vitesse.
 
G

gaston83

Compagnon
J'ai testé ton dernier sketch. C'est pareil. Sur un pas entier çà accroche, sur un 1/2 pas moins et c'est bon sur 1/4. J'ai même gardé les mêmes ports que toi.

Je vais faire les modifications sur le driver. On verra bien... si ce n'est pas çà... je vois plus.

Merci pour votre aide jpb et gégé. Je vous tiens au courant... le temps que je reçoive les condos.

A+ et merci
 
V

vax

Modérateur
Je vous suis discrètement... Avez-vous pris en compte que AccelStepper ne peut pas générer des pulses à plus de 4Khz (4000 pas par secondes) ?
(Pour les Arduino qui tournent à 16MHz)
 
G

gaston83

Compagnon
Bonsoir vax,
Là, c'est moi qui décroche... sans jeu de mot :sad:. Je ne suis pas un mordu d'Arduino mais je ne demande qu'a comprendre. Je me pose déjà la question pourquoi je suis obligé de recharger le bootloader de temps à autre. C'est un autre débat on verra plus tard.... Je le recharge et çà repart..
GG
 
V

vax

Modérateur
D'après la doc d'AccelStepper un Arduino avec une horloge à 16Mhz ne peut pas générer plus de 4000 pas par seconde.
Donc sir tu utilises ton moteur sans micro pas (disons le classique 200pas/tour) le moteur ne pourrai pas tourner à plus de 4000/200=20 tours/seconde. Mais si tu utilises des micros pas avec une division par 4 tu te retrouves avec 4000/(200x4) soit 4000/800=5tours/seconde.
Et si comme dans un de mes tests avec des moteurs pas à pas hybrides (4000 micros pas par tour) tu essayes de tourner "vite" et bien c'est pas possible vu que tu es limité à 1 tour/seconde !

Je découvre Arduino depuis "seulement" quelques jours (j'ai de bonne notions en micro-contrôleurs, mais pas ceux là !).
Tout est fait pour te simplifier la vie, pas étonnant que ce soit si à la mode ! :wink:
Je ne peux donc pas te renseigner sur les disparition épisodiques de Bootloader...
 
S

speedjf37

Compagnon
. Je me pose déjà la question pourquoi je suis obligé de recharger le bootloader de temps à autre.

Bonjour,

J'utilise des clones UNO R3 et des MEGA 2560 , je n'ai jamais eu besoin de recharger le bootloader (il faut un programmateur pour cela ou un autre arduino en mode programmateur).

JF
 
S

speedjf37

Compagnon
Je découvre Arduino depuis "seulement" quelques jours (j'ai de bonne notions en micro-contrôleurs, mais pas ceux là !).
Tout est fait pour te simplifier la vie, pas étonnant que ce soit si à la mode ! :wink:
@vax

C'est vrai que c'est "facile" mais c'est un canon de 75 pour tuer une mouche.
On est vite limité par la mémoire !!
Les librairies sont loin d'être optimisées en empreinte mémoire et en vitesse.

C'est un monde très différent des PIC que je programme en assembleur avec tous les problèmes de configuration et de gestion de pages qui changent avec chaque microcontrôleur.

Pour les moteurs PAS à PAS Marlin ou GRBL montrent que l'on peut quand même aller assez vite ! (le code n'est plus aussi abordable).

JF
 
J

jpbbricole

Compagnon
(il faut un programmateur pour cela ou un autre arduino en mode programmateur).
Il y a l'outil pour recharger le bootloader dans Outils/Graver la sequence d'initialisation.
je n'ai jamais eu besoin de recharger le bootloader
+1, quel programme utilises-tu pour développer et télécharger.
Quand tu as "perdu" le bootloader, quel est le symptôme et ou message?

Cordialement
jpbbricole
 
G

gaston83

Compagnon
Bonjour à tous,
Merci de vos réponses , mais ne vous tracassez pas pour le bootloader. Quand il dégage je le remets... c'est pas un soucis pour moi. J'ai le temps, je suis à la retraite... çà me prends 1 minute :-D

Tiens voilà, je viens de brancher l'arduino, j'ai téléverser le sketch... impec... je me pose plus de question pour çà.

c'est plutôt mon MPAP qui me taquine... mais je l'aurais un jour, je l'aurais !!
 
G

gaston83

Compagnon
J'ai une question suite à mes essais. Mon problème de décrochage ne viendrait-il pas de l'utilisation d'un unipolaire en bipolaire ?
Je voudrais essayer un autre montage. J'ai vu sur le net qu'un unipolaire présente plus de couple qu'un bipolaire. Déjà, est ce vrai ? Si c'est le cas j'ai bien envie de m'orienter sur un montage à base de ULN2804 pour voir si j'ai le même problème de décrochage.
J'ai tout ce qu'il faut... pour tester.
Qu'en pensez-vous ?
 
G

gaston83

Compagnon
Bonsoir,
jpb , j'ai fait la modif sur le driver, j'avais une carte d'une machine et j'ai récupéré les composants que j'avais besoin.
J'ai gardé ton sketch du post 33.
Bon résultat des courses: c'est pareil...:smt013
Sur ce:
J'ai une alim de labo ELC AL823. (photo et video) Elles est vieille mais pas mal. Je peux régler la tension de 0-30v et l'intensité de 0-5A avec le choix de 0-500mA.
Elle a deux led dont une (rouge) qui s'allume lorsque par exemple je dépasse la consigne en intensité que je lui donne.
Tout çà pour dire que lorsque je règle la vitesse du PAP et au moment que çà bafouille, l'intensité qui est normalement de 120 mA fait des petits bons à 150 mA et la led rouge clignote aléatoirement et rapidement.
Une autre mesure: la tension sur A0 (qui vient du pot) est de 0.7 volts quand çà cafouille. 0.6 c'est bon, 0.8 c'est bon... j'ai une doute sur le driver d'ou mon idée de faire un montage avec un ULN2804.

le lien:
http://www.f-legrand.fr/scidoc/docimg/sciphys/arduino/paspasunipol/paspasunipol.html

Photo0065[1].jpg
 

Fichiers joints

  • Vidéo0003[1].mp4
    1.6 Mo · Affichages: 68
Dernière édition:
V

vax

Modérateur
A quelle vitesse as-tu les décrochages ?
Si c'est au dessus de 1500 ou 2000T/min cela peut (déjà) venir de certains moteurs. De manière générale les moteurs pas à pas ne sont pas fait pour tourner vite...
 
G

gaston83

Compagnon
A quelle vitesse as-tu les décrochages ?

C'est une bonne question... il faut que trouve le moyen de mesurer çà. Mais bon, si c'est une question de vitesse c'est pas grave. Ce que je recherche c'est le couple maximum.
Pour ce faire, il vaut mieux un bipolaire ou un unipolaire ?
 
G

gaston83

Compagnon
D'après les caractéristiques du moteur KH5640-B90201 je conserverais un bon couple jusqu'à 500/600 tr/min. On serait à 420 pps après çà chute.
 

Fichiers joints

  • KH56B900uni-en.pdf
    1.2 Mo · Affichages: 77
G

gaston83

Compagnon
Bonjour,
Je continue mes tests... toujours avec le driver HY et MPAP HK56.
Je voulais afficher la valeur de vitMpap dans le Moniteur série. Ok, je l'ai, mais çà me bloque le réglage de la vitesse du moteur.
Une idée ?


/

Cdt
Georges
 
Dernière édition par un modérateur:
5

59JAG

Ouvrier
Bonjour,
je dirai que serial utilise une interruption., peux etre conflit d int entre stepper et serial.
 
J

jpbbricole

Compagnon
Oupsssss!

En effet, j'ai le même souci, je fais des recherches.

Cordialement
jpbbricole
 
G

gaston83

Compagnon
Salut, 59JAG
çà fait longtemps... tu te souviens de moi ...? le petit sketch sur la DRO... le fameux tachymètre pour mon pitit, pitit tour... c'est bon ça marche mais avec un MSP430, et j'ai triché un peu, j'ai viré les unités.
Au fait, ou tu en es toi...


En effet, j'ai le même souci, je fais des recherches.

Et wouais, quand j'ai des petites crasses comme çà, j'aime bien les partagées avec les côpains :chupachupz:
 
Dernière édition:
J

jpbbricole

Compagnon
Salut Georges

En fait on affiche trop souvent. Ce n'est pas une erreur en soit mais il s'avère que cette bibliothèque ne supporte pas, j'ai essayé avec de vieilles version avec le même problème.
2 solutions, trouver une autre bibliothèque ou afficher moins souvent comme suit:

// réglage vitesse PAP HK56 SUB 110

#include <AccelStepper.h>

AccelStepper stepper(1 ,2 ,5);

#define analog_in A0
int displLoop = 0;

void setup()
{
Serial.begin(9600);
stepper.setMaxSpeed(1023);
}

void loop()
{
int valPot = analogRead(A0);
int vitMpap = map(valPot, 0, 1023, 220, 1023);
stepper.setSpeed(vitMpap); //Réglage de la vitesse du moteur en pas par seconde

stepper.runSpeed();

displLoop ++; // Incrémenter le compteur de passage
if (displLoop % 1000 == 0) // % est la fonction modulo qui retourne le reste de la division
{

Serial.println(vitMpap);
}
}

Ce n'est que la fréquence d'affichage qui est temporisée, pas la variation de vitesse.
Mais, actuellement ton programme est vide et tourne à "toute pompe", petit à petit il va s'étoffer et cette temporisation deviendra certainement inutile.

Bonne journée
Cordialement
jpbbricole
 
Dernière édition:
G

gaston83

Compagnon
Bonjour jpb,
Comme on dit... il vaut mieux un qui sait, que dix qui cherchent... c'est là qu'on voit que tu trifouiiles pas mal le Duiduine..:prayer:

Ben, c'est parfait... je vais pouvoir faire des corrélations entre toutes les valeurs qui sont prises en comptent dans le sketch et j'en déterminerais ma vitesse de rotation. Ne me dis rien, je fouille, si je trouve pas... je te le dis
Cdt
Bonne journée à toi aussi
Georges
 
G

gaston83

Compagnon
int vitMpap = map(valPot, 0, 1023, 220, 1023);

Dans le sketch je mets int vitMpap = map(valPot, 0, 1023, 200, 1023);

Donc, si j'ai bien compris 200 (avec le pot au mini) c'est le pas par seconde que mon PAP devrait faire ? donc il devait faire 1 tour / seconde... me-tromperais-je ?
 
G

gaston83

Compagnon
D'après la doc c'est un 200 pas/tour puisque 1.8° le pas.
bon, ben voilà le résultat ... ?????
 

Fichiers joints

  • Vidéo0005[1].mp4
    619.9 KB · Affichages: 87
G

gaston83

Compagnon
Je viens de faire un essais avec le PAP 48 c'est pareil. le même phénomène.
 

Sujets similaires

V
Réponses
3
Affichages
1 039
vibram
V
F
Réponses
6
Affichages
25 666
fraiddy
F
G
Réponses
123
Affichages
19 213
gaston83
G
G
Réponses
0
Affichages
601
gaston83
G
Mcar
Réponses
65
Affichages
11 687
Mcar
zygo4619
Réponses
34
Affichages
35 454
zygo4619
zygo4619
shodan47
Réponses
7
Affichages
9 713
shodan47
shodan47
Moi33
Réponses
3
Affichages
47 987
speedjf37
S
U
Réponses
85
Affichages
7 244
Hubert86
H
V
Réponses
62
Affichages
5 370
vibram
V
M1M1HRC10
Réponses
7
Affichages
38 037
M1M1HRC10
M1M1HRC10
01power
Réponses
3
Affichages
13 849
01power
01power
Haut