Arduino સાથે RS485 કોમ્યુનિકેશન: ઉદાહરણો સાથે સંપૂર્ણ માર્ગદર્શિકા

  • Arduino સાથે RS485 સંચાર સ્થાપિત કરવા માટે MAX485 મોડ્યુલને કનેક્ટ કરવું અને તેનો ઉપયોગ કરવો.
  • વિવિધ જરૂરિયાતો માટે સિમ્પ્લેક્સ, હાફ-ડુપ્લેક્સ અને ફુલ-ડુપ્લેક્સ કમ્યુનિકેશન કેવી રીતે અમલમાં મૂકવું.
  • બહુવિધ Arduinos સાથે સમાન RS485 બસ પર ઉપકરણોનું નિયંત્રણ.

Rs485

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

આ લેખમાં, અમે જોઈશું કે કેવી રીતે RS485 સંચાર સંકલિત MAX485 પર આધારિત મોડ્યુલોનો ઉપયોગ કરીને કેટલાક Arduinos વચ્ચે અમલમાં મૂકી શકાય છે, એક ચિપ જે TTL સિગ્નલો (Arduino માંથી) ને RS485 અને તેનાથી વિરુદ્ધમાં રૂપાંતરિત કરે છે. આ સમગ્ર ટ્યુટોરીયલ દરમિયાન, અમે મૂળભૂત ખ્યાલો અને વ્યવહારુ ઉદાહરણો બંનેને આવરી લઈશું જે તમને Arduino માઇક્રોકન્ટ્રોલર્સ વચ્ચે સિમ્પ્લેક્સ, હાફ-ડુપ્લેક્સ અને ફુલ-ડુપ્લેક્સ સંચારને અમલમાં મૂકવાની મંજૂરી આપશે, અને સમજાવશે કે તમે એક જ ઉપકરણમાં બહુવિધ ઉપકરણોને હેન્ડલ કરવા માટે આ સંચાર પ્રણાલીને કેવી રીતે વિસ્તારી શકો છો. RS485 બસ.

RS485 શું છે?

ANGEEK 5 પીસીસ MAX485...
ANGEEK 5 પીસીસ MAX485...
કોઈ સમીક્ષાઓ નહીં

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

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

RS485નો એક મુખ્ય ફાયદો એ છે કે 1200 મીટર સુધીના અંતરને સપોર્ટ કરે છે અને ટૂંકા અંતર પર 35 Mbps સુધીની ઝડપ ધરાવે છે, જે તેને ઔદ્યોગિક અને નિયંત્રણ કાર્યક્રમો માટે એક આદર્શ પ્રોટોકોલ બનાવે છે જ્યાં લાંબી કેબલિંગ જરૂરી છે.

RS485 સંચાર મોડ્સ

rs485 પિનઆઉટ

RS485 કોમ્યુનિકેશનમાં, અમે સિસ્ટમને ત્રણ અલગ અલગ રીતે ગોઠવી શકીએ છીએ: સિમ્પ્લેક્સ, હાફ-ડુપ્લેક્સ અને ફુલ-ડુપ્લેક્સ. દરેકની પોતાની વિશિષ્ટતાઓ છે અને પ્રોજેક્ટની જરૂરિયાતો અનુસાર અમલમાં મૂકવામાં આવે છે.

સિમ્પ્લેક્સ કોમ્યુનિકેશન

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

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

હાફ-ડુપ્લેક્સ કોમ્યુનિકેશન

Arduino પરની મોટાભાગની RS485 એપ્લિકેશનો હાફ-ડુપ્લેક્સ મોડમાં લાગુ કરવામાં આવે છે કારણ કે આ માત્ર જરૂરી છે બે વાયર, અને તમને ડેટા મોકલવા અને પ્રાપ્ત કરવા બંનેની મંજૂરી આપે છે, જો કે એકસાથે નહીં. એટલે કે, જો એક ઉપકરણ ડેટા મોકલી રહ્યું હોય, તો અન્ય ઉપકરણો રિસેપ્શન મોડમાં હોવા જોઈએ, અને ઊલટું.

ટ્રાન્સમિટ અને રીસીવ મોડ્સ વચ્ચે સ્વિચ કરવા માટે, ઉપયોગ કરો વધારાની પિન (RE/DE) MAX485 મોડ્યુલ પર, જેને તમે કોડ દ્વારા નિયંત્રિત કરશો તે નિર્ધારિત કરવા માટે કે ઉપકરણ કોઈપણ સમયે મોકલવું કે પ્રાપ્ત કરવું જોઈએ.

આ મોડ ખાસ કરીને ઉપયોગી છે જો તમારી પાસે એક જ બસમાં બહુવિધ ઉપકરણો હોય કે જેને એકબીજા સાથે વાતચીત કરવાની જરૂર હોય, પરંતુ એકસાથે નહીં.

ફુલ-ડુપ્લેક્સ કોમ્યુનિકેશન

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

Arduino સાથે RS485 સંચાર માટે જરૂરી ઘટકો

Arduino પર RS485 કોમ્યુનિકેશન સિસ્ટમ લાગુ કરવા માટે, તમારે નીચેના ઘટકોની જરૂર પડશે:

  • એક અથવા વધુ Arduinos: કોઈપણ Arduino મોડેલ કરશે, પરંતુ આ ટ્યુટોરીયલમાં આપણે ઉપયોગ કરીશું Arduino UNO અને Arduino MEGA ઉદાહરણ તરીકે.
  • MAX485 મોડ્યુલ્સ: આ મોડ્યુલો તમને TTL સિગ્નલોને Arduino થી RS485 માં કન્વર્ટ કરવા દે છે અને તેનાથી વિપરીત. તેઓ AliExpress અથવા eBay જેવા સ્ટોર્સમાં ખૂબ સસ્તા અને શોધવામાં સરળ છે.
  • સમાપ્તિ પ્રતિરોધકો: સિગ્નલમાં પ્રતિબિંબ ટાળવા માટે 120 ઓહ્મ વચ્ચેનું રેઝિસ્ટર સામાન્ય રીતે બસના દરેક છેડે મૂકવામાં આવે છે. ટૂંકા અંતરમાં, તેમના વિના કરવું શક્ય છે, પરંતુ લાંબા સમય સુધી ઇન્સ્ટોલેશનમાં તેઓ સિગ્નલની અખંડિતતા જાળવવા માટે જરૂરી છે.
  • ટ્વિસ્ટેડ જોડી કેબલ્સ: ખાસ કરીને ઘોંઘાટવાળા ઔદ્યોગિક વાતાવરણમાં ઇલેક્ટ્રોમેગ્નેટિક દખલગીરી ઘટાડવા માટે ટ્વિસ્ટેડ જોડી કેબલનો ઉપયોગ કરવાની ભલામણ કરવામાં આવે છે.

સામાન્ય કનેક્શન ડાયાગ્રામ

MAX485 મોડ્યુલોને કનેક્ટ કરો Arduino માટે એકદમ સરળ છે. સૌથી મહત્વપૂર્ણ પિન A અને B છે, જે RS485 બસ લાઇનને અનુરૂપ છે. આ પિન બસ પરના તમામ ઉપકરણો સાથે જોડાયેલા હોવા જોઈએ. વધુમાં, મોડ્યુલમાં RE અને DE પિન હોય છે જે નિયંત્રિત કરે છે કે મોડ્યુલ રીસીવર અથવા ટ્રાન્સમીટર મોડમાં છે કે કેમ.

સામાન્ય રીતે, મોડ્યુલોને Arduino સાથે જોડવાનું નીચે પ્રમાણે કરવામાં આવે છે:

  • મોડ્યુલના VCC અને GND Arduino પર VCC અને GND સાથે જોડાય છે.
  • મોડ્યુલનું DI (ડેટા ઇનપુટ) Arduino ના TX પિન સાથે જોડાય છે જો મોડ્યુલ એમિટર તરીકે કામ કરવાનું હોય.
  • જો મોડ્યુલ રીસીવર તરીકે કામ કરવાનું હોય તો મોડ્યુલનું RO (રીસીવર આઉટપુટ) Arduino ના RX પિન સાથે જોડાય છે.
  • ટ્રાન્સમિટ અને રીસીવ મોડ્સ વચ્ચે સ્વિચ કરવા માટે DE અને RE ને Arduino ડિજિટલ પિનથી નિયંત્રિત કરવું આવશ્યક છે.

જો તમને માત્ર પ્રેષક અથવા રીસીવર તરીકે કામ કરવા માટે મોડ્યુલની જરૂર હોય, તો તમે RE અને DE ને સીધા જ HIGH અથવા LOW સાથે જોડી શકો છો. જો કે, વધુ જટિલ સંદેશાવ્યવહાર માટે જ્યાં ઉપકરણને ટ્રાન્સમિટિંગ અને રિસિવિંગ વચ્ચે સ્વિચ કરવું પડે છે, આ પિનને સૉફ્ટવેરમાંથી નિયંત્રિત કરવું શ્રેષ્ઠ છે.

RS485 સંચાર માટે કોડ ઉદાહરણો

નીચે Arduino પર RS485 સાથેના વિવિધ સંચાર રૂપરેખાંકનોને આવરી લેતા કેટલાક ઉદાહરણો છે.

સિમ્પ્લેક્સ કોમ્યુનિકેશન

રજૂકર્તા કોડ

મૂળભૂત સિમ્પ્લેક્સ સિસ્ટમ માટે જ્યાં અમારી પાસે માત્ર એક પ્રેષક અને એક પ્રાપ્તકર્તા હોય છે, મોકલનાર માટેનો કોડ આના જેવો દેખાઈ શકે છે:

void setup() { Serial.begin(9600); } void loop() { Serial.write(analogRead(0)); delay(500); }

રીસીવર કોડ

રીસીવર સીરીયલ પોર્ટ દ્વારા આવતા ડેટાને સરળતાથી વાંચશે:

void setup() { Serial.begin(9600); } void loop() { if (Serial.available()) { int data = Serial.read(); Serial.println(data); } }

હાફ-ડુપ્લેક્સ કોમ્યુનિકેશન

આ ઉદાહરણમાં, અમે હાફ-ડુપ્લેક્સ સિસ્ટમનો અમલ કરીએ છીએ જ્યાં ઉપકરણો ડેટા મોકલવા અને પ્રાપ્ત કરવા વચ્ચે વૈકલ્પિક હોય છે.

શિક્ષક કોડ

const int reDePin = 2; void setup() { pinMode(reDePin, OUTPUT); Serial.begin(9600); } void loop() { digitalWrite(reDePin, HIGH); Serial.write('H'); delay(100); digitalWrite(reDePin, LOW); if (Serial.available()) { int data = Serial.read(); Serial.println(data); } }

સ્લેવ કોડ

const int reDePin = 2; void setup() { pinMode(reDePin, OUTPUT); Serial.begin(9600); } void loop() { digitalWrite(reDePin, LOW); if (Serial.available()) { int data = Serial.read(); delay(100); digitalWrite(reDePin, HIGH); Serial.write(data + 1); } }

ફુલ-ડુપ્લેક્સ કોમ્યુનિકેશન

ફુલ-ડુપ્લેક્સ કોમ્યુનિકેશનને અમલમાં મૂકવા માટે, Arduino દીઠ બે MAX485 મોડ્યુલોની જરૂર પડશે. મોડ્યુલની દરેક જોડી એક ડેટા લાઇનને હેન્ડલ કરશે: એક ટ્રાન્સમિટ કરવા માટે અને એક પ્રાપ્ત કરવા માટે.

કોડ અગાઉના ઉદાહરણો જેવો જ હશે, પરંતુ આ કિસ્સામાં બંને ઉપકરણો હંમેશા એકસાથે ટ્રાન્સમિટ અને પ્રાપ્ત થશે.

RS485 માં બહુવિધ ઉપકરણોમાં વિસ્તરણ

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

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

આમાં ઉપયોગ કરવાની શક્યતા ઉમેરવામાં આવી છે વધુ જટિલ પ્રોટોકોલ જેમ કે MODBUS, જે ઉદ્યોગમાં અત્યંત કાર્યક્ષમ અને સુરક્ષિત નેટવર્ક બનાવવાની મંજૂરી આપે છે.

હોમ પ્રોજેક્ટ્સ અથવા ઓછા ડિમાન્ડિંગ એપ્લિકેશન્સ માટે, તમે દરેક Arduino ને એક ઓળખકર્તા અસાઇન કરી શકો છો અને તેમને ફક્ત તેમના માટેના સંદેશાઓનો જ પ્રતિસાદ આપી શકો છો.


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

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

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

*

*

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