62 KiB
PCB alimentation
Mis à jour pour la version v2-beta
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 tension 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 débugable 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 4 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
{ 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
{ 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
- Convertisseurs de tension
- Trous de montage
Sous-partie sélection de la tension d'entrée
{ width="800" }
De gauche à droite:
- Mesure de courant/tension sur les deux entrée 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
{ width="800" }
De gauche à droite:
- Connecteur SWD pour flasher le STM32
- Buzzer
- Connecteur GPIO
- Capteur de température
Documentations :
Sous-partie sorties
{ width="800" }
Mesure de courant/tension pour chaque zone. Controlleur USB-PD supplémentaire pour la sortie 5,15V.
Documentations :
Routage
Couche supérieure
{ width="800" }
{ width="800" }
Couches intermédiaires
{ width="800" }
{ width="800" }
Couche inférieure
{ width="800" }
{ width="800" }
Perçage
Vues 3D
Vue de dessus
Vue de dessous
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.
- GPIO 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 | Buzzer, polarized | ||
| C1,C3,C5 | 0u39 | C0805C394K5RACTU | Unpolarized capacitor | ||
| C2,C4,C6 | 39n | VJ0805Y393KXAAC | 15 | 15 | Unpolarized capacitor |
| C7 | 1000u | UVY1H102MHD | Polarized capacitor | ||
| C8 | 10n | VJ0805Y103KXAMC | 10 | 10 | Unpolarized capacitor |
| C9,C10,C13->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 | 10 | 10 | Unpolarized capacitor |
| C22 | 2u2 | VJ0805G225KXQTW1BC | 5 | 5 | Unpolarized capacitor |
| D1->D3 | BAT54J | BAT54J | 30V 200mA Schottky diode, SOD-323F | ||
| D4 | ESDA25P35-1U1M | ESDA25P35-1U1M | Schottky diode | ||
| D5->D7 | D_Dual_CommonAnode_AKK_Parallel | BAS70-06 | Dual diode, common anode on pin 1 | ||
| F1 | 10A | 3568 | Fuse holder | ||
| F2,F3 | 20A | 3568 | Fuse holder | ||
| F4->F6 | 6A | 01550900M | 10 | Fuse holder | |
| F7 | 10A | 01550900M | 10 | 10 | Fuse holder |
| F8 | 1A25 | 01550900M | 10 | Fuse holder | |
| J1->J6,J10,J12,J13,J15,J16,J18,J19,J21,J22 | 1755736 | 1755736 | 5 | 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 | ST Debug Connector, standard ARM Cortex-M SWD and JTAG interface plus UART | ||
| J11 | USB_C_Receptacle_USB2.0_16P | USB4105-GF-A | 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 | 1 | 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 | 1 | 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->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 | (https://www.st.com/resource/en/datasheet/stl40dn3llh5.pdf) | |||
| Q8 | NPN | 2DC2412R-7 | Bipolar transistor symbol for simulation only, substrate tied to the emitter | ||
| Q9->Q11 | NMOS | 2N7002-7-F | N-MOSFET transistor, drain/source/gate | ||
| R1 | 82k | CRCW080582K0FKEA | 5 | 5 | Resistor |
| R2 | 100 | CRCW0805100RFKEA | 5 | 5 | Resistor |
| R3,R16->R18,R28,R32 | 10k | CRCW080510K0FKEA | 20 | 20 | Resistor |
| R4 | 63k4 | CRCW080563K4FKEA | 5 | 5 | Resistor |
| R5 | 158k | Resistor | |||
| R6 | 1960k | CRCW08051M96FKEA | Resistor | ||
| R7,R10 | 37k4 | CRCW080537K4FKEA | 10 | 10 | Resistor |
| R8,R11 | 78k7 | CRCW080578K7FKEA | 10 | 10 | Resistor |
| R9,R12 | 1180k | CRCW08051M18FKEA | 10 | 10 | Resistor |
| R13->R15 | 11k5 | CRCW080511K5FKEA | 15 | 15 | Resistor |
| R19 | 62m 0.5% | L4CL1206LR062DNR | 2 | Current Sense Resistors - SMD 4T L4CL1206 0.5W 30ppm 13 mOhm +/-0.5% | |
| R20,R22 | 13m 0.5% | L4CL1206LR013DNR | 4 | Current Sense Resistors - SMD 4T L4CL1206 0.5W 30ppm 13 mOhm +/-0.5% | |
| R21 | 20m 0.5% | L4CL1206LR020DNR | 2 | Current Sense Resistors - SMD 4T L4CL1206 0.5W 30ppm 13 mOhm +/-0.5% | |
| R23,R24 | 4m 0.5% | PEWF2512D4L00Q9 | 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 | ||||
| U3,U7,U8 | INA236BIDDFR | INA236BIDDFR | |||
| U4->U6 | INA236AIDDFR | INA236AIDDFR | |||
| U9 | TCPP02-M18 | 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 | 3 | Onglet de détrompage pour embase Phoenix Contact | |
| 1873058 | 5 | Connecteur mâle Phoenix Contact | |
| 1734634 | Languette de détrompage pour connecteur Phoenix Contact | ||
| 045406.3NR | Nano fusible 6.3A | ||
| 0454010.MR | Nano fusible 10A | ||
| 045401.5MR | Nano fusible 1.5A |


