Se sei già registrato           oppure    

Orario: 14/12/2019 12:38:56  

 

Energia Alternativa ed Energia Fai Da Te > Applicazioni E Realizzazioni Pratiche

VISUALIZZA L'ALBUM

Pagine: (29)   1   2   3   4   5   6   7   8   9   [10]   11   12   13   14   15   16   17   18   19   20  ...>    (Ultimo Msg)


Estrusore per creare filo stampa 3D
FinePagina

righetz

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:4225

Stato:



Inviato il: 13/01/2016 22:14:06

Occhio! il listato è per il sensore Epcos 100K
Nei post precedenti mi indicavi il sensore 104GT-2 che è stato sostituito dal 104NT-4-R025H42G.

Epcos beta==4066
104NT-4 beta==4267
Se come sensore utilizzi il 104NT nel listato cambia il beta e vediamo se i valori di lettura sono corretti.



---------------
Chi non si indebita fa la rabbia degli usurai

 

neto
KiloWatt


Gruppo:Utente
Messaggi:131

Stato:



Inviato il: 13/01/2016 22:44:28

Il sensore l'ho comprato l'anno scorso dalla (opensource hardware) nella bolla di consegna c'è scritto, Semitec 104Gt-2,le letture comunque sono quelle che ti ho trasmesso

 

righetz

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:4225

Stato:



Inviato il: 13/01/2016 23:05:32

Confermo, devi cambiare il beta=4066 del listato con il beta=4267 del 104-gt-2.

Scarica allegato

semitec_104-gt-2.pdf ( Numero download: 65 )



---------------
Chi non si indebita fa la rabbia degli usurai

 

neto
KiloWatt


Gruppo:Utente
Messaggi:131

Stato:



Inviato il: 14/01/2016 11:23:08

Bene resta il fatto da risolvere, come integrare al tuo listato questo algoritmo?.
Penso che dovrò sostituire il mio sensore con quello che hai installato tu, a proposito di temperature, vedevo nel tuo filmato che il setpoint era 181°e la temperatura letta era 147,4,non dovrebbe essere quasi uguale?? fra l'altro il valore ballava molto, nella mia stampante con la scheda ramps1.4 non balla ed è stabile con la temperatura impostata.
Ciaoo grazie
neto

 

righetz

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:4225

Stato:



Inviato il: 14/01/2016 19:07:33

Ho acceso il motoriduttore per fare la prova con molto anticipo rispetto al setpoint della temperatura.
La temperatura ballava per via della latenza del calore ad arrivare alla sonda.
La resistenza è posizionata vicino all'ugello di estrusione e il sensore sta dietro all'inizio di tutta la testina. Ci sono quasi 4 cm di distanza.
La delta T e di circa 30° mi serve del tempo di capire come si comporta e calcolare questa latenza.
Alle alte temperature la differenza si riduce molto lentamente e il relè inizia ad accendersi e spegnersi comandato dal segnale pwm.

Per integrare il listato dammi qualche minuto Faccine/guitar.gif



Modificato da righetz - 14/01/2016, 19:31:44


---------------
Chi non si indebita fa la rabbia degli usurai

 

righetz

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:4225

Stato:



Inviato il: 14/01/2016 19:30:31

Sto osservando le differenze dei due listati.
Il beta non incide sul calcolo della temperatura. La formula è la stessa che è stata utilizzata sul mio listato.
La differenza delle temperature lette con i firmware prima uno e poi l'altro è dovuto dal tipo di variabili dichiarate.

Nel listato che è stato recuperato dal link che porta al wiki della reprap sono state utilizzate variabili del tipo int.

Il listato che ho utilizzato recuperato da instructables usano variabili di tipo double.
Tra int e double, la seconda è più precisa nel calcolo in virgola mobile.
Per maggiori chiarimenti LINK
Devo fare una prova anche io provando a cambiare tra int e double e vedere cosa cambia sulla lettura.



Modificato da righetz - 14/01/2016, 19:34:29


---------------
Chi non si indebita fa la rabbia degli usurai

 

righetz

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:4225

Stato:



Inviato il: 14/01/2016 20:48:19

Per Neto,
questa è la versione integrata controlla nel listato la dicitura del file
#include PID_v1.h e togli i caratteri _v1.
L'ho caricato sul mio arduino e sembra girare senza problemi solo che non ho collegati i sensori e potenziometri quindi mi visualizza tutti valori sballati.
Provalo e fammi sapere, io posso provarlo con il mio sensore solo domenica.

Scarica allegato

Filastruder_14_01_2016_ok_neto.zip ( Numero download: 64 )



---------------
Chi non si indebita fa la rabbia degli usurai

 

neto
KiloWatt


Gruppo:Utente
Messaggi:131

Stato:



Inviato il: 14/01/2016 23:04:28

provato togliendo i caratteri(_v1)compare 16:17 fatal error:PID.h.
Ho provato nuovamente a togliere tutto compreso il punto, poi solo il trattino con la v1 dà sempre lo stesso errore.
Infine ho lasciato tutti i caratteri, ho caricato su arduino, leggo 565 flottante, riscaldando la temperatura rimane sempre uguale
Ciaoo buona notte
neto

 

righetz

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:4225

Stato:



Inviato il: 14/01/2016 23:08:35

CITAZIONE (neto, 14/01/2016 23:04:28 ) Discussione.php?213064&10#MSG143

provato togliendo i caratteri(_v1)compare 16:17 fatal error:PID.h.
Ho provato nuovamente a togliere tutto compreso il punto, poi solo il trattino con la v1 dà sempre lo stesso errore.
Infine ho lasciato tutti i caratteri, ho caricato su arduino, leggo 565 flottante, riscaldando la temperatura rimane sempre uguale
Ciaoo buona notte
neto


proverò anch'io e vediamo di capire dove sta l'errore



---------------
Chi non si indebita fa la rabbia degli usurai

 

righetz

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:4225

Stato:



Inviato il: 14/01/2016 23:34:52

al volo ho implementato il circuito.
Con il mio termistore parte con una temperatura di 465° (temp ambiente).
Se il sensore lo stringo tra le dita la temp sale a 582°
Forse ho capito dove sta l'inghippo.
Tutto sta nel partitore resistivo.
Quella tabella di riferimento viene da un partitore 100K - 4,7K.
Noi stiamo usando un partitore 100K - 100K ecco da dove arrivano i valori sballati. Poi c'è anche la tolleranza 5% sulle resistenze ecco anche perchè ogni 200° hai una differenza di quasi 10°.



---------------
Chi non si indebita fa la rabbia degli usurai

 

righetz

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:4225

Stato:



Inviato il: 14/01/2016 23:47:34

Cambiata la r con 4,7K indovina un pò..... Faccine/bangin.gif
C'è dell'approssimazione nella lettura e dipende molto ovviamente dal mio termistore che è diverso dal tuo, dalla tolleranza della resistenza e dalla tensione sul piedino del micro....
In ogni caso ho una temp ambiente in casa di circa 23-24°, il sensore segna 35-36° Tra le dita segna 58-59° poi lasciandolo lentamente scende a 35-36°

http://www.energialternativa.info/public/newforum/ForumEA/G/IMG_20160114_233950.jpg



Usa lo stesso schema elettrico ma come resistenza metti una da 4,7K al posto di quella da 100K.
Come scrivevo su qualche post sopra sul wiki della reprap consigliavano di mettere anche una R da 1K in serie al termistore per non falsare la lettura.... sarebbe da provare, ma ora e tardi.



---------------
Chi non si indebita fa la rabbia degli usurai

 

neto
KiloWatt


Gruppo:Utente
Messaggi:131

Stato:



Inviato il: 15/01/2016 22:02:50

Il programma in linea di massima funziona, ho sostituito la resistenza da 100K con una da 4,7K in garage dove lavoro rilevo 18° gradi la trafila 33°. Purtroppo alzando la temperatura i valori si discostano parecchio dopo 5 minuti ST.138°TR.737°. Non capisco perché le temperature rilevate non siano simili, a parità di algoritmo, a quelle
effettuate precedentemente.
Ho trovato la tabella dello NTC104GT-2 dove in relazione alla variazione della temperatura si misura la caduta "homica", i valori corrispondono.
Non so come le relative tensioni vengano trasformate in temperature??
Ho in fine provato a sostituire la resistenza da 4,7K con una da 2,2K
Partendo con ST.41°TR.42°dopo 5minuti leggo:ST.128° TR466° bhooo

 

righetz

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:4225

Stato:



Inviato il: 15/01/2016 22:18:47

Posta una foto di come viene collegato il termistore con la resistenza e l'alimentazione, basta mettere un piedino al posto sbagliato e sballa tutto.
Poi anche io il mio primo NTC non andava bene forse era danneggiato.
Ora ne ho presi due in questo negozio nella mia zona LINK.
Come NTC non è precisissimo però se confrontato con il termometro ad infrarossi la differenza massima e di soli 7-8° e non valori così elevati come nel tuo caso.

P.S. ho appena fatto la prova invertendo la polarità di alimentazione al termistore e dai 38° che segnava ora la temperatura ambiente la rileva come 988°



Modificato da righetz - 15/01/2016, 22:22:01


---------------
Chi non si indebita fa la rabbia degli usurai

 

righetz

Avatar
GigaWatt


Gruppo:MODERATORE
Messaggi:4225

Stato:



Inviato il: 15/01/2016 23:21:28

Ok dopo un gran mal di testa Faccine/bangin.gif ho risolto il problema della temperatura.
Ho modificato il codice mantenendo il partitore NTC 100K e resistenza 100K. Ora segna temperatura ambiente 20,5° contro i 36° precedenti.
In rete ci sono molti esempi alcuni saltano qualche passaggio poi ci sono i copia incolla sbagliati e andare in tilt è un attimo.
Questa è la volta buona?

/*Condiviso su www.energialternativa.info by Righetz ;-)
 * 
 * Versione da testare del 15/01/2016
 * 
 * 
 * 
 *============================================================
 *
 * (Gnd) ---- (100k-Resistor) -------|------- (100K-Thermistor) ---- (+5v)
 *                                   |
 *                             Analog Pin 0
 *============================================================
 */


#include <PID_v1.h>
#include <math.h>
#include <Wire.h> 
#include <LiquidCrystal.h>
#include <Stepper.h>


#define ThermistorPin 1                                            // Pin analogico dove viene connesso il termistore   
#define ThresholdPin 2                                              // Pin analogico cove viene connesso il pin centrale del potenziometro
#define HeaterPin 9                                         // Pin digitale con funzione PWM dove viene collegata la resistenza riscaldante

double SetPoint, Output;
double ActualTemp;
const int stepsPerRevolution = 200;                                 // Configurazione motore impostazione del numero di passi per un giro di 360°
Stepper myStepper(stepsPerRevolution, 10,11,12,13);                 // Inizializzazione  della libreria per lo stepper dal Pin 10 al Pin 13
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);                                // settaggio dei piedini per la schield 16x2  www.microbot.it mr007-005
PID myPID(&ActualTemp, &Output, &SetPoint,2,5,1, DIRECT);           // Specifiche per la taratura delle funzioni del PID automatico

int calibrationTime = 10;                                           // tempo necessario per la calibrazione del sensore

double Thermister(int RawADC) {
  long Resistance;  
  double Temp;
  Resistance=((10240000/RawADC) - 10000);
  Temp = log(Resistance);
  Temp = 1 / (0.001129148 + (0.000234125 * Temp) + (0.0000000876741 * Temp * Temp * Temp)); //resisteza termistori convertiti in volt
  Temp = Temp - 273.15; //convertiti in celsius...da kelvin
  return Temp;
}

void setup() {
  pinMode(ThresholdPin, INPUT);
  pinMode(HeaterPin, OUTPUT);
  Serial.begin(57600);
  lcd.begin(16,2);                                                // inizializzazione display
  lcd.clear();
  Serial.print("calibrazione sensore");
  lcd.setCursor(0,0);
  lcd.print("calibrazione....");
  for(int i = 0; i < calibrationTime; i++){                       // tempo di 10 secondi per la calibrazione del sensore
  Serial.print(".");
  delay(1000);}
  Serial.println(" done");
  Serial.println("SENSORE ATTIVO");
  delay(50);
  
  lcd.clear();
  lcd.setCursor(0,0);           
  lcd.print("SETPOINT  TEMP ");
      
  myPID.SetMode(AUTOMATIC);                                     // abilita il PID
  myStepper.setSpeed(400); 
}

void loop() {
  myStepper.step(stepsPerRevolution);
  SetPoint = map(analogRead(ThresholdPin),0,1023,0,300);
  ActualTemp = double(Thermister(analogRead(ThermistorPin)));
  analogWrite(HeaterPin,Output);
  lcd.setCursor(11,1);
  lcd.print(ActualTemp); 
  lcd.setCursor(3,1);
  lcd.print("     ");
  lcd.setCursor(0,1);
  lcd.print(SetPoint);
  myPID.Compute();

 
    
}


@ neto sei il mio beta tester, prova questo codice e fammi sapere se funziona anche con il tuo sensore NTC 100K e R2=100K



---------------
Chi non si indebita fa la rabbia degli usurai

 

neto
KiloWatt


Gruppo:Utente
Messaggi:131

Stato:



Inviato il: 16/01/2016 18:04:02

Righetz, caricato il nuovo programma,quasi ben, per le temperature, dalle prime prove in corso, sono abbastanza corrispondenti, devo farne delle altre con tempi e temperature crescenti, piu tardi ti spedirò il report.
Male per l'uscita PWM non si fa vedere, il led che ho collegato non si accende,zero tensione al pin.

 
 InizioPagina
 

Pagine: (29)   1   2   3   4   5   6   7   8   9   [10]   11   12   13   14   15   16   17   18   19   20  ...>    (Ultimo Msg)

Versione Mobile!

Home page       TOP100-SOLAR      Home page forum