Gebruik nabyskakelaars met u lineêre ...
Gebruik nabyskakelaars met u lineêre aktuator
Gepos deur Robbie Dickson aan Junie 23, 2020
Naderingsskakelaars, of sensors, is kontaklose skakelaars wat die teenwoordigheid van 'n voorwerp in hul omgewing kan opspoor. Hierdie sensors kan gebruik word om aan 'n lineêre aandrywer te sê om te beweeg of te stop wanneer 'n voorwerp voor die sensor staan ​​of as 'n voorwerp weggeneem word. Dit kan ook gebruik word om te bepaal hoe ver die voorwerp die naaste aan hulle is, en kan gebruik word om terugvoer te gee om die lineêre aandrywer te beheer. Gewoonlik sien u nabyheidssensors wat gebruik word met handsfree of touchless toestelle, soos in touchless handdroër en hands-free aangedrewe agterdeure in SUV's, maar word ook gebruik in 'n wye verskeidenheid industriële toepassings. Vir gebruik met lineêre aandrywerskan nabyheidsensors in verskillende situasies gebruik word, insluitend aanraaklose beheer en terugvoer van voorwerpe.
Nabyheidssensors bespeur gewoonlik die teenwoordigheid van 'n voorwerp deur gebruik te maak van elektromagnetiese veld, lig of klank . Die metode waarop u lineêre aandrywer opspoor of 'n voorwerp aanwesig is, hang af van die tipe nabyheidssensor. Daar is vier algemene soorte nabyheidsensors:
Induktief: Gebruik magnetiese veld om ysterhoudende materiaal op te spoor
Kapasitief: Gebruik veranderinge in kapasitansie om 'n voorwerp op te spoor
Foto-elektries: Gebruik lig om op te spoor of 'n voorwerp aanwesig is
Ultrasoniese: Gebruik klank om op te spoor of daar 'n voorwerp is
U tipe keuse hang af van u toepassing en watter materiaal u wil opspoor . U sal ook 'n aantal ander spesifikasies hê wat u moet oorweeg wanneer u die regte nabyheidssensor kies, wat die opsporingsbereik, reaksietyd, skakelfrekwensie, werkstemperatuur en uitsetsein insluit. Om die regte nabyheidssensor te kies, moet u u toepassingsbehoeftes, die tipe sensor, die bostaande spesifikasies in ag neem en die gegewensblad van die sensor raadpleeg vir bykomende inligting.
Wat is die verskil tussen nabyheidsensors en bewegingsdetektors?
Nabyheidssensors is nie bewegingsmelders nie, aangesien dit die nabyheid van 'n voorwerp eerder as beweging waarneem. Bewegingsmelders, soos hul naam aandui, voel beweging eerder as die nabyheid van 'n voorwerp of persoon. Funksioneel sal 'n nabyheidsensor u kan vertel hoe naby 'n voorwerp aan die sensor is, of die voorwerp beweeg of nie. Terwyl bewegingsmelders slegs sal begin as daar beweging is ongeag hoe naby 'n voorwerp is.
Vir aanraaklose beheer, gebruik u die nabyheidssensor soos 'n eenvoudige drukknop. Om dit te doen, moet u 'n nabyheidssensor kies wat 'n korter opsporingsbereik het, sodat u nie die skakelaar per ongeluk aktiveer nie, en 'n sensor wat u hand, voet of wat u ook al probeer opspoor. 'N Goeie opsie hiervoor is 'n kapasitiewe nabyheidssensor, want hulle het 'n kort opsporingsbereik en kan 'n wye verskeidenheid materiale opspoor, maar ultrasoniese en sommige foto-elektriese nabyheidsensors sal ook werk solank hulle 'n korter opsporingsbereik het . U moet die nabyheidssensor aan 'n mikrobeheerder koppel, soos 'n Arduino, om die uitset van die sensor te lees. Hoe u u nabyheidssensor aan u mikrobeheerder koppel, hang af van u keuse van die sensor, maar in die meeste gevalle sal u mikrobeheerder óf 'n digitaal omgeskakelde analoogwaarde ontvang óf 'n analoog sein na 'n digitale waarde moet omskakel.
Die nabyheidssensor sal in hierdie toepassing net soos 'n enkele drukknop optree, wat ons beheer oor die lineêre aandrywer sal beperk. Met behulp van ons mikrobeheerder kan ons kode skryf om tussen uit te brei en in te trek wanneer die sensor geaktiveer word, en deur die interne eindskakelaars van die lineêre aandrywer te gebruik om die aandrywer te stop wanneer dit die volledig verlengde of teruggetrekte posisie bereik. Ons kan ook gebruik maak van interne terugvoer of eksterne eindskakelaars wat ons in staat stel om ander posisies te gebruik in plaas van volledig teruggetrek of ingetrek, hoewel ons steeds tot twee posisies beperk sal wees. Om dit te doen in die firmware van ons mikrobeheerder, moet ons 'n vlagveranderlike inskakel elke keer as die nabyheidssensor geaktiveer word. Die onderstaande kode-voorbeeld toon die hooflus van 'n Arduino IDE-kode met behulp van die vlag sensorFlag om te bepaal in watter rigting dryf die lineêre aandrywer, wat aangedryf word deur 'n motorbestuurder.
Om hierdie vlag in te skakel, moet ons die waarde van die nabyheidsensor lees. Aangesien ons nie weet wanneer die sensor geaktiveer sal word nie, moet ons die sensor voortdurend in die hooflus van ons kode lees, of ons kan interne timer-onderbrekings gebruik om die sensor gereeld te lees. Laasgenoemde word beskou as beste praktyk, veral as u u mikrobeheerder wil gebruik om parallelle take te vorm, aangesien dit verseker dat u sensor altyd oor die presiese tydperk gelees sal word. Die onderstaande kode-voorbeeld, wat 'n Arduino gebruik, wys hoe u 'n interne timer-onderbreking instel wat elke sekonde geaktiveer word. Vir die Arduino is dit 'n bietjie ingewikkelder as eksterne onderbrekings, en u moet dit dalk doen addisionele leeswerk om te leer hoe om u onderbreking vir u aansoek op te stel.
Die SINGAL-funksie, in die kode hierbo, is die onderbrekingsdiensroetine vir die timer-onderbreking, wat loop elke keer as die onderbreking geaktiveer word, en die waarde van die nabyheidsensor elke sekonde bywerk. As die geleesde waarde van die sensor kleiner is as ons drempelwaarde, beskou ons die sensors as "ingedruk" en skakel die sensorVlag in. U moet hierdie drempelwaarde vooraf bepaal deur u sensor te toets en 'n uitvoerwaarde te bepaal wat u as 'gedruk' wil beskou. Om die skakelaar van die sensorFlag te beperk tot slegs een keer terwyl die sensor 'ingedruk' word, is daar 'n ander vlag wat eers weer herstel word totdat die sensorwaarde nie meer kleiner is as die drempelwaarde nie.
Nabyheidssensors kan ook gebruik word om te meet hoe naby die naaste voorwerp voor hulle is. Dit kan veral handig wees in toepassings met lineêre aandrywers om hindernisse voor die aandrywer op te spoor en terugvoer aan die beheerder te stuur om die aandrywer te stop as dit te naby aan 'n voorwerp kom, soos in die video hieronder. Om 'n nabyheidssensor op soortgelyke wyse te gebruik, moet u 'n nabyheidsensor kies wat 'n groter opsporingsbereik het en wat verskillende soorte materiale kan opspoor. Ultrasoniese sensors is 'n goeie keuse hiervoor, want hulle kan 'n wye waarnemingsveld hê, hoewel u versigtig moet wees met die blinde kolle van die sensor.
Die instelling van die nabyheidssensor vir hierdie toepassing is baie soortgelyk aan die aanraaklose beheer. U moet steeds die uitset van die sensor met behulp van 'n mikrobeheerder lees, en u sal weer 'n interne timer-onderbreking wil gebruik om die waardes van die sensor gereeld te lees. Alhoewel, die sensor sal nou voor die aandrywer geplaas word om hindernisse voor dit op te spoor. Die uitvoer van die sensor hou verband met die afstand van die naaste voorwerp voor die sensor, wat beteken dat ons 'n drempelwaarde kan bepaal wat gebaseer is op die minimum veilige afstand. Hierdie drempelwaarde sal wissel na gelang van die gekose sensor. In die onderstaande kode-voorbeeld word die SIGNAL-funksie, wat die onderbrekingsdiensroetine is, elke millisekonde gevorm en meet die uitvoer van ons sensor en vergelyk dit met ons drempelwaarde. As die meetwaarde kleiner is as die drempelwaarde, word die vlag sensorFlag op 1 gestel en in die hooflus gebruik om die lineêre aandrywer te stop. Alhoewel die meetwaarde kleiner is as die drempelwaarde, sal die kode nie toelaat dat die aandrywer verder uitgebrei word totdat die meetwaarde groter is as die drempelwaarde nie en die vlag na 0 teruggestel word. aandrywer om terug te trek terwyl die sensorFlag op 1 gestel is, aangesien dit steeds veilig is om die aandrywer in te trek.
 Kinney, T. A. (2001, Sept) Nabyheidsensors in vergelyking: induktief, kapasitief, foto-elektries en ultrasonies Ontvang vanaf: https://www.machinedesign.com/automation-iiot/sensors/article/21831577/proximity-sensors-compared-inductive-capacitive-photoelectric-and-ultrasonic