Aller au contenu

Messages recommandés

Posté (modifié)

Modification alimentation QHY8

Alimentation en 12v sur batterie.

 

Montage: survolteur 12v 24v; LM804it5.0 (régulateur 5v 2A) pour alimentation arduino avec schield lcd 16x2. Affichage température extérieur du peltier + la consigne de temperature, pour une régulation du module peltier.

schéma et montage suivra.

Modifié par denis-mgt
  • 2 semaines plus tard...
Posté (modifié)

aa.jpg.3e50be72a48b17172e8e1e8a7102c6c0.jpg1er partie

 

Attention au polarité du régulateur LM1084IT5 5v5a (sur le Schémas régulateur 78S05 5v2a)

 

Schéma montage arduino uno avec schield LCD

Régulation température CCD

Modifié par denis-mgt
Posté (modifié)

Sketch pour trouvée l'adresse des capteurs DS18B20

 

/*

Programme pour trouver l'adresse des sondes DS18B20

Raccorder la sonde sur la broche 3 et ouvrir le moniteur serie, vitesse serial 9600. l'adresse de la sonde s'affiche

 

*/

#include <OneWire.h>

 

OneWire ds(3); // connecter la sonde sur la broche 3

 

void setup(void) {

Serial.begin(9600);

discoverOneWireDevices();

}

 

void discoverOneWireDevices(void) {

byte i;

byte present = 0;

byte data[12];

byte addr[8];

 

Serial.print("Looking for 1-Wire devices...\n\r");

while(ds.search(addr)) {

Serial.print("\n\rFound \'1-Wire\' device with address:\n\r");

for( i = 0; i < 8; i++) {

Serial.print("0x");

if (addr < 16) {

Serial.print('0');

}

Serial.print(addr, HEX);

if (i < 7) {

Serial.print(", ");

}

}

if ( OneWire::crc8( addr, 7) != addr[7]) {

Serial.print("CRC is not valid!\n");

return;

}

}

Serial.print("\n\r\n\rThat's it.\r\n");

ds.reset_search();

return;

}

 

void loop(void) {

// nothing to see here

}

 

5aa583554d037_Sanstitre2.png.2d5adfffcdec7809bc20c0648494ed2f.png

Modifié par denis-mgt
Posté (modifié)

Programme de fonctionnement

 

mise à jour le 14/11/2014

 

/*

Regulation de temperature CCD QHY8

Programme De :jojo heim

 

Raccordements:

Relai broche 13

Sondes broche 2

 

*/

 

#include "LiquidCrystal.h"

#include <OneWire.h>

#include <DallasTemperature.h>

#include <SPI.h>

#include "Wire.h"

 

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

 

 

int lcd_key = 0;

int adc_key_in = 0;

#define btnPlus5 0

#define btnPlus1 1

#define btnMoins1 2

#define btnMoins5 3

 

int Pel = 13;// sortie relai

 

DeviceAddress Temperature1, Temperature2 ;

 

#define ONE_WIRE_BUS 2 // sonde raccordée sur la broche 2

 

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

DeviceAddress Probe01 = { 0x28, 0x13, 0x2A, 0xA8, 0x04, 0x00, 0x00, 0x72 }; // adresse a remplacer - sonde exterieur

DeviceAddress Probe02 = { 0x28, 0x71, 0x17, 0xA8, 0x04, 0x00, 0x00, 0xB7 }; // adresse a remplacer - sonde peltier

 

 

 

 

float settemp;

float compt;

float compt2;

int read_LCD_buttons()

 

{

adc_key_in = analogRead(0);

if (adc_key_in < 50) return btnPlus5;

if (adc_key_in < 195) return btnPlus1;

if (adc_key_in < 380) return btnMoins1;

if (adc_key_in < 555) return btnMoins5;

}

 

 

void setup()

{

pinMode (Pel,OUTPUT);

sensors.begin();

sensors.setResolution(Probe01, 10);

sensors.setResolution(Probe02, 10);

 

lcd.begin(16, 2);

lcd.setCursor(3,0); //Place du curseur ecran LCD positions 3

lcd.print("QHY8 Fresh"); //peut être remplacer au lieu de "QHY8 Fresh" par "Canon Fresh" ...

lcd.setCursor(4,1); //Place du curseur ECRAN LCD position 4

lcd.print("Mogenot D."); //peut être remplacer au lieu de "Mogenot D" par "ce que vous voulez"

delay(4000);

lcd.clear();

 

}

 

void loop()

{

int temp1 = sensors.getTempC(Probe02);

sensors.requestTemperatures();

 

lcd.begin(16, 2);

lcd.setCursor(0,0);

 

lcd.print("E:");

printTemperature(Probe01);

 

lcd.print(" ");

lcd.print("P:");

printTemperature(Probe02);

 

lcd.setCursor(1,1);

lcd.print("Cons: ");

lcd.print(settemp);

 

if (settemp < temp1 )

{

digitalWrite(Pel,LOW);

lcd.print (" on");

}

 

else

{

digitalWrite(Pel,HIGH);

lcd.print (" off");

}

 

delay (100);

settemp = (compt*1)+(compt2*5);

 

// possibilitée d'augmenter la précision de la consigne incrément 0.5

//settemp = (compt*0.5);

 

lcd_key = read_LCD_buttons();

switch (lcd_key)

{

case btnPlus1:

{

(compt ++);

break;

}

case btnMoins1:

{

(compt --);

break;

}

 

case btnPlus5:

{

(compt2 ++);

break;

}

case btnMoins5:

{

(compt2 --);

break;

}

}

 

}

 

void printTemperature(DeviceAddress deviceAddress)

{

 

float tempC = sensors.getTempC(deviceAddress);

 

if (tempC == -127.00)

{

lcd.print("Erreur");

}

 

else

{

 

lcd.print(tempC);

 

}

}

Modifié par denis-mgt
  • 3 semaines plus tard...
Posté (modifié)

1 Schéma typon 2 faces en couleur pour contrôle

 

1 Sérigraphie

 

Régulateur 78S05 trop faible

Régulateur LM1084IT5 bon compromis

5aa58353da153_Schmaal.jpg.888cd30685d2b83e65ffab9ddfec59d4.jpg

5aa58353eb35d_srigraphie.thumb.jpg.f1578130f14e0640160c35cf34630311.jpg

Modifié par denis-mgt
Posté (modifié)

mise à jour du programme

 

au lieu de la ligne de commande

int temp1 = sensors.getTempC(Probe01); erreure dans cette ligne

 

int temp1 = sensors.getTempC(Probe02) "la correction a été faite page 4 ici "

Modifié par denis-mgt
Posté (modifié)

Voici le montage finale.

Test sur une durée de 20h

Max température négative a l'essais -15°C sur capteur CDD Ext 21°C

Delta T = environ -36 C au-dessous d'ambiant

5aa5835632ef9_AlimentationQhy8.thumb.jpg.57f0824e8a903f2b6cc6baec1c60060f.jpg

Modifié par denis-mgt
Posté

Bonjour a toutes et tous, l'astronomie n'est pas mon domaine lol

Je voulais simplement remercier Denis pour son honnêteté et ceci en laissant mon nom sur le programme!!!

Très belle réalisation !!! Le boitier est propre, les découpes impeccables Bravo!!!!!

Un petit détail si vous permettez!

Afin de gagner de la place sur un circuit imprimé, j'utilise une nano lorsqu'il faut accéder au programme et une micro ou tout simplement un ATM 328 si le programme ne nécessite pas d'intervention.

Bon courage a vous!!!

 

Jojo heim

Posté

Bien le schéma!!! Bravo!!

Désolé, J'ai une petite remarque!

Il y a un fil nommé RST, si je fais un reset qui est directement au +, je fais un court circuit

Il faudrait mettre une résistance de 10K entre le + et la broche 1 ou alors supprime tout simplement ce petit bout de fil et sa dénomination.

 

J'espère que tu m'en veut pas pour cette remarque!!!

 

A bientôt

Jojo

 

http://arduino-creations.blogspot.fr/

Posté
Bien le schéma!!! Bravo!!

Désolé, J'ai une petite remarque!

Il y a un fil nommé RST, si je fais un reset qui est directement au +, je fais un court circuit

Il faudrait mettre une résistance de 10K entre le + et la broche 1 ou alors supprime tout simplement ce petit bout de fil et sa dénomination.

 

J'espère que tu m'en veut pas pour cette remarque!!!

 

A bientôt

Jojo

 

http://arduino-creations.blogspot.fr/

 

 

Merci pour la correction. Le schéma a été mis à jour bout de fil supprimé

 

A bientôt

Rejoignez la conversation !

Vous pouvez répondre maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous pour poster avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.