Welcome! Log In Create A New Profile

Advanced

Stylo 3D, Allumer une led en fonction de la température

Posted by SGRmetrage 
Stylo 3D, Allumer une led en fonction de la température
March 16, 2014 02:14PM
Bonjour;
Je me présente étudiant en Terminale STI2D et notre projet et de réaliser un stylo 3D (Pour plus d'informations faites une recherche sur : [www.lestylo3d.com] c'est vraiment un projet passionnant). Nous sommes dans une phase de recherche de solutions et je suis face à quelques problèmes...

J'aimerais allumer une led lorsque la température dépasse :
- Un seuil d'utilisation, la Led s'allumera donc quand le stylo à atteint la bonne température pour ètre utilisé.
- Un seuil de sécurité, lorsque la température atteint un niveau qui pourrait entraîner des brûlures ou une détérioration du matériel par exemple.

Deux informations de température vont devoir être fournis. Il y aura donc deux seuils que l'on aurait pu régler par potentiomètre, mais dans notre cas ils seront fixe donc nous donnerons seulement un valeur à notre variable dans le programme.

Dans la pratique :
La température va être mesurée à l'aide d'une PT100, qui va délivrer une résistance proportionnel à la température. C'est un composant simple qui est une résistance variable et dont la résistance varie avec la température.
Elle a une réponse presque linéaire. Oui question linéarité la PT100 est linéaire en première approximation, c'est à dire sur une plage restreinte de température.
Au delà et/ou selon la précision demandée il faut faire intervenir la relation de Steihart.
Maintenant pour notre projet nous n'avons pas besoin de réaliser un outil de "précision" donc nous n'avons pas besoin de cette relation.

Donc reprenons, on sait que la Pt100 va délivrer une résistance, mais il va falloir la traduire en tension pour que le programme puisse la comparer au seuil. Pour cela on va utiliser un circuit diviseur de tension.

On sait que les entrées analogiques de l'Arduino mesurent une tension et fournissent donc une valeur numérique entre 0 et 1023 proportionnelle à la tension de référence.
La Pt100 fournissant une réponse à la température sous forme de résistance variable, le circuit diviseur de tension va permettre de convertir cette résistance variable en tension variable qui va pourvoir être lu par les entrées analogiques de l'Arduino.
Sur Arduino on n'obtient pas directement une tension comme mesure sur les entrées analogiques mais une valeur comprise entre 0 et 1023 qui est proportionnelle à la tension de référence (Uin). Soit A0 la valeur numérique mesurée sur l'entrée analogique n°0, on a : A0=1024*Uout/Uin-1

Donc avec le diviseur de tension : A0=1024*R1/(R1+R2)-1 .

Voila c'est fini pour le gros blabla ^^" C'est de la théorie et j'aurais besoin de vous pour ètre sur d'avoir bien compris la chose !
Le programme que je vais utiliser (sous arduino) pour comparer la température au seuil est le suivant :
Temperature = analogRead(A0);
Seuil = analogRead(A1);

if(Temperature>=Seuil) digitalWrite(LED,HIGH);
if(Temperature<(Seuil-HYSTERESIS)) digitalWrite(LED,LOW);

Il avait été fait dans l'hypothèse ou nous utiliserions un potentiomètre pour régler le seuil mais finalement non ça complique trop la chose ^^" Donc en fait on va devoir simplement fixer une valeur à notre variable ce qui donnerais Seuil = 10 (c'est une valeur au pif) c'est aussi simple que cela ou plus compliqué ?
Quelqu'un aurait-il plus d'explication au niveau du pont diviseur et les valeurs qui vont ètre comparé etc... car avec toutes ces recherches je suis un peu perdu...

Merci de votre patience.
Re: Stylo 3D, Allumer une led en fonction de la température
March 17, 2014 05:45AM
Regarde sur Patrick, je suis en train de faire l'étude d'un stylo 3d pour mes élèves de Bac pro TU.
En ce moment je suis sur la partie électronique, j'attaque la partie mécanique bientôt, mais j'ai déjà une petite expérience pour l'extrusion regarde aussi Imprimante 3D.
Voilà pour un début, regarde aussi mon flickR.

Bon courage,
A bientôt.
Patrick.
Re: Stylo 3D, Allumer une led en fonction de la température
March 17, 2014 04:41PM
Bonsoir;
Tout d'abord merci pour votre réponse.
Oui j'ai déja parcouru votre sujet sur le stylo 3D très très intéressant mais qui ne répond malheureusement pas à la parti dont je m'occupe ^^
Je n'ai rien trouvé concernant l'allumage d'une led au bout d'un temps donné..

Merci.
Re: Stylo 3D, Allumer une led en fonction de la température
March 17, 2014 08:37PM
Cable ta sonde de temperature ensuite une fois que dans ton programme tu a la valeur en temperature suffit de balancer un if (val_sonde=> 200) et un digital write dessous pour allumer la led .


Et pour ton seuile de danger c'est pareil

If (val_sonde<30 )
Alors allumer la led de danger .


Tu peux rassembler ces 2 infos sur une seule led . Tu allume le stylo la led clignotte des qu'elle depasse 30° puis reste fixe a temperature desiré ( 200 dans mon exemple )


Pour la temperature de chauffe va faloir faire une boucle de frequence de genre 0.5sec c'est a dire que tu test la temperature toute les 0.5 seconde pour arriver a ta valeur voulue . Car je suis pas sur qu'il y est interet a stresser la hot end ou le mosfet en faisant des boucle de loop( en miliseconde voir moins)
Re: Stylo 3D, Allumer une led en fonction de la température
March 18, 2014 04:40PM
Merci de ta réponse tu m'aides vraiment beaucoup.

Alors si je comprends bien, je fais toutes mes petites manipulations avant car nous allons utiliser une sonde Pt100 qui délivre une résistance et non une tension donc avec un pont diviseur j'aurais une tension sur un port analogique d'arduino. Jusqu’à la ça va ?
Ensuite tout ce joue au niveau du programme, donc si je reprends mon programme en fixant mon seuil pour dire que la température d'utilisation est atteinte ( se sera 230°C ) :

Temperature = analogRead(A0);
Seuil = 230;

if(Temperature>=Seuil) digitalWrite(LED,HIGH);
if(Temperature<(Seuil-HYSTERESIS)) digitalWrite(LED,LOW)

Se serait bon comme programme ? Je suis pas vraiment pas doué en programmation.


Quote

Pour la temperature de chauffe va faloir faire une boucle de frequence de genre 0.5sec c'est a dire que tu test la temperature toute les 0.5 seconde pour arriver a ta valeur voulue . Car je suis pas sur qu'il y est interet a stresser la hot end ou le mosfet en faisant des boucle de loop( en miliseconde voir moins)
Oulala ! Je n'ai pas trop compris désolé...

Merci de ton aide.
Re: Stylo 3D, Allumer une led en fonction de la température
March 18, 2014 05:55PM
Ton code ne vas pas car tu n'auras jamais la temperature directement en sortie d'un analogread


Et ton hysteresis n'est pas expliqué non plus . winking smiley


Pour l'histoire de tempo c'est pour ne pas allumer eteindre 50fois par seconde la buse .

De plus il faudra je pense lisser ta temperature car une sonde non filtré te donne plein de resultats differents a la seconde
Re: Stylo 3D, Allumer une led en fonction de la température
March 18, 2014 06:46PM
Oui pardon petite erreur, ce sera sous forme de tension grâce au diviseur de tension !

Que veut-tu dire par qu'elle n'est pas expliqué ?

Quote

Pour l'histoire de tempo c'est pour ne pas allumer eteindre 50fois par seconde la buse .

De plus il faudra je pense lisser ta temperature car une sonde non filtré te donne plein de resultats differents a la seconde
Oui oui enfin ce n'est pas moi qui m'occupe de l'allumage de la buse seulement des leds pour cette partie.

Merci de ton aide et de ta patience surtout...
Re: Stylo 3D, Allumer une led en fonction de la température
March 18, 2014 09:28PM
Bah en fait je comprend pas pourquoi tu met seuil -hysteresis c'est tout winking smiley
Re: Stylo 3D, Allumer une led en fonction de la température
March 19, 2014 04:37PM
Pour tout te dire.... Je ne sais pas vraiment :/ Je ne savais pas comment gérer L’hystérésis et on m'a dit de le mettre ainsi dans le programme et de le définir en début de programme.
Re: Stylo 3D, Allumer une led en fonction de la température
March 20, 2014 01:01AM
Je sais pas exactement a quoi correspond l"hysteresis mais a vu de nez sur un programme simple je sais 0as si ten a besoin
Re: Stylo 3D, Allumer une led en fonction de la température
March 20, 2014 05:40AM
Je vais en faire abstraction pour le moment ^^" Mais sinon dans la logique le programme est bon ?
Re: Stylo 3D, Allumer une led en fonction de la température
March 20, 2014 06:40AM
Pour ta régulation de tension, que la resistance soit allumée/éteinte 50 fois par seconde ne lui aucun mal. D'ailleurs c'est le principe utilisé par les reprap (PWM).
Tu fais un truc tout basic avec une hysteresis : pourquoi ne pas faire un vrai PID ? ta régulation sera plus rapide et précise. De plus ça évite les bruits désagréables générés par un controle en très basse fréquence...
Re: Stylo 3D, Allumer une led en fonction de la température
March 21, 2014 10:24AM
Je ne m'occupe pas de la régulation personnellement, je dois seulement allumer deux LEDS en fonction de deux seuils différents.

Je pensais le faire à partir d'un programme comme celui-ci
Temperature = analogRead(A0);
Seuil = 230;

if(Temperature>=Seuil) digitalWrite(LED,HIGH);
if(Temperature<(Seuil) digitalWrite(LED,LOW)

Le seuil étant sous forme de tension (ici il s'agit d'une valeur au pif hein)

Edited 1 time(s). Last edit at 03/21/2014 10:24AM by SGRmetrage.
Re: Stylo 3D, Allumer une led en fonction de la température
March 21, 2014 07:33PM
Le raisonement pour la led est simple oui . Le plus chiant si on peu dire c'est le parametrage de la sonde
Re: Stylo 3D, Allumer une led en fonction de la température
March 22, 2014 11:22AM
Oui c'est sur mais par chance ce n'est pas mon boulot x)
J'ai juste à récupérer la résistance de la sonde et convertir en tension avec un pont diviseur. Enfin finalement on va surement utiliser un thermocouple donc il suffira d'un amplificateur pour amplifier la tension.
Re: Stylo 3D, Allumer une led en fonction de la température
March 22, 2014 05:46PM
Max6675 camarche plutot bien et tu auras directement une sortie en degres
Re: Stylo 3D, Allumer une led en fonction de la température
March 26, 2014 12:49PM
Oui merci effectivement je cherchais ce genre de composant.
Sorry, only registered users may post in this forum.

Click here to login