HS1101LF con un atmega ... come lo interfaccereste? è in sostanza una capacità variabile ma l'unico modo che mi è venuto in mente è leggere la tensione con un ponte d'impedenze..
avete qualche dritta?
programmo in assembler!
Grazie a tutti!
qui il datasheet: http://www.meas-spec.com/downloads/hs1101lf.pdf
HS1101LF sensore di umidità a capacitore
Moderatore:
Paolino
3 messaggi
• Pagina 1 di 1
3
voti
Per andare sul sicuro io inserirei il sensore in un oscillatore fatto con un 555 in versione CMOS, come quello che appare a pag. 3 del datasheet che hai linkato, eventualmente eliminando il potenziometro di taratura, se fai la taratura via firmware. Questo oscillatore sarà progettato per generare una frequenza tra 5 e 300 kHz, per rispettare i limiti imposti dal datasheet sulla frequenza di lavoro del sensore.
Poi collegherei l'uscita (piedino 3) del 555 a un divisore di frequenza CMOS (per esempio un CD4020 o un CD4060), e da uno dei piedini d'uscita preleverei la frequenza divisa, da inviare a un ingresso dell'atmega.
Il fattore di divisione dipende dalla frequenza di oscillazione e da quante letture al secondo vuoi fare.
L'ingresso dell'atmega, all'arrivo (per esempio) di un fronte di discesa, genererà una interruzione.
Nella procedura di risposta a interruzione dovrai leggere quanto tempo è passato dal fronte di discesa precedente. Questo tempo corrisponde al periodo, che a sua volta è proporzionale alla capacità del sensore.
Poi con una tabella di calibrazione fai la conversione periodo/umidità relativa.
Il divisore di frequenza esterno serve per non "stressare" con troppi interrupt l'atmega. Volendo si potrebbe eliminare e collegare direttamente l'uscita del 555 all'atmega, se calcoli le resistenze per una frequenza di poco più di 5 kHz e fai una routine di risposta a interruzione snella. Potresti fare la divisione di frequenza nel firmware, cioè, per esempio, ogni 1024 interrupt potresti andare a calcolare quanto tempo è passato.

Poi collegherei l'uscita (piedino 3) del 555 a un divisore di frequenza CMOS (per esempio un CD4020 o un CD4060), e da uno dei piedini d'uscita preleverei la frequenza divisa, da inviare a un ingresso dell'atmega.
Il fattore di divisione dipende dalla frequenza di oscillazione e da quante letture al secondo vuoi fare.
L'ingresso dell'atmega, all'arrivo (per esempio) di un fronte di discesa, genererà una interruzione.
Nella procedura di risposta a interruzione dovrai leggere quanto tempo è passato dal fronte di discesa precedente. Questo tempo corrisponde al periodo, che a sua volta è proporzionale alla capacità del sensore.
Poi con una tabella di calibrazione fai la conversione periodo/umidità relativa.
Il divisore di frequenza esterno serve per non "stressare" con troppi interrupt l'atmega. Volendo si potrebbe eliminare e collegare direttamente l'uscita del 555 all'atmega, se calcoli le resistenze per una frequenza di poco più di 5 kHz e fai una routine di risposta a interruzione snella. Potresti fare la divisione di frequenza nel firmware, cioè, per esempio, ogni 1024 interrupt potresti andare a calcolare quanto tempo è passato.

Big fan of ⋮ƎlectroYou! Ausili per disabili e anziani su ⋮ƎlectroYou
Caratteri utili: À È É Ì Ò Ó Ù α β γ δ ε η θ λ μ π ρ σ τ φ ω Ω º ª ² ³ √ ∛ ∜ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ∃ ∄ ∆ ∈ ∉ ± ∓ ∾ ≃ ≈ ≠ ≤ ≥
Caratteri utili: À È É Ì Ò Ó Ù α β γ δ ε η θ λ μ π ρ σ τ φ ω Ω º ª ² ³ √ ∛ ∜ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ∃ ∄ ∆ ∈ ∉ ± ∓ ∾ ≃ ≈ ≠ ≤ ≥
0
voti
ottima soluzione si ti ringrazio!
ho capito ma non saprei come affrontare subito dei problemi ad esempio la taratura. Proseguendo questa strada ci devo perdere un po' di tempo nel calcolo della frequenza, come farlo in asm.
Comunque pensavo ci fosse qualche metodo più semplice perché l'ho presa in seguito a un acquisto su internet e volevo provarla maneggiando ad esempio convertendo la mia misura in una tensione e usando l'ADC dell'atmega.
GRAZIE TANTE AD OGNI MODO PER LA SPIEGAZIONE LIMPIDA!!!!!!
ho capito ma non saprei come affrontare subito dei problemi ad esempio la taratura. Proseguendo questa strada ci devo perdere un po' di tempo nel calcolo della frequenza, come farlo in asm.
Comunque pensavo ci fosse qualche metodo più semplice perché l'ho presa in seguito a un acquisto su internet e volevo provarla maneggiando ad esempio convertendo la mia misura in una tensione e usando l'ADC dell'atmega.
GRAZIE TANTE AD OGNI MODO PER LA SPIEGAZIONE LIMPIDA!!!!!!
3 messaggi
• Pagina 1 di 1
Torna a Firmware e programmazione
Chi c’è in linea
Visitano il forum: Nessuno e 5 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)


