[Решено] Разные значение на A0 при подключении USB и внешнего питания

Тема в разделе "Arduino & Shields", создана пользователем TheVampire, 23 ноя 2013.

  1. TheVampire

    TheVampire Нуб

    Добрый день.
    Возникла проблемка: подключаю arduino (UNO R3) через Li Po Rider Pro (выдает стабильные 5В).
    + беру с аккумулятора ( до входа на Li Po Rider ) и завожу на пин А0.
    При подключении по USB - значения показывает правильные ( какое напряжение на аккумуляторе ).
    Но при подключении от внешнего питания ( выхода с rider'a ) - значения показываются другие.
    В скетчах analogReference - стоит в DEFAULT.
    Из-за чего может быть проблема ?
     
  2. Unixon

    Unixon Оракул Модератор

  3. TheVampire

    TheVampire Нуб

    Пробовал разные варианта.
    На AREF подаю "+" с выхода райдера. Землю на ардуино завожу прямо с аккмулятора ( пробовал и с выхода "-" аккума - одинаково ).

    analogReference ставил и DEFAULT и в EXTERNAL - результат один и тот же - через USB все работает ОК.
    Без него - выдает не те данные.

    При EXTERNAL выдает 1,09 В.
     
  4. TheVampire

    TheVampire Нуб

    Нашел решение:
    http://blog.unlimite.net/?p=224 отсюда код для readVcc взял.

    И в результате напряжение измеряю так:

    Код (Text):
    int val = analogRead(A0);
    float Vcc = (float)readVcc()*1000.0;
    float valf = ((float)val/1024.0)*Vcc;
     
  5. Unixon

    Unixon Оракул Модератор

    На AREF нужно подавать железобетонно стабильное, известное с хорошей точностью напряжение напряжение. Это же точка отсчета, она определяет шкалу АЦП. У вас один вариант - ставить INTERNAL и делителем получать 1/5 от Vсс.