Hey guys,
so I am trying to get temp values out of a SOLO 4848 temp controller via Modbus RS-485. Anyways, it should be as simple as possible and I don't need really anything else connected, I just want this working first.
I am using the linksprite RS485 Shield V2.1 from RS485 Shield V2 - DEV-12965 - SparkFun Electronics
Of the few tutorials I have seen online, none are much different than the one provided from the website.
Here it is Tuotorial of Using RS485 Shield V2 on Arduino | LinkSprite Learning Center
Most tutorials are about 2 arduinos communicating or something similar.
I'm currently using an Arduino Duemilanove however I will be switching to a sparkfun redboard soon.
In short, how do I wire up my temp controller to my arduino?
I need to make sure I am getting the right data and am using USB power from my computer for now, so I need to use SoftwareSerial.
I want to understand where the wires can and cannot go and why. So I also have a few basic electric questions to help build my knowledge base. In the tutorial link I posted, under the Wiring Diagram tab, you can see the 2 arduinos are only connected with 2 wires from the RS485 ports yet the description still mentions connecting other things as well. Here is the text from the Wiring Diagram
"Left RS485 module H2 485-A -> Right RS485 module H2 485-A
Left RS485 module H2 485-B -> Right RS485 module H2 485-B
Left RS485 P1 -> 3.3V Right RS485 P1-> 3.3V
Left RS485 P2 -> TX_CTRL Right RS485 P2-> TX_CTRL
Left RS485 D2 -> TX Right RS485 D2 -> TX
Left RS485 D3-> RX Right RS485 D3-> RX"
What is the reasoning for the 3.3V connection and TX_CTRL connection etc? RS485 only uses 2 wires, so why is all this necessary? Is this specific to communicating with 2 Arduinos? In my case I only have the 2 wires coming from my temp controller, do I need anything else for Modbus RS485 to work for me?
Here are some other base questions I am curious about,
-
On my Linksprite shield shown below, what is the difference between the RS485 ports labeled H1 and H2? Does my shield just have 2 ports to communicate with, even if 1 would be enough? Or are they supposed to work together?
-
What is that Pin/Port thing labeled P1, saying 5V and 3.3V, is it relevant for me?
-
What about the Pin/Port labeled P2? It says D9_CTRL and TX_CTRL. It seems weird to me that something labeled P1 and P2 aren't inversely labeled for having similar functions. Basically, when one says TX_CTRL, why doesn't the other say RX_CTRL, why is there a TX_CTRL and not an RX_CTRL, is 5V and 3.3V (Volts I know) supposed to be receiving voltage in between those values or?
Even if I don't have a specific question about something, if it seems I should know something related, please tell me! Does it seem like I am missing a big concept of circuits or RS485 connection?
Sorry for spamming beginner questions and info,
Remember I am only trying to communicate with a temperature device, not another Arduino so it should mean my circuit is a lot less complicated, correct?
So far the only thing I have done which I believe to be correct is put the black wire (Negative) into the Shield's H1 RS485 B and the red wire (Positive) into the RS485 A port. Since I need to use SoftwareSerial, how do I tell my arduino which ports to communicate with? Does the RS485 Shield just default to using the pins 0 and 1 (TX AND RX) Serial ports?
I feel like a lot of this stuff is stupid easy questions or common knowledge, but I am very new to circuits and RS485 so I apologize if the questions are entry level or don't make sense.
I have attached a photo of the RS485 shield I am using for quicker reference.
I greatly appreciate any and all help you can give.
Thank you! -Dillon
