Jump to content

DCS-BIOS, RS-485 and hardware related


Tekkx

Recommended Posts

Because we are at the DCS-BIOS discussion close to 300 posts (many Off Topic - partially blamed on me) I felt free to open a new thread :)

I suggest to discuss DCS-BIOS related hardware issues just here.

 

As I promised a few days ago (see here, if you want), I did some tests about current load and RJ-45.

 

My testing arrangement consists of

 

- Lab power supply 12V up to 5A

- RJ-45 connector

- Cat5 Patchcable 5 meters (factory compounded)

- Load (different halogen bulbs)

 

and the whole way back.

So I had 2 connectors and 5 meters (about 15 feet?) test track.

 

To tell the short story:

Att: All results are not scientific affirmed. Different systems are impacted by other important (or relevant) influences (e.g. heat accumulation under casings...)

 

Five Amps are definitely too much :) I made a short by accident and a trace at the PCB burned immediately in a very in-spectacular manner (means: without flames, smoke or explosions). So I have not to regret I don't made a Video ;)

This shouldn't be something new to most of us.

 

Right now runs a 20 W Halogen and the system is stable.

Amperemeter shows about 1.5 Amps for about one hour now.

Cable, connectors and PCB are slightly warm. Safe!

 

Voltage drop at 5 meters AWG 26 (incl connector contacts) is about 0.7 Volts per Lane (one wire, one way).

This was at 12V and 1.5 A.

 

So IMHO there is no need to go up to 24 Volts at the "Main-Bus" (contrary to my expectation)... besides you need it somewhere.

 

Conclusion:

This looks OK to me.

Weakest part of the chain are the traces at PCB.

RJ-45 connections are a comfortable and easy to use way to bring all devices into business.

Anyway I'd suggest not to exceed 1.0 Amp per wire.

Also I suggest NOT to use home made Patchcables. (History has teached me: If a Local Area Network (LAN) is broken: Look at the home crimped receptacles first!!!)

 

Voltage drop is not considerable since a NANO needs 7 Volts at least.

In my system I splash out one AMS1117-5.0 (fixed voltage regulator) to each MAX-487. So there are 5.0 Volts stable and I do not need a 5-Volts-Bus.

One AMS1117 is about 50 Cents (including chicken feed - 2 capacitors on IN and OUT). A small amount for a high value outcome.

 

If there are other heavy loads at your modules (e.g. Servos or Smoke'n'Smell-Generators*): Provide them with an extra Supply.

 

* Smoke'n'Smell-Generator is a device, that makes real Firefighters come to your house if DCS-BIOS sends e.g. ...LEngFire(0x10da, 0x0008, ...


Edited by Tekkx

Manual for my version of RS485-Hardware, contact: tekkx@dresi.de

Please do not PM me with DCS-BIOS-related questions. If the answer might also be useful to someone else, it belongs in a public thread where it can be discovered by everyone using the search function. Thank You.

Link to comment
Share on other sites

Hi Tekkx

thanks for starting this thread, I am also looking at network setup and saw

http://www.gearbest.com/other-accessories/pp_226467.html

 

Its a MAX485 TTL to RS-485 Module. I suppose the first simple question is 'will it work' with DCS BIOS. If that theoretically works, is it easier to use than making an RJ 45 based network?

 

Neal

Desktop PC:

Intel i7 14700K, MSI Z790 MAG Tomahawk MOBO, 64Gb RAM , GPU Nvidia RTX 3080ti

Windows 11, VPC joystick, Crosswind rudder peddles, HP Reverb G2, VPC Collective, DOF Reality H2, Gametrix seat, WinWing panels.

Link to comment
Share on other sites

Hey Bluethornton. Welcome to DCS-BIOS :)

 

Will it work? For that what I understand of those things: Yes. Thow we'd rather use MAX487. Difference is, you can "just" 32 of MAX485 bring in a daisy chain - MAX487 has the potential to connect up to 128 of them.

The MAX487 and MAX1487 feature quarter-unit-load receiver input impedance, allowing up to 128 MAX487/MAX1487 transceivers on the bus.

Look here where I cited from.

 

is it easier to use than making an RJ 45 based network?

 

Even if you use this device, you have to connect it somehow to your master and slaves. That's why we use (or: we're investigating this option) RJ-45 to bring all together. This has nothing in common with TCP/IP of a "normal" Network.

 

Practically you could make a network, but it is much easier to use RS-485 serial communication. We just (mis-)use the RJ-45 connectors.

 

In real world I'm in service for a radio broadcaster. Since "Radio" runs digital, there are many applications which use RJ-45 to connect audio- and/or control-devices. So in the future you have to have a closer look to a RJ-45 before you plug sth. in :)

 

You mustn't think, this (means: DCS-BIOS) came out of MY brain.

Your first reading should be [thread=141095] this Thread.[/thread]

I am just a very small part of this venture.

 

It's late (here is +1 hour of your local) and no time to tell the whole story. Read the thread and you'll understand what I talk about :)

PS: If you think: Wow, what a monster of Thread... I have no idea how many pages of manuals and instructions I've read during the last weeks to understand just a small part of the basics of serial communication.

 

As I wrote in the first line: Welcome!

You'll see: It's worth every minute you'll spend with it :)


Edited by Tekkx
slightly improved

Manual for my version of RS485-Hardware, contact: tekkx@dresi.de

Please do not PM me with DCS-BIOS-related questions. If the answer might also be useful to someone else, it belongs in a public thread where it can be discovered by everyone using the search function. Thank You.

Link to comment
Share on other sites

  • 2 weeks later...

Related to my original post http://forums.eagle.ru/showpost.php?p=2689040&postcount=309 I want to diskuss a new problem with RS-485. (I should add: I don't blame DCS-BIOS. It is still the greatest I've ever seen :))

I do not know how to post same picture twice. So you have to look there. Sorry :(

ATM I can't repeat cause a released cable flipped to somewhere at the NANO and it died in a small cloud. There should be some others somewhere....

 

I NEED A BETTER WORKPLACE! Sorry for screaming. Was a must have ;)

 

Communication seems to work but my hardware sends strange code.

this is the first time I am thinking about how to debug this stuff without an oscilloscope or logic analyzer at hand.

This is what Ian said and it meets my own thinking: How to debug this...

 

If everything were working as intended, you would get a line of human-readable text (such as "AAP_CDUPWR 1")

Good to know: It's the same as before :)

 

Master sketch is (same as Example, I don't have seen any reason to change anything)

/*
 Tell DCS-BIOS this is a RS-485 Master.
 You will need to flash this to a Mega 2560.
*/
#define DCSBIOS_RS485_MASTER

/*
 Define where the TX_ENABLE signals are connected.
 You can connect up to three half-duplex RS-485 transceivers.
 
 Arduino Pin             RS-485 Transceiver Pin
 TXn ------------------- DI (driver input)
 RXn ------------------- RO (Receiver Output)
 UARTn_TXENABLE_PIN ---- /RE, DE (active low receiver enable, driver enable)
 
 If you have less than three transceivers connected, comment out the corresponding
 #define UARTn_TEXENABLE_PIN lines for receivers that are not present.
*/
#define UART1_TXENABLE_PIN 2
//#define UART2_TXENABLE_PIN 3
//#define UART3_TXENABLE_PIN 4

#include "DcsBios.h"

void setup() {
 DcsBios::setup();
}

void loop() {
 DcsBios::loop();
}

While I read my own post I got this question: How will the Master know, which TX and RX it should use. TXenable_PIN is determined. TX and RX none.

Or is it inside #define UARTn_TXENABLE_PIN n ?

 

Slave sketch is (AAP)

/*
 AAP
 
 The following #define tells DCS-BIOS that this is a RS-485 slave device.
 It also sets the address of this slave device. The slave address should be
 between 1 and 126 and must be unique among all devices on the same bus.
*/
#define DCSBIOS_RS485_SLAVE 1

/*
 The Arduino pin that is connected to the
 /RE and DE pins on the RS-485 transceiver.
*/
#define TXENABLE_PIN 10
int AuxInstBltPin = 5; // PWM for Backlight
#include "DcsBios.h"

DcsBios::Switch2Pos aapCdupwr("AAP_CDUPWR", 4);
DcsBios::Switch2Pos aapEgipwr("AAP_EGIPWR", 2);
DcsBios::Switch3Pos aapSteer("AAP_STEER", A0, A1);

const byte aapPagePins[4] = {9, 7, 3, 8};
DcsBios::SwitchMultiPos aapPage("AAP_PAGE", aapPagePins, 4);

const byte aapSteerptPins[3] = {12, A2, A3};
DcsBios::SwitchMultiPos aapSteerpt("AAP_STEERPT", aapSteerptPins, 3);

void setup() {
 DcsBios::setup();
}

void loop() {
 DcsBios::loop();
}

// Backlighting
void onLcpAuxInstChange(unsigned int alt) {
  analogWrite(AuxInstBltPin, alt/512); // 512 is subject to try-and-error
} 
DcsBios::IntegerBuffer lcpAuxInst(0x114c, 0xffff, 0, onLcpAuxInstChange);

While the Backlighting division is still a building site.

 

I should have started with some more common things. Like MCB :)


Edited by Tekkx

Manual for my version of RS485-Hardware, contact: tekkx@dresi.de

Please do not PM me with DCS-BIOS-related questions. If the answer might also be useful to someone else, it belongs in a public thread where it can be discovered by everyone using the search function. Thank You.

Link to comment
Share on other sites

While I read my own post I got this question: How will the Master know, which TX and RX it should use. TXenable_PIN is determined. TX and RX none.

Should this be the fault?

 

UART1_TXENABLE_PIN corresponds to the RX1 and TX1 pins, UART2_TXENABLE_PIN to RX2 and TX2 and UART3_TXENABLE_PIN is for RX3 and TX3. If the TXENABLE pins were mixed up in your setup, you would have a floating TXENABLE pin (because the other two transceivers are disabled by the commented-out TXENABLE #defines), which could cause all sorts of semi-working behavior -- electromagnetic interference can be weird like that.

 

When you operate the same switch repeatedly, do you get the same (garbage) data every time or does it change?

 

I am currently thinking about a few different tests we could set up. For example, you can connect a MAX487 transceiver to one of those USB-to-UART adapters and tie the RX_ENABLE pin to +5V. That gives you a way to see what is happening on the RS-485 bus, assuming the data is valid (e.g. no two transceivers trying to talk at the same time and no framing errors).

 

If you make two of those constructs, you can listen on two different places on the bus at the same time and compare the data you receive. If there is a difference, there must be a hardware problem.

 

You should also order one of these $7.20 logic analyzers. They are cheap knockoffs of the original Saleae Logic 8 / USBee AX designs (not much more than just a breakout board for a particular Cypress chipset -- the reason normal commercial logic analyzers cost hundreds of dollars is the high-quality software they come with). You can use them with the open source sigrok project.

 

From my experience with such a device and sigrok under Windows, it is not rock solid above 4 to 6 MHz sample rate and with multiple channels (the capture just stops randomly after about 30 seconds to two minutes), but it's good enough to capture two or four channels at 4 MHz sample rate, which is all you need for a 0.25 Mbps serial channel.

 

On Linux, I had better results, with stable capture on 8 channels at up to 12 MHz sample rate.

Link to comment
Share on other sites

"You should also order one of these $7.20 logic analyzers. They are cheap knockoffs of the original Saleae Logic 8 / USBee AX designs (not much more than just a breakout board for a particular Cypress chipset -- the reason normal commercial logic analyzers cost hundreds of dollars is the high-quality software they come with). You can use them with the open source sigrok project." Are you a mind-reader in your spare time [FSF]Ian? :) I was going to contact you and ask you to recommend a value for money logic probe but you beat me to it. Thanks m8.

Windows 7 64 Home Premium, i5 3570K (3.4 @ 4.4GHz), Asus P8Z77-V LX, 16GB dual channel 1600 ram, EVGA Nvidia GTX980ti, 240 GB OCZ SSD, 3 TB Raptor, Thrustmaster Warthog Hotas and Throttle, Saitek Pro Combat Rudder pedals.

Link to comment
Share on other sites

Until the fresh ordered (you see: I follow your proposals) testing kit will arrive, I want to get some theoretical.

As many times before I did some thinking (at work, of course) :)

 

My Breakout Boards at Master- and Slave-Side are in 2-Layer-Layout. There was no other way to bring RJ-45, MAX487 and power supply together.

So the traces are going crisscross.

Ground, Power (12 and 5 Volts) and most signal lines "touching" somewhere.

 

I do not know anything about the quality of my power source and have no option to check this. It is a electronic switching power supply (Wall-Wart) and delivers 12.0 +/-0.6 Volts stable (as I can evaluate with a handheld Multimeter).

 

I have no Filters or shields (except the RJ-45-Shield and the caps on AMS1117-5,0).

Also I ran my tests without Termination and Failsafe-Resistors. No connection exceeds 15 cm (6"). So I have seen no reason to add this. Signal reflections shouldn't be detectable.

 

My actual thought was: How sensitive is our construct against such influences as pulsing DC (just supposed) or crosstalk of sth to sth?

My gut feeling says "not much".

 

Maxim wrote in the datasheet of MAX487:

...The receiver input has a fail-safe feature that

guarantees a logic-high output if the input is open circuit...

What is your assessment of the situation?


Edited by Tekkx

Manual for my version of RS485-Hardware, contact: tekkx@dresi.de

Please do not PM me with DCS-BIOS-related questions. If the answer might also be useful to someone else, it belongs in a public thread where it can be discovered by everyone using the search function. Thank You.

Link to comment
Share on other sites

Your power source should be fine. Its quality does not matter too much anyway because there's a 5V linear regulator between it and the electronics. If you have some specific reason to mistrust it, you could grab a very clean 12V feed from a PC power supply or disconnect the 5V regulator (desolder if you have to) and power the board's +5V line directly from the PC power supply or a USB port.

 

I don't expect termination or bias resistors to be needed below a bus length of 10 meters. Your setup is way below that.

 

Can't say much about crosstalk, as I don't have any experience with it, let alone a theoretical background of how it works (I know that it exists and the basic principles of how it works, but I have no idea of how to quantify it).

 

The software should be able to recover from short transient faults (such as interference on the bus caused by hotplugging a new slave device), but that timeout mechanism has not been tested a lot yet. On the other hand, as long as the TX/RX LEDs keep flashing, the software has not hung itself in a deadlock and there's a pretty good chance it's still operating as intended.

 

You can try to set your RS-485 slave address to 0 ("#define DCSBIOS_RS485_SLAVE 0"). Address 0 will never be polled, so the slave device should not try to send anything. To make extra sure, disconnect the TX_ENABLE line from the Arduino and tie it to ground.

Then see if you can get an output (such as a Master Caution LED on pin 13) to work over RS-485.

Link to comment
Share on other sites

Now everything works fine.

Reason of fault was - and this shows the urgency of some debugging equipment - a faulty MAX487.

There was an "almost short" between RO and RE/DE by some relict of solder paste. IMHO I cleaned it accurate. It wasn't to see, under the pins.

While most of you use the MAX487 in a DIP I put my luck on the SO package... and failed.

 

As it works now it shows another advantage of RS-485 against USB:

I have not count how often I restarted DCS after uploading a new sketch with a very little change and stared at the loading bar (just enough time to roll another cigarette).

Now this runs this way:

Plug off RJ-45 (airborne, if you want - cowards use Autopilot, pls), plug in USB, upload the new sketch, replug it to RJ-45: Flap! It works (if not, goto 1) :)

 

Not even connect-serial-port.cmd has to be restarted.

 

Really really good.

That's fun.

 

Thank you so much, Ian :)


Edited by Tekkx

Manual for my version of RS485-Hardware, contact: tekkx@dresi.de

Please do not PM me with DCS-BIOS-related questions. If the answer might also be useful to someone else, it belongs in a public thread where it can be discovered by everyone using the search function. Thank You.

Link to comment
Share on other sites

  • 3 months later...

Now, with the help of some friends (almost all are users of electronics forums), my family (they gave me some degrees of freedom) and my employer (they gave me not too much load) I managed to bring a first stack of RS485/DCS-BIOS-Devices into life.


Edited by Tekkx

Manual for my version of RS485-Hardware, contact: tekkx@dresi.de

Please do not PM me with DCS-BIOS-related questions. If the answer might also be useful to someone else, it belongs in a public thread where it can be discovered by everyone using the search function. Thank You.

Link to comment
Share on other sites

  • 4 months later...

Can I make a branch off RS485-Bus?

 

To return to the Thread's titel I want to become some more essential.

 

I did some thinking about DCS-BIOS and RS485. So came the quest: What if a SimPit-Module needs more than one AVR-Board. Modules with Gauges, driven by steppers could easily run out of Arduino-Pins.

 

So I made a construction, called "Expansion-Board". This board is to hook up to an existing RS485-Interface-Board and provides an interface for one, two or more MAX487 to connect further Arduino to.

The problem is, if we want to use standardized Interface-Boards (like me).

 

I made a fast sketch by pencil and paper and took a photo of this "construction".

As I am able to quick release prototyped boards I already made a sample that works.

 

Where's the problem, if it works???

 

My fear is, if it workes on the desk, will it work under life conditions?

I have just a very few modules to couple with. So I can't say what will happen if there are 100+ modules are linked.

The "Main-"Bus is not broken, instead I make a "branch", where RS485-A and RS485-B forked to a second MAX487.

ExpansionBoards are stacked on top of one another. The total length of this branch will not exceed 20 cm (see photos).

I don't know ATM how many EBs I can stack.

 

Please risk an eye at my sketch and tell me, what you think (or better: know).

I'm not good at theory. My attempt should work (electrically - if we would drive incandescent bulbs). But I have no idea what will happen to the signals, rushing through the Bus.

IMG_20161029_SketchRS485.thumb.jpg.0fc5291ebf43a9802fcac54912e33e1a.jpg

DSCF5494.thumb.JPG.af6adbdbd52be13df8f2eb7e1fa213fd.JPG

DSCF5497.thumb.JPG.9ca1753656eea1bbe28bc1cfab250c51.JPG

DSCF5496.thumb.JPG.f7126301db1dda2428fa2b757653c102.JPG


Edited by Tekkx
added a photograph

Manual for my version of RS485-Hardware, contact: tekkx@dresi.de

Please do not PM me with DCS-BIOS-related questions. If the answer might also be useful to someone else, it belongs in a public thread where it can be discovered by everyone using the search function. Thank You.

Link to comment
Share on other sites

Hi Tekkx

 

Good to see your progressing with the RS-485 bus. Since you are looking at various possibilities for running your pit from the bus I thought I thought I might throw my ideas into the works.

 

I had first considered running everything from a single MEGA as a master but I had some reservations as to how many slaves I would end up having and what if there were performance issues or wiring problems or whatever. Then there was the actual building of the bus and how I wanted to have the cockpit assembled. Did you ever see that video Tacno made about how his pit breaks into 3 pieces and how he pulls it out and assembles it in just a few minutes. Thats what inspired me to build in three sections as he did. Not that I will be pulling it apart all the time to store it, but it made sense to build it that way for ease of physically working with it, testing it and trouble shooting it. Considering how much money have have already spent on my pit, the cost of a few more MEGA's was insignificant. I also figured that this was the spinal cord of all communications within the cockpit so to speak, so lets not skimp on anything related to this part of the pit. To that end I am planning on using 3 separate MEGA's. Each as a master. One for the right console, one for the left and one for the MIP. The EMI is a separate component entirely. It will be running off of a Chipkit 32 board and will not be part of the bus. The Arduino Pro Mini, Mega and Nano, at 16 Mhz just won't handle ALL of the gauges in the EMI. Hence the use of an 84Mhz board.

 

MEGA's sell for under $12.00 a piece so why not use three masters for the entire pit. It reduces any possible strain on the bus as the number of slaves are cut into thirds. Also, it makes it much easier to troubleshoot the cockpit if its divided into three separate sections. More importantly it keeps it SIMPLE. A very important concept I have learned to appreciate.

 

So that's how I am building my RS-485 bus...correction... that's how I'm building three RS-485 buses. And I can run any of the three sections independent of the other two. The plan is, when I finish the first console, I'll run it for a few days of trials and testing. Then I'll add the second console (when its finished that is:music_whistling:) and do the same. Then I can see how they perform together. Finally I'll introduce the MIP into the works (again when its finished) and hopefully I'll have a fully functional, problem free (:music_whistling:) finished cockpit.

Regards

John W

aka WarHog.

 

My Cockpit Build Pictures...



John Wall

 

My Arduino Sketches ... https://drive.google.com/drive/folders/1-Dc0Wd9C5l3uY-cPj1iQD3iAEHY6EuHg?usp=sharing

 

 

WIN 10 Pro, i8-8700k @ 5.0ghz, ASUS Maximus x Code, 16GB Corsair Dominator Platinum Ram,



AIO Water Cooler, M.2 512GB NVMe,

500gb SSD, EVGA GTX 1080 ti (11gb), Sony 65” 4K Display

VPC MongoosT-50, TM Warthog Throttle, TRK IR 5.0, Slaw Viper Pedals

Link to comment
Share on other sites

Hi Warhog.

Thats really funny. YOUR amazing work on your gauges (peeping time to time your gallery) made me thinking of my ExpansionBoard.

 

Your way to split the whole shit to several busses is quiet good. I am 100% with you.

 

My attempt targets to another point: The goal is, that each single module has (at the end) one single connector RS485-IN and one single conn RS485-OUT (maybe additional an external power supply connector, Cat6 get slightly warm above 2 Amps.). So you can remove each module (for what reason ever) separate from the pit (like at the real bird).

Some modules (maybe) will become a kind of hungry of Arduino-Power so a single NANO, UNO or MEGA won't do the job. So came my idea to split the bus just inside those modules for feeding another (or even two) Arduino. But the whole module is still connected by mentioned two connectors. HSI could be a candidate for this.

You are the expert in making instruments. You will have an idea, how much steppers just the HSI consumes and how much pins these steppers will need.

Imagine: you remove just some screws, two (or three) connectors and lift off your compact designed HSI from the pit (for doing some maintenance e.g.)

 

Wouldn't this be great?


Edited by Tekkx

Manual for my version of RS485-Hardware, contact: tekkx@dresi.de

Please do not PM me with DCS-BIOS-related questions. If the answer might also be useful to someone else, it belongs in a public thread where it can be discovered by everyone using the search function. Thank You.

Link to comment
Share on other sites

Hi Warhog.

Thats really funny. YOUR amazing work on your gauges (peeping time to time your gallery) made me thinking of my ExpansionBoard.

 

Your way to split the whole shit to several busses is quiet good. I am 100% with you.

 

My attempt targets to another point: The goal is, that each single module has (at the end) one single connector RS485-IN and one single conn RS485-OUT (may additional an external power supply connector). So you can remove each module (for what reason ever) separate from the pit (like at the real bird).

Some modules (maybe) will become a kind of hungry of Arduino-Power so a single NANO, UNO or MEGA won't do the job. So came my idea to split the bus just inside those modules. HSI could be a candidate for this.

You are the expert in making instruments. You'll will have an idea, how much steppers just the HSI consumes and how much pins these stepper will need.

Imagine: you remove just some screws, two (or three) connectors and lift off your compact designed HSI from the pit (for doing some maintenance e.g.)

 

Wouldn't this be great?

 

Yes indeed. And that has been my overall philosophy when designing the panels for my cockpit.

 

With a few exceptions, I have always tried to maintained the concept of providing individual modules for each of the consoles. To that end, each module has its own RS-485 "IN/OUT" breakout board. This provides me with an easy way to confirm that each module is functioning properly before it actually gets installed into the console. My ILS, Tacan, AAP, CLP, CMSP and CDU are all designed as individual modules. Each module is removable and totally independent from the others. And as I previously mentioned I included into the design of each PCB a MAX-487 IC with IN/OUT connectors.

 

I did however treat the radio stack as one complete module. As much as they visually appear as three separate panels, I built them as one. There were several reasons for doing this but the main reason was their similarity of purpose. I set it up so that all of the 7 seg displays run from one Arduino board. All of the switching runs from a second board. It was just easier this way. Had I been smart, I would have daisy chained all of the MAX7219 ICs for even more simplicity. But I forgot that you could do that.

 

As to stepper motors, I have pretty much adopted the Easy Driver (ED) board for virtually all of my stepper motors. The ED board only requires a step and direction pin to drive the motors instead of four pins which are typical of bipolar stepper motors. However, that said, you may find that you cannot drive more than maybe 2 to 3 motors from one Arduino board because of the boards speed. 16Mhz is rather limiting as I have discovered. But there is nothing wrong with using one Pro Mini, one MAX-487 and one ED board for one gauge. Pro Minis are around $1.80 each, ED Boards about the same. Say $4.00 per gauge plus $3.50 for the motor. Thats fine. Thats not exorbitant at all.

 

I'll have more pics to update my photo library soon so you can see how I handled a few things. I'll post when I have them in place.

Regards

John W

aka WarHog.

 

My Cockpit Build Pictures...



John Wall

 

My Arduino Sketches ... https://drive.google.com/drive/folders/1-Dc0Wd9C5l3uY-cPj1iQD3iAEHY6EuHg?usp=sharing

 

 

WIN 10 Pro, i8-8700k @ 5.0ghz, ASUS Maximus x Code, 16GB Corsair Dominator Platinum Ram,



AIO Water Cooler, M.2 512GB NVMe,

500gb SSD, EVGA GTX 1080 ti (11gb), Sony 65” 4K Display

VPC MongoosT-50, TM Warthog Throttle, TRK IR 5.0, Slaw Viper Pedals

Link to comment
Share on other sites

  • 3 months later...

Hey guys, I am about to spin off a RS485 LED board and I dont know if I missed it or it wasnt explicitly stated for the connections to the MAX487.

 

Here is the connections to the nano:

 

TX-DI

RX-RO

D2-DE AND RE (these are supposed to be tied together correct?

 

I just want to make sure I dont miss anything and find out 2 weeks later that I screwed it up.

 

Thank you.

Link to comment
Share on other sites

The connections are correct.

 

If you haven't already, you should include a jumper on the RO->RX connection so you can disconnect the MAX487 when uploading a new program to the Nano. Otherwise you'd have to unplug the entire Nano board whenever you want to upload new software.

 

Whenever the MAX487 chip is connected and its RE pin is low, it will output a signal to the Arduino's RX pin. The on-board USB-to-serial converter will also always try to drive that pin. To resolve that conflict, the on-board converter is connected via a 1K series resistor, so it will lose whenever something else (with a direct connection to the RX pin) wants to drive that pin. This is exactly what you want in normal operation, but when uploading a program, you obviously want the USB-to-serial converter to win.

 

The disconnect circuitry would have to be more complex if you also wanted to ensure that the MAX487 is disconnected from the RS-485 bus, but that won't be an issue. Even if the MAX487 puts garbage data on the bus, the logical protocol should recover within a few milliseconds (it resets after a timeout if it sees unexpected data). Any export data that was messed up as a result will be fixed by the auto-retransmit mechanism within about 10 seconds. The short-circuit protection in the transceiver chips will prevent damage if two devices try to drive the RS-485 bus at the same time.

Link to comment
Share on other sites

  • 6 months later...

Alternative Bus-Transceiver found

 

Hallo, Community.

I have to make a small announcement:

 

By accident I found an alternative Transceiver for our RS-485-Bus. Some of you will already know, but I have to tell the story to the others. :)

 

While troubleshooting my existing system (means: reading of "some" paperwork across the internet) I found the Texas Instruments DS36276.

 

They promote it as Failsafe Multipoint Transceiver. Exactly what we need. So I ordered some of these, and what is to tell: They work like a charm.

It's 100% pin- and voltage-compatible to the Max487. So you can use your old PCBs and even a mixed system (as I have it here) is no problem.

 

OK. I brought it to life at the same time as Ian commited his dcs-bios-v0.5.5 and maybe the success is just to honor to him.

But if your hands closer to the DS36276 as to the MAX487 it will be a good choice.

 

I have a DCS-BIOS Master hanging arround here, running 24/7 for about 15 days (says Task-Manager) now. Plugged and unplugged the Bus-(Slave)Modules uncounted times and it is still running.

 

What a joy.

Manual for my version of RS485-Hardware, contact: tekkx@dresi.de

Please do not PM me with DCS-BIOS-related questions. If the answer might also be useful to someone else, it belongs in a public thread where it can be discovered by everyone using the search function. Thank You.

Link to comment
Share on other sites

  • 5 years later...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...