Commande progressive par PWM

Pic83 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -  
Pic83 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

bon, mon code n'est pas dans la liste ... c'est de l'assembleur Microchip pour Pic !
Mais je pose mon problème quand même :


j'ai réalisé un programme permettant de commander l'allumage et l'extinction progressive d'une lampe par le mode PWM d'un Pic 16f648a.
L'allumage et l'extinction se font par contact en tout ou rien (contact fermé -->allumage progressif , contact ouvert --> extinction progressive)
Jusque là les essais se montrent concluants.
Je voudrais maintenant commander cet allumage et extinction par impulsion par boutons poussoires.
J'ai modifié mon programme pour cela.
Lorsque je le test avec Protéus celui-ci fonctionne comme voulu (bon évolution du signal sur oscilloscope), par contre sur platine (en réel) la commande allumage ou extinction par impulsion ne fonctionne pas, si appuis sur allumage alors la progression se fait mais si j'arrête d'appuyer la lampe ne reste pas dans son état d'allumage ... elle s'allume en pleine puissance et vice versa pour l'extinction.
Si quelqu'un peut m'aider merci d'avance
Je peux envoyer en MP mon programme

Pic83
A voir également:

5 réponses

baladur13 Messages postés 47802 Date d'inscription   Statut Modérateur Dernière intervention   13 688
 
Bonjour,
Il faut probablement avec votre bouton poussoir "seter" (mettre à 1) un bit interne qui activera la sortie "marche" un nouvel appui sur le même poussoir effectuant un clear (mise à zéro) de ce bit.
Autrement dit mémoriser l'ordre "marche"
lors de l'appui si marche n'est pas en service l'appui met marche à 1
si "marche" est a 1 et que l'on appui sur le bouton alors on remet à zéro l'ordre de marche
0
Pic83 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
merci pour votre réponse
je ne comprends pas trop votre explication ...
A l'oscilloscope la sortie reflète bien ce que je veux à savoir l'évolution progressive de l'alternance à fréquence constante (PWM) selon si on est en allumage ou en extinction progressive.
Par contre en essai sur table l'évolution s'arrête nette si on on appuie plus sur le poussoir et la lampe passe en plein éclat (si on est en allumage progressif) ou elle s'éteint si on est en extinction progressive.
0
baladur13 Messages postés 47802 Date d'inscription   Statut Modérateur Dernière intervention   13 688
 
Je ne connais absolument pas votre microcontrôleur.
Allumage progressif dites vous... ok mais cela dure combien de temps pour passer de éteint à allumé plein pot ?
Si le temps d'allumage ou d'extinction progressive est trop court par rapport à un temps d'appui sur le boutons, il y a certainement un problème.
0
Pic83 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
il y en a effectivement un car le temps de la progression dans les 2 cas est de 3 secondes
0
baladur13 Messages postés 47802 Date d'inscription   Statut Modérateur Dernière intervention   13 688
 
Je réitère donc ma proposition
il faut faire un traitement sur le bouton afin de mémoriser l'appui sur celui-ci.
soit A le signal du bouton et M le signal qui lance la mise en marche de l’éclairage progréssif
A = 1 et M = 0 = set M (mise à 1)
A = 1 et M = 1 = reset M (mise à 0)
Autrement dit une impulsion sur A démarre le processus en armant la mémoire M s'il n'est pas déjà en route, par contre une nouvelle impulsion sur A arrête le processus s'il est en marche en désarmant la mémoire M.
0
Pic83 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour

je comprends votre explication ... qui correspond au déroulement de mon programme, à savoir :
l'appui sur le BP (Bouton Poussoir) allumage entraine l'évolution progressive de l'état 1 à 0 et vice versa pour le BP extinction.
Comme je le disais, le fonctionnement théorique est valable puisqu'à l'aide du logiciel ISIS je constate bien l'évolution progressive de la MLI sur l'oscilloscope ; par contre sur table la progression "décroche" ...
Je déroulerai le programme directement sur MPLAB ...
Merci pour votre implication
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pic83 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour,
je reviens aux nouvelles, cela servira peut-être à certains ...
le MLI avec le Pic est dépendant de 3 registres qui sont PR2, TMR2 et CCPR1L.
Pour ma part je stoppais le TMR2 dans mon code à la fin de la commande...
chose à ne pas faire
0