Inter de sécurité avec PIC 10F200

Jetboy51 Messages postés 9 Date d'inscription jeudi 9 juillet 2009 Statut Membre Dernière intervention 1 août 2009 - 9 juil. 2009 à 10:40
Jetboy51 Messages postés 9 Date d'inscription jeudi 9 juillet 2009 Statut Membre Dernière intervention 1 août 2009 - 1 août 2009 à 08:36
Bonjour à Tous,
Voila, je me considère "pas mauvais du tout" (!) en RF Hyper, mais null en programmation des microcontroleur !
Je cherche pour un gros modèle réduit, un inter de sécurité. l'idée est de driver un mosfet (25 amp) par un pic 10F200 ou équivalent.La commande se ferait par l'appui de deux switch (validation de 1.5/2 sec pour une action volontaire)Le système serait bi-stable on/off par un second appui sur les deux switch.En cas de microcoupure ou de plantage, la sortie du mofset serait toujours au niveau haut (conduction du mosfet et système toujours alimenté)En sortie du PIC une led d'état serait implantée.
Qui peut m'aider sur le soft ?
Merci d'avance
Daniel

17 réponses

Zayann Messages postés 75 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 15 juillet 2015 1
16 juil. 2009 à 12:41
Bonjour, si j'ai bien compris, l'appui sur le bouton pendant 1.5 à 2 sec en continue, induit la conduction des mos, idem pour les stopper...
Par contre, qu'entend tu par micro coupure ? il faut que les mos reste alimenté si le PIC ne l'est plus ??
0
Jetboy51 Messages postés 9 Date d'inscription jeudi 9 juillet 2009 Statut Membre Dernière intervention 1 août 2009
16 juil. 2009 à 20:44
Bonjour Zayann,
Merci de me répondre.
La minip consisterait à maintenir appuyé un premier bouton pendant 1.5/2 secondes. là, une led bi-color passe au rouge (ou orange signifiant une période d'action volontaire). Toujours en appuyant le premier bouton, une action sur un second bouton pendant une seconde ferait passer le mosfet à l'état conducteur. La led passe alors au vert signifiant la mise sous tension du l'équipement. Manip identique pour couper le système. Tout cela pour etre sur que l'appui sur les inters est volontaire et non pas une mauvaise manip ou une action qui ne serait pas volontaire !
Cela nous donne 2 ports configurés en entrées pour les inters et deux ports configurés en sorties pour la led (1 pour le rouge et 1 pour le vert). La sortie pour la led verte serait commune à la commande du mosfet. Ca doit coller avec un PIC 10F200 ? Micro petit est pas cher !
Coté micro coupure : j'ai un peu peur le micro plante et se bloque sur une position OFF qui serait catastrophique si cela se produisait pendant que le modèle est en vol ! Gros modèle réduit de 3 mètres d'envergures, 15 kg et moteur de 150cc ( 17cv).
Qu'en penses tu ?
Cordialement
Daniel
0
Zayann Messages postés 75 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 15 juillet 2015 1
17 juil. 2009 à 12:45
OK, au niveau du programme pour la gestion des boutons etc... aucun problème.

concernant la micro coupure :
le mpu reset lors d'une coupure, donc, pas de problème de plantage en cas de micro coupure. Seulement, s'il faut que le micro conserve l'état des I/O lors de la coupure, là sa peut être problématique...
On pourrait envisager une solution hardware avec une grosse capa...
Ou peut être une solution logiciel, mais là le mpu risque d'être trop limite, peut-être à changer avec un 10F206 à peine plus cher.
A voir...
Pour info, je part demain soir pendant environ 10 jours, donc si tu peux me répondre rapidement, je regarderai ton problème pendant cette période, sinon à mon retour... De même si tu pars, prévient moi, que je ne m'acharne pas sur le PC...
0
Jetboy51 Messages postés 9 Date d'inscription jeudi 9 juillet 2009 Statut Membre Dernière intervention 1 août 2009
17 juil. 2009 à 13:10
Salut.
Pour les vacances, je part une dizaine de jours à partir du 7 aout.
Mais je reste connecté !!!
Le mosfet canal N est conducteur quand la gate est au niveau haut.
Pour la sécurité, je peux mettre une résistance pull up 100 ou 200 KOhms sur la gate du mosfet.(pour la valeur, à voir en fonction du courant de gate du mosfet choisi)
De cette façon, si le micro plante la gate est toujours au niveau haut, le mosfet est conducteur et le système reste alimenté. Pour couper l'alim la sortie du micro doit passer à l'état bas et bloquer le mosfet. Dans ce cas, le micro est toujours alimenté, mais la conso reste sous quelques mAmp. La batterie utilisée fait 4100 mAmp, donc pas de soucis !
Je pense que de cette manière, pas de soucis pour un plantage ou une micro coupure si le restart du micro valide iummédiatement une sortie à l'état haut (condition de départ). Si tu penses etre trop limite en ram, le 10F206 ne coute pas plus cher !
Merci
@+
0

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

Posez votre question
Zayann Messages postés 75 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 15 juillet 2015 1
17 juil. 2009 à 13:14
OK Je t'envoie un synoptique détaillé demain, ou dans 10 jours...

A +
0
Zayann Messages postés 75 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 15 juillet 2015 1
17 juil. 2009 à 15:12
Voila le premier jet...

=> Initialisation
> Configuration oscillateur
> Configuration registre I/O
> Configuration interruption

=> Programme principal
> MOSFET commandé, passage à TRUE de la sortie concernée, led fonctionnement ON

1 > Surveillance appui sur le bouton poussoir 1
> Si bouton appuyé => compteur de temps et led d'attente rouge
> compteur de temps inf à 2s => on compte
> Compteur de temps sup à 2s => Stop comptage et raz compteur


2 > Surveillance appui sur bouton poussoir 1 ET 2
> si juste bouton 1 => commande LED d'attente verte
> Si plus bouton 1 => retour début cycle => Etape 1

3 > Appui commun pendant plus de 500ms et mos commanbdé => mos non commandé extinction des deux led
> OU Appui commun pendant plus de 500ms et mos non commanbdé => mos commandé allumage led fonctionnement extinction led d'attente.
> Retour etape 1


Interruption : selon la base de temps, permet de compter la durée écoulée...

Dit moi si ça te convient ou les modifs à apporter...
0
Jetboy51 Messages postés 9 Date d'inscription jeudi 9 juillet 2009 Statut Membre Dernière intervention 1 août 2009
17 juil. 2009 à 16:16
Merci, n'étant pas spécialiste de la chose, voici toutefoi mes remarques :

=> Initialisation 'OK
> Configuration oscillateur 'OK
> Configuration registre I/O 'OK
> Configuration interruption 'OK

=> Programme principal
> MOSFET commandé, passage à TRUE de la sortie concernée, led fonctionnement ON VERTE

1 > Surveillance appui sur le bouton poussoir 1 'OK
> Si bouton appuyé => compteur de temps 'OK
> compteur de temps inf à 2s => on compte 'OK
> Compteur de temps sup à 2s => Stop comptage et raz compteur et led d'attente rouge et départ surveillance bouton 2

2 > Surveillance appui sur bouton poussoir 1 ET 2
> si juste bouton 1 >2S> => commande LED d'attente ROUGE
> Si plus bouton 1 => retour début cycle => Etape 1

3 > Si Bouton1 >2s et Appui commun pendant plus de 500ms et mos commanbdé => mos non commandé extinction des deux led
> OU Appui commun pendant plus de 500ms et mos non commanbdé => mos commandé allumage led fonctionnement extinction led d'attente.
> Retour etape 1


Interruption : selon la base de temps, permet de compter la durée écoulée...
0
Zayann Messages postés 75 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 15 juillet 2015 1
17 juil. 2009 à 17:13
J'ai commencé le code, et en lisant les datasheet, je me suis apperçu que le 10F n'a pas de vecteur d'interruption,ce qui complique la mise en œuvre du prog...

Je te propose de passer sur un 12F675 (je vais regarder).
Ils n'ont pas une grand différence de prix et sont dans les même boitier (DIP8), ça ne devrait pas changer grand chose au niveau du hard...
Tiens moi au courant...
0
Jetboy51 Messages postés 9 Date d'inscription jeudi 9 juillet 2009 Statut Membre Dernière intervention 1 août 2009
17 juil. 2009 à 19:55
Le 12F509 ne pourrait il pas convenir ?
0
Zayann Messages postés 75 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 15 juillet 2015 1
17 juil. 2009 à 21:09
A priori non, il est comparable au niveau des registres avec le 10F, par contre en prenant le temps de fouiller, le 12F609 pourrait sans doute aller...
Tiens moi au courant si le mpu te convient...
0
Jetboy51 Messages postés 9 Date d'inscription jeudi 9 juillet 2009 Statut Membre Dernière intervention 1 août 2009
17 juil. 2009 à 22:28
Ok va pour le 12f609
0
Zayann Messages postés 75 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 15 juillet 2015 1
18 juil. 2009 à 13:13
OK, je réfléchit au code et je te tiens au courant quand je rentre...
0
Jetboy51 Messages postés 9 Date d'inscription jeudi 9 juillet 2009 Statut Membre Dernière intervention 1 août 2009
18 juil. 2009 à 16:07
No Problem ! Bonnes vacances !
0
Zayann Messages postés 75 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 15 juillet 2015 1
28 juil. 2009 à 16:55
Salut...
J'ai commencé le code, pourrais tu (si c'est possible) me dire quels sont les pin du port que tu veux configurer en entrée, et en sortie :
sur le micro :
pin 2 => GP5 I/O
Pin 3 => GP4 I/O
Pin 4 => GP3 I => peut être utilisé pour faire un reset matériel...
Pin 5 => GP2 I/O
Pin 6 => GP1 I/O
Pin 7 => GP0 I/O

Sinon, le code est adaptable, à défaut, GP5/GP4 en I et GP2/GP1 en O...
0
Jetboy51 Messages postés 9 Date d'inscription jeudi 9 juillet 2009 Statut Membre Dernière intervention 1 août 2009
28 juil. 2009 à 19:28
Salut,
Pour la config I/O, ta proposition me convient sans problème.
Pense à la commande des LED séparée puisqu'il y a plus entrées /sorties dispo.
Merci et bon courage
Daniel
0
Zayann Messages postés 75 Date d'inscription mardi 22 avril 2008 Statut Membre Dernière intervention 15 juillet 2015 1
1 août 2009 à 08:28
Salut, j'ai commencé le code, mais j'ai eu un impondérable cette semaine...
Je pense pouvoir t'envoyer une version de test d'ici la fin de la semaine prochaine...
A +
0
Jetboy51 Messages postés 9 Date d'inscription jeudi 9 juillet 2009 Statut Membre Dernière intervention 1 août 2009
1 août 2009 à 08:36
Salut,
Ok, parfait mais ne t'inquiètes pas, il y a pas d'urgence !
Merci de ton aide !
@+
Daniel
0
Rejoignez-nous