On Sun, 18 Oct 2009, j.chitte wrote:
>
>
> --- In "j.chitte" <> wrote:
>>
>>
>> --- In "j.chitte" <j.chitte@> wrote:
>>
>>>
>>> these op-amps have an output swing from low rail to high rail - 1.5V. Sort
>>> of half R2R. At they can source 40mA but only sync 40uA.
>>>
>>> If I understand the MAX197 in unipolar mode (I'm using 0-5V) it does an
>>> internal offset. The input is floating arount 2.5V . If I feed a signal of
>>> 0.5V that means my op-amp needs to sink 2/20k= 100uA.
>>>
>>> Is that incorrect?
>>>
>>> thanks for your reply.
>>>
>>
>> checking this again with a DVM I note that the op amp output is not coming
>> down to match the input. With input around 0.06 to 0.11 V the ouput is at
>> 0.365V . Once the 197 samples the output drops to what it should be and
>> hence the subsequent ADC reads are OK.
>>
>> After about 45s without sampling the op-amp goes bad again.
>>
>
> Hmm this is odder than I thought.
>
> As a quick hack to keep this channel live I set a loop running on a console
You can't run 2 processes both trying to control the MAX197.
Or more correctly you can, BUT you run the risk of the 2 processes
interfering. This is just a specific example of a more general interfacing
principle, and why in general it is best to have a kernel driver for this
stuff to arbitrate and co-ordinate access. It is not surprising that
every third run of the loop below happens every minute (3x20sec)
and you main adc_logger logs every minute!
>
> while test 1 -lt 2; do ../../cgi-bin/adc_logger 3,0 && sleep 20 ; done
> # ch3
>
> 0.071
> # ch3
>
> 0.000
> # ch3
>
> 0.066
> # ch3
>
> 0.065
> # ch3
>
> 0.000
>
>
> Every third reading comes out zero. The main data logger is running once a
> minute!
>
> The main logger uses an adc_logger command to continually log 6 channels to a
> data file. This has been working solidly over an extended period but none of
> the other channels go this low unless they are zero inputs.
>
> $ ../../cgi-bin/adc_logger 4,0 3,0 && ../../cgi-bin/adc_logger 4,0 3,0
> # ch4 ch3
>
> 1.111 0.000
> # ch4 ch3
>
> 1.106 0.001
> $ ../../cgi-bin/adc_logger 3,0 4,0
> # ch3 ch4
>
> 0.076 1.112
> $ ../../cgi-bin/adc_logger 3,0 4,0
> # ch3 ch4
>
> 0.002 1.110
>
> So it seems reading any channel other than #3 prevents #3 from sampling
> correctly . A double read on #3 within <30s gives correct output.
>
> I'll now bread board the op amp cct to make sure this is realated to the
> MAX197 sampling cycle.
>
>
>
>
------------------------------------
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|