Files
Documentations/Writerside/topics/PCB-alimentation.md
2025-09-24 20:18:52 +12:00

63 KiB
Raw Blame History

PCB Alimentation

Mis à jour pour la version v2 commandée le 8 mars 2025.

Introduction

Le PCB alimentation 2025 du robot fait le lien entre les différentes sources d'alimentation et les composants du robot.

La release concernée par cette documentation est ici : Release

Les fonctionnalités proposées sont :

  • Jusqu'à 3 sources, hot pluggable
  • Chute de tension limitée lors du changement de source
  • Protection contre les tensions inverses en entrée
  • Sélection de la meilleure source, protection contre sur et sous tensions
  • Coupe-circuit général et arrêt d'urgence uniquement sur certaines sorties
  • Convertisseurs de tension désactivés par défaut, pilotés par STM32
  • Mesures de tension/courant/puissances sur chaque sortie
  • Mesure du taux de charge des batteries connectées
  • Mesure de la température de la carte
  • Protocole USB-PD sur la sortie 5,15V
  • Remontée d'info, GPIOs, STM32 programmable et debuggable via SWD
  • Buzzer désactivable via un switch

Besoins

Les besoins qui nous ont amené à réaliser un PCB alimentation pour le robot sont :

  • Réduction du câblage
  • Coupe-circuit général
  • Coupe-circuit ciblé sur appui bouton d'arrêt d'urgence
  • Plusieurs tensions d'alimentation différentes selon les composants
  • Capacité d'alimenter le robot sur secteur ET/OU sur batterie

Spécifications

Le PCB alimentation a été réalisé dans le but d'implémenter les spécifications suivantes :

  • Le PCB doit accepter au moins deux sources de puissance.

  • Le passage d'une source à l'autre ne doit pas engendrer de chute de tension risquant de faire redémarrer la raspberrypi.

  • Au moins une des sources d'alimentation doit être destinée au secteur.

  • La source d'alimentation destinée au secteur doit accepter des tensions de 12V et 24V.

  • Au moins une des sources d'alimentation doit être destinée à une batterie.

  • La source d'alimentation destinée à une batterie doit accepter une tension entre 11,1V et 13V.

  • Les sources d'alimentation doivent permettre un courant d'alimentation de 16A.

  • Le PCB doit permettre de connecter un bouton d'arrêt d'urgence en NC et en NO.

  • L'appui sur le bouton d'arrêt d'urgence doit provoquer la coupure des sorties spécifiées, de manière immédiate.

  • Les tensions doivent rester entre les bornes -48v et 48V.

  • Le PCB doit générer une sortie avec une tension de 5V +-10%.

  • La sortie 5V du PCB doit avoir une puissance supérieure à 25W.

  • La sortie 5V doit proposer au moins deux connecteurs permettant un courant de 5A.

  • La sortie 5V doit proposer des connecteurs mâles Dupont pour des connexions faciles.

  • La sortie 5V doit être coupée immédiatement quand le bouton d'arrêt d'urgence est enfoncé.

  • Le PCB doit générer une sortie avec une tension de 5,15V +-1%.

  • La sortie 5,15V du PCB doit avoir une puissance supérieure à 40W.

  • La sortie 5,15V doit proposer au moins un connecteur permettant un courant de 5A.

  • La sortie 5,15V doit proposer au moins un connecteur USB type C.

  • La sortie 12V doit rester active quand le bouton d'arrêt d'urgence est enfoncé.

  • Le PCB doit générer une sortie avec une tension de 12V +-1%.

  • La sortie 12V du PCB doit avoir une puissance supérieure à 40W.

  • La sortie 12V doit proposer au moins deux connecteurs permettant un courant de 5A.

  • La sortie 12V doit proposer des connecteurs mâles Dupont pour des connexions faciles.

  • La sortie 12V doit être coupée immédiatement quand le bouton d'arrêt d'urgence est enfoncé.

  • Le PCB doit générer une sortie avec une tension de 24V +-1%.

  • La sortie 24V du PCB doit avoir une puissance supérieure à 25W.

  • La sortie 24V doit proposer au moins deux connecteurs permettant un courant de 2A.

  • La sortie 24V doit proposer des connecteurs mâles Dupont pour des connexions faciles.

  • La sortie 24V doit être coupée immédiatement quand le bouton d'arrêt d'urgence est enfoncé.

  • La prise en compte de l'appui sur le bouton d'arrêt d'urgence ne doit pas passer par un programme pour éviter l'aléa d'un bug.

  • Le PCB doit proposer un connecteur pour implémenter la fonction de coupe-circuit général.

  • Le PCB doit être robuste aux polarités inverses en entrée.

  • Le PCB doit être robuste aux courts-circuits en sortie.

  • Le PCB doit avoir des protections contre les surchauffes.

  • Le PCB doit permettre de protéger chaque entrée par un fusible.

  • Le PCB doit détecter un taux de charge trop faible sur une batterie et la déconnecter.

  • Le PCB doit permettre de mesurer la tension et le courant en temps réel sur les sorties.

  • La sortie 5,15V doit implémenter le protocole Power Delivery sur le connecteur USB-C pour les paramètres suivants : 5,15V 3A et 5,15V 5A.

  • Le PCB doit pouvoir faire de la remontée d'information à la RaspberryPi via un protocole série (I2C, SPI ou UART).

  • Le PCB doit être capable de mesurer et faire remonter le taux de charge des batteries en fonction de la tension et du courant mesuré en sortie de la batterie.

  • Le PCB doit remonter la source d'alimentation active et les sources d'alimentation valides.

  • Le PCB doit émettre un signal sonore au changement de source d'alimentation.

  • Le PCB doit émettre un signal sonore différent si une batterie est déchargée.

  • L'encombrement de la carte d'alimentation doit être minimisé au maximum.

  • La largeur ne peut en aucun cas dépasser 90mm.

  • La longueur ne peut en aucun cas dépasser 290mm.

  • La carte doit avoir au moins quatre trous de fixation M5.

  • Les composants sur la face inférieure ne peuvent pas dépasser 20mm de hauteur.

  • Aucun connecteur ne peut être dirigé vers le dessous de la carte.

Schéma électrique

Principe général

Schema electrique principe général{ width="800" } Ce schéma expose le principe général des circuits présents sur la carte.

  • 3 entrées (une pour secteur et deux pour batteries LiPo3S)
  • Fusibles en entrée et avant chaque convertisseur de tension traco power
  • Mesure de courant/tension
  • Mesure de température
  • USB-PD, buzzer, STM32, coupe circuit
  • Boutons d'arrêt d'urgence sur les convertisseurs concernés.

Architecture générale

Schema electrique page principale{ width="800" } De gauche à droite :

  • 3 entrées d'alimentation
  • Entrée coupe-circuit (EN) en Normally Open
  • Entrées bouton d'arrêt d'urgence en Normally Open et Normally Closed
  • Trous de montage

Documentations :

Sous-partie sélection de la tension d'entrée

Schema electrique selection entrée{ width="800" } De gauche à droite:

  • Mesure de courant/tension sur les deux entrées destinées aux batteries
  • Résistances pour régler les seuils d'overvoltage et d'undervoltage (voir documentation du LTC4417)
  • P-MOSFETs pour sélectionner une des trois entrées à la fois + limitation du courant d'appel

Documentations :

Concepteur avec paramètres utilisés : tools.analog.com

Sous-partie microcontrolleur

Schema electrique microcontrolleur{ width="800" } De gauche à droite :

  • Connecteur SWD pour flasher le STM32
  • Buzzer
  • Connecteur GPIO
  • Capteur de température

Documentations :

Sous-partie convertisseurs

Schema electrique sorties{ width="800" } Convertisseurs de tension Traco Power et pilotage via le pin Remote. Les traco peuvent être désactivés via un arrêt d'urgence "bouton" et un arrêt d'urgence "software" provenant du STM32. L'arrêt d'urgence software est désactivable en ajoutant les jumpers 1, 2 et 3.

Documentations :

Sous-partie sorties

Schema electrique sorties{ width="800" } Mesure de courant/tension pour chaque zone. Contrôleur USB-PD supplémentaire pour la sortie 5,15V.

Documentations :

Routage

Couche supérieure

Routage dessus{ width="800" } Routage dessus avec silkscreen{ width="800" }

Couches intermédiaires

Routage couche 2{ width="800" } Routage couche 3{ width="800" }

Couche inférieure

Routage dessous{ width="800" } Routage dessous avec silkscreen{ width="800" }

Perçage

Perçage{ width="800" }

Vues 3D

Vue de dessus

Vue 3D de dessus{ width="800" }

Vue de dessous

Vue 3D de dessous{ width="800" }

Qualité

Règles de design appliquées

Largeur des pistes

0,2mm 0,5mm 1mm 2mm 3mm 4mm
GPIO, I2C, VALID, OV, UV, Resistances mesure de courant, Gates mosfets 3,3V, Pads des résistances de mesure de courant, Pads VBUS du connecteur USB-C Alimentation connecteur USB-C, Alimentation des 6 pins Dupont en sortie de puissance Vout vers Traco 3,3V Sources communes des P-MOSFET de puissance, F4, F5, F6, F7, F8, Sorties des Traco => resistances de mesure => connecteurs Phoenix IN1, IN2, IN3, F1, F2, F3

Règles de design

Regle Valeur Violation
Isolation minimum 0,2mm Pads STM32, Pads TCPP02, Pads INA236
Largeur de piste minimum 0,2mm non
Largeur minimale de connexion 0,02mm non
Largeur minimale d'anneau 0,1mm non
Diamètre minimum de via 0,5mmm non
Isolation trou/cuivre 0,25mm Trou non métallisé connecteur USB-C
Isolation cuivre/contour 0,5mm non

Bonnes pratiques

  • SDA et SCL séparées par une piste GND ou 3V3 quand c'est possible.
  • Plans de masse sur les quatre faces avec matrice de vias de 5mm et 2,5mm sur les bordures.
  • Pistes à courant important doublées sur les faces intermédiaires

Vérifications réalisées

  • Schéma électrique pour la sélection d'entrée conforme à celui recommandé dans la datasheet du LTC4417.
  • Schéma électrique pour l'USB-PD conforme à celui dans la datasheet de la carte d'évaluation X-NUCLEO-SRC1M1.
  • GPIOs du STM32 bien choisis par fonction pour SDA, SLC, PWM du buzzer, CC1, CC2.
  • Condensateurs de découplages présents et conformes aux recommendations des datasheets STM32G419, TCPP02, INA236 et MCP9608.
  • Résistances de pull up et capacitance totale du bus I2C conformes au standard.
  • Plusieurs chemins de retour pour la masse, suffisamment larges et aménagés avec des vias.
  • Références des empreintes visibles et toutes orientées de la même manière.
  • Espace suffisamment important autour des connecteurs.
  • Indications utilisateur utiles ajoutées pour les fusibles, test points, switches, connecteurs.

Fabrication

Fichiers de fabrication

Les fichiers sources KiCad et les fichiers de fabrication sont téléchargeables dans les releases Github

Bill Of Material

Référence sur le PCB Valeur Numéro de série fabricant Quantité commandée Quantité en stock Description
BZ1 Buzzer PS1240P02BT 2 2 Buzzer, polarized
C1,C3,C5 0u39 C0805C394K5RACTU 10 10 Unpolarized capacitor
C2,C4,C6 39n VJ0805Y393KXAAC 15 15 Unpolarized capacitor
C7 1000u UVY1H102MHD 10 10 Polarized capacitor
C8 10n VJ0805Y103KXAMC 10 10 Unpolarized capacitor
C9,C10,C13,C14,C15,C18,C21,C23 100n VJ0805Y104KXAMR 30 30 Unpolarized capacitor
C11 4u7 VJ0805G475KXQTW1BC 5 5 Unpolarized capacitor
C12 1u VJ0805Y105KXQTW1BC 5 5 Unpolarized capacitor
C19,C20 330p VJ0805A331FXACW1BC Unpolarized capacitor
C22 2u2 VJ0805G225KXQTW1BC 5 5 Unpolarized capacitor
D1,D2,D3 BAT54J BAT54J 10 30V 200mA Schottky diode, SOD-323F
D4 ESDA25P35-1U1M ESDA25P35-1U1M 3 Schottky diode
D5,D6,D7 D_Dual_CommonAnode_AKK_Parallel BAS70-06 20 20 Dual diode, common anode on pin 1
F1,F2,F3 10A,20A 3568 3 3 Fuse holder
F4,F5,F6,F7,F8 1A25,6A,10A 01550900M 10 10 Fuse holder
J1,J2,J3,J4,J5,J6,J10,J12,J13,J15,J16,J18,J19,J21,J22 1755736 1755736 15 7 PCB header, nominal cross section: 2.5 mm?, color: green, nominal current: 12 A, rated voltage (III/2): 320 V, contact surface: Tin, type of contact: Male connector, Number of potentials: 2, Number of rows: 1, Number of positions per row: 2, number of connections: 2, product range: MSTBVA 2,5/..-G, pitch: 5.08 mm, mounting: Wave soldering, pin layout: Linear pinning, solder pin [P]: 3.9 mm, Stecksystem: CLASSIC COMBICON, Locking: without, type of packaging: packed in cardboard
J7 Conn_02x10_Odd_Even ~ Generic connector, double row, 02x10, odd/even pin numbering scheme (row 1 odd numbers, row 2 even numbers), script generated (kicad-library-utils/schlib/autogen/connector/)
J8 Conn_ST_STDC14 3220-14-0100-00 10 10 ST Debug Connector, standard ARM Cortex-M SWD and JTAG interface plus UART
J11 USB_C_Receptacle_USB2.0_16P USB4105-GF-A 25 25 USB 2.0-only 16P Type-C Receptacle connector
J14,J17,J20 Conn_02x06_Odd_Even ~ Generic connector, double row, 02x06, odd/even pin numbering scheme (row 1 odd numbers, row 2 even numbers), script generated (kicad-library-utils/schlib/autogen/connector/)
JP1->JP3 Jumper_2_Open ~ Jumper, 2-pole, open
JP4 Jumper_2_Bridged ~ Jumper, 2-pole, closed/bridged
PS1 TMR_6-2410WI TMR_6-2410WI 3 3 6 Watt DC/DC converter, industrial, 2:1 input, regulated, 1600 VDC I/O-isolation, encapsulated, SIP-8
PS2,PS3 THN_30-2411WI THN_30-2411WI 2 2 30 Watt DC/DC converter, industrial, 2:1 input, encpasulated, 1.0" x 1.0" metal package
PS4 TEN_50-2412WI TEN_50-2412WI 1 1 50 Watt DC/DC converter, industrial, 4:1 input, encapsulated, 2" x 1" metal package
PS5 THN_30-2415WI THN_30-2415WI 1 1 30 Watt DC/DC converter, industrial, 2:1 input, encpasulated, 1.0" x 1.0" metal package
Q1,Q2,Q3,Q4,Q5,Q6 SUD50P06-15 SUD50P06-15-BE3 15 15 -50A Id, -60V Vds, TrenchFET P-Channel Power MOSFET, 15mOhm Ron, 165nC Qg, -55 to 150 °C, TO-252-2
Q7 STL40DN3LLH5 STL40DN3LLH5 3
Q8 NPN 2DC2412R-7 20 20 Bipolar transistor symbol for simulation only, substrate tied to the emitter
Q9,Q10,Q11 NMOS 2N7002-7-F 30 30 N-MOSFET transistor, drain/source/gate
R1 82k CRCW080582K0FKEA 5 5 Resistor
R2 100 CRCW0805100RFKEA 5 5 Resistor
R3,R16,R17,R18,R28,R32 10k CRCW080510K0FKEA 20 20 Resistor
R4 63k4 CRCW080563K4FKEA 5 5 Resistor
R5 158k CRCW0805158KFKEA 5 5 Resistor
R6 1960k CRCW08051M96FKEA 10 10 Resistor
R7,R10 37k4 CRCW080537K4FKEA 10 10 Resistor
R8,R11 78k7 CRCW080578K7FKEA 10 10 Resistor
R9,R12 1180k CRCW08051M18FKEA 10 10 Resistor
R13,R14,R15 11k5 CRCW080511K5FKEA 15 15 Resistor
R19 62m 0.5% L4CL1206LR062DNR 5 5 Current Sense Resistors - SMD 4T L4CL1206 0.5W 30ppm 13 mOhm +/-0.5%
R20,R22 13m 0.5% L4CL1206LR013DNR 10 10 Current Sense Resistors - SMD 4T L4CL1206 0.5W 30ppm 13 mOhm +/-0.5%
R21 20m 0.5% L4CL1206LR020DNR 2 2 Current Sense Resistors - SMD 4T L4CL1206 0.5W 30ppm 13 mOhm +/-0.5%
R23,R24 4m 0.5% PEWF2512D4L00Q9 2 2 Resistor
R25 7m 1% L4CL1206LR007FNR 2 2 Current Sense Resistors - SMD 4T L4CL1206 0.5W 30ppm 13 mOhm +/-0.5%
R26 47k CRCW080547K0FKEA 5 5 Resistor
R27,R31,R33->R35 1k CRCW08051K00FKEA 20 20 Resistor
R29,R30 2k2 CRCW08052K20FKEA 10 10 Resistor
TP1->TP10 TestPoint ~ test point
U1 LTC4417IGN LTC4417IGN#PBF 2 2 Prioritized PowerPath Controller, Selects Highest Priority Supply from Three Inputs, 40°C to 85°C, SSOP
U2 STM32G491KEU6 STM32G491KEU6 10
U3,U7,U8 INA236BIDDFR INA236BIDDFR 3 3
U4,U5,U6 INA236AIDDFR INA236AIDDFR 3 3
U9 TCPP02-M18 TCP02-M18 3 USB Type-C Port Protection for Source application
U10 MCP9808T-E/MS MCP9808T-E/MS 3 3
Fourniture supplémentaire non présente sur les schémas
Numéro de série fabricant Quantité commandée Quantité en stock Description
1734401 43 43 Onglet de détrompage pour embase Phoenix Contact
1873058 15 15 Connecteur mâle Phoenix Contact
1734634 40 40 Languette de détrompage pour connecteur Phoenix Contact
045406.3NR 3 3 Nano fusible 6.3A
0454010.MR 5 5 Nano fusible 10A
045401.5MR 2 2 Nano fusible 1.25A

Erreurs et corrections

J8

J8 - Remarques

  • J8 est à l'envers sur le schéma. Il doit être soudé sur la face supérieure avec son détrompeur vers le bas de la carte.
  • Le 3V3 de J8 n'est pas relié. Il faut ajouter une connexion entre le 3V3 de J8 et le 3V3 de J7.

J8 - Consequences

  • En présence de ces défauts, le STM32 ne peut pas être flashé ou débuggé avec un STLINK.

J8 - Etat de correction

  • Correction physique sur la carte dans le robot :
  • Correction sur le schéma KiCad :

R27

R27 - Remarques

  • R27 a une résistance (1k) trop forte pour faire commuter Q8. Il faut réduire la valeur de R27.

R27 - Consequences

  • En présence de ce défaut, le buzzer ne produit pas de son.

R27 - Etat de correction

  • Correction physique sur la carte dans le robot :
  • Correction sur le schéma KiCad :

U9

U9 - Remarques

  • EN est déconnecté. EN doit être relié manuellement à PA9 sur le STM32 pour permettre le bon fonctionnement de l'USB-PD.

U9 - Conséquences

  • En présence de ce défaut, l'USB-PD est inutilisable et le port USB-C non alimenté.

U9 - Etat de correction

  • Correction physique sur la carte dans le robot :
  • Correction sur le schéma KiCad :

R1

R1 - Remarques

  • R1 est mal placé sur la carte. Ce composant devrait relier les pins de PS3 Trim à -VOUT au lieu de Trim à +VOUT.

R1 - Conséquences

  • EN présence de ce défaut, le traco PS3 a une tension de sortie de 4V8 au lieu de 5V15.

R1 - Etat de correction

  • Correction physique sur la carte dans le robot :
  • Correction sur le schéma KiCad :

Q9,Q10,Q11

Q9,Q10,Q11 - Remarques

  • Les mosfet d'arrêt logiciel sont mal placés sur le schéma. Revérifier le placement.

Q9,Q10,Q11 - Conséquences

  • En présence de ce défaut, l'arrêt logiciel sur PS2, PS4, PS5 est inutilisable.

Q9,Q10,Q11 - Etat de correction

  • Correction physique sur la carte dans le robot :
  • Correction sur le schéma KiCad :