Solar Charger Shield

dardik
Offline
Зарегистрирован: 09.03.2013

Добрый день! Приобрел себе Solar Charger Shield такого типа: http://www.seeedstudio.com/depot/solar-charger-shield-v2-p-914.html?cPat...

В качестве примера для замера напряжения на клеммах аккумулятора приведен пример.

Подскажите, в строке 27 зачем умножать на 2 ?     outputValue = (float(BatteryValue)*5)/1023*2;

Можно ли измерить ток зарядки от солнечной батареи и ток потребления от аккумулятора на этом шилде не используя схем с низкоомными резисторами итп?

/*
 Solar charger shield voltage measurement example. Connect VBAT pin to analog pin A0.
 
 The pin measures 2.0 V when not under direct exposre to sunlight and 5V when exposed to sunlight. 
 
 This example code is in the public domain.
 
 */
 
// These constants won't change.  They're used to give names
// to the pins used:
const int analogInPin = A0;  // Analog input pin that the VBAT pin is attached to
 
 
int BatteryValue = 0;        // value read from the VBAT pin
float outputValue = 0;        // variable for voltage calculation
 
void setup() {
  // initialize serial communications at 9600 bps:
  Serial.begin(9600); 
}
 
void loop() {
  // read the analog in value:
  BatteryValue = analogRead(analogInPin);            
  // Calculate the battery voltage value
  outputValue = (float(BatteryValue)*5)/1023*2;
 // print the results to the serial monitor:
  Serial.print("Analog value = " );                       
  Serial.print(BatteryValue);      
  Serial.print("\t voltage = ");      
  Serial.println(outputValue);
  Serial.println("V \n");  
 
  // wait 10 milliseconds before the next loop
  // for the analog-to-digital converter to settle
  // after the last reading:
  delay(10);                     
}

 

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

dardik пишет:

Подскажите, в строке 27 зачем умножать на 2 ?     outputValue = (float(BatteryValue)*5)/1023*2;

Это потому, что у Вас 1023 "деления" АЦП с нулем в середине шкалы... Почему не умножили сначала на два (или не разделили на 512) - ну, фиг знает, надо смотреть размерность получаемых промежуточных чисел. У меня еще и этот "ноль" на сторону сползает, т.е. не 512, а чуть больше...

dardik пишет:

Можно ли измерить ток зарядки от солнечной батареи и ток потребления от аккумулятора на этом шилде не используя схем с низкоомными резисторами итп?

У делителей напряжения главное - чтобы соотношение плеч было правильным, и ток на аналоговый вход не превышал 30-40 миллиампер. Исходя из этого можете ставить любые сопротивления. Впрочем, ток можно и датчиками Холла мерять.

__Alexander
Offline
Зарегистрирован: 24.10.2012

че-то я про ноль в середине шкалы не понял.

умножается на два, потому что оно делителем делится на два. по схеме делитель собран из двух мегаомных резисторов. а раз номиналы одинаковы, то и делится входное на два.

dardik
Offline
Зарегистрирован: 09.03.2013

ок, понял про умножение, а ток наверное датчиками Холла буду мерять. спасибо!