Astro DSLR Peltier mod V2 - Planungsphase

Hi,

GFK ist nicht gut, das ist auch ein recht guter Wärmeleiter. Kork dürfte Feuchtigkeit ziehen. Das alles ist nicht so einfach bei der 450D. Ich habe den Finger am großen Rahmen befestigt welchen man bei Dir auf Bild 1 in Post #1247541 sehen kann. Diese hochstehende Halterung für das Mainboard hab ich ziemlich flach gebogen und dort dann mit etwas Isolierung eine Schraube rein gemacht. Den Kühlfinger auf den Sensor geklebt. Das haltet einwandfrei. Du mußt halt schauen das der Hebel nicht so groß wird. Das war für mich auch ein Grund warum ich mich für den Kühltunnel entschieden hatte.
Wie schon gesagt ist das bei der 450D sehr viel gefrickel. Am Ende war ich mit meiner Lösung zufrieden, aber es war ein langer steiniger Weg bis dahin.

Gruß Markus
 
Da geb ich Dir Recht aber ich hatte keine Lust mir ne neue Kamera zu kaufen um diese dann um zu bauen.

Hab heute den Kühlfinger eingeklebt, nun jetzt ist er drinn ich hoffe das er schön sauber aufliegt.
Auf der Rückseite hatte ich noch Teflonband aufgeklebt. Zur elektrischen Isolierung.

Weiterhin hab ich gleich einen Temperatursensor eingeklebt.

Gruß

Giuseppe
 

Anhänge

  • 1.jpg
    1.jpg
    79 KB · Aufrufe: 1.472
  • 2.jpg
    2.jpg
    76 KB · Aufrufe: 1.506
  • 3.jpg
    3.jpg
    88,5 KB · Aufrufe: 1.509
Ja, da brauch ich vielleicht noch mal Deine Hilfe. Bin noch auf der Suche nach einer günstigen und einfachen Möglichkeit mindestens zwei Sensoren auszuwerten.

Du hast da ja was realisiert in die Richtung hab ich weiter oben gelesen.

Gruß

Giuseppe
 
Moin,

das ist ganz easy mit einem arduino. Du brauchst zwei Libs:

#include <OneWire.h>
#include <DallasTemperature.h>

dann:
#define ONE_WIRE_BUS 6
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress insideThermometer;

dann fragst Du einfach so ab:

tempsensor = sensors.getTempCByIndex(0);
tempausen = sensors.getTempCByIndex(1);
tempampoppo = sensors.getTempCByIndex(2);

Du brauchst da nicht mit Adressen herum machen. Das übernimmt die Lib. ein enzelner Sensor hat immer die id 0. sobald eine dazu kommt gibt es 0 und 1. welcher aber welche id hat hängt von seiner adresse ab.

Gruß Markus
 
Jo danke,

habe jetzt meinen Arduino und den Heitzdraht.

Werde mich die Tage dran setzten und mir das mit der Programmierung mal anschauen.

Den Heizdraht hab ich jetzt bei 1,5 m also 150 Ohm geschnitten und gewickelt. Sollten in etwa 1Watt bringen.

Macht Ihr diese dünne Plastik oder Papier Schicht auf dem Rüttler weg oder bleibt die drauf?


Gruß

Giuseppe
 

Anhänge

  • arduino.jpg
    arduino.jpg
    91,8 KB · Aufrufe: 1.374
  • heizung.jpg
    heizung.jpg
    86,5 KB · Aufrufe: 1.403
Moin,

auf dem Rüttler wird nichts entfernt. Also vorsichtig arbeiten das Du ihn nicht zerkratzt. Ich habe aber noch welche da (meine ich).

Gruß Markus
 
Hi Julien,

ja, danke für die Info. Auf das Problem bin ich schon gestoßen.

Genau die Seite hatte ich schon gefunden, der Arduino wird auch soweit erkannt.
Derzeit sieht es zeitlich etwas mau aus. Sobald es was neues gibt melde ich mich.




Gruß

 
So noch mal die Frage zu dieser Folie die ich entfernen wollte.
Dann könnte ich die Tauheizung etwas größer wickeln und die würde mir dann nicht in den Sensor reinragen.

An die die eine 450d umgebaut haben, habt ihr die Folie drin gelassen und den Draht innenrein gelegt.
 

Anhänge

  • 1.jpg
    1.jpg
    63,1 KB · Aufrufe: 1.247
  • 2.jpg
    2.jpg
    91,9 KB · Aufrufe: 1.249
  • folie.jpg
    folie.jpg
    23,8 KB · Aufrufe: 1.293
Du meinst die dunkle folie?
Na klar muss der runter...schön wieder über die Heizung kleben, sonst könnte sich der draht aufscheuern wenn du denn metallrahmen aufsetzt.

Gruß Markus
 
Zuletzt von einem Moderator bearbeitet:
Hallo,

ich möchte euch auch meinen Umbau einer 1000D zu einer 1000Dac beschreiben. Danke an alle Vorschreiber, die hier ihre positiven und leidvollen Erfahrungen geteilt haben.

1.) Der Umbau von der 1000D/450D zur 1000Da/450Da ist ja fast schon Standard (Link). Daher geh ich nicht weiter drauf ein.

2.) Also dann zum Einbau der Peltierkühlung:

Tauheizung einbauen: Da ich nicht wickeln wollte, habe ich hier einen 14 cm langen Widerstandsdraht mit 28 Ohm/m genommen. Ergibt ca. 4 Ohm. Der Draht wird später mit einem Spannungsregler ab 1,2 V aufwärts betrieben (ergibt ca. 0,4 W aufwärts). Den Draht hab ich dort eingesetzt, wo das ausgebaute Filterglas saß, dadurch musste ich nicht auf den Staubrüttler oder das Sensorglas aufpassen. Außerdem werden so Sensorglas und Staubrüttler beheizt und es sollte durch den geschlossenen Aufbau weniger Heizleistung (als beim offenen Aufbau auf dem Staubrüttler) nötig sein wird. Bei 20 °C und 60 % rF haben die 0,4 W ausgereicht...ohne Heizung enstand Tau).

Link zur Grafik: https://picload.org/image/rdcarcca/1.jpg


Link zur Grafik: https://picload.org/image/rdcarcpr/2.jpg



Beim Kupferblech ist es wichtig, dass es möglichst kurz, dick und breit ist. Meins war 1,5 mm dick. Um es über den Sensor zu bekommen, musste ich es zum Ende hin aber etwas abschleifen. Das Blech wird über drei kleine Schrauben befestigt, die Gewinde dafür sind schon in der Kamera vorhanden. An das linke Ende kommen auf die Vorder- und Rückseite zwei Kühlkörper, zwei 5 V Lüfter und zwei 40 mm x 40 mm 12705 TEC Peltiers. Alle freien Stellen werden mit Schaumstoff umhüllt.

Link zur Grafik: https://picload.org/image/rdcarcpa/3.jpg


Trockenübungen erzielten bei 6 V / 10 W ca. 20 Grad Differenz zwischen Luft und äußerem, rechtem Ende der Kühlstrecke.

Link zur Grafik: https://picload.org/image/rdcarcpl/4.jpg




Zur Absicherung gegen Tau auf den Platinen hab ich einen anderen Ansatz gewählt. Jeden erreichbaren Raum und jede Spalte hab ich mit Schaumstoff ausgefüllt. Alle Bauteile sind also wärmegedämmt.
Viel bedeutender ist aber (so mein Plan), dass dadurch ein viel geringeres Luftvolumen im Kameragehäuse ist (ich hab bestimmt 90 % der Hohlräume ausgefüllt). Das verringert zwar nicht die Taugefahr, aber die Menge an Tau wird entsprechend gesenkt. Außerdem kann er an der Schaumstoffoberfläche kondensieren, wo er niemanden stört. Die Kamera lief über mehrere Stunden fehlerfrei. Ich hoffe, das bleibt so.
Der Schaumstoff ließ sich leicht verarbeiten und ist schön flexibel. Außerdem hat er eine sehr gute Dämmwirkung.

Link zur Grafik: https://picload.org/image/rdcarcpw/6.jpg


Den Aufbau wollte ich möglichst einfach und billig halten. Alles ist daher sehr minimalistisch....außerdem muss ja noch Steigerungspotential für zukünftige Projekte da sein ;) Ich hab auch keinen Temperatursensor eingebaut, weil der für eine aussagekräftige Messung ja irgendwo auf dem Sensor sitzen muss und ich nicht so recht wusste, wie ich das anstellen soll.

Noch ein paar Daten: Peltiers, Lüfter und Spannungswandler für die Heizung werden alle über ein 6V 2,25A Netzteil betrieben. Sobald der Stecker steckt, springen Lüfter & Peltiers an. Die Heizung kann über einen Schalter zugeschaltet werden. Gewichtszunahme der Kamera liegt bei ca. 250 Gramm und die Kosten bei etwa 35 €.

So sieht der Aufbau momentan aus:

Link zur Grafik: https://picload.org/image/rdcarcwr/7.jpg


Was es genau gebracht hat, kann ich noch nicht so recht beurteilen. Ein Blick auf die Histogramm verspricht aber schonmal gutes:

Ohne Kühlung:

Link zur Grafik: https://picload.org/image/rdcoocrd/warm.jpg


Mit Kühlung:

Link zur Grafik: https://picload.org/image/rdcoocrg/kalt.jpg


Da sieht man, dass die "warm pixels" (die rechten Hügelchen) verhältnismäßig abgenommen haben.


Das ganze hat auf jeden Fall Spaß gemacht, auch wenn das Anpassen der Einzelteile doch recht aufwendig war….und ein hohes Risiko besteht, die Kamera zu zerstören :D Zum Glück wurde hier schon viel Vorarbeit geleistet. Danke nochmal.


Das ist jetzt ein langer Beitrag geworden, aber ich wollte alles kompakt halten.

Wenn ihr Kritik oder Verbesserungsvorschläge habt, würde ich die natürlich gerne wissen wollen

Viele Grüße

Benny
 
Hi Benny,

danke für Deinen Beitrag, wie lange ist Dein Kühlfinger geworden?
Das mit dem Heizdraht in den Plastikrahmen hatte ich auch schon überlegt, bzw. woanders schon gesehen.

Mir ist auch nicht ganz wohl beim Gedanken den Draht auf den Rüttler zu kleben.

Gruß

Giuseppe
 
Hi Giuseppe,

das Kupferstück ist bis zu den Peltierelementen ca. 8 cm lang. Und dann nochmal 4 cm für die Peltiers. Ein paar Milimeter kürzer wäre theoretisch noch möglich gewesen (bei der 1000D.).

Auf den Rüttler wollte ich die Heizung auch nicht kleben. Hab mittlerweile noch ne dritte Variante gesehen:


Link


Link zur Grafik: https://thenightskyinfocus.files.wordpress.com/2013/01/eteny_450d-41.jpg

Wie läuft es sonst so bei dir ? Hast du bis auf die Heizung schon alles fertig ? Bin beeindruckt, wie schnell du voran kommst.

Gruß Benny
 
Hi Leute,

kleines Update.
Habe jetzt den Heitzdraht in den Plastikrahmen geklebt. Frage mich nebenbei warum ich den dünnen Draht gewählt habe.
Egal, jetzt ist er drin.
Habe nun den Kühlfinger mit Neopren beklebt. Ich überlege jetzt noch ob ich die Seiten des Kühlfingers noch vielleicht mit Silikon behandeln soll. Gerade die Beinchen des Sensors laden doch förmlich ein sich kurz zuschließen. Habt Ihr die Platine des Sensorn noch zusätzlich außer wie ich mit Nagellack gedämmt?

Hey Benny was mir noch fehlt ist eigentlich jetzt nur noch eine Halterung von Kamera zu Kühler damit das Gewicht nicht nur am Kühlfinger hängt.

Das Arduino Teil mache ich dann im Anschluss wenn die Kamera fertig ist. Das sollte je nach Lust die nächste Woche fertig werden.

 

Anhänge

  • 4.jpg
    4.jpg
    75 KB · Aufrufe: 1.133
  • 3.jpg
    3.jpg
    80,7 KB · Aufrufe: 1.131
.
 

Anhänge

  • 1 (2).jpg
    1 (2).jpg
    86,9 KB · Aufrufe: 1.117
  • 5.jpg
    5.jpg
    96 KB · Aufrufe: 1.137
  • 2 (2).jpg
    2 (2).jpg
    80,1 KB · Aufrufe: 1.141
und weiter geht es.

hoffentlich muss ich da nicht nochmal ran :-)

 

Anhänge

  • 1.jpg
    1.jpg
    84,6 KB · Aufrufe: 1.119
  • 2.jpg
    2.jpg
    94,8 KB · Aufrufe: 1.128
  • 20161101_160734.jpg
    20161101_160734.jpg
    92,4 KB · Aufrufe: 1.069
Das mit dem Silikon könnte eine ganz gute Idee sein, find ich....ja, hoffentlich klappt alles auf Anhieb ;)

Was du auf einem letzten Bild machst, ist mir aber noch ganz klar.
 
Hi Benny,

das auf dem letzten Bild ist der Sensor von hinten, genauer die Metalabdeckung.


Wenn ich es Zeitlich hin bekomme gibt es heute noch Updates.

Gruß

Giuseppe
 
Hi Markus,

kannst Du mir mal den Code posten zur Ansteuerung des Sensors und OLED?

Gruß

Giuseppe
 
Hallo,

mein Code unten macht sowas:
Link zur Grafik: http://www.bilderload.com/bild/392339/img01351Y0S7.jpg

Du findest aber ähnliches überall ins Netz.

Viele Grüße,

Julien

// Arduino: Nano V3.0 ATmega328P Board, Arduino kompatibel, USB CH340G
// OLED Display: I2C/IIC/TWI 128x64 SSD1306
// ref u8glib: https://github.com/olikraus/u8glib
// ref u8glib/wiki: https://github.com/olikraus/u8glib/wiki/userreference

#include <U8glib.h>
#include <OneWire.h>
#include <DallasTemperature.h>

// Data wire is plugged into pin 2 on the Arduino
#define ONE_WIRE_BUS 2

// Constructors
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0);
OneWire oneWire(ONE_WIRE_BUS);
// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);

// Constants
const int STRING_HEIGHT = 12;
const int DISPLAY_WIDTH = 128;
const int DEGREE_RADIUS = 1;
const char CANON_650DAC[] = "Canon 650DA Cooled";
const float R1 = 21.75;
const float R2 = 8.17;
const float RFactor = (R1+R2)/R2;

// Variables
int x, y, width;
float temperature_sensor, temperature_ambient, temperature_delta, voltage, Vcc;

// Methodes
void draw(void) {
// set font
u8g.setFont(u8g_font_6x12); // u8g.setFont(u8g_font_unifont);

// Header
x = 0;
y = STRING_HEIGHT;
u8g.setPrintPos(x, y);
u8g.print(CANON_650DAC);

// Draw H Line
x = 0;
y++;
u8g.drawHLine(x, y + 1, DISPLAY_WIDTH);

// Ambient & Sensor Temperature
x = 0;
y += STRING_HEIGHT + 1;
u8g.setPrintPos(x, y);
u8g.print("Ta");
width = u8g.getStrWidth("Ta");

x += width + 3;
u8g.setPrintPos(x, y);
u8g.print(temperature_ambient);
width = u8g.getStrWidth("-88.88");
x += width + 1;
u8g.drawCircle(x, y - STRING_HEIGHT + 2*DEGREE_RADIUS + 1, DEGREE_RADIUS, U8G_DRAW_ALL);
x += 2*DEGREE_RADIUS + 1;
u8g.setPrintPos(x, y);
u8g.print("C");
width = u8g.getStrWidth("C");

// Draw V Line
x += width;
u8g.drawVLine(x + 3, y - STRING_HEIGHT, STRING_HEIGHT + 2);

// x += width;
u8g.setPrintPos(x, y);
u8g.print(" Ts");
width = u8g.getStrWidth(" Ts");

x += width + 3;
u8g.setPrintPos(x, y);
u8g.print(temperature_sensor);
width = u8g.getStrWidth("-88.88");
x += width + 1;
u8g.drawCircle(x, y - STRING_HEIGHT + 2*DEGREE_RADIUS + 1, DEGREE_RADIUS, U8G_DRAW_ALL);
x += 2*DEGREE_RADIUS + 1;
u8g.setPrintPos(x, y);
u8g.print("C");

// Draw H Line
x = 0;
y++;
u8g.drawHLine(x, y + 1, DISPLAY_WIDTH);

// Delta Temperature
x = 0;
y += STRING_HEIGHT + 1;
u8g.setPrintPos(x, y);
u8g.print("Delta ");
width = u8g.getStrWidth("Delta ");
x += width;
u8g.setPrintPos(x, y);
u8g.print(temperature_delta);
width = u8g.getStrWidth("-88.88");
x += width + 1;
u8g.drawCircle(x, y - STRING_HEIGHT + 2*DEGREE_RADIUS + 1, DEGREE_RADIUS, U8G_DRAW_ALL);

x += 2*DEGREE_RADIUS + 1;
u8g.setPrintPos(x, y);
u8g.print("C");

// Draw H Line
x = 0;
y++;
u8g.drawHLine(x, y + 1, DISPLAY_WIDTH);

// Voltage
x=0;
y += STRING_HEIGHT + 1;
u8g.setPrintPos(x, y);
u8g.print("Vin ");
width = u8g.getStrWidth("Vin ");
x += width;
u8g.setPrintPos(x, y);
u8g.print(voltage);
width = u8g.getStrWidth("88.88");
x = x + width;
u8g.setPrintPos(x, y);
u8g.print(" Volt");

// drawHLine;
}

void drawHLine(void) {
x = 0;
y++;
u8g.drawHLine(x, y + 1, DISPLAY_WIDTH);
}

long readVcc() {
long result;
// Read 1.1V reference against AVcc
ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
delay(2); // Wait for Vref to settle
ADCSRA |= _BV(ADSC); // Convert
while (bit_is_set(ADCSRA,ADSC));
result = ADCL;
result |= ADCH<<8;
result = 1125300L / result; // Back-calculate AVcc in mV
return result;
}

// Setup & Loop
void setup(void) {
// start serial port
Serial.begin(9600);
Serial.println(CANON_650DAC);

// Start up the library
sensors.begin(); // IC Default 9 bit. If you have troubles consider upping it 12. Ups the delay giving the IC more time to process the temperature measurement
}

void loop(void) {

// Send the command to get the voltages
Vcc = readVcc()/1000.0;
unsigned int raw_bat = analogRead(A0);
voltage = (raw_bat * (Vcc / 1023) * RFactor);

// Send the command to get temperatures
sensors.requestTemperatures();
temperature_sensor = sensors.getTempCByIndex(0);
temperature_ambient = sensors.getTempCByIndex(1);
temperature_delta = temperature_sensor - temperature_ambient;

Serial.print("Vin: ");
Serial.print(voltage);
Serial.print(" Volt");
Serial.println("");

Serial.print("T: ");
Serial.print(temperature_sensor);
Serial.print(" *C");
Serial.println("");

Serial.print("T: ");
Serial.print(temperature_ambient);
Serial.print(" *C");
Serial.println("");

Serial.print("T: ");
Serial.print(temperature_delta);
Serial.print(" *C");
Serial.println("");

// picture loop
u8g.firstPage();
do {
draw();
} while( u8g.nextPage() );

// rebuild the picture after some delay
delay(500);
}
 
Zuletzt von einem Moderator bearbeitet:
Hi Julien,

danke das funktioniert ganz gut. Bis auf die Tatsache das er mir -127 Grad anzeigt und sich der Wert nicht weiter ändert.
Ich muss auch dazusagen das ich derzeit nur einen Sensor angeschlossen habe.

 
Ich habe 1/GND an GND auf der oberen Seite Deiner Grafik angeschlossen. 2/BUS wie Du auch. An 3/VCC des Sensors habe ich allerdings auch 5Volt angeschlossen.
 
Habe jetzt aus Deinem Link diesen Code hochgeladen

#include <OneWire.h>
#include <DallasTemperature.h>

// Data wire is plugged into pin 2 on the Arduino
#define ONE_WIRE_BUS 2

// Setup a oneWire instance to communicate with any OneWire devices
// (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);

void setup(void)
{
// start serial port
Serial.begin(9600);
Serial.println("Dallas Temperature IC Control Library Demo");

// Start up the library
sensors.begin();
}


void loop(void)
{
// call sensors.requestTemperatures() to issue a global temperature
// request to all devices on the bus
Serial.print(" Requesting temperatures...");
sensors.requestTemperatures(); // Send the command to get temperatures
Serial.println("DONE");

Serial.print("Temperature for Device 1 is: ");
Serial.print(sensors.getTempCByIndex(0)); // Why "byIndex"?
// You can have more than one IC on the same bus.
// 0 refers to the first IC on the wire

}

Zeigt mir hier ebenfalls -127 an.

Lustig ist auch wenn ich den Sensor abklemme und das Programm laufen lasse zeigt er mir das Gleiche an. Als ob es ihm egal wäre was und ob überhaupt angeschlossen ist.

Jemand eine Idee.

Bin leider auf dem Gebiet völliger Anfänger.
 
Moin,

die -127 bekommst Du immer dann angezeigt wenn er den Sensor nicht findet. Dein Sketch sollte aber funktionieren, also ist der Fehler woanders zu suchen.
Hast Du den Sensor richtig verkabelt so wie hier zu sehen:
http://www.tweaking4all.com/wp-content/uploads/2014/03/ds18b20-parasite-power.jpg

Im Parasit Mode muß der plus Pin gegen Masse geschaltet werden. Sonst funktioniert es nicht. Der Daten-Pin mit dem Pullup Widerstand gegen 5 Volt.

Gruß Markus
 
Hi Giuseppe,

auf dieser Seite ist ein gutes Minimalbeispiel, anhand dessen du den Temperatursensor testen kannst.

Link

Ich hab den gleichen Arduino und den gleichen Temperatursensor wie du. Bei mir hats funktioniert.

Grüße
Benny
 
Hi Benny,

danke für den Link. Habe den Fehler heute gefunden. Ich Dummerchen hab den falschen Widerstand eingelötet 4,7 Ohm anstatt kOhm.

Jetzt noch einen zweiten Sensor ran und morgen gibt es den finalen Test. Bevor ich alles zusammenbaue.

Gruß

Giuseppe

P.S. der Widerstand, welchen Einfluss, wenn überhaupt, hat er auf den Messwert?

 

Anhänge

  • temp.jpg
    temp.jpg
    90,4 KB · Aufrufe: 874
Zurück
Oben