Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

I want a precise 10 minutes pulse generator.

Status
Not open for further replies.

mabauti

Member level 4
Joined
Oct 24, 2006
Messages
72
Helped
3
Reputation
6
Reaction score
1
Trophy points
1,288
Activity points
1,699
without using 555/PICs and using XTALs preferably.

any ideas?
 

you start with a crystal oscillator such as 32 kHz. Tnen divide down by the proper amount to get a ten minute period.
 

mabauti,

I would use a 28KHz crystal oscillator. That should get you pretty close to 10 min. pulse generation.

You need 1 pulse every 10 min. or 600seconds.

1/600 = frequency = .0016667Hz

Then I would use a 24-bit counter of some type

2^24 = 16777216 = full count

(16777216)(.0016667) = 27962Hz

Thats fairly accurate. If that helped you let me know.

david119
 

You may consider to use RTC module, e.g. BQ4850 from TI.
 

Use a watch crystal, 32.768kHz and divide that by 2^15 to get 1 second. Then divide that by 600 to get 10 minutes.
Otherwise, use a small micro, such as a PIC12x50x and run it at 32.768kHz, from a watch crystal and have it do the divisions.
With a micro, you can use other crystal frequenceies, too.
 

try cd4060.....using RC oscillator u can produce 10min ....but it wont be so accurate...but 1 sec diff is manageable...
 

try out with maxim's RTC ds1307...still can't do it then pm me.
 

mabauti said:
without using 555/PICs and using XTALs preferably.

any ideas?


Yeesh! (I actually read your requirement.)

You want accurate time without using the standard timing methods. To solve this problem you are going to need something that is naturally accurate and then translate that accuracy to time with inaccurate components. Then, once you have a time base, then you can use a PLL and dividers to get what you need.

But yeesh! You don't want much do you? :)

I'd start here: What constants are there in the universe? Maybe gravity, if you're always at the same distance/elevation... The freezing and boiling points of pure water... e is constant, but it's an asymptote...

This is all about a natural constant and means to convert it to time, and you've got me bubba...
 

Use the power line 50/60 Hz. This frequency is kept very accurate over the long term because so many clocks use it. Just use a small transformer, hard limit the AC to form a digital clock and count it up to 36000 with a single 16 bit counter IC. Just a couple of parts and some resistors, caps and a diode.

It's easier to use than, say, gravity, the boiling point of water or eeeeeeeeeeeeeeeeee 8O .
 

mabauti's question is a bit unclear. I believe he wants to use a crystal.

Please clarify "precise". Cesium beam standard precise? Cook a turkey precise?

For accuracy similar to a wristwatch, I would suggest using either a microcontroller with crystal, or a clock oscillator feeding a counter chain. The counter chain could be ordinary CMOS digital parts or maybe a programmed CPLD.
 

newelltech said:
Use the power line 50/60 Hz. This frequency is kept very accurate over the long term because so many clocks use it. Just use a small transformer, hard limit the AC to form a digital clock and count it up to 36000 with a single 16 bit counter IC. Just a couple of parts and some resistors, caps and a diode.

It's easier to use than, say, gravity, the boiling point of water or eeeeeeeeeeeeeeeeee 8O .

Check this month's Nuts and Volts and see if you still think that's true, as they designed a power line frequency monitor.
 

Ok I checked it! The Nuts & Volts article is a construction project. I don't see any measurement results.

Here's a measurement of the USA power grid frequency. Notice the very good long-term accuracy:
http://www.leapsecond.com/pages/mains/
 

    mabauti

    Points: 2
    Helpful Answer Positive Rating
you start with a crystal oscillator such as 32 kHz. Tnen divide down by the proper amount to get a ten minute period.
diagram ? ; I couldn't find a 32Khz Xtal (I'll keep searching) Is there any way using a 2MHz XTal?

I would use a 28KHz crystal oscillator. That should get you pretty close to 10 min. pulse generation.
Good idea, but I still can't find a 28Khz Xtal (as above : I'll keep searching for it)

You may consider to use RTC module, e.g. BQ4850 from TI.
There's not that part in my city, I will take in account that anyway.

Use a watch crystal, 32.768kHz and divide that by 2^15 to get 1 second. Then divide that by 600 to get 10 minutes.
Yep, but I want to keep my circuit with a few components.

Use the power line 50/60 Hz. This frequency is kept very accurate
My goal is to use a battery with my circuit.


Thanks a lot for your ideas gentlemen :D
 

can you use pll/vco 565/566 to multiply the frequency to do this job
 

Much, much easier, and much much smaller, as far as number of components is concerned, will be to use small microcontroller such as for example PICAXE-18 ..
With 4MHz crystal the code required to generate 10min pulse may look like this:
Code:
	low 1
	pause 100

loop1:
	high 1			' output 1 goes high ..
	for b1 = 1 to 10 	‘ 10 loops ..
	pause 60000 		‘ wait 60 seconds ..
	next b1
	low 1			' output 1 goes low ..
	pause 100
	goto loop1

https://www.rev-ed.co.uk/docs/picaxe_manual1.pdf

Any other option must include crystal, oscillator, frequency divider and some additional logic, that's why I do think the "microcontroller" option is so tempting ..

Regards,
IanP
 

IanP said:
Much, much easier, and much much smaller, as far as number of components is concerned, will be to use small microcontroller such as for example PICAXE-18 ..
With 4MHz crystal the code required to generate 10min pulse may look like this:
Code:
	low 1
	pause 100

loop1:
	high 1			' output 1 goes high ..
	for b1 = 1 to 10 	‘ 10 loops ..
	pause 60000 		‘ wait 60 seconds ..
	next b1
	low 1			' output 1 goes low ..
	pause 100
	goto loop1

http://www.rev-ed.co.uk/docs/picaxe_manual1.pdf

Any other option must include crystal, oscillator, frequency divider and some additional logic, that's why I do think the "microcontroller" option is so tempting ..

Regards,
IanP
Would u please advise how accurate is the method you proposed to generate a 10-min pulse? Thanks.
 
Last edited by a moderator:

The mcrocontroller's clock is crystal-based, so it will be quite accurate, but I wouldn't put exact figure here ..
Also, in the code there is "10*60000" number ..
It can always be increased or decreased if required .. 1/(600 000)
For example:

Code:
	low 1
	pause 100
loop1:
	high 1			' output 1 goes high ..
	pause 60000 		‘ 10 loops ..
	pause 60000 		‘ wait 60 seconds ..
	pause 60000
	pause 60000
	pause 60000
	pause 60000
	pause 60000
	pause 60000
	pause 60000
	pause 59999
	low 1				' output 1 goes low ..
	pause 100
	goto loop1

Regards,
IanP
 

    mabauti

    Points: 2
    Helpful Answer Positive Rating
Per the inquirer: "I couldn't find a 32Khz Xtal (I'll keep searching) Is there any way using a 2MHz XTal?"

Hence, crystals are ok.

Now, if crystals are ok but you want a small circuit, how about just using a simple microcontroller and set up a precision timing loop? You could count clock cycles between subsequent outputs to a port pin, and then from there set up a loop to call that same port-write subroutine a certain number of times before sending output to another port pin, your 10 minute pulse pin. In other words, base the 10min pin time on a measured time-test pin's time using a down counter loop like this:

jump to 10 minute timer loop

time-test sub:
1. load counterX
2. output a pulse to time-test pin
3. decrement counterX
4. loop to #3 on counter not zero
5. return

10 minute timer loop:
1. load counterY=0
2. ouput a pulse to 10min pin
3. call time-test subroutine
4. decrement counterY
5. loop to #4 on counter not zero
6. jump to #2

Hence, you'd scale the small timer to the ten minute timer by using the time-test pin to measure and set up the multiplier value. The key, as I see it, is to use a good base time for your µC clock and then a series of small counters for your test-time subroutine so that you can get the perfect factor for your large 10 minute counter, a loop in a loop....

Once you said you'd accept a crystal, your solution is simple.
 

mabauti said:
without using 555/PICs and using XTALs preferably.
any ideas?
OK 555 will not be precise for 10mn time
Why dont you want to use PIC ? This should be a simple solution, only a Xtal and the smallest PIC you can get ...
 

mabauti said:
without using 555/PICs and using XTALs preferably.
To clarify, mabauti, you have placed the following restrictions on your pulse generator:

  • Must have "pretty good" accuracy (e.g., one second?).
  • Must not employ a microcontroller.
  • Must not employ an analog timer.
  • May employ a crystal, ideally 2 MHz (possibly because you already have this).
  • Battery powered with no access to mains power.
  • Small circuit with few components.
It appears that you have limited your options to some sort of pld/fpga.

If this assessment is correct, a possible solution is to fashion an oscillator based on your 2 MHz crystal and use this to clock a Lattice LC4064. Configure the LC4064 so that it implements a state machine that will generate one output pulse (of the desired pulse width) every 10 minutes.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top