3.29M
Категория: ЭлектроникаЭлектроника

Проектирование и программирование измерителя емкости аккумуляторов на платформе Arduino

1.

Проектирование и
программирование измерителя
емкости аккумуляторов на
платформе Arduino
Выпускная квалификационная работа
Выполнил: Курганский Вадим Андреевич
Руководитель: Хиценко Алексей Иванович

2.

Цель: измерение емкости аккумуляторов до 5 вольт.
Задачи:
изучить методы измерения емкости аккумуляторов и
выбрать наиболее точный;
выбрать необходимые компоненты для сборки
устройства;
рассчитать нагрузку для эффективного
тепловыделения;
собрать и протестировать устройство, по
необходимости откалибровать;
изготовить корпус устройства;
рассчитать полную стоимость материалов и
компонентов, а также себестоимость и цену проекта.

3.

Технические параметры:
устройство должно обеспечивать точные и надежные
измерения ёмкости аккумуляторов.
устройство должно эффективно использовать ресурсы
(например, память и процессор).
устройство должно быть гибким и настраиваемым для
различных типов аккумуляторов и сценариев
использования.

4.

Типы аккумуляторов
Никель-кадмиевые (Ni-Cd);
Никель-металлгидридные (Ni-MH);
Литий-ионные (Li-Ion);
Литий-полимерные (Li-Pol);
Свинцово-кислотные (SLA/Pb);

5.

Формула закона Ома:
где I – сила тока;
U – напряжение;
R – сопротивление.
Формула подсчета емкости:
С – емкость аккумулятора;
In – сила тока за один шаг;
∆t − промежуток времени между измерениями.

6.

7.

Плата Arduino Nano V 3.0
Микроконтроллер
ATmega328P
Предельное
напряжение питания
5-20 В
Рекомендуемое
напряжение питания
7-12 В
Цифровых
вводов/выводов
14
ШИМ
Аналоговые выводы
Максимальная сила тока
6 цифровых пинов
могут быть использованы как
выводы ШИМ
8
40 mAh с одного вывода
и 500 mAh со всех выводов.
Flash память
32 кб
SRAM
2 кб
EEPROM
1 кб
Тактовая частота
16 МГц
Размеры
19 х 42 мм
Вес

8.

Модуль на основе
электромеханического реле SDR05VDC-SL-C
Напряжение
питания:
5 / 12 В
Потребляемый ток
15 мА - 20 мА
Тип реле
электромеханическое
Номинальный ток
нагрузки
10 А
Коммутируемое
напряжение
250VAC, 30VDC
Габариты
43мм x 20мм x 18мм

9.

4-х разрядный семисегментный
индикатор на TM1637

10.

Резисторы нагрузки

11.

12.

Кнопка без фиксации

13.

14.

Корпус для РЭА

15.

16.

17.

18.

void loop() {
Vcc = readVcc();
V = (readAnalog(load_pin) * Vcc) / 1023.000;
I = V/R;
cap += I*(millis()-prevMillis)/3600000*1000;
Wh += I*V *(millis() - prevMillis)/3600000;
prevMillis = millis();
sendData();

19.

float readAnalog(int pin) {
int sortedValues[NUM_READS];
for (int i = 0; i < NUM_READS; i++) {
delay(25);
int value = analogRead(pin);
int j;
if (value < sortedValues[0] || i == 0) {
j = 0; }
else {
for (j = 1; j < i; j++) {
if (sortedValues[j - 1] <= value && sortedValues[j] >= value) {
break; }
}
}
for (int k = i; k > j; k--) {
sortedValues[k] = sortedValues[k - 1];
}
sortedValues[j] = value;
}
float returnval = 0;
for (int i = NUM_READS / 2 - 5; i < (NUM_READS / 2 + 5); i++) {
returnval += sortedValues[i]; }
return returnval / 10;
}

20.

21.

22.

23.

Стоимость компонентов
1. Плата Arduino Nano V3.0 – 300 руб.;
2. Модуль реле 5В – 139 руб.;
3. 4-х разрядный семисегментный индикатор TM1637: 180
руб.;
4. Печатная макетная плата – 91 руб.;
5. Резисторы 5,1 Ом 2 Вт – 200 руб.;
6. Зажимы "крокодил" с изолятором – 25 руб;
7. Провода для подключения – 100 руб.;
8. Корпус для РЭА – 250 руб.
Итоговая стоимость всего проекта – 1350 руб.

24.

Спасибо за внимание!
English     Русский Правила