Unxibelelwano lweSerial yenye yezona ndlela ziqhelekileyo zokutshintshiselana ngedatha phakathi kwezixhobo zombane. Nangona kunjalo, xa imigama isonyuka okanye imeko-bume inokuphazamiseka kombane, iisignali zonxibelelwano zinokutyekela kwiimpazamo. Kulapho umgangatho wonxibelelwano weRS485 ungena khona, unikezela ngenye indlela eyomeleleyo nesebenzayo. I-Arduino, kunye nokuguquguquka kwayo, isivumela ukuba sisebenzise ngokupheleleyo le protocol ngendlela elula.
Kweli nqaku, siza kubona ukuba unxibelelwano lwe-RS485 lunokuphunyezwa njani phakathi kwee-Arduinos ezininzi usebenzisa iimodyuli ezisekelwe kwi-MAX485 edibeneyo, i-chip eguqula iimpawu ze-TTL (ukusuka kwi-Arduino) ukuya kwi-RS485 kunye ne-vice versa. Kuyo yonke le tutorial, siya kugubungela zombini iikhonsepthi ezisisiseko kunye nemizekelo ebonakalayo eya kukuvumela ukuba usebenzise i-simplex, isiqingatha se-duplex kunye ne-duplex epheleleyo yonxibelelwano phakathi kwe-Arduino microcontrollers, kwaye uchaze ukuba ungayandisa njani le nkqubo yonxibelelwano ukuphatha izixhobo ezininzi ngexesha elinye. RS485 ibhasi.
Yintoni iRS485?
I-RS485 ngumgangatho wonxibelelwano osetyenziswa kakhulu kushishino, owaziwa ngawo Umelele namandla ayo okumelana umgama omde usasazo, nakwimimandla enengxolo yemizi-mveliso. Ngokungafaniyo nezinye iintlobo zonxibelelwano lwe-serial, njenge-RS232, i-RS485 ivumela izixhobo ezininzi ukuba ziqhagamshelwe kwibhasi enye, iyenza ibe yinto efanelekileyo kwi-industrial automation kunye nezicelo zokulawula.
Le protocol iyaxhathisa kwingxolo ye-electromagnetic enkosi kwinto yokuba isebenzisa a inkqubo yokubonisa umahluko, okuthetha ukuba idatha ithunyelwa ngeengcingo ezimbini, uA no-B, eziziinguqulelo ezichaseneyo kumbane. Oku kuvumela nayiphi na ingxolo echolwe kwiintambo ukuba irhoxiswe ngokulula, iqinisekisa imfezeko yomqondiso.
Enye yeenzuzo eziphambili zeRS485 kukuba ixhasa imigama ukuya kwi-1200 yeemitha kwaye isantya ukuya kuthi ga kwi-35 Mbps kwimigama emifutshane, iyenza ibe yiprotocol efanelekileyo kumashishini kunye nolawulo lwezicelo kwiindawo apho ikhebhula ende iyimfuneko.
RS485 iindlela zonxibelelwano

Kunxibelelwano lwe-RS485, sinokuyiqwalasela inkqubo ngeendlela ezintathu ezahlukeneyo: i-simplex, i-half-duplex kunye ne-duplex epheleleyo. Nganye inezinto zayo kwaye iphunyezwa ngokweemfuno zeprojekthi.
Unxibelelwano olulula
Kwimo ye-simplex, unxibelelwano luhamba kuphela kwicala elinye, oko kukuthi, isixhobo esinye sisebenza njenge umthumeli kunye nomnye onjalo i-receptor. Oku kuluncedo kwiimeko apho ufuna ukuthumela okanye ukufumana idatha ngaphandle kwesidingo sempendulo.
Ngokomzekelo, sinokuseta inkqubo apho iArduino ifunda ixabiso lenzwa kwaye iyithumele kwesinye isixhobo esiyifumana ngokulula. Kule meko, njengoko kukho idatha ehambayo kuphela kwicala elinye, izinto ezithile zolawulo ezongezelelweyo zinokusasazwa, okwenza inkqubo ibe lula kwaye ibe noqoqosho.
Unxibelelwano lweHalf-Duplex
Uninzi lwezicelo ze-RS485 kwi-Arduino ziphunyezwa kwimowudi ye-half-duplex kuba oku kufuna kuphela iingcingo ezimbini, kwaye ikuvumela ukuba uthumele kwaye ufumane idatha, nangona kungenjalo ngaxeshanye. Oko kukuthi, ukuba isixhobo esinye sithumela idatha, ezinye izixhobo kufuneka zibe kwimowudi yolwamkelo, ngokuphendululekileyo.
Ukutshintsha phakathi kothumelo nokufumana iindlela, sebenzisa izikhonkwane ezongezelelweyo (RE/DE) kwimodyuli ye-MAX485, oya kuyilawula kwikhowudi ukugqiba ukuba isixhobo kufuneka sithumele okanye sifumane naliphi na ixesha.
Le ndlela iluncedo ngakumbi ukuba unezixhobo ezininzi kwibhasi enye ezifuna ukunxibelelana omnye nomnye, kodwa hayi ngaxeshanye.
Unxibelelwano olupheleleyo lweDuplex
Kwimo ye-duplex epheleleyo, izixhobo zinokuthumela kwaye zifumane idatha ngexesha elinye. Nangona kunjalo, ukuphumeza i-duplex epheleleyo kwi-RS485, izibini ezimbini zeengcingo ezijijekileyo, okwandisa iindleko kunye nobunzima be-wiring. Ukongeza, uya kufuna iimodyuli ezimbini ze-MAX485 kwisixhobo ngasinye ukulawula ukuhambisa kunye nokufumana amajelo ngokwahlukeneyo.
Izinto ezifunekayo kunxibelelwano lweRS485 kunye neArduino
Ukuphumeza inkqubo yonxibelelwano ye-RS485 kwi-Arduino, uya kufuna la macandelo alandelayo:
- I-Arduinos enye okanye ngaphezulu: Nayiphi na imodeli yeArduino iya kuyenza, kodwa kwesi sifundo siya kusebenzisa Arduino UNO kunye neArduino MEGA njengemizekelo.
- MAX485 iimodyuli ze-MAXXNUMX Ezi modyuli zikuvumela ukuba uguqule iimpawu ze-TTL ukusuka kwi-Arduino ukuya kwi-RS485 kwaye ngokuphambene noko. Zingabizi kakhulu kwaye kulula ukuzifumana kwiivenkile ezifana ne-AliExpress okanye i-eBay.
- Ukuphelisa ukuxhathisa: Isichasi esiphakathi kwe-120 ohms sihlala sibekwe kwisiphelo ngasinye sebhasi ukunqanda ukubonakalisa uphawu. Kwimigama emifutshane, kunokwenzeka ukwenza ngaphandle kwabo, kodwa kufakelo olude kubalulekile ukugcina ingqibelelo yesiginali.
- Iintambo eziphothiweyo: Kuyacetyiswa ukuba kusetyenziswe iintambo ezimbini ezijijekileyo ukunciphisa ukuphazamiseka kwe-electromagnetic, ngakumbi kwiindawo ezinengxolo yemizi-mveliso.
Umzobo woqhagamshelwano ngokubanzi
Qhagamshela iimodyuli zeMAX485 kwi Arduino ilula kakhulu. Izikhonkwane ezibaluleke kakhulu zi-A kunye ne-B, ezihambelana nemigca yebhasi ye-RS485. Ezi zikhonkwane kufuneka ziqhagamshelwe kuzo zonke izixhobo ezisebhasini. Ukongeza, imodyuli inezikhonkwane ze-RE kunye ne-DE ezilawula ukuba imodyuli ikumamkeli okanye imowudi yokuhambisa.
Ngokubanzi, ukudibanisa iimodyuli kwiArduino kwenziwa ngolu hlobo lulandelayo:
- I-VCC kunye ne-GND yemodyuli idibanisa kwi-VCC kunye ne-GND kwi-Arduino.
- I-DI (Igalelo leDatha) yemodyuli iqhagamshela kwi-pin ye-TX ye-Arduino ukuba imodyuli iza kusebenza njenge-emitter.
- I-RO (I-Receiver Output) yemodyuli idibanisa kwi-RX pin ye-Arduino ukuba imodyuli iza kusebenza njengomamkeli.
- I-DE kunye ne-RE kufuneka ilawulwe kwi-pin yedijithali ye-Arduino ukutshintsha phakathi kokudlulisa kunye nokufumana iindlela.
Ukuba ufuna kuphela imodyuli ukuze isebenze njengomthumeli okanye umamkeli, ungaqhagamshela RE kunye ne-DE ngqo kwi-HIGH okanye PHANTSI. Nangona kunjalo, kunxibelelwano olunzima ngakumbi apho isixhobo kufuneka sitshintshe phakathi kokuhambisa kunye nokufumana, kungcono ukulawula ezi zikhonkwane kwisoftware.
Imizekelo yekhowudi yonxibelelwano lweRS485
Apha ngezantsi kukho imizekelo emininzi equka ulungelelwaniso olwahlukileyo lonxibelelwano kunye ne-RS485 kwi-Arduino.
Unxibelelwano olulula
Ikhowudi yokhuphayo
Kwinkqubo esisiseko ye-simplex apho sinomthumeli omnye kunye nomamkeli omnye, ikhowudi yomthumeli inokujongeka ngolu hlobo:
void setup() { Serial.begin(9600); } void loop() { Serial.write(analogRead(0)); delay(500); }
Ikhowudi yomamkeli
Umamkeli uya kufunda ngokulula idatha efika nge-serial port:
void setup() { Serial.begin(9600); } void loop() { if (Serial.available()) { int data = Serial.read(); Serial.println(data); } }
Unxibelelwano lweHalf-Duplex
Kulo mzekelo, siphumeza inkqubo ye-half-duplex apho izixhobo zitshintshana phakathi kokuthumela nokufumana idatha.
Ikhowudi katitshala
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); } }
Ikhowudi yekhoboka
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); } }
Unxibelelwano olupheleleyo lweDuplex
Ukuphumeza unxibelelwano olupheleleyo lwe-duplex, iimodyuli ezimbini ze-MAX485 nge-Arduino ziya kufuneka. Iperi nganye yeemodyuli iya kusingatha umgca wedatha enye: enye yokuhambisa kunye enye yokwamkela.
Ikhowudi iya kufana nemizekelo yangaphambili, kodwa kule meko zombini izixhobo ziya kuhlala zihambisa kwaye zifumana ngaxeshanye.
Ukwandiswa kwezixhobo ezininzi kwi-RS485
I-RS485 inamandla okudibanisa izixhobo ze-32 kwibhasi enye, kwaye kwiimeko ezikhethekileyo inokufikelela ngakumbi. Oko kuyenza ibe lolona khetho lubalaseleyo kwiiprojekthi ezibandakanya ii-microcontroller ezininzi okanye izixhobo. Ukuchonga ngamnye wabo kwinethiwekhi, kuqhelekile ukuphumeza idilesi okanye i-ID yesixhobo ngasinye.
Kule meko, inkosi iya kuthumela umyalezo kunye nedilesi yesixhobo efuna ukunxibelelana nayo, kwaye kuphela eso sixhobo siya kuba ngumphathi wokucubungula umyalezo kunye nokunika impendulo.
Ukongeza koku kukuba kunokwenzeka ukusebenzisa iiprothokholi ezinzima ngakumbi njenge MODBUS, evumela ukuyilwa kothungelwano olusebenza kakuhle nolukhuselekileyo kushishino.
Kwiiprojekthi zasekhaya okanye izicelo ezibalelwa kancinci, unokwabela ngokulula isazisi kwiArduino nganye kwaye ubenze baphendule kuphela kwimiyalezo elungiselelwe bona.