Измеритель разряда литиевых батарей
|
|
ВитГо | Дата: Вторник, 22.01.2013, 23:57 | Сообщение # 61 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| по схеме вместо пары R1+R2 я бы применил один переменных резистор с минимальным сопротивлением 15-20 ком// хорошо если это будет многооборотник (его легче настроить)
емкость у С4 маловата.. поставь что нить побольше :-) это же не кварц...
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Среда, 23.01.2013, 00:15 | Сообщение # 62 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| косяк в монтаже все-таки был. я его исправил. код исправлю только завтра
да емкость маловата - другой нет, хотя есть 100 нанофарад...
других переменных резисторов у меня нет - нужно ехать в магазин...
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Среда, 23.01.2013, 00:18 |
|
| |
ВитГо | Дата: Среда, 23.01.2013, 00:41 | Сообщение # 63 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| а напряжение на входе АЦП сколько получилось с теми резисторами что есть?
100 нанофарад пойдет !
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Среда, 23.01.2013, 00:49 | Сообщение # 64 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| я вот понять не могу - 0V получается...
а должно 8V (допустим батарейка подсела) /(30+4,7) = 0,23 Вольта на 1кОм
0,23*4,7 ( самое верхнее положение ) =1,08 вольта ----------- а у меня 0 получается...
завтра на свежую голову проверю номиналы всех резисторов и монтаж...
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Среда, 23.01.2013, 00:54 |
|
| |
ВитГо | Дата: Среда, 23.01.2013, 01:03 | Сообщение # 65 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| 9 вольт \ 34,7 кома = 9 \34700=2.59 -4 ампера - это ток протекающий через резистор
дальше умножаем ток на 30 ком => получаем падение напряжение на 7.78 вольта
то есть при верхнем положении (по схеме) движка резистора ты должен получить напряжение 9-7.78=1.22 вольта на АЦП
проверь конденсатор на входе АЦП (отпаяй его нафиг)
кстати ты вход АЦП сконфигурил на вход? (а то я не обратил внимание по коду)
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Среда, 23.01.2013, 01:19 | Сообщение # 66 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Цитата кстати ты вход АЦП сконфигурил на вход? (а то я не обратил внимание по коду)
и тут промазал..
Код ldi Temp,0b00010000 ; настроили порт "В" (0-ввод, 1-вывод) out DDRB,Temp ; хх000000 - "ввод" отсутствуют ; 0000х000 - "вывод" на затвор транзистора ; 000х0000 - "ввод" АЦП (ADC2)
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Среда, 23.01.2013, 01:20 |
|
| |
ВитГо | Дата: Среда, 23.01.2013, 05:35 | Сообщение # 67 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| ок. делай вход без подтяжки !
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Среда, 23.01.2013, 21:46 | Сообщение # 68 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| вечерком сегодня исправлю.. // так торопился что все напутал ( с монтажем накосячил, с настройкой портов накосячил... ) Добавлено (23.01.2013, 21:46) --------------------------------------------- ну вот исправил монтаж, заменил конденсатор на входе АЦП на 10нФ, исправил настройку портов.
теперь напряжение на входе АЦП регулируется нормально.
а вот на экране - не то, что хотелось бы увидеть! я вижу, что число на экране линейно меняется - только вот это число "дрожит"
сейчас попробую вынести вывод на дисплей из главного цикла...
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Среда, 23.01.2013, 22:37 | Сообщение # 69 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| ну вот, вынес в главный цикл вывод изображения - все равно- число "дрожит" ( "дрожит" - это значит, что число очень быстро меняет свое значение +/- сколько-то процентов )
емкости на вход АЦП вешал разные ( 10нФ / 100нФ / 0,47 мкФ и без емкости в обще ) не помогает..
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Среда, 23.01.2013, 22:58 |
|
| |
uwrtey | Дата: Среда, 23.01.2013, 23:00 | Сообщение # 70 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| решил снизить частоту АЦП ( 9,6 МГц / 128 = 75 кГц ) ... НЕ ПОМОГЛО
не успеваю за своими мыслями......
|
|
| |
ВитГо | Дата: Четверг, 24.01.2013, 04:59 | Сообщение # 71 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| попробуй работать с пониженной точностью установив бит конфигурации ADLAR=1 и использовать значение АЦП только из старшего регистра (читать из порта все равно нужно будет оба байта значения) Код ADC_2: in temp4,SREG ; сохраняем "SREG"///////////////////////////////////////////////////// push temp4
ldi Temp5,1 ; утанавливаем флаг прерывания
in zl,ADCL ; записываем в регистровую пару "z" число "ADCH" и "ADCL" in zh,ADCH
mov zl,zh clr zh
pop temp4 ; извлекаем "SREG" //////////////////////////////////////////////////// out SREG, temp4
reti
и соответсвенно вот так проинить настроечный регистр тут я adlar в единицу настроил, ну и жестко выбрал PB4 на всякий случай (проверим, может мы номер пина не правильно задали) Код ldi Temp,2|(1<<ADLAR) out ADMUX,Temp ; REFS0=0 / опорное напряжение 5V ; ADLAR=1 / справа налево ( 8 бит в младшем и 2 бита в старшем ) ; MUX1=1 ; MUX0=0 / аналоговый вход ADC2 ( PB4 )
еще вопрос: а дроссель у тебя стоит ? попробуй его убрать ! (если не стоит - попробуй поставить :-)
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Четверг, 24.01.2013, 08:14 | Сообщение # 72 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Цитата (ВитГо) еще вопрос: а дроссель у тебя стоит ? попробуй его убрать ! (если не стоит - попробуй поставить :-) Дроссель стоит. С ним я уже эксперементировал ( замыкал его выводы) сначала мне показалось что это помогло - но потом оказалось, что это показалось....
*********************************************** Цитата (ВитГо) попробуй работать с пониженной точностью кстати, дрожжат только два младших числа на экране... - возможно это поможет выйти из ситуации. Но как же быть когда нужно работать с повышенной точностью ?
*********************************************** Цитата (ВитГо) (проверим, может мы номер пина не правильно задали) а что, такое бывает ?
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Четверг, 24.01.2013, 08:14 |
|
| |
ВитГо | Дата: Четверг, 24.01.2013, 08:22 | Сообщение # 73 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| Цитата (uwrtey) кстати, дрожжат только два младших числа на экране... - возможно это поможет выйти из ситуации. Но как же быть когда нужно работать с повышенной точностью ? просто когда нет вывода AVCC дрожание скорее нормально чем чтото страшное :-) с AVCC (например у меги 16 или меги 64) - у меня максимум дрожит один младший бит.. но там уже разводка начинает тоже играть роль
можно попробовать перейти на внутренний источник опорного регулирования - но в этом случае делитель пересчитать придется на входе.. а сторону уменьшения напряжения
Цитата (uwrtey) Цитата (ВитГо) (проверим, может мы номер пина не правильно задали)
а что, такое бывает ?
ну я просто не открывал inc файл студии по тиньке13 - не знаю что там написано в части бит выбора входа АЦП.. обычно я как фома не верующий проверяю биты в inc файле перед тем как использовать их в программе :-)
ну если два младших дрожат - то фиг с ним !
сделай ANDI ZL, 0xFC - и отбрось их !
теперь нужно запомнить значения АЦП при напряжении на входе 16.8 (4S), 12.6 (3S), 8.4 (2S) вольта
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Четверг, 24.01.2013, 10:47 | Сообщение # 74 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Цитата (ВитГо) теперь нужно запомнить значения АЦП при напряжении на входе 16.8 (4S), 12.6 (3S), 8.4 (2S) вольта блин, уменя нет регулируемого источника напряжения. как я буду на практике то испытывать ? есть только блок питания 9-12V.
не успеваю за своими мыслями......
|
|
| |
ВитГо | Дата: Четверг, 24.01.2013, 12:25 | Сообщение # 75 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| ну тогда проверь хотя бы диапазоны 8 и 12 вольт.. это как раз 2 и 3 банки литиевой батареи..
при включении предлагаю следующее: 1. читаем напряжение батареи если напряжение меньше 8 вольт - то нужно мигать слабую батарею - чтобы было понятно что воткнули не новую батарейку, и следовательно автодетект может ошибаться ! - это важно !! 2. если напряжение больше 8 вольт но меньше 9 вольт - то это 2S батарея !!! 3 если напряжение больше 12 но меньше 13 вольт - то это 3S батарея
4. нужно просигнализировать светодиодом сколько банок у нас нашлось !! чтобы пользователь мог проверить правильность подключения: мигаем по числу банок (2 раза для 2 и 3 раза для 3, ну и 4 раза для 4)
после того как помигали и пользователь понял сколько банок мы увидели переходим в обычный режим работы:
- читаем напряжение с батареи - полученное напряжение нужно поделить на количество банок (количество банок из шагов 2 или 3) мы должны получить напряжение в диапазоне от 3 до 4.2 вольта..
- сигнализируем исходя из напряжения на банке: 3 - вольта на банке - это пипец как мало, двигатель уже может и не заработать !! поэтому при менее 3.4 вольтах на банке - сигнализирует разрядку батареи (нужно садиться ! причем без сильных перегазовок двигателем иначе вырубимся)
при более 3.4 вольтах но менее 3.7 вольтах - сигнализируем что батарея уже разряжена наполовину
при более 3.7 но менее 4 вольт - показываем разряд 25%
при более 4 вольт - показываем что все Оки
итого 4 градации !! в принципе можно снизить и до 3х : все что выше 3.7 показывать как нормальный разряд батареи (рабочий)
Виталий (аka ВитГо)
|
|
| |