Hi Guys,

Ik heb een project wat oorspronkelijk een verbinding moest bevatten tussen 2 Arduino's.
Ik heb toen gekozen voor het RS485 Protocol en ook op beide printen (Shields voor de Aduino Mega (master) en een Uno (Slave)) een Max485 geïntegreerd.

Nu komt daar mogelijk een en ander bij waarbij ik die bus weer wil gaan gebruiken voor het aansturen van 1 of 2 andere Arduino's.
Nu had ik begrepen dat de Master altijd aan het BEGIN van een "bus" of "lijn" moet zitten en dat het concept van RS485 altijd lijnvormig opgebouwd moet zijn en niet stervormig mag zijn.

Hoe sterk is dat laatste statement?
Ik heb geografisch "voorbij" die master een kabel lopen die ik wil gebruiken om te verbinden met een Arduino met Max485, en de andere kant op zal er ook nog 1 bij komen.

Slave--15m UTP--Master--20m Shielded 2aderige kabel--Slave--2m UTP--Slave

Kan het kwaad dat de master halverwege in de bus zit?
De datastromen zullen laag zijn en pollingen doorgeven elke 20 seconden.

"het RS485 protocol" bestaat niet. RS485 is alleen koper en spanningen.

Ik gok dat je modbus bedoeld.
De master mag gewoon halverwege zitten.

Een RS485 heeft een begin en een einde. Verder bij een lange verbinding A en B aan het begin en einde afsluiten met een 120Ω weerstand.

Protocol wat vaak gebruikt wordt is Modbus_RTU maar er zijn diverse andere protocollen mogelijk.

Wat ik ervan begrijp zijn het pulsen van + en - 12V die elkaar opheffen.
Baudrate van 9,6K of wellicht wat hoger.
Dan nog altijd geen issue met een min of meer "stervormig" netwerk, zelfs al gaat het om een ster met 2 punten?

Meestal zit de Master aan het begin en de Slaves aan de 'andere' kant. De Master kan je dan afsluiten en de laatste Slave ook met een weerstand van 120Ω. Maximaal 32 devices op de bus.

Ik gebruik altijd 9600 baud maar hoger kan ook.

Ik heb pas een project gedaan met RS485 en twee 16F887 controllers met ruim 100 meter kabel ertussen. Je kunt daar gewoon een RS485 module tussen zetten en dan ga je met adressen werken.

RS485 is niet echt een protocol.

RS485 is complementaire data over twee (liefst getwiste) lijnen; spanning is 5V of 3.3V.
Wat er hoe en wanneer in welke richting over de bus gaat is een kwestie van afspraak, er zijn vele standaards "maar ons wiel is veel ronderder".

De noodzaak om een master aan één uiteinde te hebben bestaat niet, ster topologie kan maar is niet aan te raden ivm de afsluitimpedanties aan elk uiteinde: de driver kan maar zoveel stroom leveren...
De lengte waarbij afsluitweerstanden noodzakelijk worden hangt af van de baudrate en de gebruikte kabel: door reflecties wordt het signaal steeds 'wolliger' totdat het niet meer gedecodeerd kan worden, in extreme gevallen ontstaat er een echo.
Gewoon altijd begin en einde voorzien van een afsluitweerstand, de waarde hangt af van de gebruikte kabel (karakteristieke impedantie); waardes tussen 120 en 180Ω zijn gebruikelijk. De 'ernst' van een mismatch is wederom afhankelijk van baudrate en kabellengte maar doorgaans geen ramp.

Volgens mij werkt RS485 met spanning tussen 0 en 5V. 2 datalijnen die elkaars inverse zijn.

De standaard zegt wel +/- 5V. Maar dat is tussen de 2 datalijnen: +5V als A = +5V en B = 0, -5V als A = 0V, B = +5V.

altijd lijnvormig opgebouwd moet zijn en niet stervormig mag zijn.

JA kan toch bij elke unit doorlussen naar de volgende. Om een ster punt te voorkomen is niet zo moeilijk maar je gebruikt dan wel wat meer kabel.

Rs485 splitters & repeaters zijn de normaalste zaak afhankelijk van je toepassing, dus hoezo geen ster netwerk

Het belangrijkste is dat je EEN lijn hebt (paar van 2 draden twisted) en dat die aan de uiteinden zijn afgesloten met 120 Ohm. Er zijn ook terminations met een extra pull-up en pull-down met iets andere waarden maar effectief nog steeds 120 Ohm (Siemens Profibus doet dat).

De maximale "stub" die je op die lijn af mag takken wil je zo klein mogelijk houden liefst onder de 30 cm. Maar een echte definitie is niet zo makkelijk te vinden. Er mogen maximaal 30 of 32 nodes aan de bus hangen.

Verder maakt het geen bal uit waar je master en slaves zitten.

RS485 bepaald de spanningsniveaus op de bus, het zijn differentiele signalen En je MOET ook een GND hebben voor referentiepotentiaal. Want/en de maximale common mode voltage van de bus mag niet groter zijn dan +/-7V.

Op een RS485 bus kun je verschillende protocollen draaien waarvan Modbus RTU en Profibus (tot 12 Mbit) de meest bekende zijn.

Zoals DK zegt kun je met een actieve splitter/repeater het netwerk verlengen of er een ster netwerk van maken maar dat vergt wat intelligentie of detectie op de lijn waar/van welk segment exact het signaal vandaan komt.

Een afstand van 1200 m is geen probleem (mits de juiste baudrate gekozen wordt).

@Fantomaz UTP is formeel gezien NIET geschikt voor RS485 want UTP is 100 Ohm impedantie.
Het kan wel, maar dan moet je de kabel ook met 100 Ohm weerzijde afsluiten en het aantal nodes wordt dan wat beperkt ivm de drive capaciteit en OVERAL dan ook UTP gebruiken en geen mengelmoesje kabel. TI heeft er dacht ik eens een application note over geschreven.

Die 120Ω maakt geen deel uit van de RS485 specificatie, het is simpelweg de meest voorkomende impedantie van een getwiste lijn. Je kunt elk soort symmetrische lijn gebruiken, zelfs ouderwetse (600Ω) telefoonkabel zolang de afsluit-impedantie maar klopt...
Voor korte stukken (<10m of zo) en lage snelheden (<5kbps) maakt het allemaal niet zoveel uit en kun je (op eigen risico) de afsluitweerstanden ook weglaten: reflecties vallen (heel) ruim binnen een bittijd. Niet 'netjes', maar kan in een 'noodsituatie' uitkomst bieden.

Het aantal nodes op de lijn is ook geen deel van de specificatie maar wordt bepaald door de belasting die elke node vormt: er zijn RS485 chips die het mogelijk maken om 128 nodes op één lijn te hebben. Daar zitten wel wat praktische limieten aan die gevormd wordt door het gekozen protocol en drukte op de bus: overall responsetijd en de complexiteit van de master-firmware (met name het benodigde geheugen); vandaar dat 30 en 32 vaak als maximum wordt gehanteerd.

TI heeft een compleet boekwerk aan het onderwerp gewijd, ik heb dat boekje in mijn collectie. Ik weet alleen ff niet precies waar: die collectie zit in 8 grote verhuisdozen verspreid over twee locaties...

Deze gevonden op het web: https://e2e.ti.com/cfs-file/__key/telligent-evolution-components-attac…

Op zondag 15 maart 2026 23:37:46 schreef henri62: Er mogen maximaal 30 of 32 nodes aan de bus hangen.

Normaal 32. Een repeater is ook een node dus tussen twee repeaters kunnen nog maar 30 nodes.
Het aantal "32" is een minimumeis bij RS485, door b.v. Siemens vertaald naar een maximum om gezeur te voorkomen.

Bedankt voor de inf zover, jongens.
Ik haalde de meeste info van ChatGPT en ik denk dat daar de verwarring over de definitie van "stervormig" is ontstaan.
Ik heb nou eenmaal mijn Arduino Mega, die mega veel dingen moet doen, centraal geplaatst. Ik heb dus van daaruit 2 lijnen lopen, 180 graden tov elkaar (lees: Beiden een andere kant op.)
Ik ben niet van plan rare aftakkingen te gebruiken dus zou ik in principe 1 lange lijn hebben met 4x een MAX485 erop.
Wat UTP betreft... Er zijn er veel die daarbij zweren. En ook dat zie ik terug in Chat GPT.
Mijn 2 draads afgeschermde kabel, de basis van het oorspronkelijke project met 2 Arduino's, werd daar ook verguisd. Het stukje uitbreiding naar de meterkast doe ik via UTP omdat er al UTO loopt tbv de thermostaat die tegen de meterkastmuur gemonteerd zit, in de woonkamer.
Ik kan misschien nog een tweede draad daar trekken (weer 2 aderig afgescherm), maar dat wordt een crime omdat die niet via een buis is gelegd.

Om heeeeel eerlijk te zijn: zeker op korte stukjes tot een meter of 25 kan het bijna niet fout met RS485.
Ik heb ze gezien op twee losse aders in een schakelkast, tussen motorkabels door die onafgeschermd van een frequentieregelaar kwamen, een heftruck kapot getrokken kabel midden in een fabriek, hersteld met kroonsteentjes enz enz. En in de genoemde gevallen waren fouten direct opgevallen omdat het hier om interbus ging, en die houd in de controller hele statistieken bij over de gezondheid van de bus en mislukte telegrammen. En daar bleef ondanks de gepleegde RS485 misdrijven de communicatie kraakhelder.

Eens met vorige reageerders... Ik zou het samenvatten als:
- TS wil twee clients op 1 centrale rs485 transceiver aansluiten, elk met 25 meter kabel
- lage datarate (enkele kilobits/sec) is al ok

Dan denk ik:
1) termineren heeft geen zin in dit geval
2) ook ongetermineerd gaat het werken, omdat de datarate laag genoeg is
3) er zijn geen repeaters nodig

Info over de maximale kabellengte bij rs485 is te vinden in:
https://www.ti.com/lit/pdf/slla272
en ook in
https://electronics.stackexchange.com/questions/39745/rs485-cable-leng…

Volgens mij zijn die verhalen nog best conservatief omdat de microcontrollers tegenwoordig zeker 8x en meestal 16x oversampling toepassen. Een reflectie zal hooguit enkele subsamples na een flank beinvloeden maar de meerderheid van de subsamples zal correct zijn. Het oogpatroon blijft voldoende open.

Heen en terug over 25 meter duurt circa 250 ns, dus pas bij bitrates hoger dan ongeveer 2 Mbps zal er structureel iets misgaan.

Kortom, het wordt easy peasy twee vingers in de neus, gewoon bouwen en doen.

Op maandag 16 maart 2026 13:29:28 schreef kojazz:
Eens met vorige reageerders... Ik zou het samenvatten als:
- TS wil twee clients op 1 centrale rs485 transceiver aansluiten, elk met 25 meter kabel
- lage datarate (enkele kilobits/sec) is al ok

Kleine nuance...
Het worden er 4. :-)
Maar de hoofdvraag was of het kwaad kon dat de Master niet aan het begin (of eind) van de lijn zat.
Hij zit halverwege. En inmiddels begrijp ik dat het "ster" principe meer is gestoeld op lijnen die allemaal 1 kant op gaan, al dan niet met de Master in het hart van de ster.
Dat zal niet gebeuren, dus heb ik vertrouwen in jullie oordeel en ga ik verder prutsen.

Bedankt.

Het is de bedoeling dat het een BUS is.

T--node----node----node---node--T

T zijn de terminators (maar zoals gezegd zonder zal ook wel werken).

<node> zijn de nodes. Danwel master, danwel slave.

Je ziet dus, de master mag gewoon in het midden.

Wat officieel niet mag is:


T---node--+--node---node--T?
          \----node--T?

Maar met minder dan 100kbps en "maar" 25 meter bus... loop je het risico dat zelfs dat nog gewoon gaat werken...

Met 3 terminators loop je het risico dat het minder werkt dan met twee.

Weerstanden aan de eindes dus. En let op dat je de weerstand loshaalt in de master als hij ergens in het midden zit. Vaak zetten ze die aan (jumper of zo) omdat velen de master vooraan de bus hebben staan. Maar dat hoeft dus helemaal niet.

RS484 is je hardware layer, net als RS232 of 5V serial of gewoon een i/o-lijntje. Wat je eroverheen runt is je protocol, CAN, USB, Ethernet etc.

Op maandag 16 maart 2026 08:10:03 schreef fatbeard:
Die 120Ω maakt geen deel uit van de RS485 specificatie, het is simpelweg de meest voorkomende impedantie van een getwiste lijn.

Nou dat betwijfel ik.
Het meest voorkomende is 100 Ohm UTP dus.
Om een fatsoenlijke 120 Ohm kabel te vinden heb je maar een paar opties: Profibus kabel of CAN kabel. Valt toch nog vies tegen om een simpel goedkoop twisted kabeltje te vinden van 120 Ohm.

PS: Ik ben het er dus duidelijk niet mee eens dat je de terminators weg mag laten, je storingsmarge gaat aan de haal. Dan kun je beter UTP kabel gebruiken en de boel met 100 Ohm afsluiten. Kost geen drol en kan later een hoop ellende besparen.

Ik heb ooit in het verleden eens het boek "Veldbussen" gekocht.
Misschien dat die investering nog eens zichzelf terug kan verdienen. :-)
Zal de boekenkast er eens op napluizen.

Even los van mijn vraagstuk is het wél interessante materie die ik hier lees...

Voor rs485 hoef je echt geen normenboek bij te slaan hoor, vooral in een huisomgeving op lage baudrate is dat een erg tollerante bus, heb op kantoor vaak genoeg getest met 2x0,75mm² ipv veldbuskabel, zonder eindweerstanden, enzo omdat het meestal toch wel start

Bij Philips runden we een netwerk (Bitbus, SDLC, Ethernet-subset) met iets van 160 kbit over een flatcable van een 7 meter. Met stubs (zijtakken) van zeker een halve meter. Gewoon die lange kabel wel met 100 Ohm afgesloten, dat was ook de impedantie van de flatcable. Maar totaal probleemloos. Er zat natuurlijk wel een flink protocol overheen maar dat hoefde nooit in te grijpen.

Nu komt daar mogelijk een en ander bij waarbij ik die bus weer wil gaan gebruiken voor het aansturen van 1 of 2 andere Arduino's.

Dus eigenlijk heb je het al werkend met 2 arduino's. Dat sheelt al een hoop dan kan je het netwerk gewoon steeds wat groter maken en als het dan niet werkt weet je al wat het kan zijn.
Test de nieuwe arduino's eerst in een klein kort netwerk en dan pas op de locatie waar die moet komen.
Als het dan op locatie met lange afstand niet werkt weet je dat het dan aan je kabel kan liggen.

Dan kun je beter UTP kabel gebruiken en de boel met 100 Ohm afsluiten.

Bedoel je dan letterlijk een 100 ohm weerstand parallel aan de bus?

[Bericht gewijzigd door benleentje op (23%)]

Op woensdag 18 maart 2026 22:07:39 schreef benleentje:

[...]Bedoel je dan letterlijk een 100 ohm weerstand parallel aan de bus?

Uiteraard aan beide UITEINDEN van de kabel.