Gepost door Jeroen Vreuls op dinsdag 3 mei 2016
Maar we kunnen zo'n sensor ook zelf maken, met bijvoorbeeld een PIC12F629 van Microchip is dat goed te doen. Het kan natuurlijk ook met een ander type controller. Hieronder het schema.
Zoals je kunt zien op het schema heb ik gebruik gemaakt van een Vigortronix voedingsmodule type VTX-214-005-105. Deze module mag direct aan 230 VAC en er komt een mooie gestabiliseerde spanning van 5 VDC uit. Ik heb nog wel een paar elco's van 220 µF achter de uitgang gezet omdat het een gevoelige schakeling is.
De pinnen 5, 6, en 7 van de PIC12F629 liggen via een SIL-weerstand van 10 kΩ aan massa. Pin 5 is de uitgang voor het relais, dit wordt geschakeld door een BC547. Deze heeft voor dit type relais een voldoende versterkingsfactor. Mocht je een groter relais willen schakelen dan kun je voor een BC517 gaan, deze heeft een grotere versterkingsfactor. Het relais is van Omron, type G5LA-1. Het relais mag 10 A schakelen bij 230 VAC, ruim voldoende voor allerlei doeleinden. Mocht dit niet genoeg zijn kun je via de contacten een groter relais schakelen.
Het sensor gedeelte zit op de pinnen 2 en 3, op pin 2 staat een bepaalde frequentie die via R-SENS en een condensator van 100 nF op de touch sensor is aangesloten. Als de touch sensor aangeraakt wordt komt dit verstoorde signaal op de ingang pin 3 terecht, als het signaal daarbinnen komt en de vergelijking klopt dan wordt de uitgang hoog en blijft hoog totdat de touch sensor weer aangeraakt wordt.
Als test heb ik een draad met een lengte van ± 100 mm tussen de touch sensor en de ingang zitten, als deze draad erg veel langer wordt moet R-SENS aangepast worden. Als je R-SENS groter maakt wordt de touch sensor gevoeliger, maak je R-SENS kleiner wordt de touch sensor dus minder gevoelig. Als je dus een langere sensordraad wil gebruiken wordt de touch sensor gevoeliger (de sensor pikt meer op) en moet R-SENS kleiner worden. Als test voor de touch sensor heb ik een M6 slotbout gebruikt, maar in principe kun je daar van alles voor gebruiken.
Hieronder een voorbeeld van het touch gedeelte.
Zoals je ziet staat er op de uitgang continue een frequentie, als deze verstoord wordt door aanraking van de sensor zal er een ander signaal op de ingang komen te staan.
Zoals je kunt zien aan de opbouw, kun je een kunststof laagje aanbrengen op de sensorplaat. De gevoeligheid moet dan wel aangepast worden, ik heb het getest met een 1 mm dikke plexiglas plaat en dat werkte prima. Op deze manier kun je de sensoren achter een frontplaat zetten zonder dat je ze ziet, als dat plexiglas is dan zou je het plexiglas kunnen spuiten. Dat geeft trouwens een mooi glanzende frontplaat.
Zoals je ook kan zien in het voorbeeld moet de sensor wel geïsoleerd opgesteld worden door een eventuele isolatielaag, de sensor mag niet in aanraking komen met een wand van een kastje of een frontplaat. Als je daar rekening mee houdt werkt de sensor uitstekend.
Als sensor materiaal kan je eigenlijk ieder elektrisch geleidend materiaal gebruiken, bijvoorbeeld koper, messing, aluminium, gegalvaniseerd staal of RVS.
Hieronder het PICBASIC programma voor de sensor.
'* Name : TOUCH SENSOR.
'* Author : H van Zwieten.
'* Notice : Copyright (c) 2016 H.v.Z.
'* : All Rights Reserved
'* Date : 26-3-2016
'* Version : 1.0
'* Notes :
Device 12F629
Xtal 4 ; Processor snelheid 4MHz
Config INTRC_OSC_NOCLKOUT,_ ; Interne oscilator aan
WDT_OFF,_ ; WatchDog Timer uit
PWRTE_ON,_ ; Power-up Timer Enable aan
MCLRE_OFF ; Externe Master Reset Enable uit
All_Digital true ; alle poorten digitaal
Symbol LED = GPIO.2 ; Uitgang xxxxxxxxx
Symbol TOUCH = GPIO.4 ; Ingang sensor
Symbol PULS = GPIO.5 ; Puls uitgang
Symbol ONDERDRUKKING = 100 ; Onderdrukking storing
Dim STATUS_1 As Bit ; Waarde status1 bit
Dim STATUS_2 As Bit ; Waarde status2 bit
Clear ; wis geheugen
;543210 ; hulpregel
GPIO = %000000 ; maak poorten laag
TRISIO = %010000 ; in en uitgangen
;------------------------
; PROGRAMMA TOUCH SENSOR.
;------------------------
STATUS_1 = 0
STATUS_2 = 0
LED = 0
RUN:
PULS = 1
STATUS_1 = TOUCH
DelayMS ONDERDRUKKING
PULS = 0
STATUS_2 = TOUCH
DelayMS ONDERDRUKKING
If STATUS_1 = STATUS_2 Then
GoSub UITGANG
EndIf
GoTo RUN
UITGANG:
Toggle LED
DelayMS 1000
Return
GoTo UITGANG
End
Zoals je kunt zien is het programma niet echt groot. In de RUN
lus wordt de puls gegenereerd en de status van de touch sensor gecontroleerd. Zolang STATUS_1
en STATUS_2
niet gelijk zijn, veranderd er niets aan het uitgangsniveau van de controller. Als zowel STATUS_1
en STATUS_2
gelijk zijn (dat is na aanraking van de sensor) zal de uitgang van de controller hoog worden.
Met ONDERDRUKKING
in het programma worden eigenlijk twee dingen gedaan: ten eerste de delay bepaalt de frequentie van de puls die op de sensor komt en ten tweede onderdrukt de delay eventuele storing van buitenaf. De delay staat nu op 100 milliseconden, maar daar kan nog iets mee gespeeld worden. De DelayMS
tijd bij de UITGANG
lus kun je ook nog iets aanpassen, maar deze waarde geeft bij mij goede resultaten. Voor de rest wijst het programma voor zich denk ik.
Ik heb er ook een print voor gemaakt, zie hieronder.
Het relais mag 10 A schakelen, maar ik houd het op maximaal 5 A. En met 1150 W kun je aardig uit de voeten voor bijvoorbeeld verlichting. Daar zijn ook de sporen op berekend, de koperlaag op het printmateriaal heeft een koperdikte van 35 micrometer.
Hieronder het printje met de aansluitingen.
Er zijn geen montage gaten in de print gemaakt omdat dit gedeelte ingegoten wordt. Als je dat niet gaat doen kun je montage gaten in de print maken. Je kunt er ook voor kiezen dat je het relaiscontact potentiaalvrij maakt, dan kan je daar mee schakelen wat je wilt. Zelf was ik van plan om er verlichting mee te schakelen, dus vandaar dat ik er 230 VAC mee schakel.
Je kunt er natuurlijk van alles en nog wat mee schakelen, of er een beetje mee experimenteren. Als je niet de mogelijkheid hebt om zelf printen te etsen kun je het ook op een breadboard zetten of op experimenteerprint.
Ik hoop dat je een beetje inzicht gekregen hebt in de werking van touch sensoren. In principe werken ze allemaal zo'n beetje hetzelfde.
Dit artikel is geschreven door Lambiek.
Reacties
Prima uitleg.
Vooral de schakeling met de PIC vind ik behoorlijk ingenieus.
Bedankt voor het compliment.
Als je ingelogd bent kun je een reactie plaatsen.