Autres PAP piloté par Arduino

  • Auteur de la discussion gaston83
  • Date de début
gaston83
gaston83
Compagnon
17 Fev 2016
1 534
FR-71520
  • Auteur de la discussion
  • #31
J'ai rebranché le scope. Les impulsions font un peu moins de 20µs en PUL. C'est pas un peu rapide çà ?
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 534
FR-71520
  • Auteur de la discussion
  • #32
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.
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 534
FR-71520
  • Auteur de la discussion
  • #34
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
 
vax
vax
Modérateur
5 Mar 2008
7 922
Guipavas (près de Brest)
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)
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 534
FR-71520
  • Auteur de la discussion
  • #36
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
 
vax
vax
Modérateur
5 Mar 2008
7 922
Guipavas (près de Brest)
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
15 Oct 2009
2 275
indre et loire
. 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
15 Oct 2009
2 275
indre et loire
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
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 265
Corsier-sur-Vevey (Vaud)
(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
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 534
FR-71520
  • Auteur de la discussion
  • #41
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 !!
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 534
FR-71520
  • Auteur de la discussion
  • #43
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 ?
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 534
FR-71520
  • Auteur de la discussion
  • #44
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
Dernière édition:
vax
vax
Modérateur
5 Mar 2008
7 922
Guipavas (près de Brest)
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...
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 534
FR-71520
  • Auteur de la discussion
  • #48
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 ?
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 534
FR-71520
  • Auteur de la discussion
  • #49
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
gaston83
gaston83
Compagnon
17 Fev 2016
1 534
FR-71520
  • Auteur de la discussion
  • #50
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
Apprenti
7 Fev 2010
201
59 chti nord
Bonjour,
je dirai que serial utilise une interruption., peux etre conflit d int entre stepper et serial.
 
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 265
Corsier-sur-Vevey (Vaud)
Oupsssss!

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

Cordialement
jpbbricole
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 534
FR-71520
  • Auteur de la discussion
  • #53
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:
jpbbricole
jpbbricole
Compagnon
26 Mai 2016
2 265
Corsier-sur-Vevey (Vaud)
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:
gaston83
gaston83
Compagnon
17 Fev 2016
1 534
FR-71520
  • Auteur de la discussion
  • #55
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
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 534
FR-71520
  • Auteur de la discussion
  • #56
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 ?
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 534
FR-71520
  • Auteur de la discussion
  • #58
D'après la doc c'est un 200 pas/tour puisque 1.8° le pas.
bon, ben voilà le résultat ... ?????
 
Fichiers joints
gaston83
gaston83
Compagnon
17 Fev 2016
1 534
FR-71520
  • Auteur de la discussion
  • #59
et çà c'est le réglage du driver

IMG_20180108_142015[1].jpg
 
gaston83
gaston83
Compagnon
17 Fev 2016
1 534
FR-71520
  • Auteur de la discussion
  • #60
Je viens de faire un essais avec le PAP 48 c'est pareil. le même phénomène.
 
Haut