Cde Relais en Sortie Récepteur Modélisme

Forum de support pour les locuteurs de la langue française qui souhaitent écrire dans leur langue maternelle.

Moderator: Benj

Post Reply
Corto
Posts: 26
Joined: Thu Sep 04, 2014 7:01 am
Contact:

Cde Relais en Sortie Récepteur Modélisme

Post by Corto »

Bonjour à Tous,

Mon fils m'a demandé de réaliser un circuit qui pourrait commander une sortie relais, en sortie du récepteur de son drone.
j'ai essayé de réaliser un un petit programme pour un PIC 12F615 (que j'ai en stock et qui est très léger).
Mais voilà, je ne maitrise pas et c'est le moins que l'on puisse dire, les interruptions.
En fait, je suis partie du signal de commande du servo (pulse qui varie de 1 à 2ms avec un rapport cyclique de 20ms) et j'ai tenté de gérer 2 interruptions TMR1 et TMR0 et de compter, dans un temps donné, le nombre d'état 1 appliqué à une entrée du PIC, mais cela ne fonctionne pas.
lorsque la pulse dépasse 1.5ms, je voudrais basculer la sortie à 1.
Je joins le Flowcode, afin que vous puissiez m'aider, je ne m'en sors pas et ce malgré mes multiples documentations.
Je pense que le principe est bon, mais je ne trouve pas le ou les erreurs.
Merci d'avance pour votre aide.
Corto
Attachments
PicoSwitch12F615.fcfx
Cde avec PIC 12F615
(6.11 KiB) Downloaded 120 times

User avatar
medelec35
Valued Contributor
Valued Contributor
Posts: 9148
Joined: Sat May 05, 2007 2:27 pm
Location: Northamptonshire, UK
Contact:

Re: Cde Relais en Sortie Récepteur Modélisme

Post by medelec35 »

Martin

Corto
Posts: 26
Joined: Thu Sep 04, 2014 7:01 am
Contact:

Re: Cde Relais en Sortie Récepteur Modélisme

Post by Corto »

Bonjour Medelec35,

Merci beaucoup pour ta réponse et du temps que tu as pu y consacrer pour trouver ce topic.
Je n'arrive pas à ouvrir le fichier joint, qui est dans une version antérieure à V6.

Cela étant, j'ai quand même avancé dans mon projet:
Je joins le nouveau fichier, qui simulé dans proteus, m'indique qu'il y a un problème avec le watchdog, malgrè le fait qu'il soit OF dans ma config!, par contre j'active bien la sortie A0 (qui n'est ici que pour visualiser que je vais bien dans ma macro)
Je vais ajouté un afficheur et voir le nombre de bit à 1 dans mon compteur (je suis parti de l'horloge à 4 MHz/4, soit 1MHz, pour le calcul de l'activation de ma sortie A1).

Merci encore et je tiendrai informé "la communauté" de l'avancement de ce projet.
Bien entendu, je suis preneur des commentaires et des expériences de tout le monde.

Luc
Attachments
PicoSwitch12F615.fcfx
Version 2
(6.22 KiB) Downloaded 123 times

emma
Posts: 1
Joined: Sat Sep 06, 2014 7:34 am
Contact:

Re: Cde Relais en Sortie Récepteur Modélisme

Post by emma »

that microcontroller to test with so I just used one I had. I have attached the program but, a logic analyzer or oscilloscope is needed to view the waveforms. If you don't have one, the synchronization does work just like the application note describes. ......................

User avatar
medelec35
Valued Contributor
Valued Contributor
Posts: 9148
Joined: Sat May 05, 2007 2:27 pm
Location: Northamptonshire, UK
Contact:

Re: Cde Relais en Sortie Récepteur Modélisme

Post by medelec35 »

Salut Corto,
pour ouvrir V6 pré:
loading pre V6.png
(130.01 KiB) Downloaded 5396 times
Pour des raisons de surveillance, pouvez-vous envoyer votre fichier .hex s'il vous plaît.
On dirait qu'il pourrait être Proteus qui n'est pas correct.

Votre organigramme comporte des erreurs.
1) Aucun composant d'entrée attribuée à In_0 si variable GM restera à 0

2) la source de l'horloge de la minuterie sélectionner est faux:
timer clock source select.png
(41.42 KiB) Downloaded 5396 times
3) minuterie 2 ne sera jamais activé.
C'est dans une macro qui n'est jamais appelé.

4) Si vous n'avez pas de résistance de pull-up relié à la broche 4 (MCLR), alors vous devez changer

Code: Select all

Maître permettre clair 
:
Config MCLR.png
(70.7 KiB) Downloaded 5396 times
Comme je ne sais pas français sans un traducteur, je ne suis pas sûr pleinement ce your'e essayer de faire, donc je ne peux pas aider beaucoup plus.
Désolé.

hirondelle




Hi Corto,
to open pre V6:
loading pre V6.png
(130.01 KiB) Downloaded 5396 times
For watchdog issue, can you post your .hex file please.
Looks like it could be Proteus that is not correct.

Your flowchart has errors.
1) No input component assigned to In_0 so Compt variable will stay at 0

2) Timer clock source select is wrong:
timer clock source select.png
(41.42 KiB) Downloaded 5396 times
3) Timer 2 will never be activated.
It is within a Macro that is never called.

4) If you have not got a pull-up resistor connected to pin 4 (MCLR) then you must change

Code: Select all

Master clear enable
:
Config MCLR.png
(70.7 KiB) Downloaded 5396 times
As I don't know french without a translator I'm not sure fully what your'e trying to achieve, so can't help much more.
Sorry.

Martin
Martin

Corto
Posts: 26
Joined: Thu Sep 04, 2014 7:01 am
Contact:

Re: Cde Relais en Sortie Récepteur Modélisme

Post by Corto »

Merci beaucoup Martin,
J'arrive, maintenant à ouvrir le lien, encore merci.
concernant les réponses que tu as eu la gentillesse de m'envoyer, voici les miennes:

1) j'ai vu cette erreur après avoir posté mon message. j'ai rectifié cette erreur mais cela ne fonctionne toujours pas.

2) j'ai règlé le TMR0 sur " Transition on T0CKI pin" car je voulais déclencher l'interruption sur le front montant du signal de sortie du récepteur.

3) Effectivement, cette macro faisait partie des différents essais que j'ai pu faire.

4) J'ai bien une résistance de 4.7K de pull-up sur la pin du Master Clear.

Je joins le dernier logigramme, qui ne fonctionne toujours pas et pour lequel je ne comprends pas pourquoi.

Luc
Attachments
PicoSwitch12F615.fcfx
(6.05 KiB) Downloaded 122 times

Corto
Posts: 26
Joined: Thu Sep 04, 2014 7:01 am
Contact:

Re: Cde Relais en Sortie Récepteur Modélisme

Post by Corto »

Je joins un fichier Excel montant le graph de la séquence du signal de sortie du récepteur et l'état de la sortie pour alimenter un relais.
Si quelqu'un peut m'aider à comprendre pourquoi le TMR0 ne déclenche pas sur le front montant du signal de sortie du récepteur et que le comptage lorsque le signal est à 1, à priori, ne se fait pas.
J'ai essayé plusieurs simulations et maintenant je suis complètement embrouillé.
Luc
Attachments
Classeur1.xlsx
(11.31 KiB) Downloaded 138 times

User avatar
medelec35
Valued Contributor
Valued Contributor
Posts: 9148
Joined: Sat May 05, 2007 2:27 pm
Location: Northamptonshire, UK
Contact:

Re: Cde Relais en Sortie Récepteur Modélisme

Post by medelec35 »

Salut Luc,
Minuterie 0 interrompre déclenche uniquement quand TMR0 débordements de registre 255-0.
chaque T0CKI de temps va de faible à élevé, TMR0 incréments de 1.
Depuis diviseur est fixé à 1: 1 et TMR0 commence à 0 alors T0CKI doit changer d'état 256 fois avant ISR macro est accessible.
La seule façon de forcer interruption pour déclencher chaque fois T0CKI va de bas en haut est d'inclure deux états C avec:

Code: Select all

 tmr0 = 0xff; 

Un juste après que la minuterie 0 interrompre activer et l'autre au début de l'ISR Macro.
Cela précharger TMR0 s'inscrire auprès de 255 à chaque fois. Maintenant, chaque fois T0CKI changements de 0 à 1 interrompre la macro est accessible.



Hi Luc,
Timer 0 interrupt only triggers when TMR0 register overflows from 255 to 0.
each time T0CKI goes from low to high, TMR0 increments by 1.
Since prescaler is set to 1:1 and TMR0 starts at 0 then T0CKI has to change state 256 times before ISR macro is accessed.
The only way to force interrupt to trigger every time T0CKI goes from low to high is to include two C statements with:

Code: Select all

tmr0 = 0xff;
One just after Timer 0 interrupt enable and the other at the start of ISR Macro.
This will preload tmr0 register with 255 every time. Now every time T0CKI changes from 0 to 1 then interrupt macro is accessed.
Attachments
PicoSwitch12F615 V2.fcfx
(6.21 KiB) Downloaded 113 times
Martin

Corto
Posts: 26
Joined: Thu Sep 04, 2014 7:01 am
Contact:

Re: Cde Relais en Sortie Récepteur Modélisme

Post by Corto »

Many Thanks Martin.
Now it is much more clear for me with your good explanation.

Luc

Corto
Posts: 26
Joined: Thu Sep 04, 2014 7:01 am
Contact:

Re: Cde Relais en Sortie Récepteur Modélisme

Post by Corto »

Bonjour,

Je suis toujours sur mon projet et je ne m'en sors pas. Je n'arrive pas à "isoler" les 2 signaux lorsqu'ils sont à 1 (+5V), pous basculer ma sortie à 1.
Je joins 2 fichiers, le premier en format Word montrant une image des signaux issue de Proteus et le second fichier le Flowcode.
Si quelqu'un peut m'aider dans cette aventure, je serais très reconnaissant.
Luc
Attachments
Signals View.docx
(382.35 KiB) Downloaded 94 times
PicoSwitch12F615 V2.fcfx
(6.36 KiB) Downloaded 94 times

User avatar
medelec35
Valued Contributor
Valued Contributor
Posts: 9148
Joined: Sat May 05, 2007 2:27 pm
Location: Northamptonshire, UK
Contact:

Re: Cde Relais en Sortie Récepteur Modélisme

Post by medelec35 »

Translated by Google translator:
Salut Luc,
Pour détecter un changement dans l'entrée, vous devez d'abord lire l'entrée ..
Si vous ne lisez pas l'entrée, puis des changements dans l'entrée ne seront pas détectés.
Donc, vous ne pouvez pas avoir des entrées à que le début.
Vous devez avoir entrée quelque part dans la boucle principale.
Si possible lu entrée juste avant la décision branche qui implique l'entrée.
Move input.png
(44.38 KiB) Downloaded 5285 times
Hi Luc,
To detect a change in input you must first read the input..
If you don't read the input then any changes in input will not be detected.
So you can't have the inputs at the start only.
You must have input somewhere within the main loop.
If possible read input just before decision branch that involves the input.
Martin

Corto
Posts: 26
Joined: Thu Sep 04, 2014 7:01 am
Contact:

Re: Cde Relais en Sortie Récepteur Modélisme

Post by Corto »

Hi Martin,

Many thanks for your reply, I am very confuse.
I modify my program and I shall inform you of the result.

Luc

Corto
Posts: 26
Joined: Thu Sep 04, 2014 7:01 am
Contact:

Re: Cde Relais en Sortie Récepteur Modélisme

Post by Corto »

Martin,

I have a very good news, the project work correctly.
My son will be very happy, me to.
Without your help, I don't think that I find the solution.

Many thanks really

Luc

Post Reply