Собрал аппаратнуючасть, работает. На нокиевский дисплей подал 5 вольт, вроде полёт нормальный. Подключил заряженный аккумулятор, включил разряд. Показания вольтметра отличаются от измеренных мультиметором на 2 десятки примерно. Подключил разряженный аккумулятор - не заряжает почему то. Напруга на аккумуляторе не растёт а падает. Разрядная цепь сажает.
есть(отобрал у брата старые мобильники): нокиа 3510i и нокиа 2630, сони-эрикссон К750, тошиба TS2060.
и ещё вопрос. по схеме - там, к "+" аккумулятора, подключен коллектор транзистора и два резистора. один из резисторов подписан, а второй, который в цепи эмиттера? или оба на 1 кОм?
есть(отобрал у брата старые мобильники): нокиа 3510i и нокиа 2630, сони-эрикссон К750, тошиба TS2060.
и ещё вопрос. по схеме - там, к "+" аккумулятора, подключен коллектор транзистора и два резистора. один из резисторов подписан, а второй, который в цепи эмиттера? или оба на 1 кОм?
Тот что не подписан подбираете сами под необходимый ток заряда. У меня стоит 20 Ом. Чем меньше Ом тем выше ток заряда.
есть(отобрал у брата старые мобильники): нокиа 3510i и нокиа 2630, сони-эрикссон К750, тошиба TS2060.
и ещё вопрос. по схеме - там, к "+" аккумулятора, подключен коллектор транзистора и два резистора. один из резисторов подписан, а второй, который в цепи эмиттера? или оба на 1 кОм?
Зарядный резистор у меня 15 ом и то ток заряда не большой. Плюс падает на переходе транзистора 0,7 в. Надо ставит мосфеты, как рекомендовал Dimax. По поводу индикатора - под нокаиа 3510I библиотеку наверное не найдёшь, под 1100 и подобных - есть. Я раньше далал тестер с радиокота, там применялся индикатор от SONYERICSSON T230, он управляется по I2C шине.
Зарядный резистор у меня 15 ом и то ток заряда не большой. Плюс падает на переходе транзистора 0,7 в. Надо ставит мосфеты, как рекомендовал Dimax. По поводу индикатора - под нокаиа 3510I библиотеку наверное не найдёшь, под 1100 и подобных - есть. Я раньше далал тестер с радиокота, там применялся индикатор от SONYERICSSON T230, он управляется по I2C шине.
Согласен у мосфета выше КПД в режиме ключа. Если у вас есть они то в схеме ничего не переделывая ставятся N-канальные.
Попробовал несколько мосфетов с материнок. На затворе есть потенциал, но не открываются они. Тестером проверяю - всё нормально, открываются-закрываются. Не пойму в чем дело
Да, дуино дает 5 вольт относительно земли. Относительно истока зарядного ключа там маленький потенциал, т.к. разрядный ключ в это время закрыт. Номиналы - по 100 ом в затворах, разрядный -20 Ом, зарядный - 4,7 Ом
Да, дуино дает 5 вольт относительно земли. Относительно истока зарядного ключа там маленький потенциал, т.к. разрядный ключ в это время закрыт. Номиналы - по 100 ом в затворах, разрядный -20 Ом, зарядный - 4,7 Ом
Отсоедините подтягивающий к земле резистор у зарядного полевика и попробуйте если и так не заработает значит или подключили не правильно или полевик не логического уровня.
Да, в схеме которую я привёл выше как раз все это обеспечивается. N -канальный в зарядке не будет работать. Смотрите, на затворе - 5 вольт, на истоке - 3,5 вольта (разряженный аккумулятор). Разность потенциалов - 1,5 вольт. Биполярник откроется, а для открытия полевика - мало.
Без резистора с мощным транзистором - вариант, но греться будет
Повторил ваш тестер аккумуляторов третий вариант. Почему-то напругу определяет неправильно. Вместо 4 вольт пишет 4,62 - 4,63 вольта. Игра номиналом резистора 1 ком на А0 ничего не дает. Значит я чего-то не понимаю. Не подскажете в какую сторону копать? Транзисторы применил КТ3117.
Повторил ваш тестер аккумуляторов третий вариант. Почему-то напругу определяет неправильно. Вместо 4 вольт пишет 4,62 - 4,63 вольта. Игра номиналом резистора 1 ком на А0 ничего не дает. Значит я чего-то не понимаю. Не подскажете в какую сторону копать? Транзисторы применил КТ3117.
Привет.
Классно у вас получилось!
Резистор на А0 не влияет на измерения.
В коде есть строка volt = (analogRead(analogV)* 5.0) / 1024.0;
Померьте свое нпряжение между VCC и GND и подставьте вместо пятерки, только с точкой например 5.2 или 5.05
А транзисторы главное чтоб у Ардуинки хватало силенок ими рулить подходят многие
Померьте свое нпряжение между VCC и GND и подставьте вместо пятерки, только с точкой например 5.2 или 5.05
Ну разумеется вы правы. Все по Черномырдину. Добавил между силовой частью и ардуино резистивно-емкостный фильтр. Всего 27 ом резистор. Но видимо его хватает для падения до 4,3 вольта на ардуине.
Перемкнул резистор и все пошло. Сейчас подберу значение в скетче разрядного резистора (фактическое не очень совпадает ток) и все.
Ток будет все равно немного неточным (+/- ) так как сопротивление PN перехода ключа плывет от нагрева, и резистор от нагрева немного.
Так. Пытаюсь сообразить. А надо ли подбирать значения ориентируясь по показаниям амперметра. Амперметр имеет собственное сопротивление. А ваш прибор меряет ток расчетным способом. По падению напруги на разрядном резисторе. Можно точно отстроить ток только включив амперметр полностью в измерительную цепь, а так часть сопротивления (амперметр) не включена в цепь измерения напруги-тока.
Т.е. они и не должны совпадать.
А вот сопротивление перехода транзистора как раз внутри цепи, и оно учитывается прибором. Но не учитывается его фактическое значение в скетче. Т.е. по хорошему надо добавлять в скетче некую величину сопротивления к номиналу разрядного резистора. Она конечно будет гулять от нагрева, но не в разы же.
Но это уже так. Размышления по повышению точности. Меня прибор устраивает в таком виде.
Лекс 59 Сопротивление Амперметра очень маленько можно пренебречь.
А вот сопротивление PN перехода и нагрузочного резистора решил обледенить в одну цифру, чтоб потом меня не мучили вопросами как его померить или где брать для своего транзистора.)))
Просто по любому току разряда включаете в цепь амперметр и корректируете цифру в скетче до приемлемой точности.
Okmor, КЛАСС! Спасибо огромное. Я как раз думал, как контролировать напряжение аккумулятра на питании своего устройства...А здесь - БАЦ! Готовое решение!
История такая. Вполне успешно использовал тестер. По скетчу без бузера. Ардуинка потребовалась для проверки вновь прибывших дисплеев (их пока только две у меня).
Пробую залить уже ранее залитый скетч. И с бузером и без бузера. Всеми тремя имеющимися у меня версиями ардуино. Ардуино 1.6.4. просто задумчиво виснет, две другие версии выдают ошибку
C:\DOCUME~1\Admin\LOCALS~1\Temp\build84db9247489ef7d16c40991ab02fe362.tmp\sketch\my_testerBAT_v3.ino.cpp.o: In function `setup':
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:46: undefined reference to `battZC0'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:46: undefined reference to `battZC0'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:47: undefined reference to `battZC0'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:47: undefined reference to `battZC0'
C:\DOCUME~1\Admin\LOCALS~1\Temp\build84db9247489ef7d16c40991ab02fe362.tmp\sketch\my_testerBAT_v3.ino.cpp.o: In function `loop':
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:73: undefined reference to `battV'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:73: undefined reference to `battV'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:98: undefined reference to `battCH0'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:98: undefined reference to `battCH0'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:99: undefined reference to `battCH1'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:99: undefined reference to `battCH1'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:100: undefined reference to `battCH2'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:100: undefined reference to `battCH2'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:101: undefined reference to `battCH3'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:101: undefined reference to `battCH3'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:144: undefined reference to `battDC0'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:144: undefined reference to `battDC0'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:145: undefined reference to `battDC1'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:145: undefined reference to `battDC1'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:146: undefined reference to `battDC2'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:146: undefined reference to `battDC2'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:147: undefined reference to `battDC3'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:147: undefined reference to `battDC3'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:178: undefined reference to `battCH0'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:178: undefined reference to `battCH0'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:179: undefined reference to `battCH1'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:179: undefined reference to `battCH1'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:180: undefined reference to `battCH2'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:180: undefined reference to `battCH2'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:181: undefined reference to `battCH3'
D:\Arhiv\Рлектроника\АРДУР?РќРћ\Схемы\Тестер аккумуляторов v2_files\my_testerBAT_v3(1)\my_testerBAT_v3/my_testerBAT_v3.ino:181: undefined reference to `battCH3'
collect2.exe: error: ld returned 1 exit status
Используем библиотеку LCD5110_Basic в папке: C:\Documents and Settings\Admin\Мои документы\Arduino\libraries\LCD5110_Basic (legacy)
exit status 1
Ошибка компиляции для платы Arduino Pro or Pro Mini.
Чо-то мозги уже дымятся от этих периодических непоняток. Если это не очень затруднит общество, ткните носом новичка.
Здравствуйте! Скажите пожалуйста дисплей от нокиа3310 я правильно подключаю?
pin 9 - Serial clock out (SCLK)
pin 8 - Serial data out (DIN)
pin 7 - Data/Command select (D/C)
pin 6 - LCD chip select (CS)
pin 5 - LCD reset (RST)
Привет.
LCD5110 myGLCD(9, 8, 7, 5, 6);
// (SCK, MOSI, DC, RST, CS);
после подключений перегружать ардуино.
Соберете с вас фото))))
Значит правильно подключено у меня. Почему то экран пустой. Залил в ардуино мини про. Фьюзы установлены заводские, ардуиновские.
Значит правильно подключено у меня. Почему то экран пустой. Залил в ардуино мини про. Фьюзы установлены заводские, ардуиновские.
Если экран рабочий заначит он показывает, просто вы не видите!)
Подкрутите контрастность в скетче есть.
А фьюзы пусть будут как после покупки,
если бы их нужно было трогать я бы обязательно это упомянул так как фьюзы это важно!.
Спасибо, экран заработал. Пишет "press KEY" и ниже - напряжение показывает. Пока у меня нет аппаратной части...
Собрал аппаратнуючасть, работает. На нокиевский дисплей подал 5 вольт, вроде полёт нормальный. Подключил заряженный аккумулятор, включил разряд. Показания вольтметра отличаются от измеренных мультиметором на 2 десятки примерно. Подключил разряженный аккумулятор - не заряжает почему то. Напруга на аккумуляторе не растёт а падает. Разрядная цепь сажает.
Получается даташит не правильный? (корпус ТО-92) Подтвердите или опровергните!
Да, не правильный, коллектор в середине. Всё работает. А на третью версию скетч выложите?
Да, не правильный, коллектор в середине. Всё работает. А на третью версию скетч выложите?
https://www.youtube.com/watch?v=BODFInBvmFw
под видео есть ссылка, там скетч я проверил все качается.
Я обычно перед сборкой в тестер втыкаю ключи чтоб себя проверить, в голове не держу цоколевку.
какая полезная весч! автору и всем участникам огроменное спасибо!
...вот если б рассказали как можно прикрутить другой индикатор - то ваще :))))
какая полезная весч! автору и всем участникам огроменное спасибо!
...вот если б рассказали как можно прикрутить другой индикатор - то ваще :))))
Скажите какой хотите прикрутить,
если у меня такой есть чтоб проверить скоректирую под вас.
ооо! спасибо большущее!
есть(отобрал у брата старые мобильники): нокиа 3510i и нокиа 2630, сони-эрикссон К750, тошиба TS2060.
и ещё вопрос. по схеме - там, к "+" аккумулятора, подключен коллектор транзистора и два резистора. один из резисторов подписан, а второй, который в цепи эмиттера? или оба на 1 кОм?
ооо! спасибо большущее!
есть(отобрал у брата старые мобильники): нокиа 3510i и нокиа 2630, сони-эрикссон К750, тошиба TS2060.
и ещё вопрос. по схеме - там, к "+" аккумулятора, подключен коллектор транзистора и два резистора. один из резисторов подписан, а второй, который в цепи эмиттера? или оба на 1 кОм?
Тот что не подписан подбираете сами под необходимый ток заряда. У меня стоит 20 Ом. Чем меньше Ом тем выше ток заряда.
Уже подписал!)))
ооо! спасибо большущее!
есть(отобрал у брата старые мобильники): нокиа 3510i и нокиа 2630, сони-эрикссон К750, тошиба TS2060.
и ещё вопрос. по схеме - там, к "+" аккумулятора, подключен коллектор транзистора и два резистора. один из резисторов подписан, а второй, который в цепи эмиттера? или оба на 1 кОм?
Отличный экран. нокиа 3510i
Управляется по SPI
Контроллер S1D15G14
вот даташит http://master-electrix.at.ua/3510i_lcd/S1D15G14E.pdf
Но у меня такого нет, прийдется вам самому.
про резистор понял, спасибо.
про индикатор тоже... если не сложно - в какую сторону "придется мне самому"? :) я это, не волшебник, я тока учусь :)))
правильно ли я понимаю порядок "прикручивания" индикатора:
1. нахожу даташит(кстати, спасибо!) и смотрю.
2. потом надо искать библиотеку под него.
3. читаю код тестера батареек, смотрю всё связанное с индикатором.
4. пытаюсь по аналогии(при наличии библиотек) прикрутить имеющийся.
я ничего не упустил? :)
про резистор понял, спасибо.
про индикатор тоже... если не сложно - в какую сторону "придется мне самому"? :) я это, не волшебник, я тока учусь :)))
правильно ли я понимаю порядок "прикручивания" индикатора:
1. нахожу даташит(кстати, спасибо!) и смотрю.
2. потом надо искать библиотеку под него.
3. читаю код тестера батареек, смотрю всё связанное с индикатором.
4. пытаюсь по аналогии(при наличии библиотек) прикрутить имеющийся.
я ничего не упустил? :)
Если найдете библиотеку Ардуино по д этот экран-ничего больше не нужно.
Смотрите в библиотеке как подключить и запускаете любой пример из библиотеки.
После у меня в коде есть строчки вывода информации на экран держатся кучкой -
пример-
myGLCD.clrScr();//чистим экран myGLCD.print("DISCHARG", CENTER, 0);//вывод на экран myGLCD.print("I=", LEFT, 10);//вывод на экран myGLCD.printNumF(am ,0, 20, 10); //вывод на экран myGLCD.print("mA", RIGHT, 10);//вывод на экран myGLCD.print("Cap=", LEFT, 20);//вывод на экран myGLCD.printNumF(cap , 0, 30, 20); //вывод на экран myGLCD.print("mAh", RIGHT, 20);//вывод на экраних меняете на свой код вывода даных.
Не забывая прописать в начале все для запуска экрана библиотеку, пины и инициализацию.
А если нет готовой библиотеки под Ардуино боюсь не потяните(судя по вопросам)
В даташите нужно смотреть как запускать экран и как на него выводить и писать самому это все.
Зарядный резистор у меня 15 ом и то ток заряда не большой. Плюс падает на переходе транзистора 0,7 в. Надо ставит мосфеты, как рекомендовал Dimax. По поводу индикатора - под нокаиа 3510I библиотеку наверное не найдёшь, под 1100 и подобных - есть. Я раньше далал тестер с радиокота, там применялся индикатор от SONYERICSSON T230, он управляется по I2C шине.
Зарядный резистор у меня 15 ом и то ток заряда не большой. Плюс падает на переходе транзистора 0,7 в. Надо ставит мосфеты, как рекомендовал Dimax. По поводу индикатора - под нокаиа 3510I библиотеку наверное не найдёшь, под 1100 и подобных - есть. Я раньше далал тестер с радиокота, там применялся индикатор от SONYERICSSON T230, он управляется по I2C шине.
Согласен у мосфета выше КПД в режиме ключа. Если у вас есть они то в схеме ничего не переделывая ставятся N-канальные.
Попробовал несколько мосфетов с материнок. На затворе есть потенциал, но не открываются они. Тестером проверяю - всё нормально, открываются-закрываются. Не пойму в чем дело
Точнее - не открывается зарядный ключ, с разрядом все нормально...
Пресмотрел несколько схем, зарядный ключ обычно делается на P-канальном транзисторе по такой схеме
обычно N-кональным отключают минус, P-канальным плюс учтите это.
Да, я понял. На затворе зарядного ключа относительно истока потенциал порядка 1,3 вольта...не открывает его.
Да, я понял. На затворе зарядного ключа относительно истока потенциал порядка 1,3 вольта...не открывает его.
почему так мало если дуина выдает 5В?
yucan
какие номиналы в обвязке транзистора?
Да, дуино дает 5 вольт относительно земли. Относительно истока зарядного ключа там маленький потенциал, т.к. разрядный ключ в это время закрыт. Номиналы - по 100 ом в затворах, разрядный -20 Ом, зарядный - 4,7 Ом
Да, дуино дает 5 вольт относительно земли. Относительно истока зарядного ключа там маленький потенциал, т.к. разрядный ключ в это время закрыт. Номиналы - по 100 ом в затворах, разрядный -20 Ом, зарядный - 4,7 Ом
Отсоедините подтягивающий к земле резистор у зарядного полевика и попробуйте если и так не заработает значит или подключили не правильно или полевик не логического уровня.
Классная сборочка AF4502. 2 ключа, N и P-канальные в одном корпусе. Думаю её поставить.
У меня нет подтягивающего к земле резистора...Подключен правильно, так же как и разрядный, он ведь работает.
Классная сборочка AF4502. 2 ключа, N и P-канальные в одном корпусе. Думаю её поставить.
Учтите что у сборки P канал управляется отрицательным потенциалом которого в дуине нет
У меня нет подтягивающего к земле резистора...Подключен правильно, так же как и разрядный, он ведь работает.
Если зарядный ток хотите поднять ничего не меняя поставьте мощьнее NPN без резистора зарядного и все будет 1А.
Сопротивление открытого перехода будет вместо него.
Да, в схеме которую я привёл выше как раз все это обеспечивается. N -канальный в зарядке не будет работать. Смотрите, на затворе - 5 вольт, на истоке - 3,5 вольта (разряженный аккумулятор). Разность потенциалов - 1,5 вольт. Биполярник откроется, а для открытия полевика - мало.
Без резистора с мощным транзистором - вариант, но греться будет
Пока оставил биполярники. Хочу сделать платку - законченое устройство. Спасибо автору!
Эх настальгия, мой прибор в Москву уехал!)
Жду с нетерпением фото законченного девайса!
По просьбе добавил буззер в скетч.
Настройки буззера прокоментрованны в коде.
11-й пин для разряда же ведь используется!
11-й пин для разряда же ведь используется!
вы правы.
поправил и перезалил!)
bodriy2014, Здравствуйте.
Повторил ваш тестер аккумуляторов третий вариант. Почему-то напругу определяет неправильно. Вместо 4 вольт пишет 4,62 - 4,63 вольта. Игра номиналом резистора 1 ком на А0 ничего не дает. Значит я чего-то не понимаю. Не подскажете в какую сторону копать? Транзисторы применил КТ3117.
bodriy2014, Здравствуйте.
Повторил ваш тестер аккумуляторов третий вариант. Почему-то напругу определяет неправильно. Вместо 4 вольт пишет 4,62 - 4,63 вольта. Игра номиналом резистора 1 ком на А0 ничего не дает. Значит я чего-то не понимаю. Не подскажете в какую сторону копать? Транзисторы применил КТ3117.
Привет.
Классно у вас получилось!
Резистор на А0 не влияет на измерения.
В коде есть строка volt = (analogRead(analogV)* 5.0) / 1024.0;
Померьте свое нпряжение между VCC и GND и подставьте вместо пятерки, только с точкой например 5.2 или 5.05
А транзисторы главное чтоб у Ардуинки хватало силенок ими рулить подходят многие
Atmega умеет сама мерять свое VCC.
Не помню где содрал.
long readVcc() { //Вимырюэ напругу живлення int Prior_ADMUX; Prior_ADMUX =ADMUX; // Read 1.1V reference against AVcc // set the reference to Vcc and the measurement to the internal 1.1V reference #if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); #elif defined (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) ADMUX = _BV(MUX5) | _BV(MUX0); #elif defined (__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) ADMUX = _BV(MUX3) | _BV(MUX2); #else ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); #endif delay(75); // Wait for Vref to settle ADCSRA |= _BV(ADSC); // Start conversion while (bit_is_set(ADCSRA,ADSC)); // measuring uint8_t low = ADCL; // must read ADCL first - it then locks ADCH uint8_t high = ADCH; // unlocks both long result = (high<<8) | low; ADMUX = Prior_ADMUX; result = 1125300L / result; // Calculate Vcc (in mV); 1125300 = 1.1*1023*1000 return result; // Vcc in millivolts }Atmega умеет сама мерять свое VCC.
Не помню где содрал.
long readVcc() { //Вимырюэ напругу живлення int Prior_ADMUX; Prior_ADMUX =ADMUX; // Read 1.1V reference against AVcc // set the reference to Vcc and the measurement to the internal 1.1V reference #if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); #elif defined (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__) ADMUX = _BV(MUX5) | _BV(MUX0); #elif defined (__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__) ADMUX = _BV(MUX3) | _BV(MUX2); #else ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1); #endif delay(75); // Wait for Vref to settle ADCSRA |= _BV(ADSC); // Start conversion while (bit_is_set(ADCSRA,ADSC)); // measuring uint8_t low = ADCL; // must read ADCL first - it then locks ADCH uint8_t high = ADCH; // unlocks both long result = (high<<8) | low; ADMUX = Prior_ADMUX; result = 1125300L / result; // Calculate Vcc (in mV); 1125300 = 1.1*1023*1000 return result; // Vcc in millivolts }Спасибо!
Нужно будет разобрать для себя по косточкам,
чтоб где нужно применять!)
Физика процесса следующая:
VCC берется как опорное и змеряется калиброванное внутреннее 1,1В (есть такая возможность)
Потом просто пересчитываем и находим VCC.
Померьте свое нпряжение между VCC и GND и подставьте вместо пятерки, только с точкой например 5.2 или 5.05
Ну разумеется вы правы. Все по Черномырдину. Добавил между силовой частью и ардуино резистивно-емкостный фильтр. Всего 27 ом резистор. Но видимо его хватает для падения до 4,3 вольта на ардуине.
Перемкнул резистор и все пошло. Сейчас подберу значение в скетче разрядного резистора (фактическое не очень совпадает ток) и все.
Спасибо за конструкцию и за ответ.
............ Сейчас подберу значение в скетче разрядного резистора (фактическое не очень совпадает ток) и все.
Спасибо за конструкцию и за ответ.
Ток будет все равно немного неточным (+/- ) так как сопротивление PN перехода ключа плывет от нагрева, и резистор от нагрева немного.
Ток будет все равно немного неточным (+/- ) так как сопротивление PN перехода ключа плывет от нагрева, и резистор от нагрева немного.
Так. Пытаюсь сообразить. А надо ли подбирать значения ориентируясь по показаниям амперметра. Амперметр имеет собственное сопротивление. А ваш прибор меряет ток расчетным способом. По падению напруги на разрядном резисторе. Можно точно отстроить ток только включив амперметр полностью в измерительную цепь, а так часть сопротивления (амперметр) не включена в цепь измерения напруги-тока.
Т.е. они и не должны совпадать.
А вот сопротивление перехода транзистора как раз внутри цепи, и оно учитывается прибором. Но не учитывается его фактическое значение в скетче. Т.е. по хорошему надо добавлять в скетче некую величину сопротивления к номиналу разрядного резистора. Она конечно будет гулять от нагрева, но не в разы же.
Но это уже так. Размышления по повышению точности. Меня прибор устраивает в таком виде.
Лекс 59 Сопротивление Амперметра очень маленько можно пренебречь.
А вот сопротивление PN перехода и нагрузочного резистора решил обледенить в одну цифру, чтоб потом меня не мучили вопросами как его померить или где брать для своего транзистора.)))
Просто по любому току разряда включаете в цепь амперметр и корректируете цифру в скетче до приемлемой точности.
am=(volt/20.3)*1000; //считаем амперы
Просто по любому току разряда включаете в цепь амперметр и корректируете цифру в скетче до приемлемой точности.
am=(volt/20.3)*1000; //считаем амперы
Чтож, пусть будет так.
А вот с зарядным током наверное поменяю транзистор на более мощный и уберу резистор на заряд. 25 ма кажет всего.
Без зарядного резистора 180 ма. И больше выжимать смысла не вижу с этим БП. При таком токе напруга падает до 4,68 вольта.
На этом пока остановлюсь.
Плату сделал по типу шилда. Ардуино на пенельке и дисплей с адаптером на панельке. Можно снимать и использовать где попало.
Atmega умеет сама мерять свое VCC.
....................
Okmor, КЛАСС! Спасибо огромное. Я как раз думал, как контролировать напряжение аккумулятра на питании своего устройства...А здесь - БАЦ! Готовое решение!
Спасибо.
История такая. Вполне успешно использовал тестер. По скетчу без бузера. Ардуинка потребовалась для проверки вновь прибывших дисплеев (их пока только две у меня).
Пробую залить уже ранее залитый скетч. И с бузером и без бузера. Всеми тремя имеющимися у меня версиями ардуино. Ардуино 1.6.4. просто задумчиво виснет, две другие версии выдают ошибку
Чо-то мозги уже дымятся от этих периодических непоняток. Если это не очень затруднит общество, ткните носом новичка.
.......Чо-то мозги уже дымятся от этих периодических непоняток. Если это не очень затруднит общество, ткните носом новичка.
А вы файл batt.c в папку со скетчем положили? в нем рисунки батарейки.