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 ---
On parle des Pics, sans rapport avec le langage ou la programmation

Modérateur : Jérémy

interruption sur front montant
cyril13110
Avatar de l’utilisateur
Expert
Expert
Messages : 1679
Âge : 43
Enregistré en : avril 2016
Localisation : 13

#1 Message par cyril13110 » dim. 6 oct. 2024 10:48

Bonjour à tous,

Je suis à la recherche de comment faire une interruption sur front montant avec un 18F4550.
J'ai beau passer la datasheet en revue et javous que je sèche totalement.
Il me semble que c'est possible mais je ne l'ai jamais fait.
J'ai vue qu'il y a quelque chose avec le PortB mais je ne comprends pas vraiment quoi.
Merci pour vos lumières

Mon but est de voir si une tel fonctionnalité pourrait améliorer l'utilisation instable d'un encodeur rotatif.
Je fait incrémenter et decrementer une valeur et afficher sur un écran lcd la valeur mais j'ai l'impression que plus je tente de faire faire des choses au pic plus la détection des créneaux de lencodeur est foireux.
she ise heu lahive.......heu lahive......

interruption sur front montant
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 2846
Âge : 99
Enregistré en : décembre 2017
Localisation : Banlieue sud de Klyntar
Contact :

#2 Message par F6FCO » lun. 7 oct. 2024 12:56

Tu utilises quel sorte d'encodeur ? un chinois pas cher ? mécanique ? opto ?
Si c'est un encodeur chinois mécanique à bas prix à 1€ les 5 il y a de fortes chances pour que ce soit les rebonds qui te causent des soucis.
Remèdes pour améliorer le fonctionnement (pas toujours efficaces suivant le degré de mauvaise qualité de l'encodeur) :
découpler les deux entrées de l'encodeur avec des capas (100nf)
placer une petite tempo d'une dizaine de ms après chaque tip pour absorber les rebonds.
Une porte nand prend 2 bits en entrée... :eek:

interruption sur front montant
cyril13110
Avatar de l’utilisateur
Expert
Expert
Messages : 1679
Âge : 43
Enregistré en : avril 2016
Localisation : 13

#3 Message par cyril13110 » lun. 7 oct. 2024 13:52

Javous mon capitaine c'est du chinois pas chère et oui j'ai vue à loscilloscope des tas de rebonds.
Ok je vais tester ça merci.
Après je ne reste pas vraiment longtemps sur la détection, des qu'il détecte l'état logique je fais dérouler le programme.
she ise heu lahive.......heu lahive......

interruption sur front montant
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 2846
Âge : 99
Enregistré en : décembre 2017
Localisation : Banlieue sud de Klyntar
Contact :

#4 Message par F6FCO » lun. 7 oct. 2024 18:13

Place deux capas de 0.1µF et deux pull-up sur les pins de ton encodeur, plus une une tempo de 10ms et tu amélioreras bien ton système.
Après si tu veux absolument détecter un front montant tu peux le faire par le code, tu testes pour savoir quand tu es en état bas et tu testes en attendant un état haut, tu auras détecté ton front montant.
Une porte nand prend 2 bits en entrée... :eek:

interruption sur front montant
paulfjujo
Avatar de l’utilisateur
Maître
Maître
Messages : 3260
Âge : 75
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#5 Message par paulfjujo » mar. 8 oct. 2024 10:39

bonjour,

si cela peut t'inspirer ( mais en C18)
Test_Encoder_Keyes
usage interrupts pour le comptage et le sens de rotation
et aussi pour le test appui BP


As- tu le meme encodeur rotatif ?
Aide toi, le ciel ou FantasPic t'aidera

interruption sur front montant
cyril13110
Avatar de l’utilisateur
Expert
Expert
Messages : 1679
Âge : 43
Enregistré en : avril 2016
Localisation : 13

#6 Message par cyril13110 » mar. 8 oct. 2024 10:50

paulfjujo a écrit :bonjour,

si cela peut t'inspirer ( mais en C18)
Test_Encoder_Keyes
usage interrupts pour le comptage et le sens de rotation
et aussi pour le test appui BP


As- tu le meme encodeur rotatif ?



Bonjour paul et bonjour à tous,

Non je n'ai pas le meme, j'ai celui la:
Capture d’écran 2024-10-08 104728.jpg


Sur les conseils du capitaine, j'ai rajouté des condensateurs sur les sorties pour limiter les rebonds, je n'ai pas encore repris la prog dessus car jetais sur les fins de cources de ma CNC.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
she ise heu lahive.......heu lahive......

interruption sur front montant
paulfjujo
Avatar de l’utilisateur
Maître
Maître
Messages : 3260
Âge : 75
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#7 Message par paulfjujo » mar. 8 oct. 2024 12:47

cyril13110 a écrit :
paulfjujo a écrit :bonjour,

si cela peut t'inspirer ( mais en C18)
Test_Encoder_Keyes
usage interrupts pour le comptage et le sens de rotation
et aussi pour le test appui BP


As- tu le meme encodeur rotatif ?



Bonjour paul et bonjour à tous,

Non je n'ai pas le meme, j'ai celui la:
Capture d’écran 2024-10-08 104728.jpg

Sur les conseils du capitaine, j'ai rajouté des condensateurs sur les sorties pour limiter les rebonds, je n'ai pas encore repris la prog dessus car jetais sur les fins de cources de ma CNC.



pas exactement le meme , mais je pense que même fonctionnalité
les 3 pins pour signaux A,Gnd ,B
les 2 pins pour le bouton poussoir
reste à connaitre le Nb de pas par tour ? (20 pulses/tour sur le mien)

dans mes tests de cet encoder,je n'ai mis aucun condo..
j'ai utilisé une progression logarithmique pour augmenter ou diminuer la valeur
Aide toi, le ciel ou FantasPic t'aidera

interruption sur front montant
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 2846
Âge : 99
Enregistré en : décembre 2017
Localisation : Banlieue sud de Klyntar
Contact :

#8 Message par F6FCO » mer. 9 oct. 2024 00:18

Le souci de ces petits encodeurs chinois c'est qu'ils sont mécaniques, une lamelle qui en tournant fait contact sur des picots, ce qui génère des rebonds.
Les encodeurs opto sont plus performants mais aussi beaucoup plus chers.
Sinon une solution alternative: https://www.qsl.net/f6fco/Encodeur.htm
Une porte nand prend 2 bits en entrée... :eek:

interruption sur front montant
cyril13110
Avatar de l’utilisateur
Expert
Expert
Messages : 1679
Âge : 43
Enregistré en : avril 2016
Localisation : 13

#9 Message par cyril13110 » mer. 9 oct. 2024 18:18

F6FCO a écrit :Le souci de ces petits encodeurs chinois c'est qu'ils sont mécaniques, une lamelle qui en tournant fait contact sur des picots, ce qui génère des rebonds.
Les encodeurs opto sont plus performants mais aussi beaucoup plus chers.
Sinon une solution alternative: https://www.qsl.net/f6fco/Encodeur.htm


Rhô le bazard juste pour un composant comme ça ça fait bien chier si j'avais su avant je n'en n'aurai pas acheté.
Trop tard maintenant je vais aller jusqu'au bout et je verrais bien.
Si je comprends bien tu as monté 2 app en comparateur filtreur de parasite pour lisser les rebonds
she ise heu lahive.......heu lahive......

interruption sur front montant
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 2846
Âge : 99
Enregistré en : décembre 2017
Localisation : Banlieue sud de Klyntar
Contact :

#10 Message par F6FCO » mer. 9 oct. 2024 18:51

Non, pas vraiment, en gros tu te sers des deux enroulements du pap pour faire un codeur en quadrature. Quand tu tournes l'axe ton pap se comporte en générateur, tu tournes doucement tu auras une petite amplitude, tu tournes fort une grosse. Et des signaux plus ou moins pourris. Fais l'essai sur ton oscillo.
Les amplis ops sont là pour remettre en forme et obtenir des créneaux 5vcc propres déphasés suivant le sens de rotation.
L'avantage de ce système c'est qu'on n'a pas besoin de gros pap, les tous petits qu'on trouve dans les imprimantes de bureau ou ceux de chez Aliex à quelques centimes font l'affaire.
J'en ai monté un sur un de mes émetteurs HF pour faire varier la fréquence et çà marche au poil donc çà devrait aller pour ton AD9850.
Une porte nand prend 2 bits en entrée... :eek:


Retourner vers « Généralités sur les PICs »

Qui est en ligne

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