Design a Digital Stopwatch: Advice & Components Needed

  • Thread starter Thread starter TheRedDevil18
  • Start date Start date
  • Tags Tags
    Design
AI Thread Summary
The discussion focuses on designing a digital stopwatch using discrete electronic components, emphasizing the need for functions like start, stop, and reset, as well as accurate time tracking. Participants suggest using a crystal oscillator instead of a 555 timer for better accuracy and discuss the necessity of generating clock signals and developing counters for minutes, seconds, and tenths of a second. Issues with circuit simulations, such as unexpected counter behavior, are addressed, with advice on adding reset lines and ensuring proper connections to avoid short circuits. The importance of debouncing switches in synchronous circuits is highlighted, along with the need for logic to manage start and stop functions effectively. Overall, the conversation provides valuable insights into the challenges and solutions for building a functional digital stopwatch.
TheRedDevil18
Messages
406
Reaction score
2
<< Mentor Note -- Thread moved from the technical Engineering forums so no HH Template is shown >>[/color]

Project Description:

Design a Digital Stop Watch using discrete electronic components
Functions: Start, Stop, Reset
Should be able to count up and count down
The interval time should track the minutes, seconds and tenths of a second. Ex. 3:45.8 would be 3 minutes, 45 seconds and 8 tenths of a second
The max interval (up or down) will be 9:59.0 after which watch should reset to 0:00.0
The design may be done using available logic devices or using programmable logic devices (PLDs), but no microcontroller

I would appreciate some guidance on where to start with this. Like what components do I need. I did some research and basically I need a 555 timer and decoders but I would like some more advice.

Any, advice ?
 
Last edited by a moderator:
Physics news on Phys.org
2nd for the Crystal O -- a very good understanding to have, and easier to make the SW accurate.
 
Well first... does this need to be a discrete hardware project with only hardware or a microprocessor driven project with software?

If this has to be a digital hardware project, talking about software will not get you very far.
 
In this case SW meant StopWatch .. I should not have abbreviated, obviously is need to be a discrete build
 
Last edited by a moderator:
Windadct said:
IN this case SW meant StopWatch .. I should not have abbreviated, obviously is need to be a discrete build
sounds good. and upon inspection OP mentioned that there can't be a microprocessor, so I need to work on my reading comprehension.

The simplest (and most 'modern') way to do it would be an FPGA or other pld, although discrete builds would work

any way you do it, first you want to generate a clock signal at the smallest frequency you need (frequency dividers)
then develop your counters
0-9 from 1/10 of a second
0-59 for seconds
0-9 for minutes

if you're a 'digital design novice' make it free running to start (only a reset) and get it working.
then determine what you have to do to start and stop the counters
 
I think I will use a 555 timer because I'm a bit more familiar with it. I tried a basic decade counter to start with using multisim. But when I start the simulation, the display shows this:
2,3,8,9,0,1,2,3,4,5,6,7,8,9

Why does it start from 2 and jump like that, then continue as normal ?, here's my circuit diagram:

stopwatch.PNG
 
TheRedDevil18 said:
I think I will use a 555 timer because I'm a bit more familiar with it. I tried a basic decade counter to start with using multisim. But when I start the simulation, the display shows this:
2,3,8,9,0,1,2,3,4,5,6,7,8,9

Why does it start from 2 and jump like that, then continue as normal ?, here's my circuit diagram:

View attachment 90092
you need to add a reset line for it to work on the first go around
 
donpacino said:
you need to add a reset line for it to work on the first go around
How would i add a reset line ?
 
  • #10
TheRedDevil18 said:
How would i add a reset line ?
you have three inputs to your system...
stop
start,
and resetlook at your memory storing device (the counter) and determine what pin will cause the states to go to zero (or their initial states)?
 
  • #11
donpacino said:
you have three inputs to your system...
stop
start,
and resetlook at your memory storing device (the counter) and determine what pin will cause the states to go to zero (or their initial states)?

I looked at the pins and theirs no reset, I tried playing with the max/min pin but it doesn't reset
 
  • #12
TheRedDevil18 said:
I looked at the pins and theirs no reset, I tried playing with the max/min pin but it doesn't reset
ok.
a few things. you have outputs tied to ground, which can be a BIG no no.
also you should not enable cten until you are ready to start, i recommend starting cten at logic hi, then moving it to logic low and seeing what happens. further looking at the chip, everything is reset to their initial values (which are a,b,c,d) when cten goes low.
 
  • #13
TheRedDevil18 said:
I looked at the pins and theirs no reset, I tried playing with the max/min pin but it doesn't reset

When you look at the datasheet for the 74190 part, what does the LOAD input do?
 
  • #14
Okay, according to the responses I modified the circuit to this

stop2.PNG


@donpacino, When I start the simulation with the switch open and then close it the counter counts as normal which seems to fix the problem. Also I tied those outputs to ground because I am not using it, where must I tie them to if I am not using it ?

@berkeman, The load input loads the value connected to A,B,C,D so to reset to zero, I used a push button
 
  • #15
TheRedDevil18 said:
Also I tied those outputs to ground because I am not using it, where must I tie them to if I am not using it ?

Unused outputs are left no-connected (or in a production design, they are connected only to test points for manufacturing test use).

Unused inputs must be tied off, usually just to ground (or to ground through a resistor, to allow for manufacturing test via a test point on the input). :smile:
 
  • #16
In addition to what berkemen said, what is your experience with electronics so far?

If a output is driven high, and you tie it low, you are shorting the voltage supply to ground, with only a transistor or two in between. that could damage your chip or power supply
 
Last edited by a moderator:
  • #17
ok great! now how do you implement the reset/start/stop buttons?

you might be there already with some of them!
 
  • #18
donpacino said:
ok great! now how do you implement the reset/start/stop buttons?

you might be there already with some of them!

I tested the reset button S2 connected from LOAD to 5V and it works. Also for switch S1 when I open the switch while it's counting it stops the count, I'm not sure whether it would work in practice. Also do I have to debounce the switches ?

donpacino said:
In addition to what berkemen said, what is your experience with electronics so far?

I am an amateur in electronics. This is my first project
 
  • #19
TheRedDevil18 said:
Also do I have to debounce the switches ?

Yes, and since this is a synchronous circuit, you should synchronize those human-speed inputs to the system clock, or you risk metastable states in your clocked logic.

PDF presentation from Stanford.edu:
http://www.google.com/url?sa=t&rct=j&q=&esrc=s&frm=1&source=web&cd=2&cad=rja&uact=8&ved=0CCsQFjABahUKEwjt6M_JzMLIAhXRLIgKHV5rBCg&url=http://web.stanford.edu/class/ee183/handouts_spr2003/synchronization_pres.pdf&usg=AFQjCNFW8d86AMDil5zoeQxtN5ocBejO7g

:smile:
 
  • #20
TheRedDevil18 said:
I tested the reset button S2 connected from LOAD to 5V and it works. Also for switch S1 when I open the switch while it's counting it stops the count, I'm not sure whether it would work in practice. Also do I have to debounce the switches ?
I am an amateur in electronics. This is my first project
awesome, getting into electronics is great!

I would change the label for S1 and S2 to be your start/stop/reset function.

Also a note about start and stop... you have only one input CTEN that will start stop your circuit, but you need two buttons that control it. Think about what kind of logic you need to make that happen!
 
  • #21
Why does the last counter start at one ?

stop4.PNG
 
  • #22
TheRedDevil18 said:
Why does the last counter start at one ?

View attachment 90327
why did you get rid of the switch for your load sequence?
like i said you NEED to load values at the beginning.
 
  • #23
I changed the counter to a 4510. I added a logic reset to the third counter from right to reset when it reaches 6 which works fine. But now I need the last counter to increment in order to count the minutes. The way I have it connected now, the last display doesn't do anything, it just stays at zero

stop5.PNG
 
  • #24
so you have that logic reset triggering the load input, you need that logic to trigger the next stage as well.
 
Back
Top