The big repair job of the week is a Roland Super Jupiter, but more specifically the companion programmer MPG-80. The customer's description is that the programmer only works for about 20 minutes, and then stops sending midi data to the Super Jupiter completely. Once it's stopped, if you power down and back up it might work for a few seconds or minutes, but then the problem returns.
Service Manual available here.
I immediately suspected a faulty transistor in the reset circuit, or maybe a power supply issue. Both of these possibilities were eliminated very quickly - the RST signal is high when it's working or when it's not working, and the 9V coming from the MKS-80 is steady, as are the two 5V lines.
Serial clock and main clock are both steady at 250KHz and 1MHz respectively. MIDI data is being received from a MIDI keyboard (Arturia Keystep) and is present at the CPU pin.
If I space out my testing I can take readings while it's not working, wait a while and take the same readings when it is working. This was a very useful method. I noticed that on pins 1-3 on IC11 (Address Decoder) I get useful data when it's working, and a steady pulse train when it's not working. My first thought was a faulty IC11, but after swapping it with IC7 the problem remained, so that was eliminated.
One thing to watch out for, the upper case of the MPG-80 is full of old stiff foam. This stuff will get everywhere. I just ran a sharp knife along the length of the case to cut it out in one motion.
While the MPG-80 was in the 'working' mode, I noticed that removing PC-1 caused the midi data to stop - behaving the same as when the unit times out. My first breakthrough.
Connector PC-1 is interesting, it has 6 pins. 2 are 5V and GND, 3 are outputs, and 1 analog voltage input. For the unit to freeze when this connector is removed, means that some kind of heartbeat must be detected on that analog voltage input going to the ADC.
The CPU sends out three bits - A, B, and C to select 1 of 8 inputs on the multiplexers. It seems as though it doesn't like what it receives back and stops trying.
Pulling the button board out from the enclosure causes the unit to work for much longer.
IC12 - ADC0803 is the ADC that reads the fader and switch positions and converts them to digital values for the CPU. When I warm this chip up with my hot air station the unit stops responding. When I cool it down with compressed air, it starts working again. I am ordering this part from Digikey and will see if this is the issue.
Edit: It's now a week later and the repair was a success. The culprit was the ADC0803 analog to digital converter. This chip was quickly installed and this Super Jupiter is back to its former glory.
If your Super Jupiter Programmer is having similar issues, the part I used was this one: