- RS-485 சீரியல் கம்யூனிகேஷன் புரோட்டோகால்
- Arduino இல் RS-485
- கூறுகள் தேவை
- சுற்று வரைபடம்
- RS485 சீரியல் கம்யூனிகேஷனுக்கான Arduino UNO & Arduino நானோ புரோகிராமிங்
- சீரியல் கம்யூனிகேஷன் RS485 உடன் எல்.ஈ.டி பிரகாசத்தைக் கட்டுப்படுத்துதல்
மைக்ரோகண்ட்ரோலர்கள் மற்றும் புற சாதனங்களுக்கிடையேயான தகவல்தொடர்புக்கான தகவல்தொடர்பு நெறிமுறையைத் தேர்ந்தெடுப்பது உட்பொதிக்கப்பட்ட அமைப்பின் ஒரு முக்கிய பகுதியாகும். இது உட்பொதிக்கப்பட்ட பயன்பாட்டின் ஒட்டுமொத்த செயல்திறன் தகவல்தொடர்பு வழிமுறையைப் பொறுத்தது, ஏனெனில் இது செலவுக் குறைப்பு, வேகமான தரவு பரிமாற்றம், நீண்ட தூர பாதுகாப்பு போன்றவற்றுடன் தொடர்புடையது.
முந்தைய டுடோரியல்களில், அர்டுயினோவில் I2C தகவல்தொடர்பு நெறிமுறை மற்றும் SPI தொடர்பு நெறிமுறைகள் பற்றி அறிந்து கொண்டோம். இப்போது RS-485 எனப்படும் மற்றொரு தொடர் தொடர்பு நெறிமுறை உள்ளது.இந்த நெறிமுறை ஒத்திசைவற்ற தொடர் தகவல்தொடர்புகளைப் பயன்படுத்துகிறது. RS-485 இன் முக்கிய நன்மை இரண்டு சாதனங்களுக்கு இடையிலான நீண்ட தூர தரவு பரிமாற்றமாகும். மேலும் அவை பொதுவாக மின்சார சத்தமில்லாத தொழில்துறை சூழலில் பயன்படுத்தப்படுகின்றன.
இந்த டுடோரியலில், இரண்டு ஆர்டுயினோக்களுக்கு இடையிலான ஆர்எஸ் -485 சீரியல் தகவல்தொடர்பு பற்றி அறிந்துகொள்வோம், பின்னர் ஆர்எஸ் -485 தொகுதி மூலம் ஏடிசி மதிப்புகளை அனுப்புவதன் மூலம் மாஸ்டர் ஆர்டுயினோவிலிருந்து ஒரு ஸ்லேவ் ஆர்டுயினோவுடன் இணைக்கப்பட்ட எல்.ஈ.டி பிரகாசத்தை கட்டுப்படுத்துவதன் மூலம் அதை நிரூபிப்போம். மாஸ்டர் அர்டுயினோவில் ஏடிசி மதிப்புகளை வேறுபடுத்த 10 கே பொட்டென்டோமீட்டர் பயன்படுத்தப்படுகிறது.
RS-485 சீரியல் தகவல்தொடர்புகளின் செயல்பாட்டைப் புரிந்துகொள்வதன் மூலம் ஆரம்பிக்கலாம்.
RS-485 சீரியல் கம்யூனிகேஷன் புரோட்டோகால்
RS-485 என்பது ஒத்திசைவற்ற தொடர் தொடர்பு நெறிமுறை, இது கடிகார துடிப்பு தேவையில்லை. பைனரி தரவை ஒரு சாதனத்திலிருந்து மற்றொரு சாதனத்திற்கு மாற்ற இது வேறுபட்ட சமிக்ஞை எனப்படும் நுட்பத்தைப் பயன்படுத்துகிறது.
எனவே இந்த வேறுபட்ட சமிக்ஞை பரிமாற்ற முறை என்ன ??
நேர்மறை மற்றும் எதிர்மறை 5 வி ஐப் பயன்படுத்தி வேறுபட்ட மின்னழுத்தத்தை உருவாக்குவதன் மூலம் வேறுபட்ட சமிக்ஞை முறை செயல்படுகிறது. அது ஒரு வழங்குகிறது அரை ஒருவழிப் பயன்படுத்தும் போது தொடர்பு இரண்டு கம்பிகள் மற்றும் முழு இருவீடுகள்- தேவைப்படுகிறது 4 பவுண்டரிகள் கம்பிகள்.
இந்த முறையைப் பயன்படுத்துவதன் மூலம்
- RS-485 அதிகபட்ச தரவு பரிமாற்ற வீதத்தை 30Mbps அதிகபட்சமாக ஆதரிக்கிறது.
- இது RS-232 நெறிமுறையுடன் ஒப்பிடும்போது அதிகபட்ச தரவு பரிமாற்ற தூரத்தையும் வழங்குகிறது. இது அதிகபட்சமாக 1200 மீட்டர் வரை தரவை மாற்றுகிறது.
- RS-232 ஐ விட RS-485 இன் முக்கிய நன்மை ஒற்றை மாஸ்டருடன் பல அடிமை, RS-232 ஒற்றை அடிமையை மட்டுமே ஆதரிக்கிறது.
- இது RS-485 நெறிமுறையுடன் இணைக்கப்பட்ட அதிகபட்சம் 32 சாதனங்களைக் கொண்டிருக்கலாம்.
- RS-485 இன் மற்றொரு நன்மை என்னவென்றால், அவை பரிமாற்றத்திற்கு வேறுபட்ட சமிக்ஞை முறையைப் பயன்படுத்துவதால் அது சத்தத்திற்கு நோய் எதிர்ப்பு சக்தி கொண்டது.
- I2C நெறிமுறையுடன் ஒப்பிடும்போது RS-485 வேகமாக உள்ளது.
Arduino இல் RS-485
Arduino இல் RS-485 ஐப் பயன்படுத்துவதற்கு, 5V MAX485 TTL முதல் RS485 எனப்படும் ஒரு தொகுதி தேவைப்படுகிறது, இது மாக்சிம் MAX485 IC ஐ அடிப்படையாகக் கொண்டது, ஏனெனில் இது 1200 மீட்டர் நீண்ட தூரத்திற்கு தொடர் தொடர்பு கொள்ள அனுமதிக்கிறது, மேலும் இது இருதரப்பு ஆகும். அரை இரட்டை பயன்முறையில் இது தரவு பரிமாற்ற வீதத்தை 2. 5Mbps ஆகக் கொண்டுள்ளது.
5V MAX485 TTL முதல் RS485 தொகுதிக்கு 5V இன் மின்னழுத்தம் தேவைப்படுகிறது மற்றும் 5V லாஜிக் நிலைகளைப் பயன்படுத்துகிறது, இதனால் அர்டுயினோ போன்ற மைக்ரோகண்ட்ரோலர்களின் வன்பொருள் சீரியல் போர்ட்டுகளுடன் இணைக்க முடியும்.
இது பின்வரும் அம்சங்களைக் கொண்டுள்ளது:
- இயக்க மின்னழுத்தம்: 5 வி
- போர்டில் MAX485 சிப்
- RS485 தகவல்தொடர்புக்கான குறைந்த மின் நுகர்வு
- ஸ்லீ-ரேட் வரையறுக்கப்பட்ட டிரான்ஸ்ஸீவர்
- 5.08 மிமீ சுருதி 2 பி முனையம்
- வசதியான RS-485 தொடர்பு வயரிங்
- சிப்பின் அனைத்து ஊசிகளையும் மைக்ரோகண்ட்ரோலர் மூலம் கட்டுப்படுத்தலாம்
- போர்டு அளவு: 44 x 14 மிமீ
RS-485 இன் பின்-அவுட்:

|
முள் பெயர் |
பயன்படுத்தவும் |
|
வி.சி.சி. |
5 வி |
|
அ |
தலைகீழ் பெறுதல் உள்ளீடு தலைகீழ் இயக்கி வெளியீடு |
|
பி |
பெறுதல் உள்ளீட்டைத் தலைகீழாக மாற்றுகிறது தலைகீழ் இயக்கி வெளியீடு |
|
ஜி.என்.டி. |
GND (0V) |
|
ஆர் 0 |
ரிசீவர் அவுட் (ஆர்எக்ஸ் முள்) |
|
RE |
ரிசீவர் வெளியீடு (குறைந்த-இயக்கு) |
|
DE |
இயக்கி வெளியீடு (உயர்-இயக்கு) |
|
DI |
இயக்கி உள்ளீடு (TX முள்) |
இந்த RS-485 தொகுதியை Arduino உடன் எளிதாக இணைக்க முடியும். Arduino 0 (RX) மற்றும் 1 (TX) (UNO, NANO இல்) வன்பொருள் சீரியல் போர்ட்களைப் பயன்படுத்துவோம். புரோகிராமிங் எளிதானது , RS-485 மற்றும் Serial.Read () க்கு எழுத Serial.print () ஐப் பயன்படுத்தவும். RS-485 இலிருந்து படிக்க.
புரோகிராமிங் பகுதி பின்னர் விரிவாக விளக்கப்பட்டுள்ளது, ஆனால் முதலில் தேவையான கூறுகள் மற்றும் சுற்று வரைபடத்தை சரிபார்க்க அனுமதிக்கிறது.
கூறுகள் தேவை
- Arduino UNO அல்லது Arduino NANO (2)
- MAX485 TTL முதல் RS485 மாற்றி தொகுதி - (2)
- 10 கே பொட்டென்டோமீட்டர்
- 16x2 எல்சிடி டிஸ்ப்ளே
- எல்.ஈ.டி.
- ப்ரெட்போர்டு
- கம்பிகளை இணைக்கிறது
இந்த டுடோரியலில் Arduino Uno மாஸ்டராகவும் Arduino நானோ அடிமையாகவும் பயன்படுத்தப்படுகிறது. இரண்டு Arduino போர்டுகள் இங்கு பயன்படுத்தப்படுகின்றன, எனவே இரண்டு RS-485 தொகுதிகள் தேவைப்படுகின்றன.
சுற்று வரைபடம்

முதல் RS-485 மற்றும் Arduino UNO (மாஸ்டர்) இடையே சுற்று இணைப்பு:
|
ஆர்.எஸ் -485 |
Arduino UNO |
|
DI |
1 (TX) |
|
DE RE |
8 |
|
ஆர் 0 |
0 (RX) |
|
வி.சி.சி. |
5 வி |
|
ஜி.என்.டி. |
ஜி.என்.டி. |
|
அ |
அடிமை RS-485 இன் A க்கு |
|
பி |
அடிமை RS-485 இன் B க்கு |
இரண்டாவது RS-485 மற்றும் Arduino நானோ (அடிமை) இடையே இணைப்பு:
|
ஆர்.எஸ் -485 |
Arduino UNO |
|
DI |
டி 1 (டிஎக்ஸ்) |
|
DE RE |
டி 8 |
|
ஆர் 0 |
டி 0 (ஆர்எக்ஸ்) |
|
வி.சி.சி. |
5 வி |
|
ஜி.என்.டி. |
ஜி.என்.டி. |
|
அ |
மாஸ்டர் RS-485 இன் A க்கு |
|
பி |
மாஸ்டர் RS-485 இன் B க்கு |
16x2 எல்சிடி மற்றும் அர்டுயினோ நானோ இடையே சுற்று இணைப்பு:
|
16x2 எல்சிடி |
அர்டுடினோ நானோ |
|
வி.எஸ்.எஸ் |
ஜி.என்.டி. |
|
வி.டி.டி. |
+ 5 வி |
|
வி 0 |
எல்சிடியின் மாறுபட்ட கட்டுப்பாட்டுக்கு பொட்டென்டோமீட்டர் சென்டர் முள் |
|
ஆர்.எஸ் |
டி 2 |
|
ஆர்.டபிள்யூ |
ஜி.என்.டி. |
|
இ |
டி 3 |
|
டி 4 |
டி 4 |
|
டி 5 |
டி 5 |
|
டி 6 |
டி 6 |
|
டி 7 |
டி 7 |
|
அ |
+ 5 வி |
|
கே |
ஜி.என்.டி. |
அனலாக் உள்ளீட்டை வழங்குவதற்காக Arduino UNO இன் அனலாக் பின் A0 உடன் 10K பொட்டென்டோமீட்டர் இணைக்கப்பட்டுள்ளது மற்றும் அர்டுயினோ நானோவின் முள் D10 உடன் எல்.ஈ.டி இணைக்கப்பட்டுள்ளது.
RS485 சீரியல் கம்யூனிகேஷனுக்கான Arduino UNO & Arduino நானோ புரோகிராமிங்
நிரலாக்கத்திற்கு இரண்டு பலகைகளும் Arduino IDE பயன்படுத்தப்படுகிறது. கருவிகள்-> துறைமுகம் மற்றும் கருவிகள்-> வாரியத்திலிருந்து தொடர்புடைய PORT ஐ நீங்கள் தேர்ந்தெடுத்துள்ளீர்கள் என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள்.
இந்த டுடோரியலின் முடிவில் டெமோ வீடியோவுடன் முழுமையான குறியீடு கொடுக்கப்பட்டுள்ளது. குறியீட்டின் முக்கியமான பகுதியை இங்கே விளக்குகிறோம். இந்த டுடோரியலில் இரண்டு திட்டங்கள் உள்ளன, ஒன்று Arduino UNO (Master) மற்றும் மற்றொன்று Arduino Nano (Slave).
மாஸ்டருக்கான குறியீடு விளக்கம்: Arduino UNO
மாஸ்டர் பக்கத்தில், பொட்டென்டோமீட்டரை மாற்றுவதன் மூலம் முள் A0 இல் அனலாக் உள்ளீட்டை எடுத்துக் கொள்ளுங்கள், பின்னர் சீரியல் அந்த மதிப்புகளை RS-485 பஸ்ஸில் Arduino UNO இன் வன்பொருள் சீரியல் போர்ட்கள் (0,1) மூலம் எழுதுங்கள் .
வன்பொருள் சீரியல் பின்ஸ் (0,1) பயன்பாட்டில் தொடர் தகவல்தொடர்பு தொடங்க:
சீரியல்.பெஜின் (9600);
Arduino UNO இன் முள் A0 இல் அனலாக் மதிப்பைப் படித்து அவற்றை மாறி பொட்வால் பயன்பாட்டில் சேமிக்க:
int potval = അനாக் ரீட் (புஷ்வால்);
எழுதும் முன்பு potval சீரியல் போர்ட் மதிப்பு, ஊசிகளையும் DE & மறு ஆர்எஸ்-485 இருக்க வேண்டும் உயர் எனவே முள் 8 உயர் மேக் Arduino யூனோ இன் முள் 8 இணைக்கப்பட்டு:
டிஜிட்டல்ரைட் (enablePin, HIGH);
அந்த மதிப்புகளை RS-485 தொகுதிடன் இணைக்கப்பட்ட சீரியல் போர்ட்டில் வைக்க அடுத்து, பின்வரும் அறிக்கையைப் பயன்படுத்தவும்
சீரியல்.பிரண்ட்ல்ன் (பொட்வால்);
அடிமைக்கான குறியீடு விளக்கம்: அர்டுடினோ நானோ
அடிமை பக்கத்தில் மாஸ்டர் ஆர்எஸ் -485 இலிருந்து ஒரு முழு மதிப்பு பெறப்படுகிறது, இது அர்டுயினோ நானோவின் வன்பொருள் சீரியல் துறைமுகத்தில் கிடைக்கிறது (பின்ஸ் -0,1). வெறுமனே அந்த மதிப்பைப் படித்து ஒரு மாறியில் சேமிக்கவும். மதிப்புகள் (0 -1023) வடிவத்தில் உள்ளன. எல்.ஈ.டி பிரகாசத்தைக் கட்டுப்படுத்த PWM நுட்பம் பயன்படுத்தப்படுவதால் இது (0-255) ஆக மாற்றப்படுகிறது.
பின்னர் AnalogWrite எல்இடி முள் D10 (இது ஒரு பிடபிள்யுஎம் முள் தான்) அந்த மாற்றப்பட்ட மதிப்பு. எனவே PWM மதிப்பைப் பொறுத்து எல்.ஈ.டி மாற்றங்களின் பிரகாசம் மற்றும் 16x2 எல்சிடி டிஸ்ப்ளேயில் அந்த மதிப்புகளைக் காண்பிக்கும்.
ஸ்லேவ் அர்டுயினோவின் RS-485 மாஸ்டரிடமிருந்து மதிப்புகளைப் பெறுவதற்கு, RS-485 LOW இன் DE & RE ஊசிகளை உருவாக்குங்கள். எனவே Arduino NANO இன் முள் D8 (enablePin) குறைவாக செய்யப்படுகிறது.
டிஜிட்டல்ரைட் (enablePin, LOW);
சீரியல் போர்ட்டில் கிடைக்கும் முழு எண் தரவைப் படித்து அவற்றை மாறி பயன்பாட்டில் சேமிக்கவும்
int pwmval = Serial.parseInt ();
அடுத்து மதிப்பை (0-1023 முதல் 0-255 வரை) மாற்றி அவற்றை ஒரு மாறியில் சேமிக்கவும்:
int convert = வரைபடம் (pwmval, 0,1023,0,255);
எல்.ஈ.டி அனோட் இணைக்கப்பட்டுள்ள இடத்தில் டி 10 ஐ இணைக்க அனலாக் மதிப்பை (பிடபிள்யூஎம்) எழுதுங்கள்:
அனலாக்ரைட் (லெட்ஸ்பின், மாற்ற);
அந்த PWM மதிப்பை 16x2 எல்சிடி டிஸ்ப்ளே பயன்பாட்டில் அச்சிட
lcd.setCursor (0,0); lcd.print ("PWM FROM MASTER"); lcd.setCursor (0,1); lcd.print (மாற்ற);
சீரியல் கம்யூனிகேஷன் RS485 உடன் எல்.ஈ.டி பிரகாசத்தைக் கட்டுப்படுத்துதல்
பொட்டென்டோமீட்டரைப் பயன்படுத்தி PWM மதிப்பு 0 ஆக அமைக்கப்பட்டால், எல்.ஈ.டி முடக்கப்பட்டுள்ளது.

பொட்டென்டோமீட்டரைப் பயன்படுத்தி PWM மதிப்பு 251 இல் அமைக்கப்படும் போது: கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளபடி எல்.ஈ.டி முழு பிரகாசத்துடன் இயக்கப்படுகிறது:

ஆகவே Arduino இல் தொடர் தகவல்தொடர்புக்கு RS485 ஐப் பயன்படுத்தலாம்.
