Ok here we go,
Summary..these units are no good.
Below are the notes I took whilst digging around.
Problem: Cyclic flicker.
Subject under test: Mini-DMX-3ch-v11 (on back of pcb lettering "designed by mcu_hui"(no net reference found). Using 20pin STC11F04E mcu.
confirmed LED PWM signal loss from output of mcu. Green is DMX into MCU p2. Yellow is PWM output to LED , note gap, long low.
- Long low, missing PWM signal to LED
DMX/PWR LED driven by mcu pin 1, sw10 on(Fun Mode). Glitch’s seen @
4.2seconds. Green is PWM signal to LED, yellow is glitch every 4.2seconds. Note glitch in sync with PWM gap
- Glitch found on pin every 4.1sec
mcu pinout:
DMX Input on pin 2, PIN3 Nc, pwm out on 6,7,8. PWM pin feeds direct to FET causing distortion.(not the best design)
Sw10 pulls low Pin9 for FUN mode. P11-19 DIPSW1-9 Addr.
DMX looks clean.
24mhz xtal (system clock) max 25mhz. Note: mcu datasheet indicates
4.1s watchdog@24mhz
Flicker pulse occurrence varies. (compared to DMX stream)
Pulse width varies (10-26ms)
Flicker is in sync with DMX/pwr LED. Occurs on the 4th sec on the High to low transition. (same as glitch see above).
Lifted pin1 from circuit, LED signal present on pin,(Sw10off ie DMX mode) no glitch seen on skt1. Flicker still present. Sw10 On(FUN mode) Glitch on Pin 1, skt high.
green PWM (note small black stripe, this is the flicker/gap)
in sync with High to low transition of yellow(mcu p1(dmx/power led)
- DMX/pwr LED seems to be "interrupted on its second pulse"
Note the DMX/pwr LED seems to be "interrupted on its second pulse" ie its shorter, there is no reason why you would program it this way.
NOTE: Even the Fun Mode are in cycles of 4 seconds. Changing the sw 1-7 to get more colours fails because after 4 seconds it resets.
ie Nothing works on this unit for more than 4 seconds.
Highly suspect mcu Watchdog is resetting mcu. Quite possibly in mass production(cloning) this has been missed ie left on. In good operation, mcu code that uses watchdog continually clears the watchdog timer so it never resets, If the code breaks or encounters a problem the timer is not cleared and thus creates an internal reset. Code that does not use the watchdog function does not clear the timer. So if the code has no timer clear and the batch chip programmer did not disable the watchdog function we would get exactly what we are seeing here.
If we knew the
source of these chips/pcbs it would be a very very simple fix..1 bit out of place in fact, very frustrating.
the Program memory may be unreadable(ie locked) either way I dont have an STC programmer to dig any further.
My
blog on the problem