Microcap:uscita vs paasi di temperatura di un NTC

Jun 17, 2024 Last reply: 2 anni fa 9 Replies

Ciao come si sa,ma scrivo per chi non lo sapesse,i sensori di temperatura NTC hanno una caratteristica temperatura/resistenza non lineare. Dovrei linearizzare un NTC del quale ho la tabella. Il metodo più semplice,quello del partitore e eventuale resistenza in parallelo a NTC può essere facilmente analizzato in un foglio di calcolo,Excel o LibreOffice Calc ecc. In questo caso si ottiene un grafico con intervalli equidistanti di temperatura su asse x e valori elettrici su asse y (es resistenza dell'NTC e tensione all'uscita della rete resistiva),e si vede come il risultato sia un pò più lineare.



Se volessi provare ad aggiungere elementi non lineari (BJT,amplificatore logaritmico ecc) la formula diverrebbe molto complicata, almeno per me.



Vorrei usare Microcap per visualizzare ,tanto per cominciare,lo stesso semplicissimo circuito nello stesso modo.Nella simulazione vorrei vedere l'uscita al variare di Rntc e sull'asse x vorrei mettere le temperature es. a passi di 5°C ,che devono risultare equidistanti. Non riesco.Utilizzando simulazione DC e Sweeping ho inserito una lista, ma quello che vedo è l'uscita sull'asse y,ma su x ho la resistenza dell'NTC ,a intervalli di resistenza costanti invece che passi generici,e tantomeno intervalli di temperatura.



Qualcuno sa come si fa? taaa ta ta tà. Non c'è nessuno che lo sa?(cit.) taaa ta ta tà



PS trova il titolo della canzone nascosta



Ma devi proprio farlo in analogico? Vuol dire farsi del male... Con un micro, anche piccolissimo tipo ATTINY45 o addirittura ATTINY5, puoi fare tutte le linearizzazioni in firmware.

Ciao,

Certo che poi faccio la linearizzazione in firmware ,ma di solito almeno il partitore per linearizzare un pò non si nega a nessuno.

Mi piacerebbe comunque vedere se si può fare qualcosa di meglio usando almeno un transistor

La prossima volta sarà più difficle..occhio...

Sto utilizzando un uC STM32 da oltre 1,6 Euro un Cortex-M0 di fascia bassa, ho già fatto la linearizzazione e provata con un box di resistenze al posto dell'NTC .Ho usato la semplice interpolazione lineare su intervalli di 5° da 0 a 300° ,quindi non ho usato l'equazione di Steinhart -Hart. Con un ATTINY5 credo che oggi, quasi a digiuno di assembly ,non sarei in grado di farla . Con l'STM32 ho qualche KB di RAM ,poche decine di KB di Flash Ma con i 32B e 512B dell'ATTINY5 non saprei come farlo.

Ho tirato dentro la tabella della tensione ADC corrispondente ai vari step di temperatura->resistenza dell'NTC e ho dovuto usare variabili a

16bit .Però almeno una divisione ho dovuto tirarla dentro. L'M0 non fa le divisioni in Hardware ,ma almeno le moltiplicazioni si. Purtroppo la divisione risultante non è per un valore costante ,altrimenti avrei potuto farla precedere da una moltiplicazione appropriata per poi dividere per una potenza di 2 **

Sono quindi curioso di vedere come si fa con l'ATTINY senza sforare RAM o FLASH ,sono cose che 30 anni fa erano normalissime (e mi sembra impossibile che nel 1999-2000 riuscissi a farle anch'io (??)senza sforare la memeoria ,forse anche un pò più grande),ma adesso mi sembrano un'impresa notevole e mi inchino a chi lo sa ancora fare

** Dovrebbe essere arcinoto,ma chissà che in questo newsgroup giovanile capiti qualcuno che non lo sappia fare ,per cui mi permetto di spiegare una cosa che si sa già benissimo: Dividere per un numero non potenza di 2 per è laborioso per un microcontrollore che può fare solo addizioni, sottrazioni ,rotazioni,shifto semplici operazioni logiche Dividere per una potenza di 2 invece è cosa facile,si ottiene con una operazione di shift a destra.

es voglio svolgere e ottenere 14089/183=76,9 (supponendo di potermi permettere di perdere i decimali) ,devo ricondurla a divisione per 2^n

si calcola (esternamente al microcontrollore ,con calcolatrice PC ecc) scelgo un 2^n piuttosto grande per es 65536/183=358,06 ,quindi perdendo i decimali poco cambia

14089*358/65536=76 . Chiaramente bisogna gestire i numeri grandi (14089 *358=5.043.862)che ne risultano

blisca <blisca_ snipped-for-privacy@tiscali.it wrote in news:v4qa95$ue4r$ snipped-for-privacy@dont-email.me:

Si usa un Attiny85 e questa libreria:

formatting link

-- ObiWan snipped-for-privacy@mvps.org Message-ID: snipped-for-privacy@mvps.org ma evidentemente qualcuno qui pensa che il tempo che gli altri dedicano a rispondergli non abbia valore mentre il suo ne ha. ObiWan snipped-for-privacy@mvps.org Message-ID: snipped-for-privacy@mvps.org Documentati, leggi, decidi e poi semmai se ne potrà riparlare. Message-ID: <pan$91027$7e88083$34e36d0$ snipped-for-privacy@carotone.net Come disse un mio amico, a certe persone si fa prima a metterglielo nel c**o che nel capo

DhnaqbNyyravaqvpnyurnqreybfzvymbthneqnvychagb

Il 18/06/2024 02:06, Allen ha scritto:

Grazie,sempre utile però intendevo che non saprei come farlo con un ATTINY5 scrivendo io il codice Questa libreria prevede l'uso di logaritmi e variabili double (non so se il compilatore tipicamente usato le intenda a 32 o 64 bit)e mi stupirei se fosse compilabile per ATTINY5 che ha 32 bit di RAM,penso di no ,ma sono sempre pronto a stupirmi di quello che riescono a fare quelli ben più bravi di me

Hai ragione, probabilmente a farlo con un ATTINY5 ci si complicherebbe inutilmente la vita. Se dovessi farlo, non avendo mai programmato in assembler quella famiglia di processori, credo proverei a scrivere il codice in C, con variabili rigorosamente intere, per poi estrarre l'assembler dal file di listing generato e metterci su le mani per adattarlo. Molto piu' faticoso che fare tutto con un 45 o 85 con la IDE Arduino.

Ciao,

RoV snipped-for-privacy@libero.it wrote in news:v4r9hm$17d4h$ snipped-for-privacy@dont-email.me:

Dove esiste già la pappa pronta compila & "flasha"

-- ObiWan snipped-for-privacy@mvps.org Message-ID: snipped-for-privacy@mvps.org ma evidentemente qualcuno qui pensa che il tempo che gli altri dedicano a rispondergli non abbia valore mentre il suo ne ha. ObiWan snipped-for-privacy@mvps.org Message-ID: snipped-for-privacy@mvps.org Documentati, leggi, decidi e poi semmai se ne potrà riparlare. Message-ID: <pan$91027$7e88083$34e36d0$ snipped-for-privacy@carotone.net Come disse un mio amico, a certe persone si fa prima a metterglielo nel c**o che nel capo

DhnaqbNyyravaqvpnyurnqreybfzvymbthneqnvychagb

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required