Détecteur/déclencheur maison à base d'arduino

Achat, vente, conseils et discussions sur le matériel du chasseur d'orages.
Appareils photo, caméras, trépieds, cellules, etc...
Répondre
Florent Pin
Habitué
Messages : 72
Enregistré le : ven. juil. 31, 2015 19:31
Localisation : Orléans

Détecteur/déclencheur maison à base d'arduino

Message par Florent Pin »

Bonjour :)

Comme indiqué dans mon message de présentation, j'ai fait un détecteur de foudre maison à base de microcontrôleur (plateforme arduino) et j'écris donc ce post pour partager cela.

L'idée était de faire quelque chose de simple, accessible techniquement et bas coût pour qui a déjà un minimum de matériel (fer à souder, pinces etc.) mais sans être franchement équipé pour l’électronique (ce qui est mon cas). On trouve dans le commerce des appareils qui vont entre 70 et 200€ d'après ce que j'ai vu (s'il y a moins cher, n'hésitez pas à me le dire ^^ ). Ce montage revient à une vingtaine d'euro de composants uniquement (ça peut vite grimper bien sûr si on a besoin d'équipement) en s'arrangeant pour optimiser les frais de port en commandant sur ebay ou aliexpress par exemple.

Techniquement le principe est très simple, un montage détecteur est réalisé avec un phototransistor et une résistance. Plus le phototransistor reçoit de lumière, plus il produit de courant. Ce courant traversant une résistance, il en augmente la tension à ses bornes. On utilise alors un microcontrôleur qui vient inspecter en permanence la tension aux bornes de cette résistance. Si un changement de tension brusque est détecté, alors le microcontrôleur déclenche l'appareil.
Le déclenchement de l'appareil est réalisé par un optocoupleur qui est une sorte d'interrupteur commandé et qui permet une isolation électrique complète entre 2 parties d'un circuit. Cela permet de protéger l'appareil photo contre un quelconque problème électrique.

Voici une vue du montage sur breadboard et le circuit complet :
(cliquer dessus pour une version plus large)

Image

Image

En terme de performance, cela fonctionne très bien et la commande de déclenchement se fait en environ 1ms, ce qui est faible devant le temps de latence de l'appareil photo.
La résistance en série avec le phototransistor détermine la sensibilité. J'ai donc mis 2 résistances l'une de faible valeur pour le jour et une résistance plus importante pour la nuit. L'interrupteur permet de choisir la sensibilité. Un potentiomètre aurait été plus flexible mais je voulais un boitier compact sans protubérances. Donc j'ai préféré un petit interrupteur sur la tranche qu'un gros bouton sur le dessus. Et finalement, ça marche très bien comme cela :)

Afin de contrôler le bon fonctionnement du déclencheur j'ai ajouté 2 leds. Une verte qui flashe toutes les 2 secondes lorsque l'appareil est en marche. Une rouge qui s'allume brièvement au déclenchement de l'appareil photo mais également lorsque le détecteur est saturé (il faut alors changer de sensibilité).

Voila à quoi ça ressemble un fois intégré :

Image

Image


D'un point de vue plus général, l'utilisation d'un microcontrôleur n'est pas optimale, on pend un char d'assaut pour écraser une mouche, mais cela simplifie le montage le rend accessible à un plus large public et plus ludique également grâce à la souplesse qu'apporte la programmation. Le microcontrôleur est bon à tout faire mais ne le fait pas forcément de la meilleure façon. Ainsi un montage à base d'électronique analogique à base de filtre passe-bas et comparateur sera plus réactif et beaucoup plus économe en énergie. J'en arrive donc au principal défaut de ce montage : la consommation ! :oops: J'utilise une pile 9V pour l'alimenter et j'estime l'autonomie à environ 10h, ce qui n'est pas top du tout ^^ (entre 2 à 5 sorties ??)

J'avais initié ce bricolage sans penser à la consommation, mais heureusement il y a de nombreuses pistes à explorer pour la réduire car rien n'est optimisé dans ce sens. Utiliser une carte arduino plus économe voire un microcontrôleur seul, utiliser des modes de veille dans la programmation, désactiver des composants inutiles de la carte et du microcontrôleur, adapter la source de tension pour éviter le gaspillage d'énergie dans le régulateur qui fourni du 5V à la carte. Avec tout ça, j'ai bon espoir de multiplier l'autonomie par 10 ou 20 dans une prochaine version.

Voici un lien vers le fichier fritzing d'où sont issus les 2 premiers schémas et qui contient également le code : https://drive.google.com/uc?export=down ... WJRVUo0WDg

Le code utilisé pour prodrammer l'arduino se trouve en bas de ce message, il est complètement annoté pour une meilleur compréhension et assez simple.


Si vous avez des questions ou des remarques n'hésitez pas. Les critiques, même négatives sont les bienvenues :)
Le fichier fritzing peut bien sur être réutilisé et modifié à votre convenance.


Code : Tout sélectionner

#include <MsTimer2.h>                //MsTimer2 library allows using timer2 interrupts easily and avoids using delay() function

/*


 created June 2015
 modified
 by Florent Pin

 */


const int triggerPIN=12;                //Digital pin 12 connected to an optocoupler that will triggerPIN the camera shutter
const int prefocusPIN=11;               //Digital pin 11 connected to an optocoupler that will triggerPIN the camera prefocusPINed mode
const int photoTPIN=7;                  //photoTPINransistor connected (with a resistor) to Analog input A0
const int blinkerPIN=9;                //Blinking green led on pin 10 (Power ON LED)
const int SatLedPIN=8;                  //Saturation & triggerPIN indicator (red LED)

int sensorValue = 0;                   //value read from the photoTPINransistor
int prevSensorValue = 0;               //value read from the photoTPINransistor at the previous iteration

int j;
volatile boolean blinker = LOW;        //State of the blinking green LED


void setup() {  
  pinMode(triggerPIN,OUTPUT);
  pinMode(prefocusPIN,OUTPUT);
  pinMode(SatLedPIN,OUTPUT);
  pinMode(blinkerPIN,OUTPUT);
  
  digitalWrite(triggerPIN,LOW);
  digitalWrite(prefocusPIN,HIGH);    //Camera prefocued mode enable permanently
  digitalWrite(SatLedPIN,LOW);
  digitalWrite(blinkerPIN,LOW);
  
  MsTimer2::set(2000, flash);        //ISR flash launched after 2000ms
  MsTimer2::start();                 //Enable Timer2 interrupts 
}


void loop() {
  sensorValue = analogRead(photoTPIN);                        // read voltage from phototransistor

  if(sensorValue>990){                                        //switch on a red LED if detector is almost saturated
    digitalWrite(SatLedPIN,1);}
  else{
    digitalWrite(SatLedPIN,0);}  
    
  if(sensorValue-prevSensorValue>3){                          //detection threshold
    digitalWrite(SatLedPIN,1);                                //switch on a red LED when the shutter is triggered
    digitalWrite(triggerPIN,HIGH);                            //trigger the camera shutter
    delay(300);
    digitalWrite(SatLedPIN,0);                                //switch off red LEd
    digitalWrite(triggerPIN,LOW);    
  }
  prevSensorValue=sensorValue;                                //save sensor value for comparison with the next measurement
}


void flash(){                                                //Interrupt Service Routine triggered by Timer2
  blinker= !blinker;                                         //Toggle blinking LED state
  digitalWrite(blinkerPIN,blinker);                         
  if(blinker){                                               //change next LED state toggle delay for getting à 1/100 duty cycle
    MsTimer2::set(20, flash);
    MsTimer2::start();
  }
  else{
    MsTimer2::set(2000, flash);
    MsTimer2::start();
  }
}
Modifié en dernier par Florent Pin le lun. mai 10, 2021 20:10, modifié 2 fois.

Avatar du membre
Florian L
Ancien
Messages : 1317
Enregistré le : ven. juin 11, 2010 20:04
Localisation : Loire-Atlantique (44)
Contact :

Message par Florian L »

très bonne initiative bien documentée.

Julien A avait aussi réalisé un montage à base d'arduino :

http://www.purebasic.fr/french/viewtopi ... 3&start=15

continue ainsi.

A+
Matériel : Canon 500D + 18-55 IS + 70-300
* Album photo Flickr

Florent Pin
Habitué
Messages : 72
Enregistré le : ven. juil. 31, 2015 19:31
Localisation : Orléans

Message par Florent Pin »

Merci :)

J'avais parcouru le web à la recherche d'autres montages, mais je n'avais pas vu celui-là très simple et qui fonctionne sur le même principe.

J'ai opté pour le phototransistor car j'avais peur que le temps de réponse de la photo résistance soit un peu long.

Je reposterai ici quand j'aurai fini la version 2 qui aura une autonomie correcte.

Gilles Chabert
Habitué
Messages : 69
Enregistré le : jeu. août 14, 2014 20:25

Message par Gilles Chabert »

bonjour
je me suis equipé recement d'un nikond3300 et je serai interessé par un detecteur de foudre :) vu le cout de celui ci qui a l'air de bien fonctionné ,j'aimerai savoir si il es possible d'en avoir un :P ?

Florent Pin
Habitué
Messages : 72
Enregistré le : ven. juil. 31, 2015 19:31
Localisation : Orléans

Message par Florent Pin »

Gilles Chabert a écrit :bonjour
je me suis equipé recement d'un nikond3300 et je serai interessé par un detecteur de foudre :) vu le cout de celui ci qui a l'air de bien fonctionné ,j'aimerai savoir si il es possible d'en avoir un :P ?
Bonjour Gilles,

Qu'entends-tu par "en avoir un" ?
Si la question était : "est-ce que tu peux en fabriquer d'autres pour les vendre à l'unité?" Pour le moment je ne pense pas pouvoir y répondre positivement.

Le but de ce partage était plutôt de montrer qu'on peut s'en fabriquer un assez facilement sans être expert en électronique et favoriser le do it yourself.
De plus je suis très mal équipé (notamment pour ce qui est mécanique) et la qualité finale de l'assemblage serait assez médiocre avec beaucoup de temps passé dessus (trou rectangulaire pour l'interrupteur par exemple). Je m'en satisfait pour un bricolage perso, mais je ne livrerai pas ça à quelqu'un qui me paye pour ça. :roll:
Et enfin, pas mal de composants sont sourcés sur ebay en chine ou HK, donc il faut compter 1 mois d'appro voire 2 mois s'il y a un raté, ce n'est pas trop gérable pour un produit à livrer.

Bref tout ça pour dire que ce n'est qu'un bricolage perso et je t'encourage à tenter l'essai si tu a déjà un fer à souder et un multimètre.

Je peux fournir plus d'explications/aide si besoin, ou le sourcing des composants à tarif raisonnable si besoin. N'hésite pas si tu as des questions ! :)

PS : Je bricole une version 2 qui aura une meilleure autonomie que celui-ci (probablement autour de 100h au lieu de 15-20h actuellement) et dont je publierai les plan ici quand il sera finalisé et testé.

PS2 : en plus je n'ai pas de boitier Nikon donc je serais incapable de tester le montage sur boitier Nikon ^^

Gilles Chabert
Habitué
Messages : 69
Enregistré le : jeu. août 14, 2014 20:25

Message par Gilles Chabert »

en tout cas merci pour ces renseignements ,je vais peu etre essayé de m'en bricoler un :wink:
c'est possible que je te demande des renseignement plus precis sur le montage :wink:
sinon a l'achat quel appareil me conseil tu ? et chez qui
car j'avoue que je c'est pas vraiment ou me dirigé pour l'achat de detecteur de foudre :?

Florent Pin
Habitué
Messages : 72
Enregistré le : ven. juil. 31, 2015 19:31
Localisation : Orléans

Message par Florent Pin »

D'accord, pas de soucis pour les renseignements, n'hésite pas.

Pour les détecteurs existants je ne pourrai pas te renseigner ne les ayant pas testés et débutant moi-même dans la photo d'orage.

Tu peux regarder les sujets existant traitant de ces appareils ou ouvrir un topic dédié pour t'aider à faire un choix grâce aux expériences de chacun.

JACKY
Nouveau membre
Messages : 2
Enregistré le : dim. janv. 24, 2021 12:23

Re: Détecteur/déclencheur maison à base d'arduino

Message par JACKY »

bonjour, je suis en cours de faire votre Détecteur/déclencheur maison à base d'arduino ,mais le probleme suivant viens des codes cela ne fonctionne pas ,si vous pouvez m'aider

arduino nano mega 328p
merci a vous

Florent Pin
Habitué
Messages : 72
Enregistré le : ven. juil. 31, 2015 19:31
Localisation : Orléans

Re: Détecteur/déclencheur maison à base d'arduino

Message par Florent Pin »

Bonjour Jacky,

Désolé pour la réponse tardive, c'est vrai qu'avec le couvre-feu, j'ai un peu mis de coté la chasse aux orages ! ^^

Qu'est-ce qui ne marche pas exactement ?

Florent Pin
Habitué
Messages : 72
Enregistré le : ven. juil. 31, 2015 19:31
Localisation : Orléans

Re: Détecteur/déclencheur maison à base d'arduino

Message par Florent Pin »

JACKY a écrit :
mar. janv. 26, 2021 11:01
bonjour, je suis en cours de faire votre Détecteur/déclencheur maison à base d'arduino ,mais le probleme suivant viens des codes cela ne fonctionne pas ,si vous pouvez m'aider

arduino nano mega 328p
merci a vous

En faite je viens de voir que le code que j'avais posté présente plein de caractères bizarres, probablement un problème de format de caractères (peut etre que cela s'est produit à la migration du forum).
Je vais essayer d'éditer mon 1er message pour corriger le problème...

Edit : voila c'est réparé ! :)

JACKY
Nouveau membre
Messages : 2
Enregistré le : dim. janv. 24, 2021 12:23

Re: Détecteur/déclencheur maison à base d'arduino

Message par JACKY »

bonjour, j'ai réalisé votre montage ,mais je voudrai etre sur de cela :

la sortie des deusx opto TL621 , font un contact (comme un inter) ou donne une tension , je ne vois pas comment controller cela.

j'utilise un canon 1300d ,(qui et similaire au votre ) avec une telecomande a distance ( REF RS -60E3) (CANON) part files , et en controlant celle ci ,j'ai rmarqué qui avez deux contacts (inter superposés) .
pouvez vous m en dire plus a ce sujet ,je ne voudrai pas mettre hs mon appareil .
merci a vous de répondre :jacky

Florent Pin
Habitué
Messages : 72
Enregistré le : ven. juil. 31, 2015 19:31
Localisation : Orléans

Re: Détecteur/déclencheur maison à base d'arduino

Message par Florent Pin »

JACKY a écrit :
mar. nov. 02, 2021 10:03
bonjour, j'ai réalisé votre montage ,mais je voudrai etre sur de cela :

la sortie des deusx opto TL621 , font un contact (comme un inter) ou donne une tension , je ne vois pas comment controller cela.

j'utilise un canon 1300d ,(qui et similaire au votre ) avec une telecomande a distance ( REF RS -60E3) (CANON) part files , et en controlant celle ci ,j'ai rmarqué qui avez deux contacts (inter superposés) .
pouvez vous m en dire plus a ce sujet ,je ne voudrai pas mettre hs mon appareil .
merci a vous de répondre :jacky
Pour les optos, oui il faut voir ça comme des interrupteurs commandés. Si on leur apporte un signal en entrée (via l'arduino) alors il ferme le circuit de sortie. Si pas de tension en entrée, alors circuit ouvert en sortie. ça permet d'isoler électriquement l'appareil photo du reste du montage. ça évite les boulettes.

Pour la télécommande, je n'ai pas compris ta question. Que veux-tu dire par 2 contacts et inter superposés ?

Répondre