positionnement avec un moteur pas à pas

zeltron

Senior Member
j'ai du mal a vous suivre je vais vous relire plusieurs fois
pour les aiguillages le courant est difficile a mesurer (je n'ai pas de multimetre à memoire)
mais c'est de l'ordre de 300 ma pour 1/2 seconde (plus l'aiguillage va souffrir)
il faut commander les aiguillages décalé dans le temps et memoriser leurs positions
ce qui implique d'envoyer une impulsion d'un seul coté sur chaque aiguillages au départ pour connaitre leur position à l'origine
 

BESQUEUT

Senior Member
Il n'avait pas suivi le fil sur l'agility.....
moi non plus... (ou de très loin)
Je voulais dire qu'il y a plusieurs façons d'envisager le multiplexage, ex pour des digits:
Soit il porte sur l'alimentation des segments, alors, pour 5 afficheurs, éclairage 1/5 du temps, baisse de luminosité à 20%, et scintillements..
Soit il porte sur le latch enable (d'un CD4543 par ex), c'est à dire sur la mise à jour de l'affichage du digit, les données sont verrouillées jusqu'à la mise à jour suivante, la luminosité est de 100%, sans scintillements, quelque soit le nombre de digits.
Ben non : soit il y a multiplexage, soit il n'y en a pas.
S'il y a multiplexage sur N fils, ça signifie (par définition) que chaque ligne est activée pendant 1/N du temps.
Si c'est une LED, ça n'est pas très grave du moment que le rafraichissement est suffisement rapide.
Si c'est autre chose, c'est assimilable à une sortie PWM de duty cycle = 1/N...
Si vous voyez une LED clignoter, c'est simplement que le rafraichissement est trop lent. Mais ça n'a rien à voir avec le Duty Cycle.
 

BESQUEUT

Senior Member
j'ai du mal a vous suivre je vais vous relire plusieurs fois
pour les aiguillages le courant est difficile a mesurer (je n'ai pas de multimetre à memoire)
mais c'est de l'ordre de 300 ma pour 1/2 seconde (plus l'aiguillage va souffrir)
il faut commander les aiguillages décalé dans le temps et memoriser leurs positions
ce qui implique d'envoyer une impulsion d'un seul coté sur chaque aiguillages au départ pour connaitre leur position à l'origine
OK pour ça.
Mais si vous voulez avancer, il serait prudent de vous consacrer en priorité à la phase 1 (plaque tournante) et en particulier à la liste d'achats,
puis d'ouvrir un autre thread pour le reste...
 

PieM

Senior Member
Un ptit dessin valant mieux que ... etc.
voilà ce que pourrait être l'architecture générale.

Sachant qu'il vous faut définir précisément:
toutes les entrées sorties nécessaires pour la gestion du pont tournant et la mise sous tension des voies.
les modes d'action que vous souhaitez:
J'ai mis à priori 3 BP d'action en plus du potard. Je vous dis pourquoi . 1 BP de selection de menu : on appuie, on tourne le potard et on sélectionne le menu. on valide en relâchant.
les 2 autres BP sont pour l'action de rotation du pont lors d'opérations manuelle d'étalonnage. La fréquence des pas étant définie par le potard.

Zeltron1.jpg
 

zeltron

Senior Member
magnifique schéma c'est plus claire dans ma caboche!
par architecture général vous entendez uniquement le pont ou la totalité du réseau?

je suis bien d'accord avec vous pour commencer uniquement la gestion du pont!
mais comme vous dites aussi il faut prendre en compte la totalité du réseau afin de déterminer les solutions et bénificier des frais de port groupé etc
et nous n'avons pas parlé des pwm, pour cela il faudrait que je vous montre le tracé des voies, ce qui n'a rien à faire dans ce poste, c'est pour cela que je n'en parle pas
je veux bien ouvrir un autre poste mais y'a des moments ou il va falloir jongler avec les deux postes...

peut être que l'administrateur pourrait renommer ce poste? mais le nombre de page risque d'être indigeste aux nouveaux lecteurs...
cela dit c'est un sujet trés pédagogique et didactique j'ai vu que certain profs électronique ou automatisme utilisent les trains électriques comme support de cours
 

PieM

Senior Member
magnifique schéma c'est plus claire dans ma caboche!
par architecture général vous entendez uniquement le pont ou la totalité du réseau?

je suis bien d'accord avec vous pour commencer uniquement la gestion du pont!
mais comme vous dites aussi il faut prendre en compte la totalité du réseau afin de déterminer les solutions et bénificier des frais de port groupé etc
et nous n'avons pas parlé des pwm, pour cela il faudrait que je vous montre le tracé des voies, ce qui n'a rien à faire dans ce poste, c'est pour cela que je n'en parle pas
je veux bien ouvrir un autre poste mais y'a des moments ou il va falloir jongler avec les deux postes...

peut être que l'administrateur pourrait renommer ce poste? mais le nombre de page risque d'être indigeste aux nouveaux lecteurs...
cela dit c'est un sujet trés pédagogique et didactique j'ai vu que certain profs électronique ou automatisme utilisent les trains électriques comme support de cours
Je pense qu'il est important dès le départ d'avoir une vision globale bien entendu.
Il s'agit d'un réseau donc un ensemble d'interactions.
Donc oui, pourquoi ne pas ouvrir un sujet avec la présentation générale des fonctionnalités.
ensuite on peut ouvrir un poste sur un sujet précis.
Mais il faudra bien le raccorder sur le général....
Quant au nombre de page, pas de soucis! le record n'est sans doute pas prêt à être battu !!

Renommer le post ? pas facile; les administrateurs s'occupent avant tout du forum anglais... Laissons le comme ça quitte à recopier certaines choses dans l'autre.
 

BESQUEUT

Senior Member
Donc, nous disions, pour la phase 1 (pont tournant)
- circuit-d-essais-pour-picaxe-28x-40x-axe022p +composants optionels
- cable-de-telechargement-usb-axe027
- microcontroleur-picaxe-40x2

- trois platines-pcf8575
- deux sainsmart 16-channel-12v-relay-module-msp430-ttl- (apacher)
- une grosse vingtaine de leds bicolores ou 2 jeux de leds,
- un encodeur rotatif et/ou un potentiomètre,
- un bouton pour encodeur ou potentiomètre,
- trois boutons à placer sous l'afficheur,
- un driver 1/8 pas pour moteur PAP
- un afficheur LCD I2C
- ou bien afficheur-serie-oled-axe133y (plus que 2 fois plus cher, mais plus beau !)
- une plaque-d-essais-ecs3 solide et très pratique,
- supports pour les CI, borniers, etc...


Pour la phase 2 : aiguilles et gestion des voies (PWM) :
- trois platines-pcf8575 gestion de 24 aiguillages
- six uln2803a (avec 6 supports) soit 48 bobines, soit 24 aiguillages
- deux platines-pcf8575 gestion de 32 entrées TOR (pédales, barrières IR,...)
- ???- platines-pcf8575 gestion de 16 LEDs pour signalisation
- ou plutôt des max7219 si vous envisagez pléthores de LEDs un peu partout pour la signalisation : état de chaque aiguille, voie "sélectionnée" (mais avec la tension variable en fonction du PWM, c'est différent du fait que la voie soit alimentée) , détection de passage sur une pédale ou une barrière IR, élément de décor (maison, feux de signalisation,...)

NB : on a déjà avec la phase 1 une douzaine de relais de puissance pour l'alimentation des voies.
La carte de puissance PWM de votre fabrication est gérée directement par le Picaxe.
 
Last edited:

BESQUEUT

Senior Member
Un ptit dessin valant mieux que ... etc.
View attachment 17475
Il me semble que le LCD préconisé est raccordé sur le bus I2C.
A ce sujet, il faudrait quand même vérifier qu'il n'y a pas de conflit d'adresse.
On peut mettre 8 extensions PCF8575 sur le bus I2C physique.
Mais si nécessaire on pourrait par logiciel ouvrir des bus I2C supplémentaires (consommation de 2 broches par port sur le Picaxe)
 
Last edited:

PieM

Senior Member
Il me semble que le LCD préconisé est raccordé sur le bus I2C.
A ce sujet, il faudrait quand même vérifier qu'il n'y a pas de conflit d'adresse.
On peut mettre 8 extensions PCF8575 sur le bus I2C physique.
Mais si nécessaire on pourrait par logiciel ouvrir des bus I2C supplémentaires (consommation de 2 broches par port sur le Picaxe)
En fait je pensais plutôt un afficheur serie USART genre AXE133y OLED pratique, beau, et dont le firmware peut être modifié. afficheur-serie-oled-axe133y
Prévoir aussi une plaque d'essai pour la phase 1....
Pour les platines relais voir ici : 16-channel-12v-relay-module-for-pic-arm-avr-dsp-arduino-msp430
NB: il n'y a qu'un port I2C par picaxe.
 
Last edited:

zeltron

Senior Member
- circuit-d-essais-pour-picaxe-28x-40x-axe022p +composants optionels
dans cette phrase vous pensez à quoi comme composant optionnels? l'alimentation?

y'a plus qu'a faire chauffer la carte bleu
l'ensemble de ces cartes est d'un très bon rapport qualité prix! et la carte relais est super vu le prix d'un relais c'est donné!
 

BESQUEUT

Senior Member
- circuit-d-essais-pour-picaxe-28x-40x-axe022p +composants optionels
dans cette phrase vous pensez à quoi comme composant optionnels? l'alimentation?
Voir la notice en pdf :
CT3 Molex style download connector (see download section) ==> pas nécessaire à mon avis (mais le connecteur standard est souvent incriminé)
RG1 78L05 5V Voltage regulator (see power section and errata) ==> indispensable
X2 8 or 16MHz resonator/crystal (see resonator section) ==> crystal 16 Mhz bien commode et pas cher pour booster la vitesse du Picaxe.
C5-6 Crystal loading capacitors (see resonator section) ==> idem ci-dessus
R5-6 i2c 4k7 pull-up resistors (see i2c section) ==> indispensable pour le BUS I2C
CT4 16 pin header ==> inutile
 

PapyJP

Senior Member
J'ai relu l'intégralité de la discussion initiée par Zeltron ( 92 posts ).
Je regrette qu'il y ait plusieurs sujets abordés successivement: plaque tournante, commande d'aiguillages, affichage, composants, ...
Certains posts traitent de plusieurs sujets à la fois, difficile de faire le tri. Passons ...
- J'en viens au sujet initial: " Positionnement avec un moteur pas à pas ".
On est à l' échelle z. Ca m'avait échappé, ayant pris le train en marche à l' échelle ho.
Merci donc à Besqueut ( que je salue ) de m'avoir remis sur les bons rails.
--- Par définition un servomécanisme animé par un moteur pas à pas est en boucle ouverte.
Il convient donc, comme plusieurs intervenants l' ont fait justement remarquer, de déterminer une position de référence à la mise sous tension.
Dans le cas présent ( moteur 200 pas par tour ( possibilité de commander jusqu' au 1/8ème de pas ) / réducteur par 6 / aucun jeu mécanique ( ??? mais si oui ça va nous sauver ) je propose les aménagements et la stratégie suivantes:
>>> Aménagements mécaniques ( ajustement NON micrométrique, faciles à disposer et à caler, pas chers )
On fixe un disque sur l'axe moteur d' un diamètre de 12 cm ( par exemple un CDRom recouvert d' un papier noir collé ).
On réalise en périphérie une fente d' 1 mm de large suivant un rayon.
A 200 pas par tour on tourne de 1,8 degré d' angle à chaque pas soit un déplacement ' linéaire ' de 1,9 mm.
- Le moteur étant à l' arrêt, sous tension, on place une fourche opto solidaire du ' sol ' qui détecte la présence de la fente.
Le positionnement est facile, un simple voltmètre suffit.
- Le moteur étant toujours à l' arrêt, sous tension, fente détectée, on fixe n' importe où un aimant permanent à la périphérie du plateau tournant et, face à lui, un contact ILS solidaire du ' sol '. Pas besion de grande précision de positionnement, il suffit que l' ILS détecte le présence de l' aimant plaçé en vis à vis. La encore un voltmètre suffit.
>>> Programmation du sous-progamme " Initialisation aprés mise sous tension "
Dans cette phase, on commande toujours le moteur par pas entiers.
1/ premier temps: Aprés mise sous tension on avance pas à pas jusqu'à ce que la fente soit trouvée ( fourche opto ).
2/ Lorsqu' elle est trouvée, on regarde si l' ILS est fermé.
S' il ne l' est pas, on commande 200 pas ( 1 tour de disque, 60 degrés du plateau ) puis nouveau test de l' ILS. Etc ...
===> Lorsque la fente est trouvée ET que l' ILS est fermé la position de référence est atteinte.
S' il n'y a pas de jeu mécanique ( ??? ) cette position est angulairement parfaite.
Sauf défauts d' usinage du moteur, le 1/8 ème de pas devrait répondre au problème posé.
 

BESQUEUT

Senior Member
>>> Aménagements mécaniques ( ajustement NON micrométrique, faciles à disposer et à caler, pas chers )
On fixe un disque sur l'axe moteur d' un diamètre de 12 cm ( par exemple un CDRom recouvert d' un papier noir collé ).
On réalise en périphérie une fente d' 1 mm de large suivant un rayon.
A 200 pas par tour on tourne de 1,8 degré d' angle à chaque pas soit un déplacement ' linéaire ' de 1,9 mm..
OUI : c'est une solution envisagée en #50. Mais comme dit en #63, ça ne devrait pas être nécessaire car la détection d'un bord de fente devrait atteindre une précision suffisante (pour peu que les bords soient "propres" et quitte à moyenner plusieurs lectures)
Comme dit par PieM, ce système de courroies crantées est très fiable et n'apporte normalement pas de jeu.
Par contre il peut y avoir un léger décalage suivant le sens de rotation et j'ai proposé de le mesurer (au cas où) lors de l'étalonnage de la fente. Dans ce cas, il faudra aussi tenir compte de l'hystérésis de la fourche optique qui entraîne un décalage entre la lecture blanc/noir et noir/blanc du même bord de fente.
Nous verrons tout cela dès qu'un Picaxe aura été connecté...

Je profite de ce post pour ajouter une remarque concernant le pilotage en 1/8 pas : ça signifie que le moteur devra rester en permanence sous tension sinon le pont va retomber sur le pas entier le plus proche.
 

PieM

Senior Member
Bonjour,
je pense que sur un projet de ce type, il n'est pas inutile d'avoir une vision complète, ce qui peut amener, comme ici, à envisager des perspectives qui n'étaient pas à l'ordre du jour ... Et d'ores et déjà avoir une configuration et architecture qui permettront des extensions facilement intégrables.
Après je vois mal comment piloter ce pont tournant si on ne parle pas en même temps du mode de commande donc de l'interface homme-machine, et des problèmes liés à la mise sous tension des voies.

Concernant le jeu mécanique, en plus sur un si faible entraxe et le sérieux du montage déjà réalisé, il ne faut pas en faire une fixation. Pas plus que sur un hypothétique défaut d'usinage sur ce type de moteur.
Des appareils avec des courses de près d'un mètre et d'une précision de l'ordre de 0.05mm existent couramment. par exemple un traceur CAO.
Un vulgaire scanner a 4800 dpi est à 5 µm! Idem sur certaines imprimantes, que l'on fonctionne dans un sens ou dans un autre.

Je ne pense pas qu'il soit utile de compliquer et de multiplier les capteurs. Celui déjà en place doit permettre de définir le 1/8 de pas correspondant très précisément à l'activation du phototransistor.
comme déjà dit, un passage "rapide" devant la fente, à la volée, puis un retour très lent jusqu'à détection sur interruption doit permettre d'atteindre la précision souhaitée.
Ce principe est utilisé sur du matériel industriel, avec système optique ou micro switch de précision.

BESQUEUT said:
Je profite de ce post pour ajouter une remarque concernant le pilotage en 1/8 pas : ça signifie que le moteur devra rester en permanence sous tension sinon le pont va retomber sur le pas entier le plus proche.
Oui, mais de toute façon si on est hors tension on perd la mémoire du positionnement du moteur .
 

zeltron

Senior Member
coucou me revoili!
j'ai reçu la carte axe 022 (elle est déjà équipé de quartz 16 mhz)
le microcontroleur et le display il doit arriver bientôt les carte relais, entrées sortie et zizidriver
j'ai bidouillé une alim 5v c'est nickel le 5v se trouve bien sur la carte
j'ai installé ma petite led pour essais
voila pour les bonnes nouvelles
la mauvaise
je n'ai pas de communication entre la carte et le pc
j'installe manuellement(en auto ça marche encore moins) le pilote axe 027 quand j'indique le chemin du repertoire de décompression axe 027
windows 7 familial premium me dit qu'il n'y a aucun pilote pour mon peripherique
avec un point d'interrogation dans le gestionnaire de peripherique sur le cable 027 picaxe ça ne peut pas marcher?
 

BESQUEUT

Senior Member
Non ça ne peut pas marcher.
Désinstaller ce périphérique. Sortez le câble USB
Recommencez l'installation en indiquant le chemin ...\AXE027
où ...\AXE027 est le répertoire de décompression du zip.
Bien cocher "inclure les sous-dossiers"
Plus loin, bien cocher "Faire confiance..."
Au final, vous devez avoir dans la section "Ports (COM et LPT)
une unique entrée : AXE027 PICAXE USB (COMx)
où x est un chiffre de 1 à 9 (pensez à le noter, vous en aurez besoin dans PE...)

Comme indiqué tout en bas de la doc electromag, Windows a plusieurs pilotes à installer. Si vous ne cochez pas "faire confiance..." il n'installe que le premier et bloque après ça... D'où la nécessité de recommencer.
je viens de refaire l'installation pour vérifier : normalement Windows fait tout le travail s'il a confiance dans l'éditeur du driver...
 

zeltron

Senior Member
Ayé!!!!c'est bon ça clignote !
il n'y avait pas à désinstaller puisque ça ne s'installait pas à cause du port usb!
j'ai simplement changé de port usb et la windows trouve le pilote....

la prochaine étape c'est de cabler l'afficheur non?
en port b7 comme sur la doc pdf?
 

PieM

Senior Member
Concernant le circuit easy driver:

inutile de connecter toutes les pastilles. Se limiter aux connexions indiquées.
Voir la photo ci jointe.

A3976.jpg

important: alimenter le circuit directement en 5V en ayant coupé une piste entre deux pads indiqués.
Théoriquement l'alimentation de la partie logique se fait à partir de la tension moteur.
Mais je préfère alimenter à partir de la tension 5V du Picaxe. Ce qui permet d'alimenter le moteur sous un tension < 6.5V
Le moteur peut être alimenté sous 5 à 30V. Ce qui importe est le réglage du courant maxi en fonction du moteur:
le réglage se fait par le potentiomètre. La mesure , par la tension sur le pad TP1: 5V pour 750mA, 1V pour 150mA.

MS1 - MS2 : réglage du mode:
0 - 0 : Pas entiers 2 phases
1 - 0 : 1/2 pas
0 - 1 : 1/4 pas
1 - 1 : 1/8 pas

Bien que fonctionnant au maxi à 16 MHz avec le résonateur 4MHz, à prori, il ne sera pas utile de passer sur un autre mode que le 1/8 pas.
 

zeltron

Senior Member
ok c'est câblé (pourquoi avoir coupé le shunte en pwr?)
comme je suis débutant en programme...
j'ai programmé ça en gros comme pour le clignotement de la led
b5 c'est le sens b6 l'horloge
high B.5
main:high B.6
pause 1000
low B.6
pause 1000
goto main
j'entends le moteur de temps en temps y'a de la vie mais c'est pas top
va falloir que je câble des bp poussoirs en pont diviseur je pense... pour la suite
 

PieM

Senior Member
ok c'est câblé (pourquoi avoir coupé le shunte en pwr?)
Parce que c'est normalement une sortie 5V du régulateur qui est alimenté par la tension moteur.

comme je suis débutant en programme...
j'ai programmé ça en gros comme pour le clignotement de la led

j'entends le moteur de temps en temps y'a de la vie mais c'est pas top
va falloir que je câble des bp poussoirs en pont diviseur je pense... pour la suite
c'est sûr qu'avec un pas toutes les secondes, ça ne doit pas l'énerver !
et si MS1 et MS2 ne sont pas connectés, ce sont des 1/8 de pas !

essayer ça

Code:
for w1 = 1 to 800
		pulsout B.6,1
	pauseus 10
next
 

zeltron

Senior Member
ça ne marche pas non plus
je commence à soupconner l'alimentation de la carte easy
j'utilise la même alimentation que la précédente carte eco step (c'est une 8v 400 ma)
(il recommande 9v)
je mesure bien 8 volt au point en haut à droite mais ce n'est paut être pas suffisant pour un moteur 12v
j'ai tourné le potie de réglage courant ce n'est pas mieux
le moteur vibre c'est tout
 

zeltron

Senior Member
éffectivement c'est ça! merci!
le moteur étant câblé d'origine je pensais que les câblages était normalisés
maintenant le pont se déplace de 30° puis s'arréte
 

PieM

Senior Member
éffectivement c'est ça! merci!
le moteur étant câblé d'origine je pensais que les câblages était normalisés
maintenant le pont se déplace de 30° puis s'arréte
Rien de normalisé! il faut toujours repérer les fils qui appartiennent à la même bobine et ensuite inverser deux fils si le moteur vibre.
30° c'est parfait. c'est 180° au niveau du moteur ce qui correspond bien à 800 pas en 1/8 de pas.

A commencer la programmation, je pense que ça serait bien de partir sur certaines fonctionnalités de PE6 qui rendront le programme plus clair. je pense en particulier aux macro:

On se lance...

Code:
[color=Navy]#picaxe [/color][color=Black]40X2[/color]
[color=Navy]#no_data[/color]
[color=Blue]setfreq em16[/color]

[color=Purple]dirsB [/color][color=DarkCyan]= [/color][color=Navy]%01100000    [/color][color=Green]' positionne B.5 et B.6 en sorties[/color]
[color=Blue]symbol [/color][color=Black]pas [/color][color=DarkCyan]= [/color][color=Blue]B.6     [/color][color=Green]'symbolise sortie pas[/color]
[color=Blue]symbol [/color][color=Black]dir [/color][color=DarkCyan]= [/color][color=Purple]pinB.5  [/color][color=Green]'symbolise sortie direction[/color]
[color=Blue]symbol [/color][color=Black]CW [/color][color=DarkCyan]= [/color][color=Navy]1        [/color][color=Green]'sens horaire[/color]
[color=Blue]symbol [/color][color=Black]CCW [/color][color=DarkCyan]= [/color][color=Navy]0       [/color][color=Green]'sens anti horaire (arbitraire

'definition macro avec paramètres; Nb de pas, sens, période entre pas.[/color]
[color=Navy]#MACRO [/color][color=Black]pap[/color][color=Blue]([/color][color=Black]Nb,Sens,Per[/color][color=Blue])
   [/color][color=Black]dir [/color][color=DarkCyan]= [/color][color=Black]Sens        [/color][color=Green]'affecte 1 ou 0 à dir donc à B.5
   [/color][color=Blue]for [/color][color=Purple]w1[/color][color=DarkCyan]= [/color][color=Navy]0 [/color][color=Blue]to [/color][color=Black]Nb   [/color][color=Green]'envoie Nb pulses au circuit
      [/color][color=Blue]pulsout [/color][color=Black]pas, 1
      [/color][color=Blue]pauseus [/color][color=Black]Per    [/color][color=Green]' pause en X fois 5µs
   [/color][color=Blue]next[/color]
[color=Navy]#ENDMACRO[/color]


[color=Black]main:[/color]
[color=Blue]do
   [/color][color=Black]pap[/color][color=Blue]([/color][color=Navy]800[/color][color=Black],cw,[/color][color=Navy]1[/color][color=Blue])  [/color][color=Green]'1/2 tour moteur rapide 
   [/color][color=Blue]pause [/color][color=Navy]4000     [/color][color=Green]'pause 2s (car 16MHz)
   [/color][color=Black]pap[/color][color=Blue]([/color][color=Navy]400[/color][color=Black],ccw,[/color][color=Navy]10000[/color][color=Blue]) [/color][color=Green]'1/4 tour moteur sens inverse lent
   [/color][color=Blue]pause [/color][color=Navy]2000     [/color][color=Green]'pause 1s
   [/color][color=Black]pap[/color][color=Blue]([/color][color=Navy]1200[/color][color=Black],cw,[/color][color=Navy]2000[/color][color=Blue]) [/color][color=Green]'3/4 tour moteur sens inverse 
   [/color][color=Blue]pause [/color][color=Navy]2000     [/color][color=Green]'pause 1s
   [/color][color=Black]pap[/color][color=Blue]([/color][color=Navy]1600[/color][color=Black],ccw,[/color][color=Navy]100[/color][color=Blue]) [/color][color=Green]'1 tour moteur sens inverse
   [/color][color=Blue]pause [/color][color=Navy]4000[/color]
[color=Blue]loop[/color]
en principe le pont doit revenir très exactement à sa position initiale.
 
Last edited:

zeltron

Senior Member
aille aille aille j'ai pris une claque la!
pas tout compris je vais étudier ça
j'ai rentré votre macro c'est assez bizarre comme déplacement
il y a plus que 2 vitesses...
la grande vitesse est bien trop rapide
mais ce qui est certain c'est que le mouvement ne revient pas au point de départ et de trés trés loin
impossible à mesurer à moins de stopper la boucle si besoin...
y'a un truc là....
 

PieM

Senior Member
il y a plus que 2 vitesses...
la grande vitesse est bien trop rapide
mais ce qui est certain c'est que le mouvement ne revient pas au point de départ et de trés trés loin
Il y a 4 vitesses. si une est trop rapide, des pas peuvent être sautés. Donc c'est évident que ça ne revient pas au point de départ.
Les vitesses sont à adapter en fonction du moteur et du besoin.
 

PieM

Senior Member
Je trouve que les vitesses sont bien grandes aussi pour un Picaxe à 16MHz.
qu'est ce qui est inscrit sur le résonateur ?
 

PieM

Senior Member
16.00 MX il n'est pas bleu comme sur la photo mais orange....
OK je comprends mieux. Le picaxe ne tourne pas à 16MHz alors !

remplacer setfreq em16 par setfreq m16
c'est à dire qu'il va fonctionner sur son horloge interne à 16 MHz.
à mon avis c'est inutile d'aller plus vite compte tenu de l'application.
 

zeltron

Senior Member
MA GNI FI QUE!
super la... c'est plus bizarre du tout... c'est top!
déplacements tres doux sans accoups ni bruits mécaniques chelous!
j'adore! voici la vidéo apres 30 min de fonctionnement il n'y a toujours pas de perte de pas
(c'est les 2 rails positionnés en face du pont par du scotch qui me le disent...
je pense que l'étape suivante c'est de câbler l'opto...
https://www.youtube.com/watch?v=nvzZzU42q1g&feature=youtu.be
 

PieM

Senior Member
MA GNI FI QUE!
super la... c'est plus bizarre du tout... c'est top!
Parfait.
Je pense que le réalisme du mouvement se limitera au deux vitesses les plus faibles non ?
Quel signal de l'opto (1 ou 0) au passage de la fente, et sur quelle entrée ?
 

zeltron

Senior Member
oui les 2 1er vitesses c'est bon ça!
j'ai l'intention de câbler l'opto en b4 (autant continuer le même port)à travers une pull up de 10 k
le passage de la fente devrait passer à 0
 

PieM

Senior Member
Une fois que l'opto sera câblé sur B.4, essayer ce petit programme:
J'ai détaillé pas mal de choses afin de bien comprendre les différentes parties:

jusqu'à la ligne 54, ce n'est que la partie déclarative qui définit les symboles et autres bricoles.

ensuite un programme principal qui va:
initialiser le pont à la position de la fente par un sous programme Init_PaP. cette position aura pour valeur 32000
- pourquoi ? car pour éviter des calculs avec des valeurs négatives il est plus simple de définir un 0 en milieu d'échelle d'une variable word ici, qui est au maxi 65535
une boucle qui répète la séquence:
aller à la position 32800 donc sens horaire (800 pas)
aller à la position 30000 donc sens inverse (-2800 pas)
aller à la position 35000 : théoriquement sens horaire, mais comme il il y a plus d'un 1/2 tour à faire, on optimise en passant dans l'autre sens.

Le programme principal ne fait appel qu'à des sous programmes:
- l'initialisation du pont ; elle peut être appelée à d'autre moment.
- le calcul du nombre de pas et la commande du moteur en fonction de la position à atteindre.
La position cible est pour l'instant définie par une valeur de pas moteurs.
Par la suite cette valeur sera mémorisée en mémoire du Picaxe est sera appelée par le N° de voie.
pour simplifier, numéroter les voies uniquement avec des nombres pairs. (il faut deux emplacements mémoire (octets) pour une valeur en pas)

Première chose à faire: bien comprendre toutes les instructions du programme. s'aider des docs des amis Besqueut et Michel (MGU)

le code suit...
 
Top