claudeheintz / LXESP8266DMX

DMX Driver for ESP8266 using ArduinoIDE
BSD 3-Clause "New" or "Revised" License
31 stars 9 forks source link

Random values #7

Open antoniomechas opened 2 years ago

antoniomechas commented 2 years ago

Hello, I have been trying to use this library on a wemos lolin D1 mini pro in order to receive DMX. It works fine when all the channels are the same value. But when I send different values in different channels... ramdom blinks occur. Do you know how could I address this problem? Thanks for making this library! Antonio.

claudeheintz commented 2 years ago

I'm not familiar with that specific board. You might want to check that the UART input pin used by the library is not used by the USB serial hardware.

There are a couple of things that have to do with the DMX signal itself that might cause what you describe. The receiver circuit should have proper 120 ohm termination of the RS485 data lines. Also, it is important for clean DMX that you use 120 ohm cables, not 44 ohm mic cables. Mic cables work... sometimes... All sorts of odd echos can happen on DMX without proper termination or with improper cables. This is general DMX hygiene and not specific to this library.

The other issue can come from the timing of the DMX source. The library makes use of the ESP8266's hardware break detect interrupt. If for some reason, the break in the DMX signal is not long enough to trigger this, then the incoming data can be buffered out of sequence. You may be able to slow down the transmission rate at the source to guarantee a long enough break. Note that termination/impedance issues described above can also cause the DMX break detect not to fire.

antoniomechas commented 2 years ago

Hello Claude, Thanks for your answer. The funny thing is that I replaced the Lolin wemos d1 pro by a wemos D1 mini clone and it did work perfect.

Link to the lolin wemos d1 pro: https://www.wemos.cc/en/latest/d1/d1_mini_pro.html

Link to the wemos d1 mini: https://es.aliexpress.com/item/4000189912404.html

So I think the problem is related to some differences between the two boards. Pinouts are the same, and are suppose to be compatible between them. I'll try to find what could be causing this issue and report back if I find a solution. Thanks! Antonio.

El dom, 21 nov 2021 a las 21:15, Claude Heintz @.***>) escribió:

I'm not familiar with that specific board. You might want to check that the UART input pin used by the library is not used by the USB serial hardware.

There are a couple of things that have to do with the DMX signal itself that might cause what you describe. The receiver circuit should have proper 120 ohm termination of the RS485 data lines. Also, it is important for clean DMX that you use 120 ohm cables, not 44 ohm mic cables. Mic cables work... sometimes... All sorts of odd echos can happen on DMX without proper termination or with improper cables. This is general DMX hygiene and not specific to this library.

The other issue can come from the timing of the DMX source. The library makes use of the ESP8266's hardware break detect interrupt. If for some reason, the break in the DMX signal is not long enough to trigger this, then the incoming data can be buffered out of sequence. You may be able to slow down the transmission rate at the source to guarantee a long enough break. Note that termination/impedance issues described above can also cause the DMX break detect not to fire.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/claudeheintz/LXESP8266DMX/issues/7#issuecomment-974888140, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA5LTGFULVI4U75GSX2VSSLUNFHNHANCNFSM5IOMYJ7A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.