Ir ao conteúdo
  • Cadastre-se

Lote de LM35 com defeito ou falha na programação (Arduino)


Posts recomendados

Boa noite pessoal, estou criando um sisteminha que vai pegar  várias informações do motor do carro e exibir em uma telinha, como: temperatura do ar, pressão de óleo, RPM,... 

 

Se fosse com injeção eletrônica bastava apenas ler as informações diretamente da central de injeção, mas como  é um carro com carburador tenho que ler sensor por sensor pra ter a informação que desejo, pra começar preciso saber a temperatura ambiente e pra isso comprei 5 peças do LM35 da china para ficar mais baratinho.

 

Só que das 5 peças todas estão com uma leitura de temperatura doidissíma, estou usando um código bem simples para testar o sensores:

 

const int sensorPin = A0;

 

void setup() {

  // Inicializar comunicação serial

  Serial.begin(9600);

}

 

void loop() {

  // Ler o valor do sensor

  int sensorValue = analogRead(sensorPin);

 

  // Converter o valor em temperatura

  float temperature = (sensorValue * 0.48875);

 

  // Exibir a temperatura no monitor serial

  Serial.print("Temperatura: ");

  Serial.print(temperature);

  Serial.println(" graus Celsius");

 

  // Aguardar um segundo antes de ler o sensor novamente

  delay(1000);

}

 

 

A leitura do monitor serial está informando temperaturas absurdas:

 

Temperatura: 37.15 graus Celsius

Temperatura: 33.72 graus Celsius

Temperatura: 20.53 graus Celsius

Temperatura: 7.82 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 37.15 graus Celsius

Temperatura: 33.72 graus Celsius

Temperatura: 20.53 graus Celsius

Temperatura: 7.82 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.98 graus Celsius

Temperatura: 13.20 graus Celsius

Temperatura: 44.48 graus Celsius

Temperatura: 40.08 graus Celsius

Temperatura: 38.61 graus Celsius

Temperatura: 33.24 graus Celsius

Temperatura: 18.08 graus Celsius

Temperatura: 0.00 graus Celsius

 

Coloquei o voltímetro no LM35 e na escala de 200mV assim que eu conecto o voltimetro marca 7,1mV e vai caindo até ficar em 1,5mV isso daria menos que  0,10 °C  agora não sei não, tô fazendo alguma bobagem no código ou realmente o lote veio com problema? Tiro um LM35 e coloco outro dá tudo igual os resultados, tanto no voltímetro quanto no monitor serial, alguém sabe se estou fazendo algo errado aqui ou realmente veio tudo com defeito?

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Publique o circuito e fotos. você pode estar ligando invertido. Mas antes... o arduino configura a entrada automaticamente como analógica? Numa programação "normal" precisa definir antes...Antes tente...

float temperature = ((float)sensorValue) * 0.48875; //transforma temporariamente em float

 

Link para o comentário
Compartilhar em outros sites

1 hora atrás, .if disse:

Publique o circuito e fotos. você pode estar ligando invertido. Mas antes... o arduino configura a entrada automaticamente como analógica? Numa programação "normal" precisa definir antes...Antes tente...

float temperature = ((float)sensorValue) * 0.48875; //transforma temporariamente em float

 

comentei as linhas anteriores e deixei a sua, ficou assim:

 

  // Converter o valor em temperatura

 // float temperature = (sensorValue * 0.48875);

  float temperature = ((float)sensorValue) * 0.48875; //transforma temporariamente em float

 

Compilou sem erros mas o problema persiste a leitura ainda está doida:

 

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 1.47 graus Celsius

Temperatura: 2.93 graus Celsius

Temperatura: 4.89 graus Celsius

Temperatura: 9.29 graus Celsius

Temperatura: 15.15 graus Celsius

Temperatura: 21.02 graus Celsius

Temperatura: 26.88 graus Celsius

Temperatura: 30.79 graus Celsius

Temperatura: 30.30 graus Celsius

Temperatura: 26.39 graus Celsius

Temperatura: 20.04 graus Celsius

Temperatura: 15.15 graus Celsius

Temperatura: 3.91 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

 

Curioso a leitura fica oscilando, começa em 0 depois vai subindo chega perto de 40 graus e depois vai caindo até voltar pro zero, aí começa a subir e fica nisso eternamente...

 

segui essa ligação:

 

image.png.9bfdf92dcbdb99f41d7afa1c2664f128.png

 

analog out está na   A0

 

image.thumb.png.55d581e7f9424d2852225ed35f79666b.png

 

está uma ligação muito simples não entendo o que está acontecendo de errado...

Link para o comentário
Compartilhar em outros sites

44 minutos atrás, .if disse:

coloque um potenciômetro pra conferir

coloquei, com ele a leitura fica estável:

 

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 27.37 graus Celsius

Temperatura: 52.79 graus Celsius

Temperatura: 76.25 graus Celsius         

Temperatura: 96.77 graus Celsius  a partir daqui deixei o potenciômetro parado

Temperatura: 99.70 graus Celsius

Temperatura: 99.70 graus Celsius

Temperatura: 99.70 graus Celsius

Temperatura: 99.70 graus Celsius

Temperatura: 99.70 graus Celsius

Temperatura: 99.70 graus Celsius

Temperatura: 99.22 graus Celsius  

Temperatura: 99.70 graus Celsius

Temperatura: 99.70 graus Celsius

Temperatura: 99.70 graus Celsius

Temperatura: 99.70 graus Celsius

 

com isso concluímos que o código está bom, então o problema é o sensor mesmo ou interferência certo?

 

 

53 minutos atrás, .if disse:

Coloque um capacitor chute 10uF em paralelo com o lm

coloquei um eletrolítico  de 10uF entre a saída do sinal e o negativo, foram essas foram as leituras:

 

Temperatura: 18.57 graus Celsius

Temperatura: 18.57 graus Celsius

Temperatura: 18.57 graus Celsius

Temperatura: 19.06 graus Celsius

Temperatura: 19.06 graus Celsius

Temperatura: 19.55 graus Celsius

Temperatura: 19.55 graus Celsius

Temperatura: 19.55 graus Celsius

Temperatura: 19.55 graus Celsius

Temperatura: 19.55 graus Celsius

Temperatura: 19.55 graus Celsius

Temperatura: 20.04 graus Celsius

Temperatura: 19.55 graus Celsius

Temperatura: 19.55 graus Celsius

 

com o capacitor entre a saída do sinal e o positivo, foram essas as leituras:

 

Temperatura: 45.94 graus Celsius

Temperatura: 45.94 graus Celsius

Temperatura: 45.94 graus Celsius

Temperatura: 45.94 graus Celsius

Temperatura: 45.45 graus Celsius

Temperatura: 45.94 graus Celsius

Temperatura: 45.45 graus Celsius

Temperatura: 45.45 graus Celsius

Temperatura: 44.97 graus Celsius

Temperatura: 45.45 graus Celsius

Temperatura: 45.45 graus Celsius

Temperatura: 43.99 graus Celsius

Temperatura: 44.97 graus Celsius

 

com o capacitor entre o positivo e negativo a leitura fica em 0

 

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

 

Se ligar em 3.3v os resultados ficam parecidos...

 

1 hora atrás, MOR_AL disse:

Confirme que o fio azul não está indo para um dos extremos do LM35.

não está, o azul é o sinal está bem no pino central do LM35

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
2 horas atrás, GustavoH93 disse:

com o capacitor entre o positivo e negativo a leitura fica em 0

 

Temperatura: 0.00 graus Celsius

Muito sinistro... você pode estar errando as conexões

 

2 horas atrás, GustavoH93 disse:

com o capacitor entre a saída do sinal e o positivo, foram essas as leituras:

 

Temperatura: 45.94 graus Celsius

Seu capacitor está provocando fuga do +5 até a saída. Ou seu +5 tá muito ruidoso e passa ac pro lm. Faça com outro +5 bem limpinho só pro lm bem como um gnd. O gnd do lm: deve estar no gnd analógico do mc. Consulte o d.s. Deve ter um Avdd e Agnd ou do gênero... estes devem estar a alimentar o lm.

 

 

39 minutos atrás, GustavoH93 disse:

ligar o sensor direto na alimentação

 

Alimente com 12V

LM35-1.jpg?resize=235,152&ssl=1

gnd no agnd do arduino. Eu (eu) colocaria um R 1..10K em série e C 1..10uF  pro gnd .. agnd

 

 

38 minutos atrás, GustavoH93 disse:

esquentei um pouco o sensor pra ver se mudava mas nada acontece, se tivesse pelo menos mudado o valor estaria mostrando que está funcionando, mas  não tá acontecendo nada nada.

 

Vou tentar ligar o sensor direto na alimentação e medir com multimetro sem o arduino conectado vamos ver que tensão vai dar.

 

Já devia ter feito isso 😁

Link para o comentário
Compartilhar em outros sites

41 minutos atrás, .if disse:

Muito sinistro... você pode estar errando as conexões

verifiquei varias vezes, mudei os cabos e nada...

 

41 minutos atrás, .if disse:

Seu capacitor está provocando fuga do +5 até a saída. Ou seu +5 tá muito ruidoso e passa ac pro lm. Faça com outro +5 bem limpinho só pro lm bem como um gnd. O gnd do lm: deve estar no gnd analógico do mc. Consulte o d.s. Deve ter um Avdd e Agnd ou do gênero... estes devem estar a alimentar o lm.

liguei com alimentação externa de fonte 5v coloquei o capacitor entre positivo e negativo e coloquei o terra da fonte externa junto com o terra do arduino, a leitura continua doida:

 

Temperatura: 17.11 graus Celsius

Temperatura: 8.80 graus Celsius

Temperatura: 3.91 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 1.96 graus Celsius

Temperatura: 5.38 graus Celsius

Temperatura: 9.29 graus Celsius

Temperatura: 13.69 graus Celsius

Temperatura: 16.13 graus Celsius

Temperatura: 19.06 graus Celsius

Temperatura: 20.04 graus Celsius

Temperatura: 22.97 graus Celsius

Temperatura: 24.44 graus Celsius

Temperatura: 25.90 graus Celsius

Temperatura: 26.39 graus Celsius

Temperatura: 27.37 graus Celsius

 

coloquei o capacitor entre o sinal e o negativo e o sinal e positivo deu isso aqui:

 

Temperatura: 41.06 graus Celsius

Temperatura: 41.54 graus Celsius

Temperatura: 41.54 graus Celsius

Temperatura: 41.54 graus Celsius

Temperatura: 42.03 graus Celsius

Temperatura: 41.54 graus Celsius

Temperatura: 42.03 graus Celsius

Temperatura: 42.52 graus Celsius

Temperatura: 40.57 graus Celsius

Temperatura: 40.57 graus Celsius

Temperatura: 41.06 graus Celsius

Temperatura: 41.54 graus Celsius

Temperatura: 43.01 graus Celsius

Temperatura: 42.03 graus Celsius

 

esquentei um pouco o sensor pra ver se mudava mas nada acontece, se tivesse pelo menos mudado o valor estaria mostrando que está funcionando, mas  não tá acontecendo nada nada.

 

Vou tentar ligar o sensor direto na alimentação e medir com multimetro sem o arduino conectado vamos ver que tensão vai dar.

Link para o comentário
Compartilhar em outros sites

@GustavoH93 ,

 

Quando eu uso um LM35 eu coloco um eletrolítico de 100 uF entre a alimentação dele e o terra, o mais perto possível dele, e outro eletrolítico de 47 uF entre a saída dele e o terra.

E ainda levo esse sinal da saída do LM35 em um cabinho com blindagem até o pino do conversor A/D ..... aí consigo um sinal estabilizado na ordem de 0,02 volts.

 

Paulo

 

Link para o comentário
Compartilhar em outros sites

7 horas atrás, aphawk disse:

Quando eu uso um LM35 eu coloco um eletrolítico de 100 uF entre a alimentação dele e o terra, o mais perto possível dele, e outro eletrolítico de 47 uF entre a saída dele e o terra.

E ainda levo esse sinal da saída do LM35 em um cabinho com blindagem até o pino do conversor A/D ..... aí consigo um sinal estabilizado na ordem de 0,02 volts.

fiz exatamente isso que me passou @aphawk e a leitura foi pra zero assim que coloquei o capacitor de 47 uF na saída e o terra, se eu tiro esse capacitor e deixo o de 100 uF na alimentação e o terra a leitura fica assim:

 

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 1.47 graus Celsius

Temperatura: 19.06 graus Celsius

Temperatura: 35.68 graus Celsius

Temperatura: 33.72 graus Celsius

Temperatura: 29.32 graus Celsius

Temperatura: 12.71 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 2.93 graus Celsius

Temperatura: 28.84 graus Celsius

Temperatura: 35.19 graus Celsius

Temperatura: 32.26 graus Celsius

Temperatura: 19.55 graus Celsius

Temperatura: 0.00 graus Celsius

Temperatura: 0.00 graus Celsius

 

essa variação do zero pra 30 e poucos depois voltando pra zero acho que pode ser sinal de defeito do componente, só não coloquei cabo blindado mas ele está a 10cm do arduino deveria ter alguma leitura consistente, mas só tem essa leitura sem sentido 😔

 

image.thumb.png.4970076364154ed76777a6ee3ecea2bc.png

 

coloquei o voltímetro e estava marcando 2,1mV isso é praticamente zero  no monitor serial estava a mesma oscilação  35 graus e voltando pro zero depois de um tempo.

 

image.thumb.png.f3f9426890e5c04e1db2a95411d47730.png

 

Mais alguma ideia pessoal? Tô achando que fui realmente sorteado e recebi um lote com LM35 tudo com defeito, testei também pra ver se tinha curto  no LM35 e não tinha.

 

 

vishi pessoal olha o rolo, quando comprei não tinham muitas avaliações as que tinham eram só positivas inclusive de um brasileiro que comprou, agora voltei na lista e tem várias pessoas reclamando que é falso.

 

image.png.ab138b03252182444b4dbb91017e3a95.png

 

um comentário aí o rapaz falou que é um transistor e eu coloquei no testador de componentes que tenho aqui apareceu como transistor mesmo:

 

image.thumb.png.23cc747409701f59bac980166aae79a8.png

 

então não restam mais duvidas, fui tapeado mesmo? 😔

Link para o comentário
Compartilhar em outros sites

O que fazer com o chinês, sei lá... uma vez tive um problema e fui reembolsado pelo Aliexpress, não pelo lojista, mas deu trabalho e levou mais de um mês. Acho mais fácil comprar em loja brasileira e, de preferência física, mesmo pagando mais. Afinal meus projetos são de uma unidade só.

 

Agora, tem algumas alternativas ao LM35, acho que a gente andou falando algo assim por aqui, no fórum, só não lembro exatamente os detalhes. Mas olha, por exemplo:

 

 

Link para o comentário
Compartilhar em outros sites

Veja se está dentro do prazo para reclamar. Assim o fornecedor fica mal visto pelo aplicativo de vendas e é penalizado. 

Certa ocasião, demorou a chegar (nem enviaram), eu reclamei e fui reembolsado.

Outra ocasião, eu comprei um Arduíno, que deveria vir com o MC 328, mas veio com o 8. Reclamei e recebi o Arduíno com o MC 328. O vendedor nem quis receber o anterior.

Vale a pena reclamar. 

MOR_AL

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

16 minutos atrás, MOR_AL disse:

Assim o fornecedor fica mal visto pelo aplicativo de vendas e é penalizado. 

Pois é... reclamei bastante com a loja, enviei foto, vídeo e ele resistiu tanto que acabei abrindo a tal disputa, o que os lojistas mais temem. Eu havia adquirido 5 ítens diferentes da mesma loja. No fim o site penalizou a loja e estornou não o pagamento do item errado mas sim o pedido todo. Acabei ficando com os 4 ítens certos de graça...

 

25 minutos atrás, MOR_AL disse:

Vale a pena reclamar. 

 

Agora, sobre a solução usando diodo*... o moço do Electrolab no vídeo acima usou um Arduino, disse que até um nano serviria. Mas será que daria para usar um amplificador operacional, um lado amplifica o outro compara? A diferença das tensões sobre o diodo são pequenas...

 

* - Li em algum lugar que não estou encontrando agora que um LM35 é exatamente isso: um diodo, um amplificador e um comparador, só que já vem de fábrica bem calibrado...

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Ler sinais baixos é sempre complicado, principalmente quando se tem muitos cm de cabo, a tal da interferência ou indução. Trance o fio de saída com o GND entre o LM35 e o Arduíno. 

 

Outra coisa: no código é usado o A0 como entrada analógica mas nas fotos o A0 aparece vazio. Não entendi. 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
7 horas atrás, rmlazzari58 disse:

sobre a solução usando diodo*..

 

7 horas atrás, rmlazzari58 disse:

usar um amplificador operacional

Sim prum mc cujo ad é 10 bits a 5mV/bit e o diodo a -2mV/°C um ampop é bem vindo. De fato usei este artifício pra uma compensação de junta fria com diodo num ampop x5 pra dar 10mV/°C e no termopar um ampop x200... ambos com 10mV°C e duas entradas ad do mc. Fazia uma subtração e uma doidera literal pra linearização do valor. Numa época quase sem net e tal.. Hoje em dia não faria mais isso nem que a vaca tussa: existe ci especialista nisso p.ex. um mcp9600 faz de *.*, aceita vários tipos de sensores, sai valor já em  °c já compensado, linearizado, é barato, é digital e etc. Tenho amostras há literalmente + de 1 década na gaveta kk.

 

17 horas atrás, GustavoH93 disse:

restam mais duvidas,

Chines é 1/2 doido. Tenta inverter as conexões meio que sob controle. São poucas combinações. Dica coloque um R xhute 1k em série com a alimentação. Já vi bc546 que era EBC e não CBE e sem identificação impressa. Também vi fio vermelho como gnd e preto como vcc numa bateria! Literalmente taquei fogo no treco pelo excesso de confiança...Literal preju pois o treco não era meu

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

21 horas atrás, rmlazzari58 disse:

O que fazer com o chinês, sei lá... uma vez tive um problema e fui reembolsado pelo Aliexpress, não pelo lojista, mas deu trabalho e levou mais de um mês. Acho mais fácil comprar em loja brasileira e, de preferência física, mesmo pagando mais. Afinal meus projetos são de uma unidade só.

pior que faz mais de um mês que chegou então não está mais liberado pra abrir reclamação ou pedir reembolso 😕

 

21 horas atrás, rmlazzari58 disse:

Agora, tem algumas alternativas ao LM35, acho que a gente andou falando algo assim por aqui, no fórum, só não lembro exatamente os detalhes. Mas olha, por exemplo:

Falamos sim no outro tópico, parece que esse esquema com diodo funciona bem mas precisa colocar a temperatura ambiente no código para que o arduino calcule a temperatura do diodo. Então fiz um comentário no vídeo do electrolab e ele respondeu, dá pra usar um LM35 como base da temperatura para calcular as temperaturas dos diodos, assim facilita porque dá pra usar um unico LM35 e usar vários diodos para ter diferentes fontes de temperatura a vantagem é economizar $$ porque um LM35 custa muito mais que um diodo, se fosse comprar um para cada temperatura que fosse medir iria ficar bem caro.

 

12 horas atrás, MOR_AL disse:

Veja se está dentro do prazo para reclamar. Assim o fornecedor fica mal visto pelo aplicativo de vendas e é penalizado. 

Certa ocasião, demorou a chegar (nem enviaram), eu reclamei e fui reembolsado.

Outra ocasião, eu comprei um Arduíno, que deveria vir com o MC 328, mas veio com o 8. Reclamei e recebi o Arduíno com o MC 328. O vendedor nem quis receber o anterior.

Vale a pena reclamar. 

MOR_AL

Pior que já passou o prazo, mas já tive problemas de outras compras e fui reembolsado também, mas esse meu caso felizmente é raro, tem muito vendedor bom lá, comprei por exemplo um arduino leonardo e dois uno, funcionou normalmente e saiu pelo mesmo preço de  comprar um arduino uno por aqui, é a dica de sempre, ver a reputação da loja ver comentários e ficar atento ao prazo, pena que cometi um deslize dessa vez e não tem mais o que fazer é dinheiro perdido.

 

7 horas atrás, Sérgio Lembo disse:

Ler sinais baixos é sempre complicado, principalmente quando se tem muitos cm de cabo, a tal da interferência ou indução. Trance o fio de saída com o GND entre o LM35 e o Arduíno. 

 

Outra coisa: no código é usado o A0 como entrada analógica mas nas fotos o A0 aparece vazio. Não entendi. 

Vou usar esses cabos manga blindados e usar os capacitores que o @aphawk mencionou, o LM35 vai ser usado no carro então quero evitar ao máximo as interferências ainda mais que tem a bobina de ignição ali perto.

 

O A0 está conectado o tempo todo, o ângulo da foto parece que está vazio mas o cabinho azul está conectado ao A0 e quando troquei por um potenciômetro o código funcionou bem, infelizmente é caso de peça falsificada mesmo.

 

4 horas atrás, .if disse:

Chines é 1/2 doido. Tenta inverter as conexões meio que sob controle. São poucas combinações. Dica coloque um R xhute 1k em série com a alimentação. Já vi bc546 que era EBC e não CBE e sem identificação impressa. Também vi fio vermelho como gnd e preto como vcc numa bateria! Literalmente taquei fogo no treco pelo excesso de confiança...Literal preju pois o treco não era meu

Tentei aqui inverti a alimentação, inverti capacitores e nada do dito cujo funcionar, vou tentar testar como transistor, se funcionar então é transistor mesmo.

Link para o comentário
Compartilhar em outros sites

11 horas atrás, GustavoH93 disse:

Vou usar esses cabos manga blindados e usar os capacitores que o @aphawk mencionou, o LM35 vai ser usado no carro então quero evitar ao máximo as interferências ainda mais que tem a bobina de ignição ali perto.

Cabo blindado é bom. Cabo trançado também é bom. As formas de operação são distintas. O cabo blindado oferece um escudo contra as induções mas achar que nada vaza é ser otimista demais. O cabo trançado oferece uma convivência pacífica com a existência das induções pois ao trançar os fios a soma vetorial tende a zero. Quando se consegue utilizar as 2 técnicas ao mesmo tempo melhor ainda. É o que temos nos cabos de rede, pares trançados envoltos por capa metálica. Já tive experiência de cabos de rede carregarem 100Mbps num lance de 80 metros em postes da via pública. Numa experiência recente com fiação de 1 metro eu estava tendo resultados confusos. Bastou que eu fizesse apenas 5 tranças de qualquer jeito para que os resultados melhorassem de forma significativa. Cabo de rede é barato, fácil de achar e te dá essa dupla solução. Pense nisso.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Apesar de óbvio permiti-me mencionar que as soluções acima não devem e não são pra resolver seu problema. Elas são complementos pra depois que você fizer a correta leitura do sensor. Também verifique se seu mc possui ampop como amplificador diferencial ou deixa as entradas (+) e (-) do ampop disponíveis. Há a vantagem pra se ler sinal de baixíssima amplitude diretamente no pino. P.ex. os 2mV/ºC se transformariam em 40mV/°c ou+.

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Em 06/04/2023 às 13:46, .if disse:

Apesar de óbvio permiti-me mencionar que as soluções acima não devem e não são pra resolver seu problema. Elas são complementos pra depois que você fizer a correta leitura do sensor. Também verifique se seu mc possui ampop como amplificador diferencial ou deixa as entradas (+) e (-) do ampop disponíveis. Há a vantagem pra se ler sinal de baixíssima amplitude diretamente no pino. P.ex. os 2mV/ºC se transformariam em 40mV/°c ou+.

 

Em 06/04/2023 às 09:29, aphawk disse:

Esquece a ideia de medir os diodos sem amplificação adicional. O ruído vai te mascarar mais de 10mV fácil fácil.

 

 

O 328P tem a função analogReference(internal) que deixa a tensão de referencia em 1.1v será que isso seria melhor para medir os diodos?  Ou é necessário criar um circuito de amplificação mesmo?

 

@Sérgio Lembo @aphawk  Realmente cabo de rede por aqui só vi o comum sem blindagem, será que só o cabo manga com a malha externa funcionaria? Este cabo acho fácil agora o cabo de rede blindado não achei nas lojas aqui.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP
12 horas atrás, GustavoH93 disse:

a tensão de referencia em 1.1v

Num belo arredondamento, 1.1V ... 10bits ... 1023 ... =1mV/°C. Sendo o diodo -2mV/°C vai conseguir resolução de -0.5°C/bit ou unidade de ad. Se isso te atender... Mas na prática há outra teoria. É bom ler com profundidade a seção correspondente do d.s.

Dica: a corrente que passa pelo diodo ou lm35 provoca um ligeiro aquecimento e consequente erro de leitura. Use uma saída do mc pra poloarizar ou alimentar apenas no micromomento da leitura.

Link para o comentário
Compartilhar em outros sites

Em 08/04/2023 às 10:22, .if disse:

Num belo arredondamento, 1.1V ... 10bits ... 1023 ... =1mV/°C. Sendo o diodo -2mV/°C vai conseguir resolução de -0.5°C/bit ou unidade de ad. Se isso te atender... Mas na prática há outra teoria. É bom ler com profundidade a seção correspondente do d.s.

Dica: a corrente que passa pelo diodo ou lm35 provoca um ligeiro aquecimento e consequente erro de leitura. Use uma saída do mc pra poloarizar ou alimentar apenas no micromomento da leitura.

entendi  @.if  estava esperando pra responder porque tinha comprado 2 LM35 e chegaram  hoje e adivinha? Mandaram errado, mandaram o  DS18B20 quando abri o pacote até estranhei que vieram resistores juntos, mas agora tô perdido, por um lado o  DS18B20 é digital imagino que sofra menos interferência que o LM35.

 

Mas pro  DS18B20 funcionar precisa usar uma biblioteca e ele trabalha com uma comunicação chamada OneWire não sei se isso é "pesado''.

 

A ideia é utilizar menos recursos do micro porque ele vai trabalhar fazendo a leitura de vários sensores e vai enviar tudo por serial para o tablet, neste caso o que consome menos recursos o LM35 ou o DS18B20 que é digital? Tô pensando em ficar com o  DS18B20 só pra não ter dor de cabeça pra devolver, mas se ele exigir mais recursos  que o LM35 então posso devolver...

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Eu usaria o tal ds (que nunca vi na vida) ... numa olhadela rápida

https://curtocircuito.com.br/blog/Categoria Arduino/como-utilizar-o-ds18b20

parece que ele é 12bits o que pode não ser totalmente inútil. Outra coisa... coisa analógica é literalmente coisa do passado... Coisa pra Paulão, Brunão, Moris, França e cia 😁.  Hoje em dia é tudo digital. No caso deste treco, parece que ele envia tudo preciso e mastigado.  .. (tipo acho que já falei sobre o mcp9600 pra termopar)...E tem mais.. Esquece este lance de regular recursos. Pro seu projeto tudo é lento com relação ao mc. Numa visão mais ampla da coisa... considere a 'lentidão' do operador do sistema ao projetar sua ihm

Link para o comentário
Compartilhar em outros sites

46 minutos atrás, .if disse:

Eu usaria o tal ds (que nunca vi na vida) ... numa olhadela rápida

https://curtocircuito.com.br/blog/Categoria Arduino/como-utilizar-o-ds18b20

curiosamente olhei este mesmo site agora pouco, peguei as informações dele e montei na protoboard com o código, funcionou perfeitamente ao contrário do LM35, se bem que esse LM35 era falsificado, mas mesmo assim só de montar e funcionar em menos de 15 minutos é um recorde para mim, a maioria das coisas ou demora horas ou dias ou simplesmente pega fogo...

 

48 minutos atrás, .if disse:

coisa analógica é literalmente coisa do passado... Coisa pra Paulão, Brunão, Moris, França e cia 😁.  Hoje em dia é tudo digital. No caso deste treco, parece que ele envia tudo preciso e mastigado.  .. (tipo acho que já falei sobre o mcp9600 pra termopar)...E tem mais.. Esquece este lance de regular recursos. Pro seu projeto tudo é lento com relação ao mc. Numa visão mais ampla da coisa... considere a 'lentidão' do operador do sistema ao projetar sua ihm

Algumas coisas que vou medir vão ter que ser analógicas mesmo, mas pelo menos utilizando este sensor vou usar uma porta digital isso deixa um pino analógico livre do arduino que eu possa utilizar pra outra coisa.

 

 

50 minutos atrás, .if disse:

Esquece este lance de regular recursos. Pro seu projeto tudo é lento com relação ao mc.

 

Então mas quanto mais coisas para fazer ou dependendo da forma que os dados são tratados pode afetar a velocidade final não é? Uma coisa que estava pensando é que o DS18B20 utiliza duas bibliotecas para funcionar, e já trata a temperatura como float mas no meu caso não preciso dos números após a virgula, pra deixar como int, teria que tentar editar a biblioteca? E realmente valeria a pena mudar de float para int para ganhar desempenho? queria fazer aquilo que tu explicou que aparece no display o ''0,0" sem ter que usar float só que editar biblioteca deve ser bem complicado e não sei se compensa o que acha?

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!