How OPORCON works


The main idea behind OPORCON is to use smart/dumb system, but making the smart part as cheap as possible.  Control is a simple Microchip PIC 16F628 based board. It uses internal cycles of the PIC to calculate time and no additional clock is used. To synhcronize all of the controls, a time card is used. Cards are Dallas iButtons. iButtons are small, battery like devices which serve different roles - memory, temperature loggers, real time clocks. They connect to other device by using 1-wire protocol (in reality, two wires are needed, one is ground which should be the same to iButton and device). In OPORCON's case, cards for runners are 

DS1992 and/or DS1993 memory buttons. 
DS1992 has 1kBit of memory, and DS1993 is 4 times bigger. Time card for syncronizing controls is real time clock (RTC) button DS1904. Time button is accurate up to +-2 minutes a month, but OPERCON is even more inaccurate (more on that later).

I made a video to explain how it works for a user:


If you can't understand my english, here's a written review how it works:

iButton adaptor is connected to a computer. iButton adapter can be made by yourself, or it can be a bought from Dallas. After downloading drivers and OneWireViewer demo communication software, course manager can set the accurate time on DS1904. When moved out of the adapter, DS1904 will start to calculate time by itself - DS1904 is a real time clock. Manager can also check that DS1992 (or DS1993) are "empty" (without data), or make them empty - this part is not needed. Course manager can turn on the controls on the table prior to the competition.

Controls have a LED which blinks every 16 seconds to confirm it's working. When controls are turned on, they are not synchronized so the LEDs on controls will blink at different times. When DS1904 is introduced, accurate time is saved in the control, and LEDs will blink at the same time - to be honest, it will be inside half a second. DS1904 is using 32bit UNIX timestamp format, which calculates time in seconds from 1.1.1970 00:00:00. Final time will be in 2038.

When everything checks out, turn off the controls, and take them to the woods. There course manager will have to synchronize every control on the spot - the chip in the control calculate time only when it's on, so data on the table is lost. 

Give runners a card, one DS1992 for each, and send them to the woods. When they come to the control and make a connection, the time in the control is saved on the chip.  Coming to the finish, DS1992 is read on a iButton adaptor  and data is put in the computer.

The software provided here is used to connect to Or. As this system is open, everyone is free to make connection to other programs. this is my version of first OPORCON. Several improvements over this initial version were done by other people, most noticebly David Dean. Look at Update pages for more information.


Let's compare OPORCON to other systems.

Last update: December 02, 2016, 10:51