Progressed on the doc
This commit is contained in:
Vendored
BIN
Binary file not shown.
+80
-7
@@ -310,18 +310,91 @@ C'est ce chip qui s'occupe de changer automatiquement l'alimentation 3.3V avec u
|
|||||||
|
|
||||||
#figure(
|
#figure(
|
||||||
image("/assets/bms.png", width:100%),
|
image("/assets/bms.png", width:100%),
|
||||||
caption: [Circuit de protection de la batterie],
|
caption: [Circuit de protection de la batterie dans sa version 2],
|
||||||
)
|
)
|
||||||
|
|
||||||
Le bms est le composant le plus pénible de tout le circuit car il demande énormément de composants passifs et il est très facile de faire des erreurs.
|
Le bms est le composant le plus pénible de tout le circuit car il demande énormément de composants passifs et il est très facile de faire des erreurs.
|
||||||
|
|
||||||
Dans la première version du PCB, il y avait un certain nombre d'erreurs, la pire êtant que j'avais branché regsrc à VBATT ce qui a tué le chip. Dans certains schematics simplifiés il était indiqué qu'on pouvait le faire mais après relecture de la documentation, quand on dépasse les 25V de VBATT il était demandé d'utiliser un mosfet suiveur pour décendre la tension.
|
Dans la première version du PCB, il y avait un certain nombre d'erreurs, la pire êtant que j'avais branché regsrc à VBATT ce qui a tué le chip. Dans certains schematics simplifiés il était indiqué qu'on pouvait le faire mais après relecture de la documentation, quand on dépasse les 25V de VBATT il était demandé d'utiliser un mosfet suiveur pour décendre la tension.
|
||||||
|
|
||||||
# A suivre
|
Une des particularité est que comme la batterie est coupée en "low side" (On coupe le GND) avec un Mosfet, cela peut poser un certain nombre de problème si tout le circuit n'est pas éteins.
|
||||||
|
|
||||||
|
Dans notre cas, le BMS est toujours actif quand le reste du circuit s'éteins et donc comme on coupe la référence de ground, on pourrait avoir du 55V qui arrive depuis les lignes de communication entre le BMS et le circuit éteins.
|
||||||
|
|
||||||
|
Il a donc fallu isoler le bus I2C et la pin Alert entre BMS et MCU.
|
||||||
|
|
||||||
|
Pour la pin alert, j'ai utilisé un simple optocoupleur alors que pour le bus I2C j'ai du utiliser un chip qui s'en occupe.
|
||||||
|
|
||||||
|
Ensuite le dernier composant intéressant je dirais c'est la shunt qui permettra ensuite au BMS de savoir combien de courant passe dans le circuit, information ensuite disponible pour le MCU avec la communication I2C.
|
||||||
|
|
||||||
|
=== Interface Homme Machine
|
||||||
|
|
||||||
|
#figure(
|
||||||
|
image("/assets/ihm.png", width:100%),
|
||||||
|
caption: [IHM de la V2],
|
||||||
|
)
|
||||||
|
|
||||||
|
Pour le contrôle de la carte il y a plusieurs options :
|
||||||
|
|
||||||
|
- Un potentiomètre pour l'intensité lumineuse
|
||||||
|
- Un encodeur pour la couleur de la lumière
|
||||||
|
- Un bouton pour passer en mode blackout "éteindre les leds" (V2 uniquement)
|
||||||
|
- Des leds de debug sur la carte d'IHM et proche du MCU
|
||||||
|
- Des boutons pour RST le MCU/BMS ou passer le MCU en mode bootloader
|
||||||
|
- Un écran pour afficher les informations des menus (V2 uniquement)
|
||||||
|
|
||||||
|
Sur le PCB V2, la partie qui emporte encodeur, potentiometre, bouton et écran est une carte déportée connectée avec un connecteur style écran.
|
||||||
|
|
||||||
|
#figure(
|
||||||
|
image("/assets/screen.png", width:100%),
|
||||||
|
caption: [Schematic de l'écran],
|
||||||
|
)
|
||||||
|
|
||||||
|
=== Pinout
|
||||||
|
|
||||||
|
#figure(
|
||||||
|
image("/assets/connecteurs.png", width:100%),
|
||||||
|
caption: [Schematic de l'écran],
|
||||||
|
)
|
||||||
|
|
||||||
|
Pour la communication entre les trois cartes ou l'exterieur ou le debug on a plusieurs pins ou pads disponibles.
|
||||||
|
|
||||||
|
Les plus évidents sont les pads de batterie ainsi que les pads pour connecter les leds.
|
||||||
|
|
||||||
|
Ensuite on a les différents JST qui sont la pour connecter la carte BMS au PCB principal ou pour connecter les cellules de la batterie au BMS.
|
||||||
|
|
||||||
|
Pour la communication entre le PCB principal et la carte IHM, on a des connecteurs style connecteur d'écran de 20pins.
|
||||||
|
|
||||||
|
Pour le ventilateur on a aussi un connecteur MOLEX qui est standart pour des ventilateurs 12V de PC classiques.
|
||||||
|
|
||||||
|
Pour le debug on a un "power panner" qui regroupe toutes les tensions disponibles sur la carte. Quand l'USB seul est connecté, le 5V,3.3V et le 14V sont en principe disponibles et avec la batterie branchée le 12V et le VBAT sont également disponibles.
|
||||||
|
|
||||||
|
Cela permet de vérifier que tous les rails fonctionnent et cela peut aussi permettre d'étendre les capacités de la carte dans le futur.
|
||||||
|
|
||||||
|
Pour le debug on a aussi des pins qui permettent de contrôler les drivers de leds sans le microcontrolleur. Cela peut permettre de faire des tests dans le cas ou le MCU serait indisponible (Ce qui a été très utile pendant la phase de tests).
|
||||||
|
|
||||||
|
=== Mapping des GPIO
|
||||||
|
|
||||||
|
#figure(
|
||||||
|
grid(
|
||||||
|
columns: 2, // 2 means 2 auto-sized columns
|
||||||
|
gutter: 2mm, // space between columns
|
||||||
|
image("/assets/GPIO_V1.png", width: 100%),
|
||||||
|
image("/assets/GPIO_V2.png", width: 100%),
|
||||||
|
),
|
||||||
|
caption: "Utilisation des GPIO sur les deux versions du PCB"
|
||||||
|
)
|
||||||
|
|
||||||
|
Ci-dessus, l'utilisation des pins du RP2040. C'est toujours utile de garder ce genre d'information pour la programmation du microcontrolleur.
|
||||||
|
|
||||||
|
Une des améliorations que je ferais si je faisais une V3, c'est de ne pas assigner les GPIO dabord mais de commencer par poser les composants sur le PCB et ensuite de placer les GPIO de sorte à rendre le routage plus simple. En effet, avec le RP2040, on peut rerouter presque nimporte quoi sur nimporte quelle pin.
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Vendored
BIN
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 547 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 492 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 300 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 407 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 195 KiB |
Reference in New Issue
Block a user