Petit site pour ceux qui bricolent en électronique en général et sur les PICAXES en particulier. Les PICAXES sont des microprocesseurs (PIC de Microship) programmables en BASIC. Pleins de qualités, pas chers, ultra faciles à programmer. Tout (ou presque) est sur le site du distributeur Gotronic (voir les liens). Les pages seront ajoutées ou modifiées petit à petit. Dans le but d'améliorer ce blog, communiquez moi vos remarques et les erreurs que vous pouvez constater. Pour me contacter: Envoyez un mail à l'adresse : mag1mic@free.fr . Tout message reçoit une réponse Pour retourner au menu, Cliquer sur "LISTE DES PAGES", ici ou en haut de la colonne de gauche Pour laisser un message, allez dans le "LIVRE D'OR" Bonne visite
Portail coulissant automatique et picaxe
Ce projet est issu d'une discussion assez longue, sur un forum d'électronique que vous pouvez suivre ici.
Le cahier des charges:
Automatisation d'un portail modèle réduit par micro processeur Picaxe.
Commande par poussoir donnant la séquence: Ouverture/Arrêt/Fermeture/Arrêt/Ouverture.
Fermeture automatique après temporisation.
Réouverture automatique en cas de détection d'obstacle par cellule infra rouge.
Réouverture automatique en cas de freinage moteur avec sensibilité réglable.
Signalisation lumineuse du mouvement par voyant clignotant.
Le fonctionnement manuel est prioritaire sur le fonctionnement automatique.
Le schéma:
Commentaires:
Le microprocesseur est un 20M2, il se programme sur site avec un PC et un câble série ou un cordon adaptateur USB. Le moteur est commandé par deux relais miniatures DIL16 6 volts. Deux "fin de course" NO, un contact momentané suffit à arrêter le moteur. La commande par poussoir génère une interruption et un changement l'état à tout moment. La commande manuelle est prioritaire sur l'automatisme. Elle modifie l'état suivant une séquence prédéfinie:
Ouverture / Arret / fermeture / Arret / Ouverture Sans intervention manuelle, la fermeture est automatique. La barrière IR est composée d'une diode émettrice IR333C et d'un capteur TSOP34838, accordé sur 38kHz. La résistance R, dans le retour à la masse du moteur mesure le courant, elle doit être ajustée pour relever une tension d'au moins 100 mV en fonctionnement normal. Le seuil de sensibilité dépend du moteur utilisé, il est réglé par un potentiomètre. Si aucun obstacle n'est détecté par la barrière, le portail se referme automatiquement après une temporisation. Deux options de temporisation: (le programme accepte les deux options)
inter + 10k (en rouge sur le schéma). Inter fermé, la temporisation est fixée par le programme. Inter ouvert, pas de fermeture automatique.
potentiomètre (en noir).
Curseur à la masse (0 volt), idem inter fermé, temporisation fixe. Curseur à 5 volt, idem inter ouvert, pas de temporisation. Entre les deux, temporisation réglable de 0,5 à 20 secondes.
Trois alimentations régulées à partir d'une source 12 volts continus:
5 volts pour le picaxe 6 volts pour les relais Alimentation tension variable pour le moteur.
Le programme: ' Gestion de portail (Mag1 21 02 2013) ' Gestion manuelle par poussoir commande séq : ouverture/arrêt/fermeture/arrêt/ ' Fermeture automatique temporisée ' Réouverture auto en cas d'obstacle par barrière IR ' Réouverture auto en cas de surcharge moteur (seuil réglable) ' Il y a deux programmes en temps partagé ' La commande est gérée par interruption
#picaxe 20M2 'directive spécification picaxe 20M2
start0: 'Premier programme en temps partagé
'****** Nomination des ports entrées ********************** symbol cmd = pinC.5 'commande sur pin interruption symbol fcf = pinC.6 'fin de course fermeture symbol fco = pinC.7 'fin de course ouverture symbol sensib = B.5 'pot lecture seuil sensibilité symbol courmot = B.6 'lecture courant moteur symbol alert = pinC.0 'lecture état barrière IR symbol lecpot = C.1 'ADC ou Fixe 1 = fermeture auto ; 0 = manuelle
'******* Nomination des ports sorties ******************* symbol LedR = B.0 'sortie flash ' symbol EmetIR = B.1 'sortie Led IR symbol ouv = B.2 'commande moteur ouverture symbol ferm = B.3 'commande moteur fermeture
'******* Nomination des variables *************** '******** Variables type bit (1 bit ) ************ symbol mouv = bit0 'bit état "en mouvement" pour le flash symbol souvre = bit1 'mémo état précédent (1=ouverture; 0=fermeture) symbol obst = bit2 'mémo détection obstacle symbol fermauto = bit3 'mémo fermauto ou manuel '******** Variables type byte (1 octet) ************** symbol etat = b1 'état en cours 1=ouverture; 2=fermeture; 3= arret symbol seuil = b2 'valeur seuil sensib symbol courant = b3 'mesure du courant '********* Variables type word (2 octets) **************** symbol tempo = w13 'lecture temporisation '********************************************************** 'do:loop while cmd=0 'attente pour réglage ADC sur simulateur '******** Initialisation variables ******** low ouv: low ferm: low ledR etat =3 'etat arret à la mise sous tension souvre=0 'memo en fermeture : la 1ère commande sera ouverture pwmout EmetIR, 104, 211 'activation Emetteur IR PWM 38 kHz à 16MHz '******** Interruption sur C.5 niveau haut ********* setint %00100000 ,%00100000 '******** Boucle principale ******** Do ' ************* Réglage temporisation readadc10 lecpot,tempo 'lecture pot. tempo. Donne un nombre de 0 à 1023 if tempo > 1000 then 'pot max, on passe en manuel ou pas de pot C.1 à 5 v fermauto=0 'fermauto =0 càd en manuel elseif tempo <20 then 'automatic sans pot C.1 est à 0 fermauto=1 'fermauto =1 càd automatique tempo=4000 'tempo fixe 4 s else 'pot position médiane fermauto=1 'donc automatique, avec tempo= 20*tempo 'réglage tempo 0,4s à 20s endif ' ********** Réglage sensibilité obstacle readadc sensib, seuil 'lecture du seuil moteur ' ********** select etat 'aiguillage suivant variable "etat= 1, 2, 3, 4" case 1 ' etat =1 = ouverture mouv=1 'pour le flash souvre=1 'mémo état obst=0 'reset mémo obstacle IR do 'boucle ouverture low ferm : high ouv 'positionnement des relais ouverture loop while fco=0 and etat=1 'tant que fco ouvert et pas de changementd'état if etat<>3 then 'si arret par commande, on y reste etat=4 'sinon on passe en etat =4 : fermeture auto temporisé endif
case 2 ' état = 2 = fermeture mouv=1 'pour le flash souvre=0 'mémo état do 'boucle fermeture readadc courmot, courant 'lecture courant moteur if courant > seuil then 'si dépassemnt seuil obst=1 'mémo détect obstacle etat=1 'positionnement état ouverture endif if alert=1 then 'détection alert IR etat=1 'position état ouverture endif low ouv: high ferm 'on ferme! loop while fcf=0 and etat=2 'tant que fcf ouvert et pas de changement d'état if alert=0 and obst =0 then 'pas de problèmes ? etat =3 'alors,positionnement état arret endif
case 3 ' état =3 = arret ;flash OFF low ouv : low ferm 'arret moteur mouv=0 'arret du flash
case 4 'état = 4 = fermeture automatique ; flash ON low ouv : low ferm 'arret moteur do 'boucle temporisation mini 1 fois pause tempo 'attente loop while alert=1 and etat=4 ' si obstable IR et pas changement état, on boucle if fermauto =1 and etat=4 then 'si automatique =1 et etat 4 etat=2 'fermeture auto else 'sinon etat=3 'arret endif 'fin de if end select 'fin de select loop 'fin de boncle principale
interrupt: 'Ah, on a appuyé sur le bouton !!
do : loop while cmd=1 'attente relachement poussoir select etat case 1,2,4 'on est en état 1,2 ou 4 etat = 3 'alors passage à l'état 3 (arret)
case 3 'on est à l'arret if souvre=1 then ' état précédent= ouverure etat=2 ' alors on passe en fermeture else etat=1 ' sinon, c'est le contraire endif end select setint %00100000 ,%00100000 'reset de l'interruption return ' *************************************************************************** start1: 'Second programme en temps partagé uniquement pour le flash Do if mouv=1 then 'si mouvement high ledR 'ça pause 500 'cli low ledR 'gno pause 500 'te ! endif loop
La réalisation. Le circuit proposé tient sur une plaquette véroboard de 5 x 10 cm. A ce propos, le logiciel gratuit TCI 4 pour la réalisation de circuits imprimés peut aider à la réalisation de circuit sur véroboard et la réalisation du circuit est décrite dans la page "circuit veroboad avec TCI4".
Et la réalisation du demandeur, avec en prime une démonstration du réglage de la sensibilité moteur: