Académique Documents
Professionnel Documents
Culture Documents
PID precisa de ter um P, I e D valor definido para controlar a temperatura do injector. Se as rampas
de temperatura se rapidamente e diminui medida que se aproxima a temperatura alvo, ou se oscila
de alguns graus ambos os lados da temperatura pretendida, em seguida, os valores esto
incorrectos.
Para executar PID Autotune em Marlin e outros firmares, execute o seguinte gcode com o frio bico:
M303 E0 S200 C8
Isto ir aquecer o primeiro bico (E0), e ciclo de temperatura em torno do alvo 8 vezes (C8) a uma
dada temperatura (S200) e valores de retorno para o IP e D. Um exemplo
dehttp://www.soliwiki.com/PID_tuning :
Para Marlin, estes valores indicam as contagens do controle de poder soft-PWM (0 a PID_MAX)
para cada elemento da equao de controle. O valor softPWM regula o ciclo de trabalho do f =
(FCPU / 16/64/256/2) do sinal de controlo para o aquecedor associado. A proporcional (P)
constante Kp em contagens / C, que representam a mudana na sada softPWM por cada grau de
erro.A integral (I) Ki constante em contagens / (C * s) representa a alterao por cada unidade de
erro integrada no tempo. O derivado (D) constante Kd em contagens / (C / s) representa a mudana
na sada esperado devido atual taxa de variao da temperatura. No exemplo acima, a rotina de
auto-ajuste determinou que para controlar uma temperatura de 200C, o PWM suave deve ser
desviada para 92 + 19,56 * 0,71 * + erro (soma de erros de tempo *) * -134,26 dError / dT. O 'soma
de erros * Tempo' valor limitado faixa +/- PID_INTEGRAL_DRIVE_MAX conforme definido no
Configuration.h. Controladores PID comerciais tipicamente usar parmetros baseados no tempo, Ti
= Kp / Ki e Td = Kd / Kp, para especificar os parmetros integrais e derivados. No exemplo acima: Ti
= 19,56 / 0,71 = 27.54s, ou seja, um ajuste para compensar o erro integrada ao longo de cerca de
28 segundos; Td = 134,26 / 19,56 = 6.86s, ou seja, um ajuste para compensar a temperatura
projectada com cerca de 7 segundos no futuro.
No caso de mltiplas extrusoras (E0, E1, E2) estes valores de PID so partilhados entre os
extrusores, embora as extrusoras podem ser controladas separadamente. Se o EEPROM est
habilitado, salvar com M500. Se no estiver habilitado, salvar essas configuraes em
Configuration.h.
M304 P1 I2 D3
se ultrapassa um lote e oscila, ou o ganho integral tem de ser aumentado ou todos os ganhos
deve ser reduzida
Voc vai precisar para confirmar as suas alteraes EEPROM ou seu arquivo configuration.h para
eles para ser permanente.
O padro Marlin M303 calcula um conjunto de Ziegler-Nichols parmetros "Classic" com base na Ku
(Ultimate Gain) e do Pu (Perodo Ultimate), onde a Ku e Pu so determinados pela procura de um
tendenciosa oscilao bang-bang em torno de uma mdia nvel de potncia que produz oscilaes
centradas no ponto de
ajuste. (Verhttps://github.com/ErikZalm/Marlin/blob/Marlin_v1/Marlin/temperature.cpp#L238 )
Kp_classic = Ku * 0,6
Ki_classic = 2 * Kp_classic / Tu
Kd_classic = Kp_classic * Tu / 8
Voc pode transformar esses parmetros "Classic" no Zeigler-Nichols "Alguns Overshoot" definido
com:
Kp = Kp_classic * 0,55
Ki = Ki_classic
Kd = Kd_classic * 03/08
Kp = Kp_classic / 3
Ki = Ki_classic
Kd = Kd_classic * 03/08
Note-se que os multiplicadores para os parmetros de regulao automtica, cada um tem apenas
um dgito significativo (o que implica 10% o mximo de preciso), e que os outros regimes diferem
por fatores de 2 ou 3. sintonizao automtica do PID e tuning no muito preciso, e alteraes nos
parmetros por factores de 5 a 50% so perfeitamente razovel.
Em Marlin, os parmetros que controlam e limitam o controlador PID pode ter efeitos mais
significativos do que os parmetros PID populares. Por exemplo, PID_MAX e
PID_FUNCTIONAL_RANGE e PID_INTEGRAL_DRIVE_MAX cada um pode ter efeitos inesperados
dramticas no comportamento PID. Por exemplo, um grande demais PID_MAX em um aquecedor
de alta potncia pode fazer auto-ajuste impossvel; um pequeno demais
PID_FUNCTIONAL_RANGE pode causar um comportamento estranho de reposio; uma muito
grande PID_FUNCTIONAL_RANGE pode garantir superao; e um pequeno demais
PID_INTEGRAL_DRIVE_MAX pode causar inclinao.
Se voc tiver acesso a uma unidade de controlador PID e uma sonda trmica compatvel que se
encaixa para baixo em seu hotend, voc pode us-los para sintonizar o seu PID e calibrar o
termistor.
Conexo da sada do PID para o seu aquecedor varia de acordo com seus eletrnicos. (Eu usei um
1K2: divisor de tenso 4K7 para soltar a sada 22V do PID para 5V para o meu embarcou-po
VNP4904)
Aps o PID est ligado, voc pode us-lo para medir a temperatura do bico e correlacion-la com as
leituras de termistor e resistncias.
Converso de valores de PID dos comerciais kP% em fullscale, Ti, em segundos, e Td em segundos
a seguinte:
Como exemplo, US $ 30 mypin TD4-SNR controlador de temperatura 1/16 DIN PID e US $ 10 sonda
tipo K pode segurar uma hotend Wildseyed especial com um resistor 6.8ohm em 185.0C +/- 0.1C
usando 12V com cerca de um ciclo de trabalho de 43,7% , ou 0,437 * 12 * 12 / 6,8 =
9.25W. Invocando o auto-ajuste do controlador produz estes parmetros: p = 0,8% / C, I = 27s, D =
6.7s.Converter esses valores para Marlin PID:
A tabela de temperatura / resistncia abaixo foi desenvolvido usando o sistema de termopar PID +
para definir um hotend temperaturas na amostra, controlando o aquecedor enquanto se mede a
resistncia do termistor. Esses valores podem ser usados com de
Nophead http://hydraraptor.blogspot.com/2012/11/more-accurate-thermistor-tables.html ou de
Marlinhttps://github.com/ErikZalm/Marlin/blob/Marlin_v1/Marlin/
createTemperatureLookupMarlin.py para criar tabelas de termistor calibrados. A coluna PID recolhe
os valores de regulao automtica produzidos pelo controlador PID para a temperatura
indicada. Do Protocolo de Quioto, Ki, Kd lista os parmetros convertidos.
60.0 6 31630