Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur le langage C !

Modérateur : Jérémy

nema 17 & tb6560
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2718
Enregistré en : juillet 2016
Localisation : Terre

#11 Message par Temps-x » mar. 10 sept. 2024 16:22

Bonjour,

J’ai un circuit TB6600HC (Toshiba) qui n’est pas soudé, pour ceux qui voudraient voir la différence.

Je préfère faire mes PCB, car je sais ou je vais, de plus ça reste facile à faire comme PCB

On peut trouver avec la marque Toshiba à 10 euros les quatre circuits.

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

nema 17 & tb6560
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2803
Âge : 74
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#12 Message par paulfjujo » mar. 10 sept. 2024 19:12

faire un PCB pour ... oui, mais il faut qu'on fasse la CNC AVANT !
un lien pour le PCB

faire la poule avant l'oeuf ..

satstep6600_all.jpg
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Aide toi, le ciel ou FantasPic t'aidera

nema 17 & tb6560
venom
Avatar de l’utilisateur
Expert
Expert
Messages : 1207
Âge : 39
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#13 Message par venom » mar. 10 sept. 2024 19:38

Du coup je ne comprends plus rien.
Mon code est mauvais ou mon montage, ou c'est encore un coup des copies chinoises et leurs PCB a la noix :furieux:

Car mon TB n'est pas le même que vous. :sad:

J'ai ça :
step-motor-driver-4-5a-tb660.jpg






@++
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Mon site web
Mon discord : venom#4888

nema 17 & tb6560
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2718
Enregistré en : juillet 2016
Localisation : Terre

#14 Message par Temps-x » mar. 10 sept. 2024 20:50

paulfjujo a écrit :Source du message faire la poule avant l'oeuf ..


Cette question reste en suspend.... mais pour ton cas voir ICI

venom a écrit :Source du message Car mon TB n'est pas le même que vous. :sad:

Ça doit fonctionner normalement, de mémoire je crois que Dir indique la direction, après faux voir si ton pic rempli bien c'est fonction

Par exemple on lui mettant une led sur Dir avec une résistance de 470 ohms, ce qui te permettra de confirmer qu'il reçoit ce qu’il faut.

PUL : sont les impulsions à lui envoyer, attention qu’elles ne soient pas trop rapides, sinon ton moteur va brouter, et ne tournera pas
DIR : sens de rotation


Comme la plupart des Pic son équipé d'un compteur de pulsation tu peux compter les impulsions, ce qui te permet de savoir très exactement le nombre de tour que ton moteur à fait, et de retrouver l'endroit ou tu étais

Sans prédiviseur je crois que ton Pic16F887 peut compter jusqu'a 65535 (ça fait déja pas mal de tour, si on sait 1 tour = 200 pulsations (pour pas standard))


==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

nema 17 & tb6560
venom
Avatar de l’utilisateur
Expert
Expert
Messages : 1207
Âge : 39
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#15 Message par venom » mer. 11 sept. 2024 06:33

Temps-x a écrit :Par exemple on lui mettant une led sur Dir avec une résistance de 470 ohms, ce qui te permettra de confirmer qu'il reçoit ce qu’il faut.


Ah oui pas bête. J'y pense pas systématiquement ça. Pourtant ça peut faire un bon debug :mur: Merci.

Après pour la vitesse d'exécution je pense que ça va car il tourne bien par quart comme prévu (même si il décale légèrement au bout d'un moment) sûrement mauvais calcul pas/vitesse. Mais pas grave pour le moment.

Enfaite quand je démarre il fait un quart de tour, après on entend qu'il veut partir dans l'autre sens mais ne tourne pas.

Je ferai une vidéo pour monter.

Après c'est certainement mon manque d'expérience et les réglages pic/code.

Là je vous fait simplement part de ma première expérience avec un nema et pic. Voir ce qu'un débutant peut rencontrer oops


Sans prédiviseur c'est quoi ça ? :oops:






@++
Mon site web
Mon discord : venom#4888

nema 17 & tb6560
gwion
Confirmé
Confirmé
Messages : 578
Enregistré en : février 2022

#16 Message par gwion » mer. 11 sept. 2024 08:37

Bonjour ici,

@venom, comme tu as un petit analyseur logique, tu peux le raccorder sur les entrées du driver, tu vas voir exactement ce que le PIC envoie.
Attention, surtout ne pas le raccorder sur les sorties vers le moteur.

nema 17 & tb6560
venom
Avatar de l’utilisateur
Expert
Expert
Messages : 1207
Âge : 39
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#17 Message par venom » mer. 11 sept. 2024 20:11

gwion a écrit :Bonjour ici,

@venom, comme tu as un petit analyseur logique, tu peux le raccorder sur les entrées du driver, tu vas voir exactement ce que le PIC envoie.
Attention, surtout ne pas le raccorder sur les sorties vers le moteur.


Ah pas bête j'ai pas ce réflexe oops

Je suis sensé voir quoi :sifflotte: :-D
Des signaux j'imagine






@++
Mon site web
Mon discord : venom#4888

nema 17 & tb6560
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2718
Enregistré en : juillet 2016
Localisation : Terre

#18 Message par Temps-x » mer. 11 sept. 2024 20:15

Bonjour,

venom a écrit :Source du message Sans prédiviseur c'est quoi ça ? :oops:


Ça permet au pic de compter plus loin, mais c'est moins précis, un petit exemple

Si tu as un compteur qui ne dépasse pas 120 impulsions, tu ne pourras pas aller plus loin, mais si tu mets un prédiviseur par 2
tu pourras compter jusqu’à 120 × 2 = 240 impulsions

Quand il y aura 2 impulsions le compteur en comptera qu’une pour un prédiviseur par 2

Pour l’instant tu n'as pas à te soucier de cela.....

Si tu à trois boutons poussoir, et une breadboard, je peux écrire un programme pour ton moteur (pour essai seulement)

je te ferais parvenir le fichier compiler avec la source pour les plus passionnés

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

nema 17 & tb6560
venom
Avatar de l’utilisateur
Expert
Expert
Messages : 1207
Âge : 39
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#19 Message par venom » mer. 11 sept. 2024 20:41

Bonjour Temps-x et a tous.

D'accord je comprends ton exemple. Merci pour l'explication :wink:

Pour le code oui je suis preneur. Tu souhaites avoir 3 boutons pour géré la direction etc .. ?

Après tu as le temps de l'écrire. Je vais déjà continuer a m'amuser a modifier mon code pour voir le comportement. Je suis encore en mode apprentissage/domptage/découverte de la bête :-D







@++
Mon site web
Mon discord : venom#4888

nema 17 & tb6560
venom
Avatar de l’utilisateur
Expert
Expert
Messages : 1207
Âge : 39
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#20 Message par venom » mer. 11 sept. 2024 22:06

youhou !!!

J'ai réussi a faire un quart dans un sens et un quart dans l'autre sens. 8-) J'ai simplement scinder les deux parties qui étaient dans la boucle while dans deux void C'est plus logique et plus lisible aussi :sifflotte: Maintenant ça fonctionne.

Code : Tout sélectionner

// pic 16f887 
// horloge interne 8mhz

// Déclaration des broches
sbit StepPin at RD3_bit;
sbit DirPin at RD2_bit;

// Configuration des directions des broches
sbit StepPin_Direction at TRISD3_bit;
sbit DirPin_Direction at TRISD2_bit;

int i;

void QuartTourHoraire() {
    // Définir la rotation du moteur
    DirPin = 0;  // 0 pour tourner dans le sens horaire

    // Effectuer un quart de tour ( a peut pres :-) )
    for (= 0; i < 200; i++)
    {
      StepPin = 1;
      Delay_us(500); // ajuster pour la vitesse
      StepPin = 0;
      Delay_us(500); // ajuster pour la vitesse
    }

    Delay_ms(500); // Attendre 1/2 seconde
}

void QuartTourAntiHoraire() {
    // Définir la rotation du moteur
    DirPin = 1;  // 1 pour tourner dans le sens anti horaire

    // Effectuer un quart de tour ( a peut pres :-) )
    for (= 0; i < 200; i++)
    {
      StepPin = 1;
      Delay_us(500); // ajuster pour la vitesse
      StepPin = 0;
      Delay_us(500); // ajuster pour la vitesse
    }

    Delay_ms(500); // Attendre 1/2 seconde
}


void main() {
    // Configurer les broches comme sorties
    StepPin_Direction = 0;    // RD3 comme sortie
    DirPin_Direction = 0;     // RD2 comme sortie

    // Définir la direction du moteur
    DirPin = 1;  // 1 ou 0 selon la direction souhaitée

    while(1) {

    QuartTourHoraire();
    
    QuartTourAntiHoraire
();

    }


video

Bon c'est pas grand chose mais c'est un début. C'est fun de le voir bouger :roll:






@++
Mon site web
Mon discord : venom#4888


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités