<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"><meta name="Generator" content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:SimSun;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:SimSun;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"\@SimSun";
panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri","sans-serif";}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:755515404;
mso-list-type:hybrid;
mso-list-template-ids:997853102 1193967384 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
{mso-level-text:"%1\.\)";
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level3
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l0:level4
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level5
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level6
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l0:level7
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level8
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@list l0:level9
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
--></style></head><body lang="EN-US" link="blue" vlink="purple"><div class="WordSection1"><p class="MsoNormal">Since I know there are some folks here doing Arduino and similar I thought I’d ask since I’m not getting a satisfactory answer on the Arduino forums or elsewhere. I’m working on a module now that requires me to read a CV from my modular that can be in the range of -5v to +5v. The ADC on the Arduino only reads positive voltage with a maximum input of 5v at 10 bits. The resolution is sufficient for this project So I’d rather not mess with another ADC chip as looking over those they are expensive and I have no clue how to hook one up anyhow. So, I need to shift the input from +/-5v to 0v-10v and then attenuate it 50%. The problem is that I need to be fairly confident of where a 0v input would be after all this shifting. I will have +/-9v (also could have +/-12v or +/-15v)available on the module from an external supply. So:</p>
<p class="MsoNormal"> </p><p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><span style="mso-list:Ignore">1.)<span style="font:7.0pt "Times New Roman""> </span></span>Is the best way to go about this with a dual opamp and just add +5v and then attenuate? Anyone have a pet schematic?</p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><span style="mso-list:Ignore">2.)<span style="font:7.0pt "Times New Roman""> </span></span>What is the best way to ensure an accurate and stable 5v source for the above? My thought was to use this stable 5v as an analog ref input an read/calibrate the Arduino to it on initialization.</p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><span style="mso-list:Ignore">3.)<span style="font:7.0pt "Times New Roman""> </span></span>If the ADC on the Arduino has a max read of +5v, is it better practice to instead attenuate my range to a smaller value so as to not push the limit on the inputs?</p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><span style="mso-list:Ignore">4.)<span style="font:7.0pt "Times New Roman""> </span></span>Or something different? I’m kind of guessing/talking off the top of my head so I’d love to hear better or more correct solutions from folks who know more than I.</p>
<p class="MsoNormal"> </p><p class="MsoNormal">I’d really appreciate any help as I’m kind of at a wall after smooth sailing. Thanks!</p><p class="MsoNormal"> </p><p class="MsoNormal">James R. Coplin</p></div></body></html>