De waarde voor Schaal bepalen

Deze kan worden bepaalt door te experimenteren, maar als je een HD44780 display op de PIC hebt aangesloten (zie cursus deel 4) is het eenvoudiger te bepalen.

Stel eerst de potmeter in op de maximale weerstandswaarde.
Stel de potmeter die is aangesloten op PORTA.1 in op de maximale weerstandswaarde (potmeter helemaal "open" draaien) en laat de waarde voor Schaal bepalen door onderstaand programmaatje, die je dus even moet compileren en zolang in de PIC moet programmeren.

DEVICE 16F628A                ;Gebruik een 16F628A type
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE              ;Alle ingangen digitaal

;Poortnamen
SYMBOL Potmeter     = PORTA.1 ;Sluit de potmeter aan op PORTA.1, zet hem op max. weerstand

;Variabele declareren
DIM Schaal AS BYTE            ;Deze variabele bevat straks de gemeten waarde voor 'Schaal' 

HIGH Potmeter                 ;Condensator van de potmeter even goed vol laden

CLEAR                         ;Wis alle RAM geheugen
DELAYMS 500                   ;LCD stabilisering

CLS                           ;LCD scherm wissen
Schaal = 255                  ;Geef teller 'Schaal' de maximale startwaarde
WHILE POT Potmeter, Schaal = 255 ;Blijven meten zolang waarde van POT gelijk aan 255 is
  DEC Schaal                  ;Verlaag 'Schaal' met 1 en meet nog eens opnieuw
WEND

PRINT "Schaal = ", DEC Schaal ;Zet waarde op het display

END

Als Schaal optimaal is ingesteld dan is straks het hele bereik van de potmeter verdeeld van (bijna) 0 tot (bijna) 255.
In de voorbeeldprogramma's staan voor de waarde van Schaal steeds 3 vraagtekens afgebeeld (???).
Het bovenstaand programmaatje geeft op het display de optimale waarde voor Schaal weer, die je dus in je eigen PIC Basic programma's en in de voorbeeldprogramma's van deze cursus voor Schaal moet opgeven, in plaats van die vraagtekens.
Dus stel dat dit programma aangeeft: Schaal = 132, dan moet je in de functie POT voor Schaal 132 invullen.

Let op, de gemeten waarde geldt dus alleen voor deze potmeterwaarde, in serie met dit type condensator, aangesloten op deze poort.
Als je de potmeter bijvoorbeeld op een andere poort aansluit moet je de Schaal meting ook op die poort doen, omdat er kleine verschillen tussen de poorten zitten.
De waarde kan trouwens licht variëren (= veranderen) als de meting opnieuw wordt gedaan, meestal ligt dit aan de kwaliteit van de condensator.


Geen display?
Als je geen display hebt kun je de Schaal bepalen door te experimenteren met behulp van onderstaand programma:

DEVICE 16F628A                ;Gebruik een 16F628A type
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE              ;Alle ingangen digitaal

;Hier de geschatte waarde achter 'Schaal' invullen in plaats van de vraagtekens
SYMBOL Schaal   = ???         ;Vul geschatte waarde in op de plaats van de vraagtekens

;Poortnamen
SYMBOL Potmeter = PORTA.1     ;Sluit de potmeter aan op PORTA.1, zet hem op max. weerstand
SYMBOL LED      = PORTA.2     ;Sluit de LED aan PORTA.2 en via een 1k weerstand aan GND 

HIGH Potmeter                 ;Condensator van de potmeter even goed vol laden

WHILE 1 = 1
  IF POT Potmeter, Schaal = 255 THEN 
    HIGH LED                  ;LED aanzetten
  ELSE
    LOW  LED                  ;LED uitzetten
  ENDIF
WEND

Sluit de 25k potmeter met in serie een 100n condensator aan tussen PORTA.1 en GND.
Sluit een LED met 1k serieweerstand aan tussen PORTA.2 en GND.

Vul nu een (geschatte) waarde in (0 ... 255) achter 'Schaal' op de plaats van de rode vraagtekens.
Als je een 25k potmeter in serie met een 100n condensator hebt aangesloten, dan is de waarde 140 een goede waarde om mee te beginnen.
Compileer het en programmeer het in de PIC.

Door nu aan de potmeter te draaien moet de LED gaan branden als de potmeter (bijna) helemaal open is gedraaid.
Gaat de LED niet branden, in welke stand van de potmeter dan ook, dan moet je de waarde voor Schaal vergroten.
Gaat de LED al branden, terwijl de potmeter nog lang niet helemaal open is gedraaid, dan moet je de waarde voor Schaal verkleinen.
Vergroot of verklein de Schaal waarde, compileer het programma  en programmeer het opnieuw in de PIC.
Herhaal dit een paar keer net zolang tot de LED pas gaat branden als je de potmeter (bijna) helemaal hebt open staan.


Voor een NTC en PTC kun je de waarde het best op 255 zetten voor een zo'n hoog mogelijk resolutie.