From: ScadaEng on 11 Jun 2010 18:42 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.
From: D Yuniskis on 11 Jun 2010 18:44 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. What sort of protocol do you have in place? Do you think you can just start chattering any time?
From: Bit Farmer on 11 Jun 2010 18:57 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
From: George Jefferson on 11 Jun 2010 19:12 "ScadaEng" <scadaeng(a)optonline.net> wrote in message news:4c12bbbb$0$32579$607ed4bc(a)cv.net... > 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. Sounds like you are not enabling them properly. Obviously they cannot all communicate at some time and there must be some type of arbitration/negotiation. Since it seems that it has to do with the number of devices chances are this is the problem. How are you arbitrating the chips? AFAIK there is no built in arbitration for RS485 unlike I2C so you'll have to implement it yourself. Basically only one chip can be enabled to communicate at any one time and you do this either by selecting that chip or where each chip checks to see if the bus is free(if the enable pin is low then it can raise it and take control(for the most part as it is possible two or more devices could simultaneously take control which can cause problems)). You really haven't given enough information to give any real help. AFAIK RS485 wasn't meant to be used as a bus(but I have done no real work with RS485 so I could be wrong and I'm not saying it can't work). If that is the case then that is your problem and you'll need to go from there.
From: ScadaEng on 11 Jun 2010 19:14 "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.
|
Next
|
Last
Pages: 1 2 3 4 5 6 7 Prev: More PIC fun Next: John Larkin's LC oscillator, John Fields' simulation |