Temperatuur sensor omrekenen naar graden Celsius

Projecten die niet passen in bovenstaande onderwerpen
Berichten: 247
Geregistreerd: 03 Okt 2015, 13:39

Re: Temperatuur sensor omrekenen naar graden Celsius

Berichtdoor DeDraak » 09 Aug 2017, 13:05

ok bedankt!

Advertisement

Berichten: 247
Geregistreerd: 03 Okt 2015, 13:39

Re: Temperatuur sensor omrekenen naar graden Celsius

Berichtdoor DeDraak » 10 Aug 2017, 08:39

Ik heb het zojuist getest op een Uno maar ik krijg wel een verschil te zien..

dit zie ik bij 5 Volt:
R = 241177.64, Simple = 22.14, Stein = 23.16

en dit als ik de sensor op 3,3V aansluit:
R = 32746.05, Simple = 71.27, Stein = 72.41

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Temperatuur sensor omrekenen naar graden Celsius

Berichtdoor Koepel » 10 Aug 2017, 15:20

Bij een 5V Arduino board geeft de analogRead() een waarde van 0...1023 voor een voltage van 0 tot (bijna) 5V. De referentie-voltage voor analogRead() staat default op 5V. Als de NTC met serieweerstand aan dezelfde 5V hangt als de referentie voor analogRead(), dan werkt alles goed.

Bij een 3.3V Arduino board staat de referentie default op 3.3V. Als de NTC met serieweerstand aan dezelfde 3.3V hangt, dan werkt alles goed.

De referentie voor analogRead() staat default op VCC, dus dat is de spanning waarop de microcontroller draait. Diezelfde spanning gebruik je voor de NTC met serieweerstand. Of die spanning nu 3.3V of 5V of iets daar tussen in, dat maakt niet uit.

Bij de NTC met serieweerstand draait alles om de juiste verhoudingen. Wanneer je een analoge pin een lager voltage gaat geven (door de NTC + serieweerstand te voeden met 3.3V) en de referentie voor analogRead() nog steeds op 5V hebt staan, dan klopt het niet meer.
Je kunt het op een 5V Arduino board weer goed krijgen door ook de referentie van analogRead() op 3.3V te zetten. Hoe je dat moet doen, dat vertel ik niet, want er kan dan kortsluiting ontstaan binnenin de microcontroller, en daarna kan er iets beschadigd zijn waardoor de temperatuur verkeerd zou kunnen zijn.

https://www.arduino.cc/en/Reference/AnalogRead

https://www.arduino.cc/en/Reference/AnalogReference

Berichten: 247
Geregistreerd: 03 Okt 2015, 13:39

Re: Temperatuur sensor omrekenen naar graden Celsius

Berichtdoor DeDraak » 10 Aug 2017, 17:27

ik heb een Nodemcu v3 waarbij ik dit aan het testen ben, die heeft alleen maar 3,3 volt. Dan zou dit toch gewoon moeten werken?

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Temperatuur sensor omrekenen naar graden Celsius

Berichtdoor Koepel » 10 Aug 2017, 21:08

Je zei dat je het probeerde op een Arduino Uno.
Ik heb zelf geen nodemcu, maar wel 5V en 3.3V Arduino boards. Volgens mij zou het op een nodemcu ook moeten werken, tenzij je een ouder board hebt die maar tot 1V gaat.

Berichten: 247
Geregistreerd: 03 Okt 2015, 13:39

Re: Temperatuur sensor omrekenen naar graden Celsius

Berichtdoor DeDraak » 10 Aug 2017, 21:13

Ik heb het op een uno eerst getest inderdaad, daar gaat het op de 5volt goed maar niet op de 3,3volt.
Dat verhaal is duidelijk.
Nu op een nodemcu krijg ik dezelfde waarde (afwijking) te zien als op de 3,3volt van de uno.

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Temperatuur sensor omrekenen naar graden Celsius

Berichtdoor Koepel » 10 Aug 2017, 21:26

Dat kan eigenlijk niet :?
Heb je een 3.3V Arduino board, als tussenvorm om even te testen ?

Als niets meer helpt, dan kun je twee weerstanden gebruiken om de analoge ingang van een spanning te voorzien. Dan de analog ingang ook meten met een multimeter en kijken of de waarde van analogRead() daarmee overeen komt.

Berichten: 247
Geregistreerd: 03 Okt 2015, 13:39

Re: Temperatuur sensor omrekenen naar graden Celsius

Berichtdoor DeDraak » 15 Aug 2017, 09:04

Dat ga ik even proberen, op de uno waarop ik het getest heb deed hij het op de 5 volt wel maar op de 3,3 volt kreeg ik andere waardes.
Op de nodemcu (3,3volt) kreeg ik dezelfde afwijkende waardes als op de uno (3,3Volt)

ik zou dit eens op een andere arduino proberen..

Berichten: 247
Geregistreerd: 03 Okt 2015, 13:39

Re: Temperatuur sensor omrekenen naar graden Celsius

Berichtdoor DeDraak » 04 Mrt 2019, 11:09

Hallo,

Nu heb ik een ander probleem..

Ik heb de UNO weggelaten en een losse Atmega chip los op het breadbord gemonteerd. alles aan de praat incl. display.
Ik heb dezelfde sketch geupload naar de losse chip maar krijg nu geen waarde meer te zien van mijn ET73.
Nu heb ik de sketch even aangepast om de ingang uit te lezen en daar zie ik in een keer een andere waarde, ik heb dezelfde weerstand (22K) gebruikt en precies hetzelfde aangesloten als op de UNO.

Als ik nu de waarde uitlees op de A0 zonder ET73 gemonteerd dan zie je op de UNO 1022, plaats ik de ET73 dan krijg ik de waarde 915 te zien en een temperatuur van 29 graden. Dit klopt perfect. (ik had de ET73 even in mijn hand gehad vandaar die 29 Graden...

Dit is mijn schema zoals het op de UNO aangesloten zit:

Atmega.jpg
Atmega.jpg (79.27 KiB) 6941 keer bekeken


Als ik dit schema aansluit op mijn Atmega dan krijg ik een waarde van 1023 te zien, ongeacht ik de ET73 erin doe of niet..
Als ik de 5V en de ground omwissel dus de 5Volt aan de ene kant van mijn ET73 en de ground aan de 22K kant dan krijg ik wel waardes te zien:

Zonder ET73 krijg ik 0 te zien op mijn A0 en die ik de ET73 erin dan krijg ik 85 te zien. daar hoort een temperatuur bij van 169 graden.

Het lijkt erop dat de ingang andersom werkt nu??

Wie kan mij vertellen wat hier gebeurt?

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Temperatuur sensor omrekenen naar graden Celsius

Berichtdoor Koepel » 04 Mrt 2019, 13:02

Je hebt een oscillator gemaakt van de voltage regulator; de spanning van de atmega chip stuitert alle kanten op; je gebruikt een breadboard; je ground-pad klopt niet; je vergeet een paar VCC en GND pinnen, de /RESET zweeft, en de analoge meting heeft ruis.

Is dat een LM7805 ? In de datasheet staat dat er condensators bij horen te staan, zowel bij de ingang als de uitgang. In de datasheet staat 0.33µF bij de ingang en 100nF bij de uitgang. Het hoeven niet precies die waarden te zijn, maar bij de uitgang zou ik in ieder geval wel die 100nF daar plaatsen.

De ATmega328P heeft ook condensators nodig. Bijvoorbeeld 100nF tussen 5V en GND.

Een breadboard levert nogal vaak problemen op. De contacten zijn soms slecht. De draden maken soms slecht contact en zijn dun.
Dus bij een breadboard mag je gerust een stuk of wat 100nF condensators plaatsen bij de ATmega328P tussen 5V en GND.

Je hebt geen weerstand van 10k van /RESET naar 5V ?

Is de tekening ook echt hoe dat je het hebt aangesloten ?
Dan klopt je ground-pad niet. De GND van de sensor gaat via de 12V connector, via de GND-pin van de 7805, en dan pas naar de GND van de ATmega328P. Dat betekend dat de GND-stroom van de ATmega328P en de GND-stroom van de 7805 het GND-signaal verstoren, en dat voeg je toe aan de sensor. Die verstoring is de gelijkstroom die het GND-signaal kan wijzigen, maar het is vooral de storing van de componenten.
Ook de 5V naar de sensor is niet correct. Die wordt ook beïnvloed door de andere componenten.

Zorg voor twee gescheiden paden. Aan de ene kant komt de power binnen (5V en GND), en aan de andere kant is de sensor met de ATmega328P verbonden (zonder dat nog ergens anders aan vast te maken).

Je kunt een 100nF leggen aan AREF en GND, dat onderdrukt de storing van het AREF signaal. Als je dat niet doet, dan kun je in software het gemiddelde van een aantal waarden nemen.

Alle VCC en AVCC pinnen van de ATmega328P chip moeten met de 5V verbonden worden.
Alle GND pinnen van de ATmega328P chip moeten met de GND verbonden worden.
De ATmega328P chip heeft het analoge gedeelte gescheiden van de rest om de storing te verminderen. Ik meen me te herinneren dat het daar fout gaat als je niet alle VCC en AVCC en GND gebruikt.

Dit werd nog een heel verhaal ! Maar iedereen met wat kennis van elektronica ziet dit in één oogopslag. Je kunt nu eenmaal niet zomaar wat aan elkaar verbinden en dan ook nog een analoge waarde lezen. Als je de signalen zou meten met een (hele) goede oscilloscoop, dan sta je er versteld van hoeveel storing er in zo'n circuit zit.

Hieronder staat een schema. Ik heb geprobeerd om de verbindingen naar de sensor dicht op de ATmega328P te plaatsen, zodat er zo weinig mogelijk storing van VCC en GND bij de sensor en de analog ingang kunnen komen.
Bijlagen
EasyADA schema.png
Schema, online gemaakt met EasyADA
EasyADA schema.png (32.76 KiB) 6938 keer bekeken

VorigeVolgende

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 15 gasten