permier jet

This commit is contained in:
2026-05-05 18:23:15 +02:00
parent a9bed95bc0
commit ed35cbd9ec
16 changed files with 234 additions and 3 deletions
+234 -3
View File
@@ -391,10 +391,241 @@ Une des améliorations que je ferais si je faisais une V3, c'est de ne pas assig
Sur la V2 du PCB il a été choisi de ne plus laisser toutes les pins à disposition sur le bord du PCB car à l'exception de 2 GPIO, tout était déja utilisé pour la carte elle même.
=== Fabrication et problèmes V1
=== Fabrication et problèmes
==== Montage PCB 1
#figure(
grid(
columns: 2, // 2 means 2 auto-sized columns
gutter: 2mm, // space between columns
image("/assets/PCB_1.jpeg", width: 100%),
image("/assets/PCB_1_FINAL_FORM.jpeg", width: 100%),
),
caption: "Reception et montage du premier PCB"
)
Le montage s'est plutôt bien passé malgrés le fait qu'il n'y aie qu'une seule BOM. Cela veut dire que si je perdais un composant j'étais fichu.
On peut voir que le PCB est assez grand et il a la finition ENIG car le pas de mon MCU est trop fin (0.4mm et eurocircuit oblige la finition OR en dessous de 0.5mm)
Ce qui est bien c'est que la stratégie de deux PCB en un a fonctionné sans accroc (avec la seule limite qu'il vaut mieux souder les composants through hole APRES avoir separé les PCB sinon on peut se retrouver à ne pas avoir la place pour retirer les morceaux de PCB qui tiennent l'ensemble).
Mais maintenant que on a un PCB monté on peut directement passer aux problèmes :)
==== Problèmes majeurs
Le premier problème est que en voulant alimenter le PCB on peut voir qu'il y a un short quelque part. Le GND et le VBATT ne semblent pas être bridgé nul part mais la consommation du circuit est toujours à la limite de ce qu'on lui donne.
Il a été découvert que le problème était sur le rail 12V. L'inductance choisie était bien trop petite (d'ailleurs elle fait vraiment ridicule comparée aux autres composant du rail 12V qui sont énormes)
De ce que j'ai compris, une inductance beaucoup trop petite peut donner l'impression d'un short au niveau de l'alimentation car cela fait que à chaque cycle du buck le courant augmente de manière assez dramatique et le courant de saturation de la self est largement dépassé ce qui la rend encore plus faible en UH et donc elle se comporte presque comme un cable normal ce qui empire encore la situation.
Ce problème a pu être contourné en désoudant la patte enable du buck 12V et la relier avec un câble à l'entrée de la batterie ce qui le désactive.
Cela veut dire que dans la version 1 du PCB le rail 12V est inopérant et qu'on ne peut donc pas brancher directement de ventilateur dessus.
Avec le buck 12V desactivé, le circuit a pu être connecté à mon laptop en utilisant le port USB-C.
Je pouvais voir le RP2040 apparaitre dans mon explorateur de fichier ce qui est super, mais quand j'uploadais du code dessus il réaparaissait dans mon explorateur juste après alors qu'il est sensé lancer le code que je lui ai donné.
J'ai localisé le problème, c'est que le footprint de la flash a été raté... Deux pins ont été interchangées et donc le MCU ne pouvait pas écrire de code ou booter dessus.
Cela a été règlé de la manière la plus stressante pour les yeux de tous les temps :
#figure(
image("/assets/GodDidNotExcpectThat.jpeg", width:60%),
caption: [La simple existance de cette chose prouve que dieu n'existe pas ou qu'il nous abandonné],
)
Mais cela fonctionne ! Je me suis aussi rendu compte que comme j'avais choisi une flash différente que celle proposée par la fondation Raspberry, je devais changer ma chaine de compilation pour que les programmes soient compatibles avec une flash générique.
Après avoir règlé ce détail il était alors possible d'uploader du code sur le microcontrolleur et qu'il l'execute ! (Youpi)
J'ai aussi des doutes sur la capacité thermique des minuscules drivers de leds qui n'ont pas de moyen d'être refroidis car ils ne disposent pas de pad thermique.
==== Petits problèmes
Ici je vais parler des problèmes qui ne sont pas critiques en faisant une liste exhaustive.
+ Mauvais choix de resistances pour le filtre PWM des drivers de leds (10k remplacés par des 1k pour que les leds puissent s'eteindre quand le MCU n'envoie pas de PWM)
+ Manque d'une pulldown de 4.7kR sur la pin ADJ des drivers de led ce qui fait un effet de flash au démarrage en attendant que le MCU démarre.
+ Le potentiometre est dans le mauvais sens...
+ Le BMS est mal designé et a brûlé
+ Les trous pour les vis du radiateur ne sont pas exactement aux bons endroits
Le problème du BMS est la pin regSRC qui sur certains diagrammes du BMS est branchée directement sur VBAT alors que ce n'est en réalité pas possible.
==== Conclusion
Sur cette version du PCB, il y a pas mal de pétouilles, mais j'ai réussi à en règler la majorité avec des réparations de fortune et il a fini par être fonctionnel en grande partie.
Les seules features qui lui manquent vraiment sont le 12V pour le ventilateur et un BMS.
C'est d'ailleurs sur ce PCB que se sont faits presques tous les tests vu que la V2 est arrivèe très tard dans le dévelopement du produit et que ses problèmes ont mis beaucoup de temps à être règlés donc en soit la V2 ne vient pas car la V1 est un échec.
==== Montage PCB V2
#figure(
grid(
columns: 2, // 2 means 2 auto-sized columns
gutter: 2mm, // space between columns
image("/assets/PCB_2.jpeg", width: 100%),
image("/assets/PCB_2_ASSEMBLED.jpeg", width: 100%),
),
caption: "Reception et montage du second PCB"
)
Ce n'est peut-être pas forcément très évident en image comme ca, mais la V2 est bien plus compacte que la première itération et elle est également bien plus dense.
Le but de ce design était déja de règler les problèmes de la première révision mais aussi d'y ajouter des choses et surtout de tenter de faire un design plus résilient au niveau thermique.
Le montage s'est bien passé avec cependant pas mal de ponts à réparer. Cette fois, je n'ai pas du être assez précis sur le placement de mon MCU et de mon USB ce qui a posé pas mal de problèmes.
Et directment en branchant le circuit avec le port USB... patatra rien ne marche
==== Les peripéties (Pas obligé de lire)
Le debugging du premier soucis a été assez rapide, j'ai mis sur la V2 un "power pannel" (un endroit qui regroupe toutes les sources d'alimentations différentes de la carte) ce qui m'a permis de voir que le 5V était bien la et que sur le 3.3V il y avait.... Ah bah 5V aussi...
En gros j'avais pris un boost 5V et non 3.3V ce qui veut dire que sur le rail 3.3 il y avait du 5V ce qui n'est pas bon DU TOUT !!
Ma "chance" fait que seuls deux composants n'étaient pas tolérants à cette tension plus haute étaient mon microcontrolleur et sa flash. Cependant comme je n'avais pas de spare, j'ai du attendre une commande.
En attendant j'ai pu voir que le 14V ne fonctionnait pas et d'ailleurs c'est un problème qui n'a à ce jour pas été résolu. En effet même après révision avec Mr.Berthet mon design semble être correct et mes soudures aussi donc mystère. J'avais prévu de remplacer le chip mais malheureusement il est impossible de retirer l'ancien sans abimer les composants plastiques autout donc je ne sais pas encore comment je vais faire.
Pour règler ce problème de mauvais boost j'ai commandé la version 3.3V et j'ai retiré la version 5V du circuit. En théorie, cela peut encore fonctionner avec l'entrée batterie car un buck 3.3 est dispo sur l'entrée 55V.
Pour ne pas perdre trop de temps j'ai canibalisé un microcontrolleur d'une devboard inutilisée pour le remplacer avec celui qui avait grillé
#figure(
image("/assets/PCB_2_REPAIR.jpeg", width:40%),
caption: [remplacement à l'air chaud du microcontrolleur],
)
Au passage j'ai pu apprendre la soudure et la réparation à l'air chaud. C'est absolument insupportable surtout au début car les composants aiment bien se balader ou pousser tous ceux en proximité et en général en essayant de réparer l'histoire on se brûle les doigts même en utilisant des pinces et on rend le tout pire.
J'ai resoudé non sans mal le microcontrolleur mais j'avais laissé trop d'étain sur le pad thermique et donc quand j'ai chauffé le cpu a glissé et emporté avec lui toutes les capacités adjacentes ce qui a fait un carnage et il a fallu tout désouder et remplacer.
J'ai pu tout remettre tant bien que mal les resistances sauf les 27ohm qui s'étaient faites la malle que j'ai remplacé par des 0603 en stock (d'origine ce sont des 0402) en faisant attention à ce qu'elles ne se touchent pas (foreshadowing)
Ensuite je suis allé tester sur le bench et je n'ai pas réussi à faire fonctionner l'histoire en passant par le buck 3.3V. La consommation paraissait cohérente mais pas de signal sur le laptop quand je le connectais. J'ai lu que c'était potentiellement à cause de la flash encore morte et donc j'ai décidé d'attendre que le remplacement arrive.
Le boost 3.3V et la flash sont ensuite arrivés et je me suis empressés de les installer sur ma carte. Je branche la carte et la... misère toujours pas de signal et la consommation est plus basse qu'elle n'est sensée l'être.
Par acquis de consience je retourne sur le power pannel, et la, l'HORREUR, il y a à nouveau du 5V sur le rail 3.3v...
La je ne vais pas vous mentir l'ambiance est au plus bas. Comment est-ce que c'est possible que j'aie encore tout cramé sur ma carte ? Et bien je vous laisse essayer de devinner vous le lecteur, vous avez toutes les informations nécessaires.
Ca y est? Vous avez compris ? Peut-être même que vous aviez vu depuis le début. En effet, le premier chip était bien un boost 5V, et donc quand j'ai vu une version 3.3V avec le même pinout et les mêmes composants accessoires je me suis dit "Banco" mais je faisais la une erreur. Le chip 5V n'avait pas comme seul problème sa tension de sortie. C'EST UN BOOST PAS UN BUCK !!!! Si vous aviez tické en lisant félicitation sinon vous êtes comme moi à vous frapper le front de désespoir.
La pièce est donc un boost qui veut sortir du 3.3V mais pas avec du 5V en entrée mais du 1.8V et il se trouve que ce modèle quand il recoit une tension plus élevée que sa sortie fixe, il laisse passer l'entrée direct et donc le 5V de l'USB a pu à nouveau se frayer un chemin sur le rail 3.3V.
Je pense que sur mouser j'ai vu voltage regulator et je devais être distrait et j'ai choisi le mauvais type. C'est une terrible erreur mais fondamentalement très bête (qui ne m'arrivera plus jamais) et c'est très frustrant car non seulement je ne pourrai sûrement pas trouver de buck de remplacement 3.3V avec le même pinout et les mêmes composants accessoires, mais en plus j'ai cramé un deuxième MCU et une seconde flash.
J'ai donc remplacé la flash et le MCU une deuxième fois et retiré le boost 3.3V et j'ai ensuite tout branché.
Il se trouve que cette fois mon MCU n'avait pas été parfaitement re soudé et donc il y a eu un petit short qui l'a tué... Je ne pouvais pas voir de pont à l'exterieur mais comme une partie des contacts est sous le chip et qu'il nétait pas parfaitement droit le contact devait se faire dessous.
Donc après avoir remplacé le MCU avec un TROISIEME j'ai pu tout assembler et brancher sans que rien ne crame.
Cependant impossible de communiquer avec le laptop. J'avoue que le desespoir a commencé à pointer le bout de son nez car les réparations actuelles avaient déja pris un certain temps et avaient été plutôt difficiles.
J'ai testé les pistes D+ et D- et elles etaient shortées. J'ai tout verifié, les pins de l'USB le chemin des pistes et je suis même allé jusqu'à désouder les resistances de 27ohm pour être sûr que le problème n'était pas la mais toujours un short.
Mr.Fourquier m'a dit que ca devait être un short SOUS l'USB et effectivement en retirant le port à l'air chaud plus de short...
Sauf que avec la chaleur le plastique qui tient les pins a fondu et donc elles ne pouvaient plus faire contact donc impossible de le remettre.
Il a fallu en commander un autre mais en attendant j'ai pu aller canibaliser un autre port sur une carte defectueuse de l'année passée et la remplacer sur ma carte sauf que désouder à l'air chaud et resouder à l'air chaud détruit le plastique du connecteur et donc il a fallu le retirer à nouveau.
J'ai ensuite testé avec une autre carte en faisant super attention et en soudant à la main au fer sur ma carte le remplacement et la enfin plus de short entre D+ et D-.
Mais toujours aucun signal sur mon laptop... la ca devenait vraiment pénible.
Je vous passe les détails mais en fait en resoudant les resistances 0603 après les avoir retirées pour trouver le short des lignes, je les avais resoudées trop proches, cela shortait donc les lignes mais je ne pouvais pas le voir avec le multimètre plus loin pour une raison inconnue.
J'avais passé commande de 0402 au moment du remplacement du premier MCU heureusement et donc après remplacement je pouvais enfin flasher le firmware sur mon microcontrolleur.
Mais après un flash, impossible de le revoir apparaitre sur le laptop pour en mettre un autre...
Il se trouve que le bouton bootsel était lui aussi defectueux (peut-être à cause de la chaleur des différents changements de flash et de microcontrolleurs) et j'ai pris le bouton du BMS première géneration pour swapper avec le defectueux et cela fonctionnait.
Et voila ! Ouf ! On arrive enfin à avoir une carte sur laquelle on peut flasher un firmware. Cette partie du projet a demandé beaucoup de résilience et ces problèmes ont pris plusieurs semaines à êtres tous réglés mais au final ca marche.
==== Problèmes
Maintenant que on a passé en revue les peripéties du montage de la carte et les dégâts du boost 5V on peut passer en revue les "problèmes" que la V2 du projet comporte.
1. Le boost 5V qui devait être un buck 3.3V
C'est l'erreur la plus importante je dirais et je ne pense pas qu'elle puisse être règlée juste en swapant un composant, mais peut être que si honnêtement je ne me suis pas penché assez dessus pour être sur.
Sans ce problème aucunes des peripéties n'aurait eu lieu à part peut-être celle de l'USB C à replacer.
2. Le boost 14V
La c'est effectivement sensé être un boost, pas de piège cette fois, mais malheureusement impossible de trouver quel est son problème à ce jour. Je ne sais donc pas comment le règler à moins d'abimer mon PCB en remplacant le chip original. (Quand je me lancerait dans la Fabrication de la V3 je le ferai)
Cela veut dire que l'écran ne peut pas fonctionner à moins d'ajouter une alim 14V directement sur le circuit mais je n'ai pas pu essayer car j'avais peur qu'en branchant du 14V sur le chip qui laisse passer le 3.3V d'entrée puisse poser problème.
3. Le potentiomètre n'est pas sur une pin analogique
Le RP2040 est vraiment fantastique car il permet de rerouter nimporte quelle pin sur nimporte quelle autre pin SAUF les analogiques. Et j'ai eu la merveilleuse idée d'oublier que le potentiomètre en avait besoin... *facepalm*
4. Parfois les drivers de leds explosent
Alors ! C'est un problème que j'ai rencontré très tard dans les tests et je ne sais pas encore comment exactement le reproduire pour isoler la cause. J'en reparlerai dans les tests mais une fois j'ai envoyé d'un coup la puissance max et ca a fait pêter un des drivers que j'ai du remplacer. Je ne sais pas si c'est à cause de mon layout, si c'est à cause de mon choix de capacitance, de mes drivers eux même ou si c'est simplement le problème de mon protocole de test qui était trop horrible ou juste que les drivers surchauffent
5. Sûrement d'autres choses
En fait je n'ai pas eu le temps de tester toutes les features de la carte et je suis sûr qu'il y a certaines choses qui pourraient être améliorées mais dans son utilisation principale j'ai tout mentionné.
Il se trouve que cette seconde itération, bien que risquée vu qu'elle introduit pleins de nouveaux composants et en change pleins d'autre, est plutôt réussie ! En effet j'ai beaucoup moins de problèmes et la carte est bien plus utilisable que sa grande soeur et clairement il y a une grande amélioration sur presque tous les points. J'en suis donc plutôt content.
=== Tests de puissance
L'alimentation de labo classique ne permet pas de tester la carte à pleine puissance, j'en ai donc une autre qui peut le faire mais je n'ai testé le système à pleine puissance que quelques fois pour des durées plutôt courtes par peur de brûler mon circuit avant la présentation car la quantité de chaleur et de lumière que génère cette carte est véritablement effrayant.
J'ai pu utiliser un thermometre pour mesurer la température de surface des leds et des drivers de leds.
L'installation actuelle est très peu optimale. Les leds ne sont pas vraiment collées, elles tiennent avec l'adherance de la pâte thermique de pc et en plus cette même pâte thermique a une resistance thermique trop élevée. Dans l'idéal on devrait utiliser une epoxy thermique pour les fixer au radiateur, mais je n'etais pas sûr du layout des leds jusqu'à très récemment. Un ventilateur est utilisé et branché au PCB mais les tests se font sur une table et donc il ne peut pas fonctionner efficacement à moins que je le tienne en l'air.
La première chose à noter c'est que la puissance lumineuse est assez indescriptible avec des images ou des môts. C'est éblouissant même à quelques dixaines de watts et la chaleur que ca génère quand on mets sa main dans le rayon de lumière est inquiètant.
C'est assez difficile de faire des tests sans se faire des énormes tâches dans la vision et sans se brûler en essayant d'utiliser le themomètre.
Autour des 80W on peut laisser les LEDS allumées pendant plusieurs minutes sans le moindre problème, leur température monte dans les 70 degrés mais ne monte pas ou très lentement après. Les drivers de leds restent dans les 35 degrés et je pense qu'une partie de cette chaleur vient du rayonnement de lumière des leds.
Au dela de 120-150W on peut voir la temperature des leds monter rapidement à 70 degrés. Ensuite l'augmentation ralentis très fortement mais glisse petit à petit vers les 80 degrés qui est le moment ou j'arrête le test pour éviter d'endommager les leds.
C'est assez impressionnant de voir que à 70 degrés la chaleur se transmet bien dans le radiateur mais simplement pas assez vite. Avec une epoxy je pense que ca aurait suffit.
plus de tests au 200W vont arriver très vite mais le temps a clairement été contre moi avec mon envie de faire 2 versions du PCB
=== Choses à améliorer pour une V3
Il faut absolument que j'ajoute des thermistances SMD autour des drivers pour avoir une idée de leur température et pouvoir réduire leur puissance dans le cas ou il surchaufferaient.
Je dois aussi absolument ajouter un moyen de mettre des thermistances sur les leds et les lire depuis le PCB car dans la situation actuelle je pourrais cramer les leds il n'y a aucune sécurité
Je dois aussi maintenant prévoir comment vraiment agencer une case en 3D autour de la carte. Si j'arrive à faire une V3 aussi compacte que la V2 ca ne devrait pas poser de soucis vu que la carte est plus petite que le radiateur (la V1 en revance dépasse de partout)
Je pourrais utiliser une version du radiateur plus baleze. le constructeur du radiateur actuel fait une version plus grosse :
#figure(
grid(
columns: 2, // 2 means 2 auto-sized columns
gutter: 2mm, // space between columns
image("/assets/A53.png", width: 100%),
image("/assets/A53_2.png", width: 100%),
),
caption: "Utilisation des GPIO sur les deux versions du PCB"
)
=== Conclusion
Ici je vais parler de la fabrication du premier PCB et de tout ce qui a pu poser problème ou qui manquait.
==== A suivre