Dead Dinosaur (animatronic).

Thread Starter

v-8 volvo

Joined Mar 29, 2011
41
A few years ago, I was hired by a local amusement park to look at a dead dinosaur
(animatronic). The controller box had two bad power supplies. One 5 volt and one 5/12 volt unit. Crispy critters they were. I sourced almost identical replacements with a slightly higher amperage rating. These two supplies feed a microcontroller board with a few 40 pin chips and no SMDs, two 4 channel servo driver boards, and a separate audio board/amplifier. Also plugged in to the microcontroller board is an MP3 embedded module with an SD memory card. Upon replacement of the power supplies, the controller worked perfectly: cheesy dinosaur roar and the 8 servo motors made the T-rex do his dance moves. All was well until recently.
After opening the case and expecting to see missing/vaporized components, I was surprised to see none of that. I plugged the power cord in and turned the unit on.
Both power supplies had output voltages at spec. A couple of activity leds on the MP3 module lit up, the audio module had a power light, and the servo controller had power present (there are no LEDs on the servo boards, but there are 8 LEDs on the front panel, one for each servo)
I checked the SD card to see what was on it, and found a 91kb audio file of a dinosaur roar, but nothing else. Could the rest of the program be on one of the 40 pin chips?
None of the boards have any manufacturer or model info. I will attach a bunch of photos.
The customer is desperate to get this thing back online, and I'm hoping someone can point me in the right direction.
Thank you in advance.
Mike C.
20230713_230227.jpg20230713_230118.jpg20230713_230126.jpg20230713_230135.jpg20230713_230147.jpg20230713_230357.jpg
 
Last edited by a moderator:

MrChips

Joined Oct 2, 2009
29,861
Your first step is to identify that STC MCU (U1).

See if you can adjust the lighting so that we can read the markings on U1.
 

JohnInTX

Joined Jun 26, 2012
4,782
The general component layout suggests an STC89C52 (updated 8051) or similar at U1. The locations of the 12MHz XTAL, MAX232 / UART and ‘LS373 latch for the 8255s vs. 8051 pin out is consistent with an expanded 8051-class system. It is missing one 3-port 8255 at least so maybe the problem is just missing IO? Program ROM and RAM would be on U1.
The back biased diodes on the bottom are also consistent with a commonly used 8051-class input scheme back in the day to allow >5V inputs by back biasing the diode on a high and letting the internal pull-up pull to a ‘1’.
Best guess, good luck!

https://www.stcmicro.com/datasheet/STC89C51RC-en.pdf
https://www.renesas.com/us/en/document/dst/82c55a-datasheet
 
Last edited:

Ya’akov

Joined Jan 27, 2019
8,565
Welcome to AAC.

@JohnInTX's analysis is very good, and far above my practical experience with this processor but I have a basic question. Is there anything visible on the serial interface?
 

Thread Starter

v-8 volvo

Joined Mar 29, 2011
41
The general component layout suggests an STC89C52 (updated 8051) or similar at U1. The locations of the 12MHz XTAL, MAX232 / UART and ‘LS373 latch for the 8255s vs. 8051 pin out is consistent with an expanded 8051-class system. It is missing one 3-port 8255 at least so maybe the problem is just missing IO? Program ROM and RAM would be on U1.
The back biased diodes on the bottom are also consistent with a commonly used 8051-class input scheme back in the day to allow >5V inputs by back biasing the diode on a high and letting the internal pull-up pull to a ‘1’.
Best guess, good luck!

https://www.stcmicro.com/datasheet/STC89C51RC-en.pdf
https://www.renesas.com/us/en/document/dst/82c55a-datasheet
I am the only person that has worked on this unit, and that I/O socket has always been empty.
 

Thread Starter

v-8 volvo

Joined Mar 29, 2011
41
Welcome to AAC.

@JohnInTX's analysis is very good, and far above my practical experience with this processor but I have a basic question. Is there anything visible on the serial interface?
I hope I don't scare anyone off, but unfortunately, I am ill-equipped in skills and test equipment. I've always been a tinkerer. I went to school many years ago and got my FAA Airframe and Powerplant licenses, Followed with an Avionics Repairman Certificate and FCC GROL. I never received much training on the oscilloscope or component level troubleshooting. The instructors had me doing avionics installations instead, because I had my Airframe license. I felt short-changed, but have been able to muddle through power supply issues including SMPS types.
I know I'm in over my head with this sick dinosaur, but wasn't anticipating this kind of problem. I'm hoping a kernel (or bushel) of wisdom and info from this community can help me be successful in this endeavor.
 

Thread Starter

v-8 volvo

Joined Mar 29, 2011
41
Now that IC U1 is identified as STC 89C52RC, we can probe the pins.
Do you have access to an oscilloscope?

https://stcmicro.com/datasheet/STC89C51RC-en.pdf
89C51 has 4k ROM
89C52 has 8k ROM

Atmel 89C52 pin diagram

View attachment 298323
I can probably scare one up. I am employed by a local Indian casino, and was able to grab some Sencore Test equipment before it went in the dumpster. An isolation transformer and capacitor/inductor tester. A co-worker snagged a couple of B&K 100 meg scopes. I'll see if I can borrow one.
 

Thread Starter

v-8 volvo

Joined Mar 29, 2011
41
I can probably scare one up. I am employed by a local Indian casino, and was able to grab some Sencore Test equipment before it went in the dumpster. An isolation transformer and capacitor/inductor tester. A co-worker snagged a couple of B&K 100 meg scopes. I'll see if I can borrow one.
BTW: I verified VCC is present at all chips on processor board. Probably no surprise as its just a pair of buss lines running from the 4 pin pwr connector to all sockets?
 

Thread Starter

v-8 volvo

Joined Mar 29, 2011
41
BTW: I verified VCC is present at all chips on processor board. Probably no surprise as its just a pair of buss lines running from the 4 pin pwr connector to all sockets?
I need to walk away from this for a bit and let my brain cool down. I probably won't have access to an oscilloscope until tomorrow. It's the last Friday of my "Summer Vacation" and I need to do something fun, like try a paddleboard someone gave me.
 

JohnInTX

Joined Jun 26, 2012
4,782
Re-reading the original post are we correct in assuming that NONE of the actual logic functions are working? i.e. Does the sound module actually work or are the activity LEDs flickering at random? It looks like it's driven by U17 and if it works, that would mean that the processor and at least some of the external bus and decoding are working.
 

JohnInTX

Joined Jun 26, 2012
4,782
For consideration:
You indicate the system just failed on its own so I'd begin with:

Power supply (it looks OK according to your post)
Connection problems: cracked solder joint, light corrosion on an IC pin etc. I would carefully inspect both sides of the board for any connection/soldering issues - corroded pins, cracked joints etc. especially along the data bus. Consider carefully removing and re-seating all of the ICs to clean the contacts. Be sure that the contacts on the sockets are tight on the IC pins.

Is the processor running? Try to verify the processor is at least cycling by looking at ALE with the scope. There should be lots of activity on ALE as the uC accesses the 8255 IO and it should look like the bus timing diagrams in the datasheets. Make sure EA/ on the processor is high and RST is low. Note that RST has to be high on power up to reset the uC before dropping low to allow it to run.
Be sure that any signal observed swings a good logic high and low.

If ALE is not cycling, check the oscillator by probing pins 18 and 19 with a scope. With a 10X probe you should see at least something like a 12mhz oscillator running. Bad crystals can happen and can be broken by excessive vibration, impact etc.

If ALE IS cycling, it likely connects to pin 11 of the 'LS373 to latch the IO address on each external IO operation. Verify pin 1 on the '373 is low. The '373 is the glue that hooks up all of the 8255 IO to the processor and it looks like it is set up for 8 bit data memory mapped IO.
Try hooking an RS232 terminal to the serial port and cycling the power. 9600,N,8,1 is a common setup with these. See if you get a prompt when you hit ENTER. You may have to try other baudrates. Don't hit ':'. If you get any recognizable text, the processor is probably OK. If not, it could be dead or the serial port is not implemented as a simple terminal.

If the processor seems OK, See if any of the stuff connected to the non-8255 IO is working.

The likely '373 hookup would have the processor's data bus connected to the '373 latch inputs to latch an 8 bit address for extended data memory. 8255 IO control signals are mapped using this 8 bit address. A typical setup would be to assign A1-A0 to the LSbits of the data bus and each 8255 chip select to one of the remaining bits. Buzz those out. Go from the processor pin (A0 for example) to an input of the '373 then the corresponding '373 output to the A0 pins of the 8255s.
If I were to change one easy chip, it would be the LS373 since it manages those many necessary signals.

Hopefully, the program and processor core are intact and it's some external issue that can be resolved.

FWIW, the image in #6 shows something (goop?) between the '373 and the 8255. Make sure the trace there is OK. Also in the same image, from the upper right hand corner of the MAX232, 3 traces to the right shows a track that appears to be broken under the solder mask. It probably was there from the beginning but would be nice to know where it went. Sometimes PCB problems are masked by a copper thread spanning the break that later severs and breaks the circuit.

Kind of a shotgun approach but hopefully there is something useful here for you. Enjoy your break and let us know how it's going.
 
Last edited:

Thread Starter

v-8 volvo

Joined Mar 29, 2011
41
Re-reading the original post are we correct in assuming that NONE of the actual logic functions are working? i.e. Does the sound module actually work or are the activity LEDs flickering at random? It looks like it's driven by U17 and if it works, that would mean that the processor and at least some of the external bus and decoding are working.
That is correct. No logic functions. The sound module has a power light, and the MP3 module has two LEDs. One that flashes once and goes out. The second one stays on.
Nothing on the 8 LEDs on the front panel. I connected my Bluetooth speaker to the audio module and all you get is a constant hum.
 

JohnInTX

Joined Jun 26, 2012
4,782
OK. Poke around as suggested and see if there is anything easy to find out. The other members will probably have ideas as well.
Good luck!
 

Thread Starter

v-8 volvo

Joined Mar 29, 2011
41
For consideration:
You indicate the system just failed on its own so I'd begin with:

Power supply (it looks OK according to your post)
Connection problems: cracked solder joint, light corrosion on an IC pin etc. I would carefully inspect both sides of the board for any connection/soldering issues - corroded pins, cracked joints etc. especially along the data bus. Consider carefully removing and re-seating all of the ICs to clean the contacts. Be sure that the contacts on the sockets are tight on the IC pins.

Is the processor running? Try to verify the processor is at least cycling by looking at ALE with the scope. There should be lots of activity on ALE as the uC accesses the 8255 IO and it should look like the bus timing diagrams in the datasheets. Make sure EA/ on the processor is high and RST is low. Note that RST has to be high on power up to reset the uC before dropping low to allow it to run.
Be sure that any signal observed swings a good logic high and low.

If ALE is not cycling, check the oscillator by probing pins 18 and 19 with a scope. With a 10X probe you should see at least something like a 12mhz oscillator running. Bad crystals can happen and can be broken by excessive vibration, impact etc.

If ALE IS cycling, it likely connects to pin 11 of the 'LS373 to latch the IO address on each external IO operation. Verify pin 1 on the '373 is low. The '373 is the glue that hooks up all of the 8255 IO to the processor and it looks like it is set up for 8 bit data memory mapped IO.
Try hooking an RS232 terminal to the serial port and cycling the power. 9600,N,8,1 is a common setup with these. See if you get a prompt when you hit ENTER. You may have to try other baudrates. Don't hit ':'. If you get any recognizable text, the processor is probably OK. If not, it could be dead or the serial port is not implemented as a simple terminal.

If the processor seems OK, See if any of the stuff connected to the non-8255 IO is working.

The likely '373 hookup would have the processor's data bus connected to the '373 latch inputs to latch an 8 bit address for extended data memory. 8255 IO control signals are mapped using this 8 bit address. A typical setup would be to assign A1-A0 to the LSbits of the data bus and each 8255 chip select to one of the remaining bits. Buzz those out. Go from the processor pin (A0 for example) to an input of the '373 then the corresponding '373 output to the A0 pins of the 8255s.
If I were to change one easy chip, it would be the LS373 since it manages those many necessary signals.

Hopefully, the program and processor core are intact and it's some external issue that can be resolved.

FWIW, the image in #6 shows something (goop?) between the '373 and the 8255. Make sure the trace there is OK. Also in the same image, from the upper right hand corner of the MAX232, 3 traces to the right shows a track that appears to be broken under the solder mask. It probably was there from the beginning but would be nice to know where it went. Sometimes PCB problems are masked by a copper thread spanning the break that later severs and breaks the circuit.

Kind of a shotgun approach but hopefully there is something useful here for you. Enjoy your break and let us know how it's going.
You guys don't know how much this means to me. There used to be a Sparkmaker Space across the river from us. I was going to join until I found out some high end restaurant was taking over. I guess square footage is too valuable to "waste" on techno geeks
 

Thread Starter

v-8 volvo

Joined Mar 29, 2011
41
You guys don't know how much this means to me. There used to be a Sparkmaker Space across the river from us. I was going to join until I found out some high end restaurant was taking over. I guess square footage is too valuable to "waste" on techno geeks
UPDATE 7-16: Not much of anything. My coworker didn't come through for me, so no scope. I did manage to find this in the garage last night, but with no probes. I know there are a lot of you- tube tutorials on oscilloscopes.
Until I get the probes I am going to focus on chip/socket connections, inspection of traces, solder connections, etc. I did notice oxidation on the chip pins. I have a can of de-ox-it. Regarding static precautions, is it OK to pull the chips entirely when cleaning pins, or just partially, spray with cleaner, and reseat. Scotchbrite ok to use on pins?
It would be nice to be successful with the mechanical approach.
 

Attachments

MrChips

Joined Oct 2, 2009
29,861
The board looks clean from our perspective.
I would hold off on doing any cleaning or pulling chips for now.
I would prefer to wait until we see some oscilloscope waveforms.

Is there any rush on this repair job?
 
Top