Chronocomparator - vibroscope. It is a device that helps to set the correct gait of clocks and mechanical watches. It allows you to check whether the watch is working correctly both in the face down, up or on the side. Is the gait stability maintained over a longer period of time, e.g. several hours after application? In the case of large clocks, the analysis of the graph of uneven gait - periodic acceleration and deceleration, allows you to locate the troubling racks. The project does not aspire to compete with professional (and very expensive) devices. It is intended for hobbyists - collectors of watches. It is a pocket, portable version of the device - the Biburo program, which requires the use of a computer to work.
The chronocomparator works by sensing the ticking of a watch (its mechanical vibrations) with a piezoelectric transducer. The pulses from this transducer, after appropriate amplification and shaping, are compared with the reference reference pulses. The change in phase shift between these pulses is visualized graphically on the LCD display. The project uses a monochrome display with a resolution of 84x48 pixels from Nokia 5210. The chrono-comparator is adapted to clocks with the number of ticks per second: 1 b / s, 1i1 / 2 b / s, 3i1 / 3 b / s, 4i1 / 2 b / s, 5 b / s, 5i1 / 2 b / s, 6 b / s, 8 b / s, 10 b / s. It takes 10 minutes, 60 minutes and 360 minutes to fill the screen. There is also the direct range where each tick is directly represented on the screen. When the screen is full, the graph is redrawn from the left side of the screen. Parameter changes are made using two buttons.
The "heart" of the device is the popular PIC16F84A processor, working with an external 7.3728 MHz quartz resonator. Since it is a time standard for the tested watches, its frequency should be carefully set by selecting capacitors with a capacity of about 30 pF working with it. The processor was mounted without a socket, so the ICSP connector for programming the processor was also installed. The software was written in the GCB (Great Cow Basic) environment. Particular emphasis was placed on the proper handling of interrupts from the internal timer T0, and especially on determining the correct moment of loading the T0 register. The interrupt period is 1/40 of the clock tick period of the set range. During this time, the processor checks for a tick and possibly lights the current pixel in the current column. The graphical chart is 80 columns long, with 40 pixels per column. The processor and the LCD display are supplied with the voltage of 3.3V. To amplify the signals from the piezoelectric transducer I used the LM324 system, i.e. a quad operational amplifier. Three of them are a high gain band shaping amplifier, while the fourth is a monostable pulse generator. The amplifier is powered by a single positive voltage of 5V. The old remote control with its battery basket was used as the case of the chronocomparator. The power supply is provided by two AA cells or two NiMH batteries, providing a voltage of about 2.4 V to 3V. This voltage is raised to 5V using the MAX1674 converter. In turn, the voltage of 3.3V for the processor and the display comes from the LM1117 stabilizer. Converterpiezoelectric was placed on top of the chronocomparator case - glued over the round hole. The chronocomparator is also equipped with an input socket for connecting an external transducer. The socket is also supplied with 5V voltage, which enables powering an additional external amplifier. The external sensor is more convenient to use when examining large clocks, small watches can be placed on top of the sensor on the housing. It is best when the crown of the watch touches the sensor.
The diagram of the device has been created so far only in pencil for my own needs, a decent diagram requires a lot of work, and I do not know if the presented topic will generate interest. As you can see in the photos attached, the device was made on a universal PCB, using mainly SMD components, and Kynar connections. I estimate the cost of subassemblies at several to several dozen zlotys, depending on what the contractor uses from his own stocks or recovers from old systems.
A completely new topic for me, I think that even a pencil diagram will be useful, it is worth putting a video presenting the operation of the device, and maybe a timelapse because from what I can see the measurements take a while.
An interesting and practical project. I would love to see a schematic of the amplifier circuit. I am planning a project where I will use a piezoelectric transducer, so I am interested in various solutions.
Sorry to be quite messy, but I am enclosing a "pencil" scan. Additionally, I attach the hex file to the processor - change the extension to hex. Display notes: The Nokia5210 display is almost compatible with the very popular Nokia 3310 display, it differs in the display direction. Minor code changes are enough. Unfortunately I don't have an N3310 display to test and correct the code.
A very nice device, but .... If I were a colleague, I would add a computer output (via USB or Audio) for data archiving. In addition, I would make an analyzer of the entire acoustic spectrum generated by the watch mechanism. (curve anchor, worn teeth on the escapement wheel, rubbing the second hand axis in the sleeve of the minute hand, etc.)
Buddy, Krzysztof. It was supposed to be a small, pocket-sized device that would work independently. A colleague proposes to make the entire combine, preferably connected to a data dump computer. This is a completely different device. Perhaps more suitable for this would be the Biburo program I mentioned with the appropriate side dish.
Cool design. If you refined it, put the batch in an editable version (with the possibility of changing it to some ATMEGA), there would certainly be a few people who would like to make such a device for themselves. I myself suffer more and more from a good mechanical watch and when I saw this topic, I thought that it would be worth doing something like this. Best regards.
The project is quite complete, but I have a question whether a pattern could be used for the Prock timing, I mean the DS32 kHz chip, because the quartz chrono seems to me not very accurate. Maybe I don't know something, but in this case the pattern with quartz is important.
In my opinion, in a pocket device for checking the gait of mechanical watches, for which a daily accuracy of + -10 seconds is an achievement, the standard with a quartz resonator is perfectly sufficient. As I described in the initial post, you should choose the capacitance of the capacitors at the resonator. At the B0 port output, a signal with a period equal to 1/20 of the set measuring range is generated. For example, in the 1 bps range, the period of this signal is exactly 50 ms. This will allow you to set the frequency of the quartz generator exactly - precisely enough that the daily error of the clock being set would be less than 0.1 seconds. It seems to me to be quite sufficient for this class of instrument. Of course, the device can be equipped with rubidium generators, with thermal stabilization, or with the use of a clock taken from DCF77 or from GPS, but why? The DS32kHz chip is very nice, but it only generates a signal with a frequency of 32.768 kHz, while in my case the resonator frequency is selected so that the processor clock in combination with the T0 timer prescaler allows you to generate interrupts with a period of 1/40 of a given measuring range.
Maybe a "lame" question, but after the title I was expecting a frequency meter and here some lines on the LCD . Maybe a colleague will suggest how such indications are interpreted? Maybe some examples of observed anomalies?
I present the source code of the chronocomparator program. It is written in GreatCowBasic. Those willing to transfer the program from the PIC16F84A processor to another processor, such as an Atmega, can of course do it, but not so simple. It is not enough to change the processor declaration. When writing, I had to take into account the specificity of the processor related to the processor clock, T0 timer prescaler and the T0 timer loading time after accepting an interrupt, which is related to resetting the prescaler. To get precise interrupt periods, I had to implement two things: First of all, it is necessary to ensure that the processor executes the one-step instructions while accepting the interrupt. To do this, I check in the main loop to see if the counter T0 has reached 255. Then I wait some time in the loop and then execute a series of NOP instructions, during which it is interrupted. Secondly, loading the counter T0 in the interrupt should take place at such a moment that the prescaler state changes continuously. To this end, after accepting an interrupt, I wait 256 clock ticks, following other orders. Only after 256 measures do I load T0 with a value 1 smaller, thus taking into account one full prescaler cycle. Using a different processor, you can skip the program sections described above.
Since the program was barely in the CPU memory after compiling, I had to take some "sparing" steps. For example, procedures that were executed once were included in the main program instead of calling them. I did not define the T0 interrupt with the "On Interrupt Timer0Overflow Call pixel" command, but with the "sub interrupt 'pixel" command. This allowed to save several dozen bytes. Of course, with newer processors with more memory, there will be no such problems.
Kolego Satanistik - a chronocomparator is a kind of comparative frequency counter. The frequency is not measured, but the frequency difference and even the instantaneous phase deviation of each clock tick are shown graphically. I invite you to read page 10 and 11 of the posted file Training_EN.
Pytanko - does the device show the type of error? Let's say abnormal tick, double tick. It would be nice, but probably hard to make an angle analyzer on the clock hand, here I suspect some script for image analysis. As for data archiving, you can even use the above-mentioned cell and a photo from such a chrono-comparator.
The described chronocomparator is a fairly simple device, it only shows the irregularity of gait and helps to set the correct gait of the clock. I also made a more elaborate one with an oscilloscope function, also with separate waveforms for even and odd ticks. I do not think that the analysis of the operation of the watch mechanism on the basis of the observation (and analysis) of the movement of the pointer brings more information than the analysis of the sounds made by the mechanism and recorded with a piezoelectric microphone. Such analysis can be performed by computer programs, e.g. the already mentioned Biburo.