No, I don't, but having taught programming for over 40 years, I know that students would take your equation and plug it in and then be surprised that they get 0 for an answer.

On 11/1/2015 6:13 PM, William Hermans wrote:

    /Or 4024 * 1.8 / 4096?/


Ok, so let us put this another way. Do you think that is clear when written in code ? What if 1.8 were actually assigned to a constant pointer ?



On Sat, Oct 31, 2015 at 5:01 AM, Chad Baker <[email protected] <mailto:[email protected]>> wrote:

    Or 4024 * 1.8 / 4096?


    On 10/30/2015 12:18 PM, William Hermans wrote:
    By the way, the ADC gives out a value of 0-4095. So scaling
    voltage is really simple. Say you get a value of 4024 for a
    reading. In order to get a reading from 0-1.8v from this  . . .

    ((4024 / 4096) * 1.8) or 1.768359375v

    The max voltage on the pins still can not exceed 1.8v, this is
    why one needs an opamp, or similar device to keep the input
    scaled down. But, in this manner you could even track large
    voltages. Hundreds or even thousands of volts, at the cost of
    resolution. Which unfortunately can not be avoided. So going by
    the above example . . .

    ((4024 / 4096) * 300) or 294.7265625v

    Does this make sense ?


    On Fri, Oct 30, 2015 at 9:59 AM, William Hermans
    <[email protected] <mailto:[email protected]>> wrote:

            /BBB and Linux are new to me.  One of the things I would
            like to do is compute a ratio between two voltages, each
            of which might exceed 1.8 VDC.  One solution might be to
            use DACs to sent feedback voltages to operational
            amplifiers that are supplied by 1.8 VDC.  The goal is to
            determine the ratio as quickly as possible and without
            waiting for Linux to get around to it (waiting for the
            ADC to happen)./



        What sample rate do you need ? If something around only a few
        thousand samples a second. This can be done from userspace
        without using the PRU's. You can even use mmap() with
        /dev/mem/ and directly manipulate the ADC's registers, which
        can sample the ADC faster than 200ksps. However, the sample
        rate would not be as deterministic as using the PRU's.

        You can use a PRU to read the ADC's for sure. If you search
        the web for Beaglebone PRU + ADC
        , you will find many ways. People have been doing this for a
        long time( since the beaglebone white ), and if you search
        this google group, you'll even find full code for something
        someone called "ADCcollector". It's C, and PASM assembly, but
        is a very short / easy read / understanding.

        As for how to physically connect to the ADC, I'd listen to
        evilwulfile. He's been an EE for longer than many people on
        this group have been alive, and he knows his stuff ( I know
        him personally ). Don't risk burning up your board, as I've
        seen several people on these groups do . . .

        On Fri, Oct 30, 2015 at 9:43 AM, TJF <[email protected]
        <mailto:[email protected]>> wrote:

            Hi John!

            As Przemek mentioned, a simple voltage divider can scale
            the input voltage. Additionaly I use a LED (orange color)
            between the ADC input and ground in order to block
            overvoltage. (The LED starts to light up at 1V5 and
            consumes full power at 1V8. 1 / 6 of the ADC resolution
            get lost (is less accurate), but the burning LED as
            indicatior is a nice side effect.)

            Regarding software you should have a look at libpruio
            
<http://hackaday.com/2015/02/16/library-upgrade-to-pru-gives-fast-io-on-beaglebone/#comments>.

            BR
-- For more options, visit http://beagleboard.org/discuss
            ---
            You received this message because you are subscribed to
            the Google Groups "BeagleBoard" group.
            To unsubscribe from this group and stop receiving emails
            from it, send an email to
            [email protected]
            <mailto:[email protected]>.
            For more options, visit https://groups.google.com/d/optout.



-- For more options, visit http://beagleboard.org/discuss
    ---
    You received this message because you are subscribed to the
    Google Groups "BeagleBoard" group.
    To unsubscribe from this group and stop receiving emails from it,
    send an email to [email protected]
    <mailto:[email protected]>.
    For more options, visit https://groups.google.com/d/optout.


-- Chad Baker Memphis, TN -- For more options, visit http://beagleboard.org/discuss
    ---
    You received this message because you are subscribed to the Google
    Groups "BeagleBoard" group.
    To unsubscribe from this group and stop receiving emails from it,
    send an email to [email protected]
    <mailto:[email protected]>.
    For more options, visit https://groups.google.com/d/optout.


--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] <mailto:[email protected]>.
For more options, visit https://groups.google.com/d/optout.


--
Chad Baker Memphis, TN

--
For more options, visit http://beagleboard.org/discuss
--- You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to