Hoe om terugvoer van 'n optiese sensor te lees

Optiese sensor

Optiese sensors, wanneer dit saam met lineêre aandrywers, funksie baie soortgelyk aan Hall Effect sensors, behalwe dat hulle lig opspoor in plaas van magnetiese velde [1]. Optiese sensors werk deur lig vanaf 'n LED of 'n ander ligbron wat deur 'n enkodeerderskyf deurgegee word. Hierdie enkodeerderskyf is gesny om die lig periodiek daardeur te laat gaan. Aan die ander kant van die skyf is 'n fotodetektor wat die lig opspoor as dit deur die gleuwe in die skyf gaan en 'n uitsetsein skep [1]. Terwyl die aktuator beweeg, draai die kodeerderskyf en lig word opgespoor deur die fotodetektor wat 'n vierkantige golf van spanningspulse lewer. Hierdie pulse kan soortgelyk aan die pulse van 'n Hall Effect -sensor gebruik word om te bepaal hoe ver die aktuator beweeg het.

Optiese sensor

Posisionele terugvoer van 'n optiese sensor

Aangesien optiese sensors baie ooreenstem met Hall Effect -sensors in terme van hul uitset, sal hierdie blogpos kortliks dek hoe om hul uitset te lees vir posisionele terugvoer. As u op soek is na meer besonderhede, kyk na ons boodskap oor hoe om posisionele terugvoer van 'n Hall Effect -sensor te lees, soveel sal dieselfde wees.

Soos Hall Effect -sensors, sal optiese sensors 3 penne hê om aan te sluit; Een daarvan is die insetspanning, 'n ander is die grond, en laastens is een die uitsetsein. Om die pulse op die uitsetsein vir posisionele terugvoer te gebruik, moet u a gebruik mikrobeheerder om die geproduseerde pulse te tel. U wil gebruik maak van die eksterne onderbrekingspennetjies van u mikrobeheerder om hierdie pulse akkuraat te tel. Aangesien eksterne onderbrekings veroorsaak word deur 'n verandering in spanning, kan dit gebruik word om elke polsslag op te spoor soos dit voorkom. Sodra u u onderbreking in die kode van u mikrobeheerder opgestel het, moet u 'n onderbrekingsroetine opstel wat die pulse tel soos dit voorkom. Die funksie CountSteps () In die onderstaande kode word gebruik om die aantal pulse van die optiese sensor te tel.

Om hierdie pulse te gebruik om 'n posisionele waarde te bepaal, moet u die vorige posisie van die lineêre aktuator ken en die rigting waarin die lineêre aktuator beweeg. Terwyl u beheer oor watter manier u lineêre aktuator beweeg, kan u eenvoudig 'n veranderlike opstel Om die rigting van die aktuator in u kode op te spoor. Hierdie veranderlike kan gebruik word om te bepaal of u die pulse van u vorige posisie moet byvoeg of aftrek. Sodra u u posisie opgedateer het, moet u die getelde pulse op nul stel. Die onderstaande kode -voorbeeld toon u 'n funksie wat die posisie opdateer op grond van die aantal pulse wat getel is. Sodra u 'n posisie het in terme van pulse, kan u in duim omskakel met behulp van die polsslag per duim spesifikasie van u lineêre aktuator.

Homing u lineêre aktuator

Om posisionele terugvoer van 'n optiese sensor akkuraat te gebruik, moet u altyd die beginposisie van u lineêre aktuator ken. Alhoewel u die eerste keer u stelsel aanskakel, sal u mikrobeheerder nie kan sien of die aktuator verleng is of nie. Dit sal van u vereis om u lineêre aktuator in 'n bekende posisie te huisves. Om u tuis te maak Lineêre aktuator, moet u dit na 'n bekende posisie dryf, soos volledig teruggetrek word. Met behulp van die Arduino -kode hieronder as voorbeeld, het ons 'n rukkie lus opgestel wat ons lineêre aktuator in die rigting van ons bekende posisie sal dryf. In hierdie voorbeeld sal ons weet dat ons op ons bekende posisie is deur te kyk of die onderbreking veroorsaak is of nie, deur te kyk of die stappe -veranderlike verander het. Ons moet ook seker maak dat genoeg tyd verloop het om te verwag dat die onderbreking geaktiveer sal word, want hiervoor maak ons ​​gebruik van die millis () -funksie en vergelyk dit met die vorige tydstempel. Nadat ons vasgestel het dat die lineêre aktuator op ons tuisposisie is, hou ons op om die aktuator te bestuur, stel die stappe -veranderlike weer in en verlaat ons die lus.

Die hantering van valse snellers

Alhoewel optiese sensors nie so sensitief is vir elektriese geraas soos potensiometers nie, kan elektriese geraas en skakelaar steeds die uitsetsein beïnvloed en kan dit vals pulse veroorsaak wat getel moet word. 'N Paar ekstra pulse sal die posisionering nie baie beïnvloed nie, maar mettertyd kan dit 'n groter probleem wees. U kan hierdie kwessies bekamp deur gebruik te maak van 'n interne timer om vals snellers uit te filter. Aangesien u kan bepaal hoe gereeld u sou verwag dat nuwe pulse opgespoor sou word, kan u uitfilter as die onderbreking deur geraas veroorsaak word. In die onderstaande kodemonster is Trigdelay die tydvertraging tussen elke polsslag. As die onderbreking voor hierdie vertraging geaktiveer is, sal die polsslag nie getel word nie. Die tydsduur van hierdie vertraging sal wissel op grond van u aansoek, maar as dit te kort is, sal dit nie die geraas behoorlik filter nie, en as dit te lank is, sal dit werklike pulse van die optiese sensor mis.

'N Ander manier om vals snellers te bekamp, ​​is om die posisionele waarde reg te stel elke keer as die aktuator 'n bekende posisie bereik. Soos om die lineêre aktuator te huisves, as u die lineêre aktuator na 'n volledig teruggetrekte of uitgebreide posisie gedryf het, of as u van eksterne limietskakelaars gebruik maak, sal u weet hoeveel pulse dit neem om daardie posisie te bereik. U kan dan die posisionele waarde eenvoudig regstel deur die waarde te gebruik as u die bekende posisie bereik. In die onderstaande kodemonster word dit gedoen vir die volledig uitgebreide en volledig teruggetrekte posisies. Hierdie metode bied 'n praktiese oplossing om te verseker dat u posisionele waarde akkuraat bly.

Opsomming

Optiese sensors wat vir posisionele terugvoer gebruik word, bied groter akkuraatheid en resolusie in vergelyking met Hall Effect -sensors en potensiometers, terwyl dit soortgelyke sterk punte en nadele as die Hall Effect -sensors het. Alhoewel dit nie 'n absolute posisie meet nie en 'n bekende beginposisie benodig om 'n posisionele waarde te bied, maak die groot aantal pulse per duim voorsiening vir betroubaarheid in posisionering en om te verseker dat veelvuldige lineêre aktuators gelyktydig beweeg. Gebruik ons Fa-sync-x Aktuator -beheerder of deur addisionele kode, kan u selfs verseker dat die aandrywers eenstemmig beweeg, ongeag die las.

Kyk na ons blog vir 'n volledige kode -voorbeeld Hoe om posisionele terugvoer van 'n Hall Effect -sensor te lees Soveel sal soortgelyk wees. Waardes soos polsslag per duim en tydvertragings tussen pulse is enkele van die veranderinge wat u moet aanbring om die kode te gebruik om u optiese sensor akkuraat te gebruik.

 

[1] Paschotta, R. Artikel oor optiese sensors. Ontsluit van:  https://www.rp-photonics.com/optical_sensors.html

Share This Article
Tags: