Similar presentations:
Проектирование и программирование измерителя емкости аккумуляторов на платформе 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 мм
Вес
7г
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 руб.