From: ScadaEng on 11 Jun 2010 19:18 "ScadaEng" <scadaeng(a)optonline.net> wrote in message news:4c12c363$0$5016$607ed4bc(a)cv.net... > > "Bit Farmer" <bit.farmer(a)yahoo.com> wrote in message > news:V9-dnQM0RuB8Io_RnZ2dnUVZ_tGdnZ2d(a)giganews.com... >> ScadaEng wrote: >>> I have worked allot with RS232, and other serial protocols, but this is >>> my first RS485 project. It seemed straight forward to me, but now I have >>> a big problem. >>> >>> I am using the max490 chip. I'm doing full duplex, 4 wire. Each of my >>> nodes have the max490 communicating with a 16F877A pic chip. The whole >>> project will have 25 nodes. I just built two pcb's (nodes) and >>> individually they work as expected. However when I put both of them on >>> the rs485 bus, I can't talk to either of them! Probably some kind of >>> collision, but as it turns out my scope just died and I'm on a tight >>> deadline. Any help is greatly appreciated. >> >> Check your output enables. You can't have both on at the same time. The >> system must be designed to allow only one transmitter to be on at a time. >> The easiest way to do this is to have the master poll each device in >> turn. When polled, each device can then send either a NoData packet or >> reply with the data that it needs to send. This approach was used for >> several generations of point of sale systems and works quite well. You >> will need to have unique addresses for each device and a means of setting >> them. >> >> b. Farmer > That's the thing, there are no output enables with the max490 chip. I do > have unique addresses, and I can call each board by itself with it fully > functioning. Its when I put more than one board on the network(485) that I > can't commmunicate with any of them. Not that it should matter, but I am > using a modified RTU Modbus protocol. > And yes, I am polling each device one at a time.
From: Martin Riddle on 11 Jun 2010 19:24 "ScadaEng" <scadaeng(a)optonline.net> wrote in message news:4c12c363$0$5016$607ed4bc(a)cv.net... > > "Bit Farmer" <bit.farmer(a)yahoo.com> wrote in message > news:V9-dnQM0RuB8Io_RnZ2dnUVZ_tGdnZ2d(a)giganews.com... >> ScadaEng wrote: >>> I have worked allot with RS232, and other serial protocols, but this >>> is my first RS485 project. It seemed straight forward to me, but now >>> I have a big problem. >>> >>> I am using the max490 chip. I'm doing full duplex, 4 wire. Each of >>> my nodes have the max490 communicating with a 16F877A pic chip. The >>> whole project will have 25 nodes. I just built two pcb's (nodes) and >>> individually they work as expected. However when I put both of them >>> on the rs485 bus, I can't talk to either of them! Probably some kind >>> of collision, but as it turns out my scope just died and I'm on a >>> tight deadline. Any help is greatly appreciated. >> >> Check your output enables. You can't have both on at the same time. >> The system must be designed to allow only one transmitter to be on at >> a time. The easiest way to do this is to have the master poll each >> device in turn. When polled, each device can then send either a >> NoData packet or reply with the data that it needs to send. This >> approach was used for several generations of point of sale systems >> and works quite well. You will need to have unique addresses for >> each device and a means of setting them. >> >> b. Farmer > That's the thing, there are no output enables with the max490 chip. I > do have unique addresses, and I can call each board by itself with it > fully functioning. Its when I put more than one board on the > network(485) that I can't commmunicate with any of them. Not that it > should matter, but I am using a modified RTU Modbus protocol. > You need the 489 - 491 with transmitter Enables and implement that in your protocols. Looks like you need to hack the board too, since the it�s a 14 pin device. Cheers
From: ScadaEng on 11 Jun 2010 19:26 "Martin Riddle" <martin_rid(a)verizon.net> wrote in message news:huugjt$qn0$1(a)news.eternal-september.org... > > > "ScadaEng" <scadaeng(a)optonline.net> wrote in message > news:4c12c363$0$5016$607ed4bc(a)cv.net... >> >> "Bit Farmer" <bit.farmer(a)yahoo.com> wrote in message >> news:V9-dnQM0RuB8Io_RnZ2dnUVZ_tGdnZ2d(a)giganews.com... >>> ScadaEng wrote: >>>> I have worked allot with RS232, and other serial protocols, but this is >>>> my first RS485 project. It seemed straight forward to me, but now I >>>> have a big problem. >>>> >>>> I am using the max490 chip. I'm doing full duplex, 4 wire. Each of my >>>> nodes have the max490 communicating with a 16F877A pic chip. The whole >>>> project will have 25 nodes. I just built two pcb's (nodes) and >>>> individually they work as expected. However when I put both of them on >>>> the rs485 bus, I can't talk to either of them! Probably some kind of >>>> collision, but as it turns out my scope just died and I'm on a tight >>>> deadline. Any help is greatly appreciated. >>> >>> Check your output enables. You can't have both on at the same time. The >>> system must be designed to allow only one transmitter to be on at a >>> time. The easiest way to do this is to have the master poll each device >>> in turn. When polled, each device can then send either a NoData packet >>> or reply with the data that it needs to send. This approach was used >>> for several generations of point of sale systems and works quite well. >>> You will need to have unique addresses for each device and a means of >>> setting them. >>> >>> b. Farmer >> That's the thing, there are no output enables with the max490 chip. I do >> have unique addresses, and I can call each board by itself with it fully >> functioning. Its when I put more than one board on the network(485) that >> I can't commmunicate with any of them. Not that it should matter, but I >> am using a modified RTU Modbus protocol. >> > > You need the 489 - 491 with transmitter Enables and implement that in your > protocols. > Looks like you need to hack the board too, since the it's a 14 pin device. > > Cheers > I understand the transmit enables, but how does the 490 chip do it? It has no transmit enables, it must negotiate the transmit in some fashion.
From: Joerg on 11 Jun 2010 19:31 ScadaEng wrote: > "Bit Farmer" <bit.farmer(a)yahoo.com> wrote in message > news:V9-dnQM0RuB8Io_RnZ2dnUVZ_tGdnZ2d(a)giganews.com... >> ScadaEng wrote: >>> I have worked allot with RS232, and other serial protocols, but this is >>> my first RS485 project. It seemed straight forward to me, but now I have >>> a big problem. >>> >>> I am using the max490 chip. I'm doing full duplex, 4 wire. Each of my >>> nodes have the max490 communicating with a 16F877A pic chip. The whole >>> project will have 25 nodes. I just built two pcb's (nodes) and >>> individually they work as expected. However when I put both of them on >>> the rs485 bus, I can't talk to either of them! Probably some kind of >>> collision, but as it turns out my scope just died and I'm on a tight >>> deadline. Any help is greatly appreciated. >> Check your output enables. You can't have both on at the same time. The >> system must be designed to allow only one transmitter to be on at a time. >> The easiest way to do this is to have the master poll each device in turn. >> When polled, each device can then send either a NoData packet or reply >> with the data that it needs to send. This approach was used for several >> generations of point of sale systems and works quite well. You will need >> to have unique addresses for each device and a means of setting them. >> >> b. Farmer > That's the thing, there are no output enables with the max490 chip. ... There are. It's called DE, pin 3 on the SO package. You need to use those. > ... I do > have unique addresses, and I can call each board by itself with it fully > functioning. Its when I put more than one board on the network(485) that I > can't commmunicate with any of them. Not that it should matter, but I am > using a modified RTU Modbus protocol. > If you don't use the DE pins I have no idea how you'd get this working. In case you do use them, have a polling system set up like Bit Farmer described and it still doesn't work I urgently suggest you borrow a scope. Someone in the area has got to have one, it can be a fairly simple and slow 2-channel scope. Best would be a digital scope but I guess with the tight deadline you can't be picky. -- Regards, Joerg http://www.analogconsultants.com/ "gmail" domain blocked because of excessive spam. Use another domain or send PM.
From: Joerg on 11 Jun 2010 19:34
ScadaEng wrote: > "Martin Riddle" <martin_rid(a)verizon.net> wrote in message > news:huugjt$qn0$1(a)news.eternal-september.org... >> >> "ScadaEng" <scadaeng(a)optonline.net> wrote in message >> news:4c12c363$0$5016$607ed4bc(a)cv.net... >>> "Bit Farmer" <bit.farmer(a)yahoo.com> wrote in message >>> news:V9-dnQM0RuB8Io_RnZ2dnUVZ_tGdnZ2d(a)giganews.com... >>>> ScadaEng wrote: >>>>> I have worked allot with RS232, and other serial protocols, but this is >>>>> my first RS485 project. It seemed straight forward to me, but now I >>>>> have a big problem. >>>>> >>>>> I am using the max490 chip. I'm doing full duplex, 4 wire. Each of my >>>>> nodes have the max490 communicating with a 16F877A pic chip. The whole >>>>> project will have 25 nodes. I just built two pcb's (nodes) and >>>>> individually they work as expected. However when I put both of them on >>>>> the rs485 bus, I can't talk to either of them! Probably some kind of >>>>> collision, but as it turns out my scope just died and I'm on a tight >>>>> deadline. Any help is greatly appreciated. >>>> Check your output enables. You can't have both on at the same time. The >>>> system must be designed to allow only one transmitter to be on at a >>>> time. The easiest way to do this is to have the master poll each device >>>> in turn. When polled, each device can then send either a NoData packet >>>> or reply with the data that it needs to send. This approach was used >>>> for several generations of point of sale systems and works quite well. >>>> You will need to have unique addresses for each device and a means of >>>> setting them. >>>> >>>> b. Farmer >>> That's the thing, there are no output enables with the max490 chip. I do >>> have unique addresses, and I can call each board by itself with it fully >>> functioning. Its when I put more than one board on the network(485) that >>> I can't commmunicate with any of them. Not that it should matter, but I >>> am using a modified RTU Modbus protocol. >>> >> You need the 489 - 491 with transmitter Enables and implement that in your >> protocols. >> Looks like you need to hack the board too, since the it's a 14 pin device. >> >> Cheers >> > I understand the transmit enables, but how does the 490 chip do it? It has > no transmit enables, it must negotiate the transmit in some fashion. > Whoops, Martin was right, I had mixed it up with the 481. With an enable there is no negotiation, it's always driving in the direction the input says it should. -- Regards, Joerg http://www.analogconsultants.com/ "gmail" domain blocked because of excessive spam. Use another domain or send PM. |