Raspberry Pi Pico als weerstandsmeter met behulp van de A-Vision Experiment assist

Het principe

Een waarde van een weerstand kan op verschillende manieren worden berekend. Volgens de wet van Ohm (I = V/R) wordt de waarde van een weerstand berekend als R = V/I.

Om de waarde van een weerstand te meten, hebben we een constante voeding (V) en een nauwkeurige referentieweerstand nodig.

Met behulp van het volgende schema kunnen we de weerstandswaarde berekenen.

Het gebruik van een referentiespanning van 3,3 Volt geeft een constante stroom (I) door de weerstanden. Deze stroom kan worden berekend door de 'meetspanning' te meten, zodat we de spanningsval over de bekende referentieweerstand weten.

Hierbij wordt ervan uitgegaan dat de stroom die door het meetcircuit wordt getrokken bijna niets bedraagt.

Dan kan de onbekende weerstandswaarde nu als volgt worden berekend:

bereken huidige

bereken onbekende weerstand

De waarde die ik vervang door de berekende stroom formule.

vervangende stroom

Door dit verder te vereenvoudigen krijgen we de volgende formule om de onbekende weerstand te berekenen.

uiteindelijke formule

De Raspberry Pi Pico aansluiten

Het volgende schema toont de verbinding met een Raspberry Pi Pico

In dit schema hebben we enkele extra's toegevoegd voor betere prestaties en nauwkeurigheid.

Er wordt geen aparte voeding gebruikt, alle benodigde stroom komt van de USB aangesloten op de computer.

Software installeren op de Pico

Ten eerste is een STOP-knop toegevoegd om een eenvoudigere installatie van software op de Raspberry Pi Pico mogelijk te maken.
Hoe dit werkt is als volgt.

  1. Als u op de STOP-toets drukt, worden de programma('s) op de Pico gestopt.
  2. Druk tijdens het indrukken van de STOP-knop ook op de BOOTSEL-knop op de Pico.
  3. Laat vervolgens de STOP-knop los, hiermee wordt de Pico in een USB-schijfmodus opgestart.
  4. Nu kunt u de software naar de Pico USB-schijf kopiëren, dit zal de Pico automatisch resetten.

Schakelen tussen referentieweerstanden

Om de meetnauwkeurigheid te verbeteren, zijn twee P-Channel MOSFET's toegevoegd die het mogelijk maken om tussen twee referentieweerstanden te schakelen. Eén van 10kOhm voor het meten van weerstanden tot ongeveer 15kOhm, en één van 100kOhm voor het meten van weerstanden groter dan 15kOhm.

De omschakeling is gebaseerd op de gemeten spanning, wanneer deze meer dan 2,1 V bereikt, schakelt deze over naar de 100kOhm referentieweerstand en wanneer deze onder 0,4V zakt, schakelt deze over naar de 10kOhm.

Dit resulteert in een nauwkeuriger meetresultaat.

Monitoring van het resultaat

De software stuurt de resultaten via de seriële interface (GPIO0 als TxD en GPIO1 als RxD).

De Txd (GPIO0) wordt aangesloten op de RxD op de USB naar SERIAL connector op de Experiment help board, en de RxD (GPIO1) wordt aangesloten op de TxD op de USB naar SERIAL connector op de Experiment help board.

Ook moet de GND van de USB naar SERIAL connector op de Experiment assist board worden aangesloten op de GND van de Raspberry Pi Pico.

Verbetering van de nauwkeurigheid

Boven een spanningsmeting van 2,1V en lager dan 0,4V wordt de nauwkeurigheid minder. Dit kan worden verbeterd door extra referentieweerstanden en automatisch schakelen toe te voegen op basis van deze gemeten waarden.

Met behulp van het bovenstaande schema zijn de metingen het meest nauwkeurig tussen 1,5kOhm en 150kOhm.

Gebruikte softwaretools

Windows 10 Raspberry Pi Pico C++ ontwikkeling

Om de Raspberry Pi Pico C++ ontwikkelomgeving op een Windows 10 systeem te installeren hebben wij gebruik gemaakt van de procedure zoals beschreven op-

https://notenoughtech.com/featured/c-c-and-micropython-sdk-for-raspberry-pi-pico-on-windows/

USB naar SERIAL uitlezen

Voor het monitoren van de resultaten via de USB naar SERIAL op de Experiment assist board, hebben we Mputty gebruikt, dit kan worden gedownload van-

https://ttyplus.com/downloads/

De volgende configuratie wordt gebruikt:

Drivers voor de USB naar SERIAL op het Experiment assist board worden geleverd bij het Experiment assist board zelf.

Overzicht Raspberry Pi Pico weerstandmeter op een Experiment assist board

Overzicht Raspberry Pi  Pico weerstandmeter op een Experiment assist board

Het gebruik van het Experiment assist board samen met 400-pins breadboard maakt experimenteren hiermee heel eenvoudig.

De monitor is aangesloten op het ingebouwde USB naar SERIAL circuit, dit voorkomt dat u opnieuw verbinding moet maken met de USB-poort telkens wanneer de Pico in de USB-schijfmodus wordt gezet.

De code

De code is niet echt zo complex, het is in feite het lezen van de gemiddelde meetspanning en vervolgens het toepassen van de formule op de meting.

In pseudocode is het als volgt-

> Initialisatie. 
> Herhaal voor altijd:
  1. Maak kennis met de gemiddelde spanning over XX-monsters.
  2. 2. Selecteer referentieweerstand op basis van gemeten spanningswaarde.
  3. Formule toepassen om onbekende weerstandswaarde te berekenen.
  4. Voer metingen uit via UART.

De volledige C-code is online beschikbaar op https://github.com/A-Vision-Software/raspberry-pi-project-examples/tree/main/resistormeter