Régulateur à Peltier DIY

Impressions 3D, bout de bois, plomberie, visserie, colles etc....
Répondre
Avatar de l’utilisateur
ouiouiblog
Messages : 1705
Inscription : 03 nov. 2022, 22:31
Localisation : 44

Régulateur à Peltier DIY

Message par ouiouiblog » 07 oct. 2023, 15:44

Je suis en train de monter un régulateur pour le peltier externe (frigo à smartphone) qui refroidit ma caméra IMX585. Dans un premier temps je voudrais m'en servir pour me construire une bibliothèque de Darks par pas de 1°.

Le principe est simple : un script Sharpcap interroge en continu la température de la caméra et envoie une requête http en wifi pour allumer/éteindre la réfrigération (la caméra a pas mal d'inertie thermique ce qui fait qu'une régulation On/Off suffit) via un wemos (ESP8266 avec wifi) raccordé au frigo.

Pour l'instant le script est fonctionnel (post suivant) et il me reste à faire la partie Wemos.

A ce sujet, j'ai un léger problème (@lordzurp, si tu as une bonne idée sous le coude) ; je pensais simplement ouvrir/fermer l'alimentation du frigo pour la régulation , mais l'interrupteur se met automatiquement sur Off si je le débranche (je peux éventuellement court-cicuiter l'interrupteur On/Off)

Le frigo, disponible à 10-20 € dans toutes les bonnes épiceries

!! Pour les personnes qui disposent du même modèle, l'interrupteur à impulsion est une vraie plaie à shunter > Il faut raccorder la terre (fil noir) du Peltier à la borne Gnd qui est juste en dessous pour shunter l'interrupteur (et on perd l'affichage led de la température du Peltier, m'enfin pour ce que l'on s'en fout...)
image.png
image.png (1.46 Mio) Consulté 4780 fois

En mode ouvert
image.png
image.png (516.69 Kio) Consulté 4780 fois
image.png
image.png (584.73 Kio) Consulté 4780 fois

Le circuit imprimé
image.png
image.png (342.87 Kio) Consulté 4778 fois
image.png
image.png (343.32 Kio) Consulté 4778 fois
Dernière modification par ouiouiblog le 10 oct. 2023, 00:01, modifié 2 fois.

Avatar de l’utilisateur
ouiouiblog
Messages : 1705
Inscription : 03 nov. 2022, 22:31
Localisation : 44

Régulateur à Peltier DIY

Message par ouiouiblog » 07 oct. 2023, 15:44

Côté Sharpcap : un simple script

A enregistrer n'importe où (suffixe .py) et à lancer via "Scripting/Run script" de Sharpcap (après avoir sélectionné la caméra et avec un wemos dispo pour accueillir les requêtes http).

C'est un code simple et rustique qui :
- Ouvre une fenêtre pour saisir la température cible et l'écart de régulation (par exemple 20°+/- 0.1°)
- Interroge la température de la caméra toutes les 10 secondes (paramétrable) et envoie une requête http pour allumer/éteindre le frigo

Paramétrage à faire :
- renseigner l'adresse IP (que l'on s'assurera de garder fixe) de votre wemos dans les lignes 93 et 98 (http://192.168.1.46/control?cmd=event,ON' à remplacer par votre XXX.XXX.X.XX)

Edit 23/10/2023 : Robin a corrigé la dernière version de Sharpcap (4.1.11137.0) de manière à ce que la température de la caméra soit actualisée en continu (jusqu'ici la température n'était actualisée qu'entre chaque pose sur les caméras non refroidies, ce qui posait des problèmes de régulation pour les poses longues)


!! script pour Sharpcap 4.0 (passé de Python 2 à 3 sur SC 4.1)

Code : Tout sélectionner

#Version pour SC 4.0 (Python 2)
#App tournant en boucle : interroge la Temperature Camera toutes les X secondes (10 par défaut > paramétrable avec la ligne  "sleep =10")et envoie requête Allumage/Extinction Frigo si Température trop éloignée de la température cible

#Bibliothèques
import time
import urllib2
import clr
import System

#Boite de dialogue
clr.AddReference("System.Windows.Forms")
clr.AddReference("System.Drawing")

from System.Windows.Forms import Form, Label, TextBox, Button, DialogResult
from System.Drawing import Size, Point

class InputForm(Form):
	def __init__(self):
		self.InitializeComponent()

	def InitializeComponent(self):
		self.label1 = Label()
		self.label2 = Label()
		self.textBox1 = TextBox()
		self.textBox2 = TextBox()
		self.okButton = Button()

		# Set form properties
		self.Text = "Température cible"
		self.Size = System.Drawing.Size(300, 150)

		self.label1.Text = "Température:"
		self.label1.Location = System.Drawing.Point(20, 20)
		self.label1.AutoSize = True

		self.textBox1.Location = System.Drawing.Point(120, 20)
		self.textBox1.Size = System.Drawing.Size(100, 20)

		self.label2.Text = "Ecart:"
		self.label2.Location = System.Drawing.Point(20, 50)
		self.label2.AutoSize = True

		self.textBox2.Location = System.Drawing.Point(120, 50)
		self.textBox2.Size = System.Drawing.Size(100, 20)

		self.okButton.Text = "OK"
		self.okButton.Location = System.Drawing.Point(120, 80)
		self.okButton.Click += self.OkButton_Click

		self.Controls.Add(self.label1)
		self.Controls.Add(self.textBox1)
		self.Controls.Add(self.label2)
		self.Controls.Add(self.textBox2)
		self.Controls.Add(self.okButton)

	def OkButton_Click(self, sender, e):
		# Get the values entered by the user
		Cible = self.textBox1.Text
		Cible = float(Cible)
		Delta = self.textBox2.Text
		Delta = float(Delta)

		# Close the form
		self.DialogResult = System.Windows.Forms.DialogResult.OK
		self.Close()

		# Return the values
		return Cible, Delta

if __name__ == "__main__":
	input_form = InputForm()
	result = input_form.ShowDialog()

	if result == DialogResult.OK:
		Cible, Delta = input_form.OkButton_Click(None, None)  # Get the values
		print Cible
		print Delta


# Définit le délai l'appli (en secondes)

sleep = 10

# Affiche la caméra ouverte
print "Camera : ", SharpCap.SelectedCamera

# loop indefinitely > Interroge Temp camera et lance requete HTTP pour allumer/éteindre peltier
while True:
		
	# Stocke la Temperature de la camera dans la variable Temp
	Temp = SharpCap.SelectedCamera.Controls.Find(lambda x:x.Id == CommonPropertyIDs.Temperature).Value
	
	# Affiche Temp
	print Temp
	
	# Requete Allumage Wemos si Temp > Cible + Delta
	if Temp > Cible+Delta:
		urllib2.urlopen('http://192.168.1.46/control?cmd=event,ON')
		print "requete Allumage"
	
	# Sinon requete Extinction Wemos 
	else:
		urllib2.urlopen('http://192.168.1.46/control?cmd=event,OFF')
		print "requete Extinction"
	
	time.sleep(sleep)
!! script pour Sharpcap 4.1 (passé de Python 2 à 3 sur SC 4.1)

Code : Tout sélectionner

#Version pour SC 4.1 (python 3)
#App tournant en boucle : interroge la Temperature Camera toutes les X secondes (10 par défaut > paramétrable avec la ligne  "sleep =10")et envoie requête Allumage/Extinction Frigo si Température trop éloignée de la température cible

#Bibliothèques
import time
import clr
import System

#Boite de dialogue
clr.AddReference("System.Windows.Forms")
clr.AddReference("System.Drawing")

from System.Windows.Forms import Form, Label, TextBox, Button, DialogResult
from System.Drawing import Size, Point
from urllib.request import urlopen

class InputForm(Form):
	def __init__(self):
		self.InitializeComponent()

	def InitializeComponent(self):
		self.label1 = Label()
		self.label2 = Label()
		self.textBox1 = TextBox()
		self.textBox2 = TextBox()
		self.okButton = Button()

		# Set form properties
		self.Text = "Température cible"
		self.Size = System.Drawing.Size(300, 150)

		self.label1.Text = "Température:"
		self.label1.Location = System.Drawing.Point(20, 20)
		self.label1.AutoSize = True

		self.textBox1.Location = System.Drawing.Point(120, 20)
		self.textBox1.Size = System.Drawing.Size(100, 20)

		self.label2.Text = "Ecart:"
		self.label2.Location = System.Drawing.Point(20, 50)
		self.label2.AutoSize = True

		self.textBox2.Location = System.Drawing.Point(120, 50)
		self.textBox2.Size = System.Drawing.Size(100, 20)

		self.okButton.Text = "OK"
		self.okButton.Location = System.Drawing.Point(120, 80)
		self.okButton.Click += self.OkButton_Click

		self.Controls.Add(self.label1)
		self.Controls.Add(self.textBox1)
		self.Controls.Add(self.label2)
		self.Controls.Add(self.textBox2)
		self.Controls.Add(self.okButton)

	def OkButton_Click(self, sender, e):
		# Get the values entered by the user
		Cible = self.textBox1.Text
		Cible = float(Cible)
		Delta = self.textBox2.Text
		Delta = float(Delta)

		# Close the form
		self.DialogResult = System.Windows.Forms.DialogResult.OK
		self.Close()

		# Return the values
		return Cible, Delta

if __name__ == "__main__":
	input_form = InputForm()
	result = input_form.ShowDialog()

	if result == DialogResult.OK:
		Cible, Delta = input_form.OkButton_Click(None, None)  # Get the values
		print (Cible)
		print (Delta)


# Définit le délai l'appli (en secondes)

sleep = 10

# Affiche la caméra ouverte
print ("Camera : ", SharpCap.SelectedCamera)

# loop indefinitely > Interroge Temp camera et lance requete HTTP pour allumer/éteindre peltier
while True:
		
	# Stocke la Temperature de la camera dans la variable Temp
	Temp = SharpCap.SelectedCamera.Controls.Find(lambda x:x.Id == CommonPropertyIDs.Temperature).Value
	
	# Affiche Temp
	print (Temp)
	
	# Requete Allumage Wemos si Temp > Cible + Delta
	if Temp > Cible+Delta:
		urlopen('http://192.168.1.46/control?cmd=event,ON')
		print ("requete Allumage")
	
	# Sinon requete Extinction Wemos 
	else:
		urlopen('http://192.168.1.46/control?cmd=event,OFF')
		print ("requete Extinction")
	
	time.sleep(sleep)
Dernière modification par ouiouiblog le 23 oct. 2023, 22:10, modifié 11 fois.

Avatar de l’utilisateur
ouiouiblog
Messages : 1705
Inscription : 03 nov. 2022, 22:31
Localisation : 44

Régulateur à Peltier DIY

Message par ouiouiblog » 07 oct. 2023, 15:44

Côté frigo

J'étais parti pour monter un interrupteur connecté à partir d'un wemos et d'un Relay Shield, mais finalement j'ai fait plus simple : j'ai branché le frigo sur une prise connectée que je pilote par ma box domotique. Il suffit de changer les lignes 93 et 98 pour une commande compréhensible par votre box domotique (si vous en avez une, sinon vous êtes bon pour faire un relais wemos).
Dernière modification par ouiouiblog le 10 oct. 2023, 00:28, modifié 2 fois.

Avatar de l’utilisateur
lordzurp
Messages : 1428
Inscription : 25 juin 2020, 19:08
Localisation : à l'ouest

Régulateur à Peltier DIY

Message par lordzurp » 07 oct. 2023, 20:28

Réserve plus de post ;)

Avatar de l’utilisateur
ouiouiblog
Messages : 1705
Inscription : 03 nov. 2022, 22:31
Localisation : 44

Régulateur à Peltier DIY

Message par ouiouiblog » 07 oct. 2023, 21:42

lordzurp a écrit :
07 oct. 2023, 20:28
Réserve plus de post ;)
Je te remercie pour la plus-value que tu apportes au sujet :lol:

Une idée pour réguler le frigo ?

Avatar de l’utilisateur
lordzurp
Messages : 1428
Inscription : 25 juin 2020, 19:08
Localisation : à l'ouest

Régulateur à Peltier DIY

Message par lordzurp » 08 oct. 2023, 02:41

Suis dans la montagne avec que le téléphone sous la main, compliqué de faire un long post 😕
Mais reping moi dans quelques jours et on voit ça 😜

Avatar de l’utilisateur
ouiouiblog
Messages : 1705
Inscription : 03 nov. 2022, 22:31
Localisation : 44

Régulateur à Peltier DIY

Message par ouiouiblog » 08 oct. 2023, 18:23

A priori, le composant noir à 16 pins ressemble à un contrôleur de Led (genre RT5957). Si c'est le cas, on doit pouvoir commander le peltier comme une LED avec des commandes neopixel

EDIT : ben non en fait, ça ne marche pas :mrgreen:
image.png
image.png (45.5 Kio) Consulté 4763 fois

Avatar de l’utilisateur
ouiouiblog
Messages : 1705
Inscription : 03 nov. 2022, 22:31
Localisation : 44

Régulateur à Peltier DIY

Message par ouiouiblog » 10 oct. 2023, 00:19

Hé ben, ça marche bien :D :D

La caméra était à 34° au démarrage, je lui ai demandé de se caler à 31 +/0.1° (avec actu toutes les 10 secondes).

Je tourne entre 30.6 et 31.3 ;

Rien n'empêche d'accélérer la période d'actualisation et de travailler sur un intervalle plus serré (la température est relevée au 1/1000 000ème de degré, avec une précision sans doute toute relative). A cette température ambiante, la température de la caméra évolue environ 0.02° par seconde

Je vais pouvoir me faire ma biblio de Darks sans rester scotché derrière ma caméra :mrgreen:
image.png
image.png (12.85 Kio) Consulté 4740 fois

@Zibou, tu gagnes 10 à 15° avec ce truc, pas moyen d'aller à -10°. Par ailleurs le frigo refroidit l'extérieur de la caméra, quand tu passes en dessous du point de rosée, la caméra se met à ruisseler (et elle n'est pas IP68)
Dernière modification par ouiouiblog le 10 oct. 2023, 00:35, modifié 1 fois.

Avatar de l’utilisateur
ouiouiblog
Messages : 1705
Inscription : 03 nov. 2022, 22:31
Localisation : 44

Régulateur à Peltier DIY

Message par ouiouiblog » 10 oct. 2023, 00:37

J'avais édité mon post pour te répondre :)

gain de 10 à 15°

En partant de 34, j'en suis là (et ça continue à descendre doucement)
image.png
image.png (1.7 Kio) Consulté 4739 fois
En graphique (abscisse en secondes)
image.png
image.png (21.14 Kio) Consulté 4737 fois

Avatar de l’utilisateur
ouiouiblog
Messages : 1705
Inscription : 03 nov. 2022, 22:31
Localisation : 44

Régulateur à Peltier DIY

Message par ouiouiblog » 10 oct. 2023, 01:24

Il n'y a pas de peltier dans les PC (enfin pas les PC de M. tout le monde). Les températures en jeu ne sont pas les mêmes : le proc monte autour de 100° dans une atmosphère à 20/30°; souffler dessus suffit à le refroidir. Là il faut descendre en dessous de la T° ambiante.

Le but n'est pas de faire une cam refroidie (l'Uranus pro ne coûte jamais que 200 € de plus que la version non refroidie et un bricolage risque de coûter le même prix pour un résultat moindre), mais surtout d'avoir des températures stabilisées (surtout pour me faire une biblio de Darks dans un premier temps, voire pour imager par nuit de canicule).

Avatar de l’utilisateur
lordzurp
Messages : 1428
Inscription : 25 juin 2020, 19:08
Localisation : à l'ouest

Régulateur à Peltier DIY

Message par lordzurp » 10 oct. 2023, 12:02

Zibou a écrit :
10 oct. 2023, 00:58
10-15°C, bof bof bof, c'est assez bof bof.
Pour 10€ et 2min d'installation, par rapport aux 200-300€ d'un frigo "de série" c'est loin d'être si bof que ça

Avatar de l’utilisateur
ouiouiblog
Messages : 1705
Inscription : 03 nov. 2022, 22:31
Localisation : 44

Régulateur à Peltier DIY

Message par ouiouiblog » 10 oct. 2023, 14:43

Edit 23/10/2023 : problème résolu avec la dernière version de Sharpcap

Je viens d'identifier un petit truc à améliorer : le driver (en tout cas celui de l'Uranus) ne met à jour la température du capteur qu'entre chaque prise de vue. Ca peut être gênant pour les poses longues genre 60 secondes ou plus ; surtout lors du réchauffement, si on est descendu bas en température (la caméra se réchauffe de 1.5° par minute).

Je vais peaufiner l'algo de régulation (je pense que j'ai fait 80% du boulot avec 20% du temps et je sens que je bascule de l'autre côté de la règle des 80/20)
image.png
image.png (48.09 Kio) Consulté 4710 fois
Dernière modification par ouiouiblog le 23 oct. 2023, 22:11, modifié 1 fois.

Avatar de l’utilisateur
ouiouiblog
Messages : 1705
Inscription : 03 nov. 2022, 22:31
Localisation : 44

Régulateur à Peltier DIY

Message par ouiouiblog » 10 oct. 2023, 22:48

Avec un gain de -14° tu divisés le bruit par 4, c'est pas rien en fait

Avatar de l’utilisateur
ouiouiblog
Messages : 1705
Inscription : 03 nov. 2022, 22:31
Localisation : 44

Régulateur à Peltier DIY

Message par ouiouiblog » 12 oct. 2023, 21:54

Edit 23/10/23 : script inutile avec la nouvelle version de Sharpcap

Un script plus élaboré et plus adapté aux poses longues (pour lesquelles on n'a accès à la température de la caméra qu'entre les poses). Le script modélise l'évoluton de température de la caméra entre chaque pose. C'est mieux (je régule à +/- 0.5° sur des poses de 60 secondes). Par contre ça nécessite de calibrer la courbe d'évolution thermique de la caméra (ce qui est un poil pénible à faire).

Exemple sur une régulation à 20°
image.png
image.png (30.29 Kio) Consulté 4662 fois

En l'état le script est adapté à une Uranus-C avec pad thermique et un régulateur comme le mien. Il demande un paramètre supplémentaire au démarrage (température ambiante), pour estimer la température max du capteur (T ambiante + 7°) et faire ses calculs

!! script pour Sharpcap 4.1

Code : Tout sélectionner

#App tournant en boucle : A chaque nouvelle image, interroge la Temperature Camera en boucle et envoie requête Allumage/Extinction Frigo si Température trop éloignée de la température cible

#Bibliothèques
import time
import clr
import System
import math

clr.AddReference("System.Windows.Forms")
clr.AddReference("System.Drawing")

from System.Windows.Forms import Form, Label, TextBox, Button, DialogResult
from System.Drawing import Size, Point
from urllib.request import urlopen

#Boite de dialogue

class InputForm(Form):
	def __init__(self):
		self.InitializeComponent()

	def InitializeComponent(self):
		self.label1 = Label()
		self.label2 = Label()
		self.label3 = Label()
		self.textBox1 = TextBox()
		self.textBox2 = TextBox()
		self.textBox3 = TextBox()
		self.okButton = Button()

		# Set form properties
		self.Text = "Température"
		self.Size = System.Drawing.Size(350, 200)

		self.label1.Text = "Temp. ambiante:"
		self.label1.Location = System.Drawing.Point(20, 20)
		self.label1.AutoSize = True

		self.textBox1.Location = System.Drawing.Point(120, 20)
		self.textBox1.Size = System.Drawing.Size(100, 20)

		self.label2.Text = "Temp. cible:"
		self.label2.Location = System.Drawing.Point(20, 50)
		self.label2.AutoSize = True

		self.textBox2.Location = System.Drawing.Point(120, 50)
		self.textBox2.Size = System.Drawing.Size(100, 20)

		self.label3.Text = "Ecart:"
		self.label3.Location = System.Drawing.Point(20, 80)
		self.label3.AutoSize = True

		self.textBox3.Location = System.Drawing.Point(120, 80)
		self.textBox3.Size = System.Drawing.Size(100, 20)

		self.okButton.Text = "OK"
		self.okButton.Location = System.Drawing.Point(120, 110)
		self.okButton.Click += self.OkButton_Click

		self.Controls.Add(self.label1)
		self.Controls.Add(self.textBox1)
		self.Controls.Add(self.label2)
		self.Controls.Add(self.textBox2)
		self.Controls.Add(self.label3)
		self.Controls.Add(self.textBox3)
		self.Controls.Add(self.okButton)

	def OkButton_Click(self, sender, e):
		# Get the values entered by the user
		Ambiant = self.textBox1.Text
		Ambiant = float(Ambiant)
		Cible = self.textBox2.Text
		Cible = float(Cible)
		Ecart = self.textBox3.Text
		Ecart = float(Ecart)

		# Close the form
		self.DialogResult = System.Windows.Forms.DialogResult.OK
		self.Close()

		# Return the values
		return Ambiant, Cible, Ecart

if __name__ == "__main__":
	input_form = InputForm()
	result = input_form.ShowDialog()

	if result == DialogResult.OK:
		Ambiant, Cible, Ecart = input_form.OkButton_Click(None, None)  # Get the values


Tmax = Ambiant + 7

# Affiche les paramètres
print ("Camera : ", SharpCap.SelectedCamera)
print ("T. Ambiante : ", Ambiant)
print ("T. Max Camera : ", Tmax)
print ("T. Cible : ", Cible)
print ("Ecart : ", Ecart)

sleep = 5

# loop indefinitely > Interroge Temp camera et lance requete HTTP pour allumer/éteindre peltier
# Lignes urlopen(...) à personnaliser
# Lignes modélisation température caméra à personnaliser Temp = Temp - 4.147*math.log(sleep)+16.237 et Temp = Temp + 3.6746*math.log(sleep)-28.739
while True:
	#récupère durée exposition en millionième de sec.
	Expo = SharpCap.SelectedCamera.Controls.Find(lambda x:x.Id == CommonPropertyIDs.Exposure).Value / 1000000

	#Expos < ou = Sleep  >> régulation simple
	if Expo <= sleep:
		# récupère Temp camera
		Temp = SharpCap.SelectedCamera.Controls.Find(lambda x:x.Id == CommonPropertyIDs.Temperature).Value
		print (Temp)
		# Requete Allumage Wemos si Temp > Cible + Ecart
		if Temp > Cible+Ecart:
			urlopen('http://192.168.1.46/control?cmd=event,ON')
			print ("requete Allumage pour", sleep, "s")
		# Requete Extinction Wemos si Temp < Cible - Ecart
		if Temp < Cible-Ecart:
			urlopen('http://192.168.1.46/control?cmd=event,OFF')
			print ("requete Extinction pour", sleep, "s")

		print (Temp)
		time.sleep(sleep)

	#Expos > Sleep >> modélisation de la température du capteur toutes les 5 secondes
	else:
		Capture0 = SharpCap.SelectedCamera.CapturedFrameCount
		Capture = Capture0
		print ("image : ", Capture)
		Temp = SharpCap.SelectedCamera.Controls.Find(lambda x:x.Id == CommonPropertyIDs.Temperature).Value
		print (Temp, "reel")
		while Capture == Capture0:
			# Requete Allumage Wemos si Temp > Cible + Ecart
			if Temp >= Cible+Ecart:
				urlopen('http://192.168.1.46/control?cmd=event,ON')
				#Calcul température à la fin du Sleep
				#duree : Tps de Tmax à Temp
				duree = math.exp((16.237-(Temp-Tmax))/4.147)
				#Temperature finale calculée avec duree + sleep par rapport à Tmax
				Temp = Tmax + (16.237-4.147*math.log(duree+sleep))
				print ("requete Allumage pour", sleep, "s")
				print (Temp)

			# Requete Extinction Wemos si Temp < Cible - Ecart
			else:
				urlopen('http://192.168.1.46/control?cmd=event,OFF')
				#Calcul température à la fin du Sleep
				#duree : Tps de Temp à Tmax
				duree = math.exp((28.739+(Temp-Tmax))/3.6746)
				#Temperature finale calculée avec duree + sleep par rapport à Tmax
				Temp = Tmax + 3.6746*math.log(duree+sleep)-28.739
				print ("requete Extinction pour", sleep, "s")
				print (Temp)

			time.sleep(sleep)
			Capture = SharpCap.SelectedCamera.CapturedFrameCount
Dernière modification par ouiouiblog le 23 oct. 2023, 22:11, modifié 1 fois.

Avatar de l’utilisateur
ouiouiblog
Messages : 1705
Inscription : 03 nov. 2022, 22:31
Localisation : 44

Régulateur à Peltier DIY

Message par ouiouiblog » 22 oct. 2023, 12:40

J'ai échangé avec Robin. Le fait que Sharpcap n'actualise pas la température du capteur n'est pas un comportement normal. Il cherche une solution. A partir de là, le script fourni en début de post sera totalement opérationnel ; y compris pour les poses longues.

Avatar de l’utilisateur
ouiouiblog
Messages : 1705
Inscription : 03 nov. 2022, 22:31
Localisation : 44

Régulateur à Peltier DIY

Message par ouiouiblog » 23 oct. 2023, 22:13

Robin n'a pas trainé > problème résolu dans la version Sharpcap de ce jour (4.1.11137.0).

Avatar de l’utilisateur
vidalv
Messages : 331
Inscription : 09 avr. 2022, 16:27
Localisation : Région Bordelaise

Régulateur à Peltier DIY

Message par vidalv » 10 déc. 2023, 11:43

Bonjour, je tape l'incruste, :mrgreen:
Quel intérêt de réduire la température sur un capteur CMOS, un CCD je comprends, il y a des emballements thermiques lors des décharges ?
Par exemple ma caméra (une ASI585MC) est équipée d'un capteur CMOS Sony IMX585 avec la techno Starvis 2 qui évite la génération "d'amp-glow" réduire de 10°C m’amènera à quoi de plus ?
Merci :!:

Avatar de l’utilisateur
steph37
Messages : 4330
Inscription : 14 avr. 2021, 11:03
Localisation : Chenonceaux

Régulateur à Peltier DIY

Message par steph37 » 10 déc. 2023, 12:01

Je trouve que c'est pas mal expliqué ici : https://sahavre.fr/wp/bruit-part-1/

pejive
Messages : 11138
Inscription : 09 avr. 2019, 05:43
Localisation : 33

Régulateur à Peltier DIY

Message par pejive » 10 déc. 2023, 13:31

Sauf que dans ce lien il n'est pas question de la température (ou alors j'ai mal lu :mrgreen: )
Je préfère celui-ci , un peu plus hard certes
https://www.thorlabs.com/newgrouppage9. ... on%20band).
Pour faire simple: quand la température diminue, le courant d'obscurité d'un CMOS diminue, et cela ne peut qu'être bénéfique; sinon pourquoi ferait-on des caméras refroidies ?
Il est facile de constater que les images obtenues en hiver avec une température de capteur de 20° sont toujours meilleures que celles réalisées sous la canicule lorsque la température du capteur est de 35°
Les CMOS ont un bruit dû à ce courant d'obscurité plus élevé que les CCD
dcnoise.jpg
dcnoise.jpg (43.36 Kio) Consulté 4438 fois
https://www.photometrics.com/learn/excl ... han%20CCDs.

Avatar de l’utilisateur
steph37
Messages : 4330
Inscription : 14 avr. 2021, 11:03
Localisation : Chenonceaux

Régulateur à Peltier DIY

Message par steph37 » 10 déc. 2023, 15:01

Sisi @pejive on parle bien de température dans le lien que je propose, au bout de quelques lignes, il est vrai :mrgreen:

Avatar de l’utilisateur
vidalv
Messages : 331
Inscription : 09 avr. 2022, 16:27
Localisation : Région Bordelaise

Régulateur à Peltier DIY

Message par vidalv » 10 déc. 2023, 15:03

steph37 a écrit :
10 déc. 2023, 12:01
Je trouve que c'est pas mal expliqué ici
Merci @steph37 en résumé :
Conclusion.jpg
mais c'est surtout les caméra refroidie qui génère ce type de soucis ?
dither.jpg
donc ça deviens confus :?

Avatar de l’utilisateur
vidalv
Messages : 331
Inscription : 09 avr. 2022, 16:27
Localisation : Région Bordelaise

Régulateur à Peltier DIY

Message par vidalv » 10 déc. 2023, 15:11

pejive a écrit :
10 déc. 2023, 13:31
un peu plus hard certes
Eneffet :mrgreen:
Qui à déjà bossé avec le SNR (Signal Noise Rejection, comme y disent), bon en gros ils parlent de "Hot Pixels" hors, à mon avis sur les capteurs modernes c'est minoritaire voir inutile, va falloir que je recontacte mes potes du côte d'E2V vers Grenoble pour savoir ce qu'il en est :mrgreen:
Intéressant :dance:

Avatar de l’utilisateur
steph37
Messages : 4330
Inscription : 14 avr. 2021, 11:03
Localisation : Chenonceaux

Régulateur à Peltier DIY

Message par steph37 » 10 déc. 2023, 15:24

Écoute @vidalv ma compréhension est que les caméras refroidies refroidissent le capteur mais ce faisant produisent de la chaleur à proximité ;) ce qui peut poser des soucis

(Je n'ai plus de caméra refroidie et, bizarrement, ça ne me manque pas. ) :D

Avatar de l’utilisateur
Caprice
Messages : 6878
Inscription : 25 juil. 2020, 16:35
Localisation : Isère

Régulateur à Peltier DIY

Message par Caprice » 10 déc. 2023, 15:32

Je dirais plutôt que ce bruit IR est inhérent à la fabrication des caméras et qu'il est d'autant plus visible avec une cam refroidie car il y a moins de bruit annexe pour le noyer. J'ajouterai qu'il est retiré par un dark plus facile à préparer sur une cam refroidie pour une température donnée :geek:

Avatar de l’utilisateur
ouiouiblog
Messages : 1705
Inscription : 03 nov. 2022, 22:31
Localisation : 44

Régulateur à Peltier DIY

Message par ouiouiblog » 10 déc. 2023, 15:58

Un exemple vaut mieux qu'un long discours :)

Dark 60 secondes à 6.5° > Sigma ~25 et BGNoise = 9 (estimation du bruit par Siril)
image.png
Dark 60 secondes à 26.1° > Sigma ~120 et BGNoise ~ 30 (estimation du bruit par Siril)
image.png


>> Le bruit est 3x plus élevé à 26° qu'a 6°

Répondre

Revenir à « Bricolages »