construction imprimante 3D

  • Auteur de la discussion ******
  • Date de début
A

Abimen

Compagnon
Hola, ola ola olala

"Jacques help me"

Là, tu es tombé sur du dur ! Pour résoudre cela, il me faudrait des heures de révisions, en plus, je n'ai aucune connaissance pratique du sujet.

http://fr.wikipedia.org/wiki/Régulateur_PID
https://radhesh.wordpress.com/2008/05/11/pid-controller-simplified/

Lorsqu'on fait une régulation, il y a toujours un temps de retard entre la commande et ses effets : la table est trop froide, le chauffage s'enclenche/augmente, la température de la table monte, elle atteint la température maximum, l'alimentation du chauffage est coupée/diminuée mais la plaque est toujours chaude et continue à chauffer la table et la température continue de monter ... la température de la table peut osciller fortement. Le contrôle PID permet de résoudre ce problème, les trois paramètres permettent de tripoter le PID en accordant un coefficient d'importance à chacune des trois réactions (voir wiki ci-dessus) ...

Il n'y a de solution théorique au problème que si il est possible d'écrire la fonction de transfert du processus IIRC, ce qui est rarement le cas, par contre on peut la 'sentir' : exemple ta plaque 2000W va accumuler beaucoup d'énergie et va continuer à chauffer bien après qu'on lui ait coupé le jus (Vla que je pense à une ampoule 100 watts à filament ... beaucoup moins cher :) ) ...

Les habitués tripotent ces trois paramètres et sentent les résultats ... moi pas ! Faut pas nécessairement comprendre les maths.

Ton Arduino est capable de calculer un PID sur base d'un capteur de température de table et d'une patte de commande de chauffage, il suffit de lui fournir les trois paramètres qui vont l'aider à mieux résoudre le PB ... bonne chance et bon amusement :).

Mais tu as déjà dû lire ce que je viens d'écrire et c'était probablement mieux expliqué :).

J'ai tout dit et j'ai rien dit :)

Abimen
 
A

Abimen

Compagnon
Hola,

Une commande PWM = Pulse Width Modulator, en français MLI modulation à largeur d'impulsion.
La commande est un signal carré de fréquence constante qui peut être ON (à 5V) pendant 0% du cycle à 100% du cycle, on peut ainsi moduler la puissance de chauffage. Ca ne devait fonctionner qu'avec du courant continu dans la table chauffante ... Quoique avec une fréquence de 1Hz ou plus, ça doit être possible en 50Hz 230V AC ???

// setting this to anything other than 255 enables a form of PWM to the bed just like HEATER_BED_DUTY_CYCLE_DIVIDER did,

Si tu donnes à MAX_BED_POWER une valeur différente de 255, tu permets à Arduino de gérer la température de la table via une commande PWM sur une patte de l'Arduino qui doit être indiquée dans la doc. Tu laisses 255 et rien ne se passe, tu gères toi même la température de la table. ... A vérifier.

// so you shouldn't use it unless you are OK with PWM on your bed. (see the comment on enabling PIDTEMPBED)
#define MAX_BED_POWER 255 // limits duty cycle to bed; 255=full current

#ifdef PIDTEMPBED
//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
//from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
#define DEFAULT_bedKp 10.00
#define DEFAULT_bedKi .023
#define DEFAULT_bedKd 305.4

//120v 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
//from pidautotune
// #define DEFAULT_bedKp 97.1
// #define DEFAULT_bedKi 1.41
// #define DEFAULT_bedKd 1675.16

Il y a peut-être une option 'pidautotune' qui te libère de ces questions ?

Jacques
 
?

******

Compagnon
Merci jacques tes explications sont très importante !
je vais me documenté maintenant que je comprend mieux je sais par ou aller !
-----> je crois qu'il y as un PIDautotune c'est se qu'il me semble.



Saludos

jacinto


Salut CNCSERV oui le System de régulation A 15 euros c'est pas cher certes

mais on peut peut-être se passez de système de régulation autonome

en suivant l'pidautotune ou a l'intuition comme le dit Jacques

Il est possible de modifier le firmware --> configuration.h

Et encore comme le dit Jacques et si j'ai bien compris
le calcul PID du firmware commande la commutation
en tout ou rien si MAX_BED_POWER 255

donc je vois deux possibilité (si on oublie PWM):
1- soi la commutation est trop rapide alors il faut utiliser un relais SSR
ou
2- lente alors relais de voiture conviens

??

la seule façon c'est d'essayer

j'aimerai bien voir une une plusieurs photo de ta machine ?

tu le ferai ?


Saludos

jacinto


************************************************
ps : au pif la fonte a tendance a avoir une grande inertie sur la chaleur ?

donc le relais devrais suffire ? Je me demande CNCSERV si tu as essayer de corriger le défaut de régulation de ta plaque en modifiant le pid dans le firmware ?

si par exemple la température recherchée est 100 degrés
le système devrait couper le courant avant les 100 degrés au pif a 80 degrés

puis remettre un peu de "gaz" régulièrement
c est a dire commuter pendant un temps plus ou moins variable , c'est le travail du calcul de PID ? non ?

peut-être que c'est impossible pour le système PID a faire cela corectement...

**--> il faudrai alors mettre en mode "pwm" sur un relai SSR ? <--**

( j 'ai l'impression Jacques qu'en conectant un relai SSR sur la bonne sortie de l'arduino on peut gere directement le mode pwm ? )

(un relay SSR : imput dc - output ac )


----------------------------
ps2 :

avec "MAX_BED_POWER 255" :

En extrapolant completement , si l’écart est +20 / -20 degrés soit 40 degrés ça serai gênant pour les
impressions ABS ?

ex : si on regle a 100 degres
entre ( 80 et 120 en 3 ,4 minutes ) ou ( 70 et 110 en 3 ,4 minutes ) ?
--->
un calibrage pid avec "MAX_BED_POWER 255" fait pire ?
 
Dernière édition:
V

vres

Compagnon
Pour l'instant le PID de ma plaque est le bilame d'origine que je règle au mini.
 
?

******

Compagnon
merci de ta reponse !

donc tu n'as pas mis la sonde de temperature de l'arduino c'est bien cela ?

il n'y a pas de regulation via la carte arduino ?

....


sur ma plaque que j'ai completement demonter j'ai pas vu de bilame ?

pour moi il n'y a pas de bilame sur ce type de plaque ... je me trompes ?


la resistance chauffe la fonte generalement entourer de l'evier inox ... il n'y a pas de bilame dans celle que j'ai demonté ,

entierement demonter , jusqu'a la resistance qui est dans la fonte et dans un ciment qui couvre la resistance mais on voi tout le fil et il n'y a aucun endroit ou pourai se trouve un bilame ... bizarre

peu etre que le commutateur contiendrai cela ?
 
Dernière édition:
?

******

Compagnon
ici sont decrite les plaques
page 5 et 6 :
la miene est une plaque automatique en fonte:
http://ww2.ac-poitiers.fr/electronique/IMG/doc/cours_table_de_cuisson_electrique.doc

il existe un dispositif de protection (que je n'ai pas trouvé) :

en haut de la page 6 :
"
Elles sont pourvues d'une protection thermique qui coupe une des résistances en cas de surchauffe
(ex : fonctionnement à vide) ou repasse automatiquement à pleine puissance dans le cas inverse.
"

mais pour ce type de plaque ce n'est pas un système de régulation !

ta plaque est de ce type ?
 
V

vres

Compagnon
J en'utilise pas d'arduino.
J'ai acheter ma plaque chez RS elle est mono résistance avec thermostat.
Bon comme je l'ai dit sais pas une super solution, c'était la plus rapide.
Je n'ai pas trop de temps a consacrer à l'impression 3D je suis vraiment un débutant.
 
?

******

Compagnon
salut CNCSERV , ta solution est excellente ! la plaque est très peu onéreuse :

http://fr.rs-online.com/web/p/plaques-chauffantes/6846199/

c'est la meilleur solution je trouve niveau prix

une alim 12v ou 24v + la plaque standard c'est bien plus cher et ca marches surement moins bien....

il faut une régulation une régulation quand même.

et donc sans arduino ... ca monte un peu le prix pour le rendre equivalent a la soluton "bed en plastique"
http://www.ebay.fr/itm/220V-Regulat...29?pt=LH_DefaultDomain_71&hash=item3cdafa6771

mais avec un arduino c'est a dire une machine printer 3D et pas une cnc detourné

ca a l'air de valoir le coup !

sans oublier un câblage sérieux...

et cela deviens du haut de gamme.. ou la citrouille ce transforme en carrosse :)

Saludos
 
Dernière édition:
V

vres

Compagnon
IL faudrait que tu me dises comment tu fais pour faire baisser les prix comme cela, je l'ai payé à l'ancien prix:roll:
 
?

******

Compagnon
bonsoir,
j'ai donc tester la plaque

en faisant le câblage minimum de puissance ( page 7 - position 1 sur la doc )
http://ww2.ac-poitiers.fr/electronique/IMG/doc/cours_table_de_cuisson_electrique.doc

deltacuisson.jpg


1- J'ai virer le commutateur pour garder le cablage position 1


2- j'ai mis cela sur le relais classique de voiture

3- j'ai mis la thermistance ,

voila ça marches !

pour 100 degrés -- la variation est de 15 degrés sur environ 3-4 minutes ? pardon j'ai pas mesurer le temps )

de 95 degrés a 110 degrés


et

pour 70 degrés demander : de 68 a 80

ça marches.



4- par la suite je mettrai un SSR et débriderai la partie pid dans le firmware comme expliquer ici dans le re-post d'importance suivant

afin d'avoir une régulation fine :
 
?

******

Compagnon
traduction française google (en couleur verte des ajout personnel) :
*************************************************************
Trouver cette ligne dans configuration.h et vérifiez que la valeur est 1 pour le

#define TEMP_SENSOR_BED 1

Si vous avez un SSR ( relais static ?) , vous pouvez activer le mode PID pour le lit en enlevant cette ligne (enlever le leader //:

// # Define PIDTEMPBED

Ensuite, vous aurez besoin d'utiliser autotune pour obtenir un meilleur ensemble de paramètres PID pour le lit.

Allez dans Cura, allez dans Fichier -> Préférences et modifier l'impression de type à Pronterface interface de la fenêtre et cliquez sur OK. Maintenant, allez à Fichier-> Imprimer. Dans la zone de texte en bas à droite, vous pouvez entrer gcode qui est envoyé directement à l'imprimante.Entrez la commande exactement comme indiqué:

M303 E-1 S70 C8

(Changer la valeur de S70 à la température à laquelle vous utilisez normalement le lit. S70 est 70C S60 serait 60C etc).

L'imprimante va chauffer le lit jusqu'à la température sélectionnée et puis exécutez à travers 8 cycles (le paramètre de C8).

Une fois que les cycles sont faits, il va afficher une ligne disant quelque chose comme utiliser le dernier rapport des valeurs. Pour ce faire, en changeant les valeurs de l'IP et D pour la commande suivante à ceux rapportés:

M304 P1 I2 D3

Enfin enregistrer les paramètres du firmware par l'émission:

M500

ou vous pouvez les "brûler" (les ecrires directement dans le firmware) dans le firmware en éditant configuration.h et la recherche et la modification de ces lignes (celles qui commencent par #define DEFAULT_ ignorer ceux avec commencer par //):

#ifdef PIDTEMPBED

// 120v 250W silicone chauffe en borosilicate 4mm (MendelMax 1.5+)

// À partir du modèle FOPDT - kp = 0,39 Tp = 405 Tmort = 66, TC SET à 79,2, facteur agressif de 0,15 (vs 0,1, 1, 10)

#define DEFAULT_bedKp 10.00

#define DEFAULT_bedKi .023

#define DEFAULT_bedKd 305,4



// 120v 250W silicone chauffe en borosilicate 4mm (MendelMax 1.5+)

// Partir pidautotune

// #define DEFAULT_bedKp 97,1

// #define DEFAULT_bedKi 1,41

// #define DEFAULT_bedKd 1675,16



// Trouver votre propre: "M303 E-1 C8 S90" pour exécuter autotune sur le lit à 90 degrés C pendant 8 cycles.

#endif // PIDTEMPBED



Maintenant, quand le lit atteint la température de consigne, le mode PID rapidement le pouls de la puissance au lit comme 5 fois par seconde et la température sera maintenue de façon très précise.

Assurez-vous que vous reconfigurer Cura de sorte qu'il vous permet de contrôler le lit en allant à la machine -> Paramètres de la machine et de vérifier l'élément de lit chauffé. Cela permettra non seulement de permettre une entrée pour la température de lit, mais l'interface utilisateur Pronterface dans la boîte de dialogue d'impression sera également représenter graphiquement la température du lit. en plus de la température de la buse.

Plus d'info sur autotune PID ici: http://reprap.org/wiki/PID_Tuning
 
?

******

Compagnon
et voici quelques photos

deltabed11515.jpg

completement demonter on vois les conections interne du jeu de resistances
 
Dernière édition:
?

******

Compagnon
je ne vais pas le faire , c'est juste une blaque
 
Dernière édition:
A

Abimen

Compagnon
Hola Jacinto,

J'avais trouvé ça aussi en cherchant et me préparais à en parler. T'as tout compris et plus.

Est-ce que la regulation fonctionne avec ta plaque chauffante 2000W 230V AC 50Hz ? Est-ce que tu régules à 70°C ?

Dans mes rapides lectures à propos de PIDAutoTune, j'ai vu passer une fréquence PWM de ??7600 Hz??. A cette fréquence, avec un chauffage alimenté directement par le secteur, la commande PWM n'aura très probablement aucun effet ?

Est-ce que le SSR peut commuter à cette fréquence et si oui sans souffrir ?

Intéressant ton programme PID. Il s'agit probablement d'une source C/C++ beaucoup plus vaste qu'Arduino ?

Ce PID software est une magie du numérique, il fait tout tout seul !

Jacques
 
?

******

Compagnon
Salut Jacques,

J'ai commander un SSR pour en avoir le coeur net :
$_12.jpg

en attendant de le recevoir le systeme foncionne quand meme tres bien sans le controle PID.
----------------------------
Si j'ai bien compris il existe 3 type de regulation pour les chauffages dans une printer3D:

PID, bang-bang, bang-bang with hysteresis , je traduirai par :

1-PID : super regulation
2-bang-bang : tout ou rien
3-bang-bang with hysteresis : tout ou rien avec tentative d'anticipation de l'inertie thermique ?
------------------------------

ma plaque pour l'instant recois le controle : bang-bang ou bang bang with hysteresis ? :)

je vais voir si ca marches avec du filament ABS.

mais le top (peu etre du luxe) serais PID.....

Alors ? mon relais ssr marcherai en theorie ?
En pratique il faut attendre ... et les delais de livraison sont tres long ....

saludos

jacinto
 
?

******

Compagnon
Hola Jacinto,

Est-ce que la regulation fonctionne avec ta plaque chauffante 2000W 230V AC 50Hz ? Est-ce que tu régules à 70°C ?

Jacques

oui la regulation marches mode "bang-bang ou bang bang with hysteresis "

pour 70 degres :
moins 5 degres
plus 8-10 degres
( evidemment ca n'est pas une regulation pid )


d'autre par vue la configuration de resistance mini que j'ai choisi (position 1 voir scheme plus haut)
la puissance ne doit plus etre de 2000 watt mais de beaucoup moins.

je vais faire une rapide mesure de resistance pour dire quelle est la puissance .


saludos
jc
 
?

******

Compagnon
Est-ce que le SSR peut commuter à cette fréquence et si oui sans souffrir ?

Jacques

Je ne sais pas mais d'apres "le code" je pense que ca devrais marcher

l'exemple est pour 120V ( -ac- je suppose ) ??



on veras bien
SAludos
jacinto


ps : c'est les plaque rouge ? qui sont alimenter en 12Vdc ou 24Vdc et generalement
controle bang-bang il me semble ....hahaha
 
Dernière édition:
?

******

Compagnon
Bonjour,
En position 1 ma plaque a une résistance de 270 ohms
Soit autour de 200 watts
C'est pas très précis mon ohmetre est mauvais et puis
En ac avec charge purement résistivité il parait que c'est comme en DC...

Mais le principale c'est que en position 1 la charge est 10 fois moins
,....................
J ai tester ça marches. Et c'est parfaitement acceptable sans utiliser la
Régulation pid... Mais quitte a mettre un relais autant mettre un ssr plus le pid
Ça coûte pas plus cher

Saludos
Jc
 
?

******

Compagnon
voila une boite :


c 'est de l'ABS et c'est des granulés , et la tète d'impression vibre...?
 
?

******

Compagnon
la c'est plus serieux ... mais j'aurai preferer un extruder vertical...

 
Dernière édition:
?

******

Compagnon

il montre une chose mais ...ici a 3mm 43 seconde :

c'est la facons dont l'extruder est placé qui est tres interessante.


comme quoi ...
 
?

******

Compagnon
c'est extraordinaire la façon dont il a mis l'extruder . --ce type a du genie
 
?

******

Compagnon
bonjour a tous ,
un conseil du jour :
faites un pidautotune sur votre hotend , ça vaux le coup même avec une machine comercial

ici
http://reprap.org/wiki/G-code#M303:_Run_PID_tuning

envoyer le code :
m303 c8 s260 (s260 = s votre temperature de hotend)

ensuite attendre la fin de pidautotune : lire le resultat dans le log (ou m304 : repport parametre)

consigner les parametres ( kp, ki, kd ) dans :
configuration.h --> thermal setting (remplacer ceux existant ou les mettre en commantaire "//")

ca ameliore bien


saludos

jacinto
 
Dernière édition:

Sujets similaires

ramses
Réponses
10
Affichages
2 398
F
speedfender
Réponses
25
Affichages
5 183
speedfender
speedfender
P
Réponses
10
Affichages
6 657
E-volution
E
A
Réponses
0
Affichages
3 260
Arphyss
A
B
Réponses
23
Affichages
12 696
biduleur34
B
Haut