GithubHelp home page GithubHelp logo

Comments (4)

Theexternaldisk avatar Theexternaldisk commented on May 25, 2024 1

ohh man, I'm such an amateur :)
Turns out the A or B line was shorted to the DMX ground....
Soldered my own PCB to hold all the modules I need but must have mist this one solder bridge.
Well great work on the library works like a charm.

from esp_dmx.

someweisguy avatar someweisguy commented on May 25, 2024

Thanks for the question and the excellent troubleshooting so far. It's funny that you ask about the Elecrow RS485 module. I just got a similar question about it on Reddit. Though perhaps you are the same person that asked me about it on Reddit?

I don't own one of these Elecrow RS485 modules but I just bought one. It should be here in 1 to 2 weeks. There doesn't appear to be a circuit diagram for the Elecrow module, so that makes troubleshooting difficult. But what I can see is that the Elecrow module does not have an RTS pin. The RTS pin is used to control the RS485 module to tell it when to act as a transmitter or a receiver. Because the Elecrow module doesn't have an RTS pin, I am assuming that it automatically switches between transmit mode and receive mode. Typically, this can be done by switching to transmit mode when the RS485 module detects a 1 on the TX pin. When the RS485 module detects a 0 on the TX pin, it switches to receive mode.

If this is indeed what is happening, this could be a problem. At the start of every DMX packet, the DMX transmitter needs to transmit a DMX break. The DMX break is essentially a long 0. I think that because the Elecrow module only transmits when the TX pin is high, it is unable to transmit the DMX break.

I could be totally incorrect here. It is difficult to say because there is no circuit diagram for me to verify. We may just have to wait a few weeks until my Elecrow module arrives and I am able to do some testing.

In the meantime, here are a few more things that you can try:

  • Swap the TX and RX pins and see what happens. It could be that they are just reversed.
  • If you have an additional ESP32, you can upload the DMX write example to one ESP32 and the DMX read example to the other. Then, instead of plugging your ESP32s into an RS485 modules, plug the TX pin of the transmit ESP32 into the RX of the receive ESP32. If you are able to receive DMX this way, then we know it isn't the library or the ESP32 that are the problem.

from esp_dmx.

Theexternaldisk avatar Theexternaldisk commented on May 25, 2024

Hi,
No I'm not the same person as on reddit.
Sorry forgot to add the schematic I found of this module: https://webshop.domoticx.nl/image/catalog/modbus/RS485%20naar%20RX-TX%20TTL%203.3V%205V%20omvormer%20module%20SP3485/RS485%20naar%20RX-TX%20TTL%203.3V%205V%20omvormer%20module%20SP3485%20schema.png
The module is set to be in read mode while not transmitting data.
Also forgot to say that I've got two of these working one as a transmitter on the ESP32 DEVKIT and one as a reciever on an ESP-C3 mini. Which works flawlessly, it sends and recieves data without any problem.
I'll try hooking it up to an oscilloscope tomorrow.

from esp_dmx.

someweisguy avatar someweisguy commented on May 25, 2024

I'm glad you got it figured out! Hardware is difficult. I'm currently waiting on v4 of my PCB to come in because I messed up the previous three so far. D'oh.

Let me know if you have any other questions or concerns!

from esp_dmx.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.