Arduino સાથે રોટરી એન્કોડરનો ઉપયોગ કેવી રીતે કરવો

  • એન્કોડર્સ એ ઇલેક્ટ્રો-મિકેનિકલ ઉપકરણો છે જે ચળવળને ડિજિટલ સિગ્નલમાં રૂપાંતરિત કરે છે.
  • તેઓ પોટેન્ટિઓમીટરથી અલગ છે કારણ કે તેઓ અનિશ્ચિત વળાંકને મંજૂરી આપે છે અને પ્રતિકારને સમાયોજિત કરતા નથી.
  • તેઓ એવા પ્રોજેક્ટ્સમાં ખૂબ જ ઉપયોગી છે જ્યાં ધરીના પરિભ્રમણ અને દિશાનું ચોક્કસ નિયંત્રણ જરૂરી છે.
  • Arduino માં અમલીકરણ સરળ છે અને પરિભ્રમણની સ્થિતિ અને દિશા બંનેને માપવાની મંજૂરી આપે છે.

arduino એન્કોડર

રોટરી એન્કોડર્સ તે ઇલેક્ટ્રોનિક ઘટકો છે જેણે DIY પ્રોજેક્ટ્સ અને Arduino ઇકોસિસ્ટમમાં લોકપ્રિયતા મેળવી છે. આ ઉપકરણો વાંચવાની મંજૂરી આપે છે ધરીની હિલચાલ, જે ટ્રેકિંગની શક્યતામાં અનુવાદ કરે છે વેગ અને કોણીય સ્થિતિ વિવિધ સિસ્ટમો. જો કે, તેઓ કેટલા ઉપયોગી હોઈ શકે છે તેમ છતાં, તેઓ ઘણીવાર અન્ય ઉપકરણો સાથે મૂંઝવણમાં હોય છે જેમ કે સંભવિત, જે તેના ઉપયોગ અને કાર્યક્ષમતા વિશે ગેરસમજણો તરફ દોરી શકે છે.

આ લેખમાં આપણે વિગતવાર સમજાવીશું કે શું રોટરી એન્કોડર્સ, તેઓ કેવી રીતે કાર્ય કરે છે અને તમે Arduino સાથે તેનો ઉપયોગ કેવી રીતે કરી શકો છો. અમે કનેક્શન્સ, કોડનો ઉપયોગ અને કેટલાક વ્યવહારુ ઉદાહરણોની પણ સમીક્ષા કરીશું જે તમને તમારા પ્રોજેક્ટ્સમાં તેને અસરકારક રીતે એકીકૃત કરવામાં મદદ કરશે. પરંતુ ટેકનિકલ વિગતોમાં જતાં પહેલાં, એ સમજવું જરૂરી છે કે આ ઉપકરણને ઇલેક્ટ્રોનિક્સ પ્રોજેક્ટ્સમાં શું મનપસંદ બનાવે છે.

રોટરી એન્કોડર શું છે?

નેમા 17 અને અરડિનો સ્ટેપર મોટર યોજનાકીય

Un રોટરી એન્કોડર તે એક ઇલેક્ટ્રોમિકેનિકલ ઉપકરણ છે જે શાફ્ટની રોટેશનલ હિલચાલને સિગ્નલોની શ્રેણીમાં ફેરવે છે, સામાન્ય રીતે ડિજિટલ. આ સિગ્નલોનો ઉપયોગ Arduino જેવી સિસ્ટમ દ્વારા સંબંધિત માહિતીનું અર્થઘટન કરવા માટે કરી શકાય છે વળવાની ગતિ, લા સ્થિતિ ધરી અને તે પણ પરિભ્રમણની દિશા. પોટેન્ટિઓમીટરથી વિપરીત, જેમાં વળાંકોની સંખ્યા પર મર્યાદા હોય છે, એન્કોડર્સ અનિશ્ચિત સમય માટે ફેરવી શકે છે.

ત્યાં વિવિધ પ્રકારના રોટરી એન્કોડર છે, પરંતુ તેમને બે મોટી શ્રેણીઓમાં વિભાજિત કરી શકાય છે: નિરપેક્ષ e વધારાનું. સંપૂર્ણ એન્કોડર્સ દરેક સમયે શાફ્ટની સ્થિતિનું ચોક્કસ વાંચન પ્રદાન કરે છે, પછી ભલે તે કેટલા વળાંકો બનાવે. બીજી બાજુ, ઇન્ક્રીમેન્ટલ એન્કોડર્સ માત્ર રેકોર્ડ કરે છે સંબંધિત ગતિ પ્રારંભિક સ્થિતિથી, ખૂણાના ચોક્કસ સંદર્ભ વિના.

DIY અથવા Arduino પ્રોજેક્ટ્સમાં એન્કોડરનો સૌથી સામાન્ય પ્રકાર છે ઇન્ક્રીમેન્ટલ એન્કોડર. તે સસ્તું છે, શોધવામાં સરળ છે અને તેનો ઉપયોગ વિશાળ શ્રેણીની એપ્લિકેશનો માટે થઈ શકે છે જેમ કે વોલ્યુમ નિયંત્રણ, એલસીડી સ્ક્રીનની તેજને સમાયોજિત કરવી, વગેરે. વધુમાં, તેમાંના ઘણામાં પુશ બટનનો સમાવેશ થાય છે, જે તમારા પ્રોજેક્ટ્સમાં વધારાની નિયંત્રણ ક્રિયાઓને એકીકૃત કરવામાં મદદ કરે છે.

રોટરી એન્કોડર કેવી રીતે કામ કરે છે

રોટરી એન્કોડરનું હૃદય શ્રેણીબદ્ધ બનેલું છે વિક્ષેપો જે દર વખતે શાફ્ટ ફરે ત્યારે સક્રિય થાય છે. આ એક ડિજિટલ સિગ્નલ જનરેટ કરે છે જે ઇલેક્ટ્રોનિક ઉપકરણ દ્વારા વાંચી શકાય છે. આ પ્રકારના એન્કોડરમાં સામાન્ય રીતે બે મુખ્ય આઉટપુટ હોય છે, જે ચતુર્થાંશ તબક્કામાં સિગ્નલ જનરેટ કરે છે. આનો અર્થ એ છે કે બંને સિગ્નલો વચ્ચે 90 ડિગ્રી ઓફસેટ છે, જે માત્ર વળાંકની ગણતરી કરવા માટે જ નહીં, પણ તે નક્કી કરવા માટે પણ પરવાનગી આપે છે. પરિભ્રમણની દિશા (ઘડિયાળની દિશામાં અથવા કાઉન્ટરક્લોકવાઇઝ).

ઉપકરણ પ્રદાન કરે છે વળાંક દીઠ સંખ્યાબંધ કઠોળ, અને કઠોળની સંખ્યા અનુસાર, અમે અક્ષની હિલચાલને વધુ ચોક્કસ રીતે નક્કી કરી શકીએ છીએ. એક સ્ટાન્ડર્ડ એન્કોડરમાં મોડલ પર આધાર રાખીને 20 થી 256 થી વધુ પલ્સ પ્રતિ ટર્ન હોઈ શકે છે. આ કઠોળ ગણાય છે ચતુર્ભુજ સિસ્ટમનો ઉપયોગ કરીને, જે પરિભ્રમણ ઘડિયાળની દિશામાં (CW) અથવા કાઉન્ટરક્લોકવાઇઝ (CCW) છે કે કેમ તે નિર્ધારિત કરવાની મંજૂરી આપે છે, જે તેને પરિભ્રમણ સિસ્ટમો માટે ખૂબ જ વ્યવહારુ બનાવે છે. નિયંત્રણ અને નેવિગેશન.

વધુમાં, આ ઉપકરણોમાં પુશ બટન શામેલ હોઈ શકે છે જે શાફ્ટને દબાવતી વખતે કાર્ય કરે છે. આ બટન તમને એક્શનની નોંધણી કરવાની પરવાનગી આપે છે જાણે કે તે બટન હોય, જે ઉપયોગની શક્યતાઓને વિસ્તૃત કરે છે. સારાંશમાં, એન્કોડર માત્ર ધરીના પરિભ્રમણને રેકોર્ડ કરવાની મંજૂરી આપતું નથી, પરંતુ તેના દિશા y વાસ્તવિક સમય સ્થિતિ.

રોટરી એન્કોડર અને પોટેન્ટિઓમીટર વચ્ચેનો તફાવત

એ ગૂંચવવું ખૂબ જ સામાન્ય છે રોટરી એન્કોડર એક સાથે સંભવિત તેમના સમાન દેખાવને કારણે, પરંતુ ત્યાં મૂળભૂત તફાવતો છે જે તેમને અલગ પાડે છે. પોટેન્ટિઓમીટર પરિભ્રમણના કોણ અનુસાર પ્રતિકાર મૂલ્યને સમાયોજિત કરે છે, એનાલોગ આઉટપુટ પ્રદાન કરે છે. તેનાથી વિપરીત, રોટરી એન્કોડર ડિજિટલ કઠોળની શ્રેણી બનાવે છે જે શાફ્ટના પરિભ્રમણનું પ્રતિનિધિત્વ કરે છે. અન્ય કી તફાવત એ છે કે એન્કોડર્સ અનિશ્ચિત સમય માટે ફેરવી શકે છે, જ્યારે પોટેન્ટિઓમીટરમાં વળાંકની સંખ્યા પર ભૌતિક મર્યાદા હોય છે.

આ કારણોસર, એન્કોડર્સ એવી પરિસ્થિતિઓ માટે આદર્શ છે જ્યાં પરિભ્રમણનું સતત અને ચોક્કસ નિયંત્રણ જરૂરી છે, જેમ કે મોટર કંટ્રોલ સિસ્ટમ્સમાં, જ્યારે પોટેન્ટિઓમીટરનો ઉપયોગ સામાન્ય રીતે સ્થિર પરિમાણો જેમ કે વોલ્યુમ અથવા તેજને સમાયોજિત કરવા માટે થાય છે.

એન્કોડરને Arduino સાથે કનેક્ટ કરી રહ્યું છે

રોટરી એન્કોડરને a સાથે જોડો Arduino તે પ્રમાણમાં સરળ છે. મોડેલ પર આધાર રાખીને, એન્કોડરમાં ત્રણ મુખ્ય આઉટપુટ હશે: બે ચેનલ A અને B માટે અને એક પુશબટન માટે. પુશ બટન Arduino ડિજિટલ ઇનપુટ સાથે જોડાય છે, જ્યારે ચેનલ A અને B અન્ય બે ડિજિટલ ઇનપુટ સાથે જોડાય છે.

એન્કોડર ચળવળનું સચોટ વાંચન મેળવવા માટે, પિનનો ઉપયોગ કરવાની સલાહ આપવામાં આવે છે વિક્ષેપ ચેનલ A અને B માટે Arduino પર. જો કે, આ હંમેશા જરૂરી નથી. જો તમને માત્ર સિંગલ અથવા ડબલ ચોકસાઈની જરૂર હોય, તો તમે આ આઉટપુટને સમયાંતરે મતદાન કરીને રીડિંગ્સ મેળવી શકો છો (મતદાન), જો કે આ કોડની કાર્યક્ષમતાને અસર કરશે.

લાક્ષણિક પ્રોજેક્ટ માટેનું જોડાણ આના જેવું કંઈક હશે:

  • ચેનલ A D9 સાથે જોડાયેલ છે
  • ચેનલ B D10 સાથે જોડાયેલ છે
  • D11 સાથે જોડાયેલ પુશ બટન

એ સુનિશ્ચિત કરવું અગત્યનું છે કે વિક્ષેપો માટે પસંદ કરેલી પિન સાચી છે, કારણ કે Arduino બોર્ડ પરની તમામ પિન વિક્ષેપોને સપોર્ટ કરતી નથી. ટૂંકમાં, તમે વિક્ષેપો વિના એન્કોડરને કનેક્ટ કરી શકો છો, પરંતુ ચોકસાઇ ઓછી હશે.

Arduino સાથે રોટરી એન્કોડરનો ઉપયોગ કરવાનો કોડ

Arduino IDE, ડેટા પ્રકારો, પ્રોગ્રામિંગ

Arduino સાથે એન્કોડર વાંચવા માટેનો કોડ સરળ છે. નીચે અમે તમને ચેનલ A માં પેદા થતી કઠોળની સંખ્યા વાંચવા માટે એક મૂળભૂત ઉદાહરણ બતાવીએ છીએ, તે પણ નક્કી કરે છે પરિભ્રમણની દિશા ચેનલ B ની મદદથી. પદ્ધતિનો ઉપયોગ કરીને આ એક સરળ અંદાજ છે મતદાન, પરંતુ જો તમને વધુ ચોકસાઇની જરૂર હોય, તો તમે કામ કરવા માટે કોડમાં ફેરફાર કરી શકો છો વિક્ષેપો.

const int channelPinA = 9; 
const int channelPinB = 10; 
int prevStateChannelA = 0;
int value = 0;
unsigned long currentTime = 0;
unsigned long prevTime = 0;
void setup() { 
 Serial.begin(9600); 
 pinMode(channelPinA, INPUT); 
 pinMode(channelPinB, INPUT); 
 prevStateChannelA = digitalRead(channelPinA); 
} 
void loop() { 
 currentTime = millis(); 
 int currentStateChannelA = digitalRead(channelPinA); 
 if (currentStateChannelA != prevStateChannelA) { 
 if (digitalRead(channelPinB) != currentStateChannelA) { 
 value++; 
 } else { 
 value--; 
 } 
 Serial.println(value); 
 prevStateChannelA = currentStateChannelA; 
 currentTime = millis(); 
 } 
}

આ કોડ રાજ્ય પરિવર્તન શોધે છે ચેનલ A પર અને એન્કોડરને કઈ દિશામાં ફેરવવામાં આવ્યું છે તે નક્કી કરવા માટે ચેનલ Bનું મૂલ્યાંકન કરે છે. દર વખતે જ્યારે મૂલ્ય બદલાય છે, ત્યારે કોડ રેકોર્ડ કરેલ કઠોળની સંખ્યાને અપડેટ કરશે અને મૂલ્યને સીરીયલ મોનિટર પર છાપશે.

સામાન્ય ઉપયોગના ઉદાહરણો

રોટરી એન્કોડર્સ તેઓ વ્યાવસાયિક અને ઘરેલું એપ્લિકેશન બંનેની વિશાળ શ્રેણીમાં ઉપયોગમાં લેવાય છે. Arduino પ્રોજેક્ટ્સના ક્ષેત્રમાં, તેનો ઉપયોગ વાસ્તવિક સમયમાં પરિમાણોને સમાયોજિત કરવા માટે થઈ શકે છે, જેમ કે મોબાઇલ રોબોટની દિશાને નિયંત્રિત કરવા, સ્પીકરના વોલ્યુમને નિયંત્રિત કરવા અથવા LCD સ્ક્રીનની તેજસ્વીતાને સમાયોજિત કરવા. તેઓ સ્ટેપર મોટર્સ અથવા સર્વો માટે કંટ્રોલ સિસ્ટમ્સમાં પણ વ્યાપકપણે ઉપયોગમાં લેવાય છે, જ્યાં ધરીની સ્થિતિનું ચોક્કસ નિયંત્રણ જરૂરી છે.

સૌથી રસપ્રદ એપ્લિકેશનોમાંની એક એ દ્રશ્ય અથવા શ્રાવ્ય પ્રતિસાદ સાથે ઇન્ટરફેસની રચના છે, જ્યાં એન્કોડર માત્ર પરિમાણને સમાયોજિત કરતું નથી, પણ વપરાશકર્તાને પ્રદાન કરે છે. ભૌતિક પ્રતિસાદ તેને ફેરવીને, કંઈક કે જે પરંપરાગત બટનો સાથે પ્રાપ્ત કરી શકાતું નથી.

વધુમાં, એન્કોડર્સ એવી સિસ્ટમ્સમાં પોટેન્શિઓમીટરના રિપ્લેસમેન્ટ તરીકે અત્યંત ઉપયોગી છે કે જેને ટકાઉપણાની ઉચ્ચ ડિગ્રીની જરૂર હોય છે, કારણ કે તેમની પાસે કોઈ મર્યાદા નથી, યાંત્રિક વસ્ત્રો ઘટાડે છે.

El એન્કોડરનો ઉપયોગ રોબોટ્સ અને ઓટોનોમસ સિસ્ટમ્સના પ્રોગ્રામિંગમાં પણ વધારો થઈ રહ્યો છે. ચોક્કસ હિલચાલને માપવા માટે તેઓ સીધા જ રોબોટના વ્હીલ્સ સાથે કનેક્ટ થઈ શકે છે, આમ ડિસ્પ્લેસમેન્ટ અને સ્ટીયરિંગ ગણતરીઓને ઑપ્ટિમાઇઝ કરીને, રોબોટ્સની કાર્યક્ષમતા અને નેવિગેશન ક્ષમતામાં સુધારો કરે છે.

રોટરી એન્કોડરોએ તબીબી ઉપકરણો અને ઔદ્યોગિક નિયંત્રણ પેનલના વિકાસમાં પણ તેમનો માર્ગ શોધી કાઢ્યો છે, જ્યાં મશીનરીમાં મિલીમીટર ચોકસાઇ પ્રાપ્ત કરવા માટે ગતિનું સતત નિયંત્રણ જરૂરી છે.

એકંદરે, એન્કોડર્સ એ પ્રોજેક્ટ્સ માટે બહુમુખી અને આર્થિક વિકલ્પ છે જ્યાં પરિભ્રમણનું ચોક્કસ માપન મુખ્ય છે.

જો તમે તમારા Arduino પ્રોજેક્ટ્સ માટે આર્થિક અને કાર્યક્ષમ ઉકેલ શોધી રહ્યા છો, તો તેનો ઉપયોગ કરો રોટરી એન્કોડર્સ તમને અન્ય એનાલોગ નિયંત્રણ પદ્ધતિઓ માટે ઉત્તમ વિકલ્પ પ્રદાન કરી શકે છે, જેમ કે પોટેન્ટિઓમીટર. પરિભ્રમણની વિશાળ શ્રેણી પર ચોક્કસ નિયંત્રણ પ્રદાન કરવાની તેમની ક્ષમતા તેમને વિવિધ પ્રકારની એપ્લિકેશનો માટે આદર્શ બનાવે છે.


ટિપ્પણી કરવા માટે સૌ પ્રથમ બનો

તમારી ટિપ્પણી મૂકો

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. આવશ્યક ક્ષેત્રો સાથે ચિહ્નિત થયેલ છે *

*

*

  1. ડેટા માટે જવાબદાર: મિગ્યુએલ gelંજેલ ગેટóન
  2. ડેટાનો હેતુ: નિયંત્રણ સ્પામ, ટિપ્પણી સંચાલન.
  3. કાયદો: તમારી સંમતિ
  4. ડેટાની વાતચીત: કાયદાકીય જવાબદારી સિવાય ડેટા તૃતીય પક્ષને આપવામાં આવશે નહીં.
  5. ડેટા સ્ટોરેજ: cસેન્ટસ નેટવર્ક્સ (ઇયુ) દ્વારા હોસ્ટ કરેલો ડેટાબેઝ
  6. અધિકાર: કોઈપણ સમયે તમે તમારી માહિતીને મર્યાદિત, પુન recoverપ્રાપ્ત અને કા deleteી શકો છો.