diff --git a/.DS_Store b/.DS_Store index 868c2f3..3de9c99 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/Rapport/.DS_Store b/Rapport/.DS_Store new file mode 100644 index 0000000..97c9808 Binary files /dev/null and b/Rapport/.DS_Store differ diff --git a/Rapport/Datasheets/.DS_Store b/Rapport/Datasheets/.DS_Store new file mode 100644 index 0000000..d92efd1 Binary files /dev/null and b/Rapport/Datasheets/.DS_Store differ diff --git a/Rapport/Datasheets/Encoder.pdf b/Rapport/Datasheets/Encoder.pdf new file mode 100644 index 0000000..62560a9 Binary files /dev/null and b/Rapport/Datasheets/Encoder.pdf differ diff --git a/Rapport/Datasheets/NTC_BULB_THERMISTOR.pdf b/Rapport/Datasheets/NTC_BULB_THERMISTOR.pdf new file mode 100644 index 0000000..1548df2 Binary files /dev/null and b/Rapport/Datasheets/NTC_BULB_THERMISTOR.pdf differ diff --git a/Rapport/Datasheets/NTC_SMD_THERMISTER.pdf b/Rapport/Datasheets/NTC_SMD_THERMISTER.pdf new file mode 100644 index 0000000..1020ad0 Binary files /dev/null and b/Rapport/Datasheets/NTC_SMD_THERMISTER.pdf differ diff --git a/Rapport/Datasheets/Potentiometer.pdf b/Rapport/Datasheets/Potentiometer.pdf new file mode 100644 index 0000000..f442169 Binary files /dev/null and b/Rapport/Datasheets/Potentiometer.pdf differ diff --git a/Rapport/Tp2.typ b/Rapport/Tp2.typ index bff04a9..d717d6c 100644 --- a/Rapport/Tp2.typ +++ b/Rapport/Tp2.typ @@ -45,14 +45,14 @@ Le but de ce projet est donc de faire une source de lumière continue portable e - Radiateur conséquent pour reffroidir la/les leds (Found) - BMS pour le pack de batteries (Found) - Un FET pour couper l'arri£vée de la batterie quand le BMS detecte un problème (Found) -- Optocoupleurs pour isoler le MCU -- Buck pour l'alimentation du MCU et du BMS (si besoin) -- Buck pour alimenter les ventilateurs -- Capteurs de température pour monitorer la light -- Thermomètre resistif pour le BMS -- Boutons et potentiomètres pour interragir avec la light -- Ecran 16 segments pour afficher les informations de la light à l'utilisateur -- Cellules 18650 pour faire l'alimentationproblème +- Optocoupleurs pour isoler le MCU (Found) +- Buck pour l'alimentation du MCU (Found) +- Buck pour alimenter les ventilateurs (Found) +- Capteurs de température pour monitorer la light (Found) +- Boutons et potentiomètres pour interragir avec la light (Found) +- JST divers pour les balance plug batterie et ventilo +- Ecran +- Cellules 18650 pour faire l'alimentation ou pack de batteries 13S Ca fait un paquet de composants sans compter les composants passifs à ajouter pour faire fonctionner toute l'histoire @@ -327,14 +327,116 @@ Je pense que ca vaut le coup de faire le travail et prendre un Buck qui nous per J'ai trouvé ce modèle sur Digikey par ce que sur Mouser c'était impossible de trouver quelque chose à prix raisonnable J'ai choisi le LM2576HVS-12-EV - Digikey nbr : 5272-LM2576HVS-12-EVTR-ND +==== Specs + +Peut recevoir 57V de tension d'entrée (notre tension max ne dépassera jamais 55V) + +Peut monter jusqu'à 3A (notre ventilo ne tire que 0.1A) + +12V de tension de sortie + +Donc on est large + === Opto couplers +Comme on utilise un FET en low side (du côté GND de la batterie), on a le risque de griller des composants qui ne sont pas sur le même circuit au moment ou le GND est coupé. + +Il faut donc isoler les lignes de communications entre le MCU et les bucks et les drivers de led avec des optocoupleurs. + +J'ai trouvé ce modèle qui me parait pas mal : + Modèle TLP155E(TPL,E) Digikey nbr : TLP155E(TPLE)TR-ND +==== Specs + +Pas très important car ils seront uniquement sur des lignes de signal PWM pour les drivers de LED ou d'activation des bucks. + +La tension d'entrée peut dépasser les dixaines de volts. donc on est larges. + +=== Thermomètres + +On aimerait pouvoir monitorer la température des LEDS depuis le MCU pour pouvoir limiter la puissance voire tout couper pour protèger les LEDS. + +Sachant que le MCU ne pourra pas couper le FET low side mais il peut eteindre les drivers de LEDS ou les limiter. + +On veut des thermometres relativement précis qui puissent êtres montés en surface pour pouvoir les caser dans le radiateur sur le pcb et directement sur le PCB alu des LEDS. + +Honnêtement pour les specs je n'avais absolument aucune idée de quoi prendre donc je me suis réfèré à ChatGPT qui m'a donné ces conseils: + +Un thermostat NTC (qui réduit sa resistance avec la température) + +10kOhm (100Kohm serait trop bruité et 1Kohm consommerait trop et chaufferait tout seul) + +Une B value de 3950. La B value est la pente de changement de resistance. + +Avec une valeur autour de 4000 cela veut dire que j'aurais 10kohm à 25 degrés, 3.6kohm à 50 degrés et 1kohm à 80 degrés. + +Cela devrait permettre à l'ADC 12 bit du MCU de bien mesurer avec precision la température des thermostats + +Pour la version SMD qui sera directement plaquée au PCB j'ai trouvé ce modèle : + +Modèle : NTCS0402E3103FLT +Mouser nbr: 594-NTCS0402E3103FLT + +Pour la version sous forme de bulbe j'ai trouvé ce modèle : + +Modèle : NTCLE203E3103GB0 +Mouser nbr : 594-NTCLE203E3103GB0 + +==== Specs + +Ici les deux thermostats sont presque identiques. 10Kohm de resistance à 25 degrés + +3977 de B value pour la version en bulbe 3950 pour la version SMD et les deux sont à 10Kohm de base donc des valeurs très similaires. + +Il faudra sûrement faire un peu de calibration au moment de la mise en place mais ca ne devrait pas être trop complexe. + +Elles supportent les deux largement les 85 degrés maximaux des LEDS. + +Les deux ont une erreur en dessous des 2% à 150 degrés ce qui devrait permettre d'avoir une température cohérente au degré près entre les différentes sondes. + +Je pense que le plus smart serait d'avoir deux SMD sur le PCB proches des drivers de LEDS. + +Je verrais bien un bulbe être sur un des PCB alu des leds et un sur le radiateur en cuivre. + +=== IHM + +Pour l'interface homme machine, J'aimerais des inputs qui tournent pour la couleur de la LED et pour l'intensité lumineuse. + +Pour la gestion de l'intensité lumineuse je pense que c'est smart de prendre un potentiomètre pour avoir un feeling smooth. + +Mais comme la température de la lumière est plutôt une suite de valeur distinctes, un encodeur serait peut-être plus intéressant. + +Je ne pense pas avoir besoin d'une multitude de boutons car je n'aurai pas besoin de veritable menu. En effet, les deux seuls paramètres de la lampe seront contrôlables depuis les encodeurs/potentiomètres. + +Je ne sais pas encore bien comment allumer ou éteindre le système, mais je pense que ce qui serait sympa c'est que si on met la lampe à 0% d'intensité, tout s'eteigne. + +Pour l'encodeur j'ai trouvé ca : + +modèle : 288X232R161B2 +Mouser nbr : 774-288X232R161B2 + +Il est pas mal, il fait aussi bouton donc ca ajoute un input pour le même prix et il a des clics donc on peut cycler entre des valeurs arbitraires. + +Il a une monture verticale donc il faut la même chose pour le potentiomètre + +Pour le potentiomètre j'ai trouvé ca : + +modèle : PDB12-H4151-104BF +Mouser nbr : 652-PDB12-H4151104BF + +Il a une réponse linéraire ce qui est pas mal comparé à d'autres options un peu plus cheap. il peut se monter verticalement également + +=== Ecran + +Pour l'écran dans un premier temps on ne va pas trop s'embêter car le projet est déja assez complexe comme ca. Il y aura des GPIO disponibles en plus et je pense que l'écran ne sera pas une priorité + + + + diff --git a/TP1.typ b/TP1.typ new file mode 100644 index 0000000..406e132 --- /dev/null +++ b/TP1.typ @@ -0,0 +1,17 @@ +#import "@preview/plotst:0.2.0": * + += Mais wtf + +// The data to be displayed +#let data = ( + (0, 0), (2, 2), (3, 0), (4, 4), (5, 7), (6, 6), (7, 9), (8, 5), (9, 9), (10, 1) +) + +// Create the axes used for the chart +#let x_axis = axis(min: 0, max: 11, step: 2, location: "bottom") +#let y_axis = axis(min: 0, max: 11, step: 2, location: "left", helper_lines: false) + +// Combine the axes and the data and feed it to the plot render function. +#let pl = plot(data: data, axes: (x_axis, y_axis)) +#graph_plot(pl, (100%, 25%)) +#graph_plot(pl, (100%, 25%), rounding: 30%, caption: "Graph Plot with caption and rounding") \ No newline at end of file