Logomatic

I’m looking at the Logomatic for a project, but there are a few significant points that are not clear to me from the data sheet:

1: Serial port: Is it TTL or 232 levels? If TTL, does SF have an appropriate level converter card?

2: Analog inputs: What is the impedance and range? I need at least 0-4VDC with >1Mohm input impedance.

3: Can I set one or more pins as outputs, to provide pulses of 1-2S duration every few minutes?

I need something fast, with minimal code development time.

Sample rate is about 1 per second on 1 channel, and 8 bit resolution would be fine.

  1. Definitely TTL. You probably want level-shifter PRT-08780 and a DB9 connector.

  2. The range is 0-3.3V, with about 4Mohm impedance at DC. The analog voltage reference is wired straight to the output of the 3.3V regulator, so it isn’t possible to change this. You can’t have Vref greater than Vcc anyway, and Vcc max is 3.6V for the microcontroller on it. If you really need 0-4V, a Logomatic won’t do it for you.

  3. You can if you change the firmware, which is relatively easy. You also need to be willing to give up some analog inputs or the second SPI port, but it sounds like that’s not a problem.

Can you describe your project? Are you really logging stuff, or are you reading the analog channel and forwarding it to the serial port? If the latter, you may want an Arduino instead. Sparkfun sells the Arduino Duemilanove, part DEV-00666. This is a 5V part, which handles your 0-4V just fine. Plus, it speaks USB natively, so you can use it instead of RS-232 if you want. (It also has a TTL serial port, so you don’t have to use USB)

If you do want to use the Logomatic, allow me to suggest basing your firmware on mine, Logomatic Kwan. http://www.mediafire.com/?niknzgmdjyn. To do your pulse, write a function that figures out if it is time to turn on and off the pulse you want, perhaps from the RTC registers, and uses the IO0SET and IO0CLR registers to turn it on and off. Call it from loop(), in loop.c . Your function will then be called perhaps hundreds or thousands of times per second, but that shouldn’t be a problem. You will need to set one of the AD or SPI pins to output, in setupPins() in setup.c . It should be well-commented enough that you can figure it out. Make sure you get the User Manual for the LPC2148 from NXP, if you do any serious firmware programming.

kwan3217:
2. The range is 0-3.3V, with about 4Mohm impedance at DC.

I am curious about where you found this figure of 4M Ohm for the ADC input resistance. The documentation I can find does not describe the ADC well at all. The size of the sampling capacitor isn't mentioned nor any details on sampling time limitations. The most information is in [[Figure 7](http://www.nxp.com/documents/data_sheet/LPC2141_42_44_46_48.pdf) which indicates a 20K input resistance.](http://www.nxp.com/documents/data_sheet/LPC2141_42_44_46_48.pdf)

You know, I never actually calculated it, just guesstimated it based on measurements and observations.

The Logomatic includes a battery voltage monitor. It uses a voltage divider with a pair of 1M resistors between VBat and ground. The tap in between the resistors is fed directly into one of the A/D lines. The voltage divider is on p2 of the schematic in the 3.3V regulator section, and its input is AD1.4, pin 39 on p1.

If the A/D were infinite impedance, the measured voltage should always be 1/2 of the actual battery voltage. As it is, the voltage is a little bit less (~1/2.27=44%) implying that the parallel resistance of the A/D and bottom of the voltage divider is less than 1M, actually about 785k. Using the parallel resistor formula, a 1M in parallel with a 3.65M is about 785k, so the input impedance of the A/D is about 3.65M.