Index
Le 14 thermidor an CCXXXIV

Caméra solaire 4G, débuggage et fin

Avec le matériel correct et le firmware qui va avec, j'ai un truc qui marche pas trop mal, mais la batterie ne tient vraiment pas, il faut juste régler ce dernier problème. Mais... on entend souvent en dev que 80% du travail prend 20% du temps, et les 20% restants prennent 80% du temps.

Il a donc « juste » un dernier problème. Les MOSFET (ici des AO3400 SMD assemblés directement par JLCPCB, mais c'est pareil que pour les IRLZ34N originaux) sont de type N, donc coupent/font passer le courant entre les microcontrôleurs et la masse, et donc ne suffisent pas vraiment : quand ce circuit est coupé, une partie du courant passe par d'autres chemins et donc l'ESP32 et le modem utilisent finalement toujours du courant.

J'ai d'abord « résolu » le problème en utilisant des panneaux solaires et des batteries largement surdimensionnées, 12 000 mAh pour ce genre de petit appareil c'est plus qu'exagéré, mais dans un premier temps ça a suffi. Jusqu'à ce qu'on arrive à l'hiver et que même un gros panneau solaire ne suffise plus, la batterie se déchargeant pendant la nuit.

Après encore de nombreux mois à tester des trucs sans comprendre, j'ai fini par me procurer un multimètre de qualité (parce que oui, jusqu'ici j'utilisais mon vieux multimètre Carrefour dont un fusible a déjà fondu) et réussir à diagnostiquer le problème.

Après avoir lu un peu, je me rends compte qu'il faut utiliser un MOSFET de type P et l'utiliser pour contrôler le côté + de l'alimentation des microcontrôleurs, un AO3401 donc. Et j'en profite pour ajouter des condensateurs comme indiqué pour stabiliser l'alimentation du modem, et quelques résistances.

Les plus observateurs d'entre vous auront remarqué que j'ai oublié de connecter les nRF52840 à la batterie, donc rien ne marche. Heureusement c'est facile à corriger en soudant un fil.

Et ceux qui s'y connaissent mieux que moi en électronique auront peut-être déjà aussi remarqué que ça ne peut pas marcher, encore moins que la version précédente. En fait, pour activer un MOSFET de type P ce qui compte c'est la différence entre la source (le côté positif) du MOSFET et la grille (« gate » en anglais) donc avec une batterie lithium-ion dont la tension va en gros de 3,5V à 4,2V et des GPIO dont la tension est de 3,3V eh bien... on ne peut pas l'ouvrir complètement.

Il m'a donc fallu encore quelques mois pour comprendre ça (eh oui, j'ai d'autres choses à faire dans la vie donc tout prend longtemps) et à ce point-là, la construction de la maison était imminente et je n'avais plus vraiment le temps de faire faire un nouveau PCB, j'ai donc bricolé comme je pouvais.

J'avais des AQV252GA qui traînaient, ce sont des photorelais qui agissent aussi bien comme des MOSFET de type N ou P mais qui ne peuvent pas laisser passer assez de courant pour alimenter le modem (qui a besoin de plusieurs ampères par moments). J'ai donc placé un peu à l'arrache un AQV252GA en amont de l'AO3401, contrôlé par le nRF52840. L'AQV252GA connecte ou pas l'AO3401 à la masse.

Et ça marche. Le prochain PCB utilisera un AO3400 pour contrôler l'AO3401. Mais puisque j'ai un truc qui marche (trois en fait) je n'ai pas vraiment de raison de commander des PCB corrigés. Si je dois en faire de nouveaux, j'essaierai surtout d'utiliser un autre module moins cher que celui de Seeed pour l'ESP32. Les autres sont bien plus gros, mais ça devrait passer sans trop de problème. Et je passerai à KiCad.

En fait, la solution idéale serait d'utiliser un commutateur de puissance dédié à ce genre d'application, mais il n'y en a pas dans la liste des composants que JLCPCB assemble pour pas cher (les Basic & Promotional Extended Components) et il n'y en a pas vraiment non plus de disponible au format traversant (avec des pattes qu'on peut passer à travers un trou pour les souder) et je ne me sens pas capable de souder des composants SMT à la main. Donc la solution pratique et pas chère reste deux MOSFET en série.

La caméra elle-même n'est pas belle à voir, bon déjà celles qui marchent bien sont sur le terrain et je ne les ai pas prises en photo avant. Mais celle que j'ai gardé pour faire des tests est ici :

Celle-ci utilise un modem Simcom A7670 (parce que j'en avais un, mais plus de Quectel EC200A-EU) qui ne prend que du 5V donc j'ai dû bricoler pour ajouter un petit convertisseur boost pour l'alimenter. Il y a aussi divers fils pour le photorelais intercallé entre les GPIO du nRF52840 et les connecteurs qui vont à l'AO3401A, plus quelques autres fils pour remplacer les traces grillées par les divers courts-circuits qui ont pu avoir lieu au cours de la vie de ce pauvre PCB (avec du lithium-ion ça va vite ! surtout quand on n'est pas assez propre et qu'on laisser trainer des fils). Les deux autres sont légèrement plus propres, mais pas de beaucoup pour être honnête.

J'ai aussi expérimenté ici avec un objectif avec une meilleure qualité optique théorique (la caméra OV5640 est équipée d'une monture à vis de pas M12) mais le résultat est quasiment le même qu'avec l'objectif d'origine, bien plus petit. La qualité est probablement limitée par le capteur lui-même, à ce stade, ou peut-être aussi par le filtre infrarouge qui est probablement responsable de la teinte qui n'est pas uniforme sur l'image. Je pense que le filtre (fixé à la base de l'objectif) est trop loin du capteur: il est placé à l'endroit où les rayons sont les plus obliques finalement, donc là où ils sont les plus affectés par la réflexion spéculaire sur la surface du filtre. J'essaierai plus tard en le mettant soit devant l'objectif, soit juste devant le capteur.

Ce que je veux faire maintenant, c'est partir de cette base pour faire une caméra qui filme à l'intérieur d'un nichoir pour oiseaux. Pour ça j'ai déjà remplacé la caméra de base par une caméra avec un filtre infrarouge amovible (sur commande, avec les fils rouge/noir connectés à l'arrache par un gros domino, il faudra que j'ajoute un connecteur sur le PCB) et j'ai prévu des fils pour alimenter une LED infrarouge pour éclairer l'intérieur du nichoir au moment de la prise de photo. Il me faudra aussi un object avec un plus grand angle. Mais ce sera pour une autre fois, une autre année peut-être.

En bonus, un PCB plus ou moins survivant (mais avec les MOSFET grillés, donc plus vraiment utilisable).

@contact