Tu as le fichier .HEX en pièce jointe, sinon, renome le fichier texte en "Relais.hex" et tu le colle dans ton prog.
Pour les BP, c'est ce que j'ai fait.
-----
Tu as le fichier .HEX en pièce jointe, sinon, renome le fichier texte en "Relais.hex" et tu le colle dans ton prog.
Pour les BP, c'est ce que j'ai fait.
J'ai oublié le fichier source. j'ai du mal avec les fichiers joints, il va falloir que je m'y intéresse de plus près. J'ai cru comprendre qu'il y avait un retard à la publication...
Bon c'est pas bien grave, ça ira mieux la prochaine fois
Code:'**************************************************************** '* Name : Relais.BAS * '* Author : [F1FNW] * '* Notice : Copyright (c) 2012 [select VIEW...EDITOR OPTIONS] * '* : All Rights Reserved * '* Date : 24/01/2013 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** INITIALISATION: '*************** Device = 16F628 CMCON = 7 XTAL = 4 TRISB = %00001111 Symbol P1 = PORTB.1 Symbol P2 = PORTB.2 Symbol Rel1 = PORTB.4 Symbol Rel2 = PORTB.5 Symbol Rel3 = PORTB.6 Symbol Rel4 = PORTB.7 'Test des entrées '**************** TEST: If P1 = 0 Then Avant If P2 = 0 Then Arriere GoTo TEST 'Actions '************ Avant: DelayMS 20 High Rel1:High Rel2 DelayMS 1000 Low Rel1:Low Rel2 DelayMS 2000 High Rel3:High Rel4 DelayMS 1000 Low Rel3:Low Rel4 GoTo TEST Arriere: DelayMS 20 High Rel3:High Rel4 DelayMS 1000 Low Rel3:Low Rel4 DelayMS 4000 High Rel1:High Rel2 DelayMS 1000 Low Rel1:Low Rel2 GoTo TEST End
Dernière modification par HULK28 ; 23/01/2013 à 13h05. Motif: Ajout des balises CODE pour meilleure lisibilité
Quand tu postes un code tu as dans ton éditeur de réponse des icones de balisages selon ce que tu veux faire (Latex, code, etc).
Il suffit de cliquer sur le symbole dièse # pour afficher la balise de début et de fin, entre les deux tu mets ton code, cela donnera ce que j'ai fait avec ton post précédent
Ou d'ajouter les balises à la main [code]......(/code] évidemment tu remplaces la dernière parenthèse par un crochet, j'ai fait comme ça pour que tu puisses voir comment cela s'écrit.
@+
Vu qu'on ne sait pas trop comment est gaulé l'étage d'entrée des boutons (toujours pas de schéma...) perso j'aurais ajouté un anti-rebond logiciel histoire que des parasites ne provoquent pas de déclenchements intempestifs.
Tout projet flou conduit à une connerie précise !
Faudrait tomber sur mec hyper lentVu qu'on ne sait pas trop comment est gaulé l'étage d'entrée des boutons (toujours pas de schéma...) perso j'aurais ajouté un anti-rebond logiciel histoire que des parasites ne provoquent pas de déclenchements intempestifs., parce que lorsqu'on est dans une boucle de 3 à 5 secondes...
Peut être s'il s'endort sur le bouton...![]()
A+, pat
Pas sur que ce soit ce qui est demandé
Il a dit ;Avant:
DelayMS 20
High Rel1:High Rel2
DelayMS 1000
Low Rel1:Low Rel2
DelayMS 2000
High Rel3:High Rel4
DelayMS 1000
Low Rel3:Low Rel4
GoTo TEST
en faite en donnant une impulsion avec le premier bouton poussoir je veux que 2 relais soit "activé" immédiatement et que les 2 autre relais le soit 3 secondes plus tard.
Il a dit 2 voies qui ont chacune 2 relais
Donc on ne gère que 2 relais
Avant:
DelayMS 20
Low Rel1:High Rel2
DelayMS 1000
Low Rel2
DelayMS 2000
High Rel1
DelayMS 1000
Low Rel1
GoTo TEST![]()
Dernière modification par freepicbasic ; 23/01/2013 à 14h17.
A+, pat
je parlais justement du cas hors appuis sur un bouton...
Tout projet flou conduit à une connerie précise !
Dans ce cas pour éviter les parasites éventuelles , on diminue la résistance de pul up ou pull down.je parlais justement du cas hors appuis sur un bouton...
Sinon il y a du soucis a se faire si des contacts intempestifs arrivent...
A+, pat
Ben c'est ce que le FW est censé faire!
2 relais collent, puis les 2 autres 3s après.
Ensuite c'est l'inverse mais avec 5s de retard.
Le demandeur à valide. Pour l'anti rebond, en cas d'appuis sur les BP il y a la tempo de 20ms (c'est suffisant) a l'arrêt, en principe pas de problème car l'entrée du up est tirée au plus Alim. Ça devrais aller.
il a dit RB4 et RB5 pour les sorties ...
Tu met les même sur rb4 et Rb5.
D'ailleurs, Je ne vois pas trop l'intérêt de commander 2 fils en plus ....mais bon s'il ne sont pas utilisé, mais si c'est pour mettre sur une carte existante ça ne va pas.
Quant aux 20ms , il ne servent à rien.
Il faut ne pas valider la commande si elle est inférieure à une durée déterminé ( 20ms me semble un peut court)
Si on temporise une fois dans la fonction ça ralentis c est tout.
Dernière modification par freepicbasic ; 23/01/2013 à 14h36.
A+, pat
Pour le parasite furtif
Mais si le bouton est merdique faudra qu'il trouve au moins 20ms de contact...Code:'**************** TEST: If P1 = 0 Then for i=1 to 20 If P1 = 0 Then DelayMs(1) else goto NoCmd1 EndIf next i goto Avant EndIf NoCmd1: If P2 = 0 Then .... idem .... goto Arriere GoTo TEST![]()
A+, pat
Le test sur ma carte d'essais est concluant! Pour ce qui est des sorties relais, il a dit:
Rb4,rb5, rb6 et rb7 ça fait 4 relais commandes 2 à 2 avec un retard différent d'une séquence à l'autre.
Les deux premiers collent et 3s après les deux autres ensuite c'est l'inverse mais le ratard passe à 5s. Je vois pas ou est le pb
Par expérience, avec des pull up de 4,7ou 10k, je n'ai jamais eu de pb avec ce genre de montage.
Les essai en temps réels nous dirons la suite.
ok tu as raison.
bizarre ces relais en double.
Sutout qu'il existe des 2RT ou plus..
A+, pat
Oui, mais il doit sûrement avoir une raison pour çail faudrait connaître le câblage exact sur la voiture etc.. Mais la c'est une autre histoire.
Au fait, je vois que tu taquine le Picbasic? C'est pas mal aussi!
c est mon compilateur persoAu fait, je vois que tu taquine le Picbasic? C'est pas mal aussi!
Je doit être le seul et unique utilisateur LOL
A+, pat
C'est toi qui l'a fait?
oui
Compilateur assembleur et interface graphique
ainsi que le logiciel de programation
A+, pat
Excusez du peuc'est sur que tu doit le maitriser à fond!
Tu as prévu la gestion des afficheurs graphiques?
les lcd
hd44780
A+, pat
Non les graphiques genre 128x64.
non , j'ai fait une application un jour sur un afficheur graphique mais les commandes semblaient spécifique à la marque.
Je ne sais pas s il y a un standard...
A+, pat
Oui, les 128x64 à part l'appellation des pins cs1 et cs2 sont tous (ou presque) standardisé! Ha ces chinois![]()
Bonsoir!
Désolée je n'ai pas eu le temps de dessiner le schéma de mon circuit.
J'essaie de faire ça demain.
J'ai mis 4 relais pour commander indépendamment les 4 boîtiers qui eux gèreront la montée et la descente séquentiel.
En cas de soucis tout est indépendant et je trouverais le problème plus rapidement.
Par contre de mémoire sur mon circuit les boutons poussoir devait être cablé sur le +5v pour activer l'entrée du pic.
Mais je peux modifier ça sans soucis.
En tout cas un grand merci à vous.
voila un schéma succinct.
je n'ai dessiné qu'une seule voie pour le relais puisque c'est 4 fois la même chose.
bp1 et bp2 ne sont pas encore monter mais les fils sont précablé. il faut juste que change le branchement des fils, pour les relier a la masse.est ce que je laisse les résistances sur la ligne des BP ou je les enlève puisque les BP font une mise a la masse?
![]()
Tel qu'il est, ton schéma n'est pas bon. Pour les BP, il faut qu'ils commutent à la masse, et sur l'entrée du PIC RB1 et RB2, tu doit mettre une résistance d'environ 4.7K à 10K reliée au +5V. Ensuite, les résistance de polarisation (37,5K) de tes 2N2222A sont trop élevées, tu met des 2,2K ça suffit largement. Je sais pas si ton schéma est complet, mais il manque la patte MCLR (patte 4) relié au +5V par une résistance de 10K. Il manque également les diodes de "Roue libre" sur tes relais (anode vers collecteur, cathode au +5V) tu peux utiliser des 1N4001 ou autres. Avec ce que j'ai, je vois pas autres choses.
Tout projet flou conduit à une connerie précise !
merci pour tes conseils!Tel qu'il est, ton schéma n'est pas bon. Pour les BP, il faut qu'ils commutent à la masse, et sur l'entrée du PIC RB1 et RB2, tu doit mettre une résistance d'environ 4.7K à 10K reliée au +5V. Ensuite, les résistance de polarisation (37,5K) de tes 2N2222A sont trop élevées, tu met des 2,2K ça suffit largement. Je sais pas si ton schéma est complet, mais il manque la patte MCLR (patte 4) relié au +5V par une résistance de 10K. Il manque également les diodes de "Roue libre" sur tes relais (anode vers collecteur, cathode au +5V) tu peux utiliser des 1N4001 ou autres. Avec ce que j'ai, je vois pas autres choses.
je vois que j'ai mal été renseigné par mon collègue..
j'ai fait fait les modifications que tu m'a recommandé.
les R de polarisation et la R de 10k a la patte 4 du pic
les diode de roue libre sont présente sur mon circuit (ce sont d’ailleurs des 1n4001)mais je ne les ai pas dessiné sur le schéma.
il n'y a que pour les entrée ou je ne sais pas quoi faire suite au commentaire de Forhorse.
dois je faire comme tu dis?
si oui, si ca ne te derange pas, peut tu faire un petit schéma car j'ai un doute sur la façon de mettre le BP.
Il manque aussi, je ne le répèterai jamais assez je crois bien, les DECOUPLAGES d'alimentations du µC !!
La partie invisible reste la qualité du câblage de la carte, quand il y a des relais et pas de découplage le résultat est presque toujours le même: ça ne fonctionne pas ou très mal (pas sur la table du labo mais dans l'environnement réel -> voir les lois de Murphy associées au dit phénomène).
Il n'y a pas que ça qui manque.
Toute entrée non reliée doit être mise en entrée (par soft) et reliée à la masse à travers une 100K.
Ca aussi on le voit rarement fait, même par des pros d'ailleurs....
merci pour tes précision hulk.
par contre la je suis dépassé....Il manque aussi, je ne le répèterai jamais assez je crois bien, les DECOUPLAGES d'alimentations du µC !!
La partie invisible reste la qualité du câblage de la carte, quand il y a des relais et pas de découplage le résultat est presque toujours le même: ça ne fonctionne pas ou très mal (pas sur la table du labo mais dans l'environnement réel -> voir les lois de Murphy associées au dit phénomène).