Jump to content

As of July 17, 2015, the LabJack forums here at forums.labjack.com are shut down. New registrations, topics, and replies are disabled. All forums are in a read-only state for archive purposes.

Please visit our current forums at labjack.com/forums to view and make new posts. To post on the current forums, use your labjack.com login account. Your old LabJack forums login credentials have been retired. There are no longer separate logins for labjack.com and LabJack forums.


Inconsistent Timer RPM Readings

  • Please log in to reply
2 replies to this topic

#1 y2k4u

  • Members
  • 8 posts

Posted 24 September 2009 - 10:31 PM

For the past month, I have been trying to get good consistent engine RPM tachometer readings using U3's timer without much success. I have tried two different hall effect gear tooth sensors, which put of square waves, and the results are the same: most RPM readings seem to be random with few correct readings in between. I hooked up the oscilloscope to hall effect sensor output line (connected to Labjack EIO0) which exhibits clean and consistent square waves with low state at 0v and high state at 1v, but U3 timer RPM results are inconsistent. I tried both DAQFactory and Labjack Control Panels softwares with similar inconsistent timer results. I am convinced that the inconsistent timer readings are due to U3 timer picking up noises from other U3 channels because when hall effect sensor stops sending pulses (state remains high @ 1v and engine off) and other U3 channels have quick rapid voltage changes, I would get random timer RPM readings. What are your take on U3 timer picking noises from other channels and how to correct the problem? What are the voltage change thresholds for rising/falling edge timer detections in U3 HW 1.21, firmware 1.52 and can I change the voltage thresholds? I like to try various firmwares with different amount of voltage change thresholds to see if I can get more consistent timer readings. Here are my settings: 1. U3 HW 1.21, firmware 1.52 2. 1 timer offset @ 8 to yield EIO0 (also tried FIO0 with similar mostly random timer readings) 3. 48MHz with 48 divisor 4. RPM range: 600-4000 which translate to square wave pules: 30-200Hz 5. Tried both rising and falling edges, 16 and 32 bits timers. DAQFactory Sequence Snippet: using("device.labjack.") include("c:\program files\labjack\drivers\labjackud.h") global ID = 0 ePut(ID, LJ_ioPIN_CONFIGURATION_RESET, 0, 0, 0) AddRequest (ID, LJ_ioPUT_CONFIG, LJ_chTIMER_COUNTER_PIN_OFFSET, 8, 0, 0) AddRequest(ID, LJ_ioPUT_CONFIG, LJ_chNUMBER_TIMERS_ENABLED, 1, 0, 0) AddRequest(ID, LJ_ioPUT_CONFIG, LJ_chTIMER_CLOCK_BASE, LJ_tc48MHZ_DIV, 0, 0) AddRequest (ID, LJ_ioPUT_CONFIG, LJ_chTIMER_CLOCK_DIVISOR, 48, 0, 0) AddRequest(ID, LJ_ioPUT_TIMER_MODE, 0, LJ_tmRISINGEDGES32, 0, 0) GoOne(ID) Conversion: (20000000)/EIO0[0]

#2 LabJack Support

LabJack Support
  • Admin
  • 8677 posts

Posted 25 September 2009 - 10:01 AM

Right of the bat, your logic levels seem like an immediate problem. You can see from Appendix A of the U3 User's Guide that a low is <0.8 volts and a high is >2.0 volts.

A good way to handle your 1 volt signal would be with a comparator. The MAX921 is great because it has a reference built-in. See the following topic:


#3 y2k4u

  • Members
  • 8 posts

Posted 28 September 2009 - 07:40 AM

I can't believe I have overlooked the voltage specifications - thanks for pointing that out. I'll get the pulse voltages to the correct range.

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users