Om je GPS tracker verder af te maken, kan je er ook een NTC temperatuur sensor aan monteren.

Wat moet je al kunnen

De eerste stappen in het solderen aan de lora32u4

In je werkset zie je ook een aantal snoertjes en andere onderdelen. Het is de bedoeling dat je wat gaat solderen. We zullen iets meer gaan aansluiten dan voor het Lora32u4 bordje is bedoeld – en daar hebben we een oplossing voor bedacht.

Met een NTC weerstand wordt het een temperatuur meter

We sluiten een NTC weerstand aan waardoor het device kan zien welke temperatuur wordt gemeten. We solderen daarbij op de aansluitpunten waar al draden van de GPS aansluiting zijn gemonteerd.

De temperatuurmeter bestaat uit een 100k NTC van type 3950, zoals ook op onze 3D printer wordt gebruikt. Daarbij gebruiken we een 100k weerstand. We hebben van beide de nauwkeurige versie gekozen van 1% om nauwkeuriger de temperatuur te kunnen bepalen.

De NTC en de weerstand maak je aan elkaar. Het losse eind van de NTC komt aan GND, het losse eind van de weerstand aan 3V3. We verbinden de connectie tussen NTC en de weerstand aan de analoge ingang A0, die als input wordt ingesteld. Optioneel gebruiken we twee solid core draden om de NTC te verlengen.

Let op: Door netjes te solderen voorkom je dat er dingen tegen elkaar komen die geen contact mogen maken. Wanneer er onbedoeld dingen tegen elkaar komen dan zal je apparaat niet meer werken. Soldeer ook niet te lang op je bordje. Je weet hoe dit werkt, want daarvoor heb je in de Junior IOT lessenserie al geoefend in de andere opdrachten.

De weerstand monteren op A0 en 3V3

Monteer de 100k weerstand:

  • De ene kant van de 100k weerstand monteer je via de achterkant van het boardje aan A0; deze was nog vrij waardoor je het pootje door het gaatje kunt steken
  • Het andere pootje van de 100k weerstand leg je tegen de soldeerbobbel die nu al aan de 3V3 aansluiting zit, en zoldeer het pootje vast

De NTC monteren op A0 en GND

De NTC heeft twee dune draden. Op deze draden zit mogelijk een beetje lak. Om de NTC klaar te maken vertinnen we de uiteindes. Ik vind het fijn om één van de twee pootjes iets korter te maken, zodat de soldeerbobbels niet tegen lekaar aan komen.

  • Als je van plan bent om verlengdraden te gebruiken, knip dan 2 centimeter af van één van de twee pootjes van de NTC
  • Van het ene pootje vertin je de laatste 3 millimeter: houdt de soldeerbout stevig op dit stukje en doe er een beetje soldeertin bij. Je ziet dat dit stukje er nu zilverkleirig uitziet, en de rest van het pootje blijft goudkleurig.
  • Dit doe je ook met het tweede pootje.

Maak nu een keuze of je een verlengdraad gebruikt voor de NTC. Indien je geen verlengdraad gebruikt:

  • Het ene pootje van de NTC monteer je aan de achterkant van het bordje aan de soldeerbobbel op A0, waar de weerstand aan vast zit.
  • Het andere pootje van de NTC monteer je aan de soldeerbobbel op GND, waar de GPS aan vast zit.

Als je kiest voor een verlengdraad, gebruik A0 en GND dan voor de verlengdragen, en maak de NTC aan het andere eind van deze verlengdraden.

Junior IOT Software

De Junior IOT software gebruikt op dit moment reeds de A0 meting. Het maakt voor de software niet uit of je er al iets op hebt gemonteerd, de A0 meetwaarde wordt gewoon verzonden naar het netwerk. Je hoeft na het monderen van de NTC niets te veranderen aan de software.

Junior IOT temperatuur grafiek

Testcode – alleen als er nog geen code opzit

Bij het ontwerpen van deze schakeling hebben we onderstaande test code gebruikt. Pas op: als je deze op jouw Lora32u4 zet, dan wis je de software die daar nu op staat. Als jouw device al geprogrammeerd is voor TTN, dan moet je er geen ander programma op zetten.


// we gebruiken deze thermistor, die we ook vinden onder het heatbed van onze Prusa Mini 3D printer:
// NTC 100 kOhm 3950 1%
// de weerstand is 100k +- 1% bij 25 graden Celcius
// de B-waarde is 3950 +- 1%
// we kunnen hiermee tmperaturen meten tussen -40 en +250 graden C meten
// daarbij gebruiken we een weerstand:
// 100 kOhm 1%
// De referentiespanning van de A0 meting is hetzelfde als bij de spanningsdeler thermistor-weerstand
// door alle onzekerheden kan de temperatuur er een paar graden naast zitten, de trend zien we wel de goede kant op gaan

// De aansluiting is:
// GND - NTC
// A0 - NTC & weerstand
// 3V3 - weerstand

/**
Basic NTC Thermistor demo
https://wokwi.com/arduino/projects/299330254810382858

Assumes a 100K@25℃ NTC thermistor connected in series with a 100K resistor.

Copyright (C) 2021, Uri Shaked
*/

const float BETA = 3950; // should match the Beta Coefficient of the thermistor

void setup() {
  Serial.begin(9600);
}

void loop() {
  int analogValue = analogRead(A0); // a value between 0 and 1023, meaning 0 to 3V3
  float celsius = 1 / (log(1 / (1023. / analogValue - 1)) / BETA + 1.0 / ( 25 + 273.15 )) - 273.15;
  Serial.print("Temperature: ");
  Serial.print(celsius);
  Serial.println(" deg C");
  delay(1000);
}