Jump to content
Electronics-Lab.com Community

7805 overheat and Clock signal


chrono10

Recommended Posts

I'm trying to decode serial data using a 74F673A 16-bit serial-in/parallel out IC. I use two 7490 decade counters along with a AND gate to give me a HIGH signal on the 16th count (counter is set to count from 0 to 16). The high signal should activate the 74F673A to parallel load the storage register from the shift register and should also activate the incoming serial data to retransmit. After having these many ICs connected to the power supply, i think the 7805 overheats because the clock signal becomes [very] unstable which is terrible for the serial transmission. Does anyone have any tips for me to get this circuit to run better. Thanks!

post-3410-14279141699249_thumb.png

Link to comment
Share on other sites


Harsh,
The transistor provides the clock signal at the mains frequency.

Chrono,
The transistor will work a lot better if you add a 4.7K resistor from its collector to +5V. What does the clock signal connect to, that is off the page?
If you filter the AC from the power transformer, feed it to a Schmitt-trigger and use that as a source of the clock signal, then the clock signal will be much more stable.
The zener diode acts like an ordinary diode, since the base-emitter junction of the transistor limits the positive voltage to about 0.7V.

Link to comment
Share on other sites

I'm positive the 7805 overheats because it heats the whole breadboard up, and with less ICs (just the counters) the clock signal is perfectly stable (otherwise it's stable for a few seconds, then goes bezerk). The transformer I'm using is 13.5 volts, and the 7805 shoudl handle up to 20 volts, so it's probably a Amperage problem, and I'm not quite sure how to handle that (maybe a resistor before the rectifier).

Audioguru thanks for the tip with the clock signal. The truth is, I really don't know any other way to set up a clock signal then with the way I use (I'm don't have a degree and I'm just a beginner). I'll look up the Schmitt-Trigger you talked about.

The whole setup is to decode the serial output from a SNES controller, and represent it parallel-ly using the 74F673A IC. I use info from http://www.gamesx.com/controldata/snesdat.htm and http://www.gamesx.com/controldata/nessnes.htm. And it's been reliable because i've checked the incoming serial data with an LED manually and it works as it should. Thanks for the tips!

Link to comment
Share on other sites

Chrono,
If your transformer is 13.5VAC, then the rectified and filtered voltage at the input of the 7805 is about 17.5V. That's nearly 3 times higher than is necessary, and since power (heating) equals Voltage times Current, then the amount of heating is also nearly 3 times more than is necessary. Use a 6 to 7VAC transformer or put a heatsink on the 7805. Isn't your 7805 in a TO-220 metal-tab case with a hole for a bolt? You could also use a center-tapped 12.6VAC transformer with only 2 rectifier diodes.

What does the clock signal do when it goes "bezerk"?
Instead of adding a Schmitt-trigger, why not try simply adding the collector resistor to the transistor, that I recommended?

If the SNES controller generates its own clock that is not syncronized with the mains frequency, then your decoder's clock must come from the controller, not from the mains.




Link to comment
Share on other sites

i got this info on the site u just listed...
i did not include the timing diagrams stated at the bottom of the last paragraph because well they werent really timing diagrams.

Every 16.67ms (or about 60Hz), the SNES CPU sends out a 12us wide, positive going data latch pulse on pin 3. This instructs the ICs in the controller to latch the state of all buttons internally. Six microsenconds after the fall of the data latch pulse, the CPU sends out 16 data clock pulses on pin 2. These are 50% duty cycle with 12us per full cycle. The controllers serially shift the latched button states out pin 4 on every rising edge of the clock, and the CPU samples the data on every falling edge.

Each button on the controller is assigned a specific ID which corresponds to the clock cycle during which that button's state will be reported. The table in section 4.0 lists the ids for all buttons. Note that multiple buttons may be depressed at any given moment. Also note that a logic "high" on the serial data line means the button is NOT depressed.

At the end of the 16 cycle sequence, the serial data line is driven low until the next data latch pulse. The only slight deviation from this protocol is apparent in the first clock cycle. Because the clock is normally high, the first transition it makes after latch signal is a high-to-low transition. Since data for the first button (B in this case) will be latched on this transition, it's data must actually be driven earlier. The SNES controllers drive data for the first button at the falling edge of latch. Data for all other buttons is driven at the rising edge of clock. Hopefully the following timing diagram will serve to illustrate this. Only 4 of the 16 clock cycles are shown for brevity.


SNES Controller Button-to-Clock Pulse Assignment Clock Cycle Button Reported
1 B
2 Y
3 Select
4 Start
5 Up on joypad
6 Down on joypad
7 Left on joypad
8 Right on joypad
9 A
10 X
11 L
12 R
13-16 none (always high)


Link to comment
Share on other sites

Hi Chrono,
As the article says, the controller is clocking out its data "at about 60Hz", which might be the same (they don't say) as your mains clock. If the clocks aren't exactly the same (frequency and phase), then your decoder will be intermittent.
So what's wrong with your 7805 heater and bezerk clock?

Link to comment
Share on other sites


Hi Chrono,
As the article says, the controller is clocking out its data "at about 60Hz", which might be the same (they don't say) as your mains clock. If the clocks aren't exactly the same (frequency and phase), then your decoder will be intermittent.
So what's wrong with your 7805 heater and bezerk clock?


Oh, no, no, it says "the CPU sends out 16 data clock pulses on pin 2". The controller doesnt' generate it's own clock, the SNES CPU (or my setup) generates the clock. So it doesn't have to be a 60Hz clock. At first I thought the controller generated it's own clock too, but i tested it and it doesn't.

Audioguru, i suspected that the rectified voltage would be that high, so probably that is causing the heat. I was thinking of purchasing a new AC transformer, I just wasn't sure if i had to yet, i will look into it now.

Berzerk means that the clock is no longer steady. It will be high low high low low low high low low high. That only happens when the 7805 gets too hot, and i have to cool it down before it's steady again. Any theories as to why?

I'm going to try out a new setup with the 4.7K resistor you suggested and a lower tranformer. I'll post how it turns out. THANKS!!
Link to comment
Share on other sites

Hi Chrono,
Sorry that I confused CPU with controller. The transistor will work much better with a collector resistor.
The 7805 shuts-down when its internal temperature reaches 125 degrees C, to protect itself. So it will cycle on, off, on, off, etc. Your whole circuit will go beserk! I can't say how quickly (depends on how much heating it develops, which determines how quickly that it heats up). With less transformer voltage, it will be much cooler.
Without a heatsink, a 7805 in a TO-220 case will shut-down at about 1.5 Watts of power dissipation. Calculate or measure its load current and multiply that with the voltage across it, to see if it will need a heatsink.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
  • Create New...