Свежие обсуждения
Измерения

Измеритель параметров полупроводниковых приборов на ATmega8

1 129 154

Тестер питается от батарейки через преобразователь на MAX756. Неплохо бы контролировать напряжение на батарейке.
Пробовал некоторые прошивки, с Мегой 8А корректнее показывает номиналы конденсаторов прошивка "mju_i_omega_e2r",
брал на 101 странице - http://coviraylhik.at.ua/I/mju_i_omega_e2r.rar
Есть сомнения что исходник этой прошивки соответствует исходникам которые находятся на странице генерилок прошивок.
В авторском исходнике за вывод сообщений состояния аккумулятора судя по всему соответствуют эти строки:
//Versorgungsspannung messen
ReadADC(5 | (1REFS1)); //Dummy-Readout
hfe[0] = ReadADC(5 | (1REFS1)); //mit interner Referenz
if (hfe[0] < 650) { //Vcc < 7,6V; Warnung anzeigen
lcd_eep_string(Bat); //Anzeige: "Batterie"
if(hfe[0] < 600) { //Vcc 7,15V; zuverlдssiger Betrieb nicht mehr mцglich
lcd_eep_string(BatEmpty); //Batterie leer!
_delay_ms(1000);
PORTD = 0; //abschalten
return 0;
}
lcd_eep_string(BatWeak); //Batterie schwach
Line2();
}
Возникшие вопросы:
1. Можно ли изменить константы чтобы порог контроля напряжения соответствовал ~1в.? Или этого недостаточно?
2. Если этого достаточно, где находятся эти байты в испрользуемой прошивке?
3. Может есть исходник этой прошивки (mju_i_omega_e2r), или другой, корректно работающей с 8А?
Вариант на батарейке - http://zalil.ru/30940754

 

MAX756 имеет выход LBO, который так и хочется использовать, но , засада - у Вас 1 элемент питания...
Сама идея подачи какого-либо напряжения на вход МК, когда отсутствует его питание мне не по-душе.
нужно подумать...
как со схемой?

 

Схема MAX756 стандартная по даташиту, даже не рисовал, не думаю что 1,2 - 1,5 вольта выведет из строя МК, потом у меня выключатель питания стоит по минусу, соответственно питание на МК относительно АЦП подается с совсем маленькой задержкой (пока преобразователь раскочегарится)
В крайнем случае можно сделать задержку подачи напряжения на АЦП хотя бы повесив на его вход емкость.

 

в общем - не рекомендуется подавать на вход напряжение больше чем 0,5В от VCC
для некоторых, например HEFxxHCxxx такое состояние может привести к порче МС.

дело в том, что исходник, который у меня есть после компиляции выдает совсем другой .hex
по сравнению, с тем, что Вы зашили и руссификатор не пойдет.

и найти в Вашем .hex 4 байта , отвечающих на напряжение без его исходника почти нереально...
а дизасмить - это то еще занятие...

 

Насчет "не рекомендуется" полностью согласен, но микросхемы сами по себе надежные , потом часто на входах/выходах М/С стоят емкости, напряжение на которых при снятии питания еще некоторое некоторое время явно превышает допустимые 0,5в.
Можно и защиту замутить, хотя напряжение небольшое, не должно МК испортить.
Я сравнивал свой .hex с другими найденными - все разные.
Остается найти исходник корректно работающим с Мегой 8А или к которому подойдет мой .eep
Cheeeper: а вы можете дать свой .hex с указанием какие байты как влияют на контроль напряжения, поэксперементирую.
Как ваша прошивка работает с Мегой 8А?
В-общем то можно и отказаться от функции предупреждения о состоянии батарейки, но лучше заранее знать о том что она садится,
и тем более будет полезно при использовании аккумулятора, что бы его не испортить переразрядом.

 

Тут http://www.mikrocontroller.net/topic/131804 есть формула для расчёта контроля батареи, просто поискать нужно.

http://www.mikrocontroller.net/topic/131804#2021154

по калибровке есть чуть чуть тут http://www.mikrocontroller.net/topic/131804#1997540

 

Копайте в своем HEX ( Atmega8_Rus.hex из пакета http://coviraylhik.at.ua/I/mju_i_omega_e2r.rar)
(дизасм от AVR студио):
650= предупреждение о разряде = 0х028А
if (hfe[0] < 650) {//Vcc < 7,6V; Warnung anzeigen

+000007D4: 588A SUBI R24,0x8A Subtract immediate
+000007D5: 4092 SBCI R25,0x02 Subtract immediate with carry
........

600= мин допуст. разряд = 0х0258
if(hfe[0] < 600) {//Vcc <7,15V; zuverlдssiger Betrieb nicht mehr mцglich
+000007DE: 5588 SUBI R24,0x58 Subtract immediate
+000007DF: 4092 SBCI R25,0x02 Subtract immediate with carry

НУЖНО сохранить 2 байта не смотря на то, что Ваше значение будет меньше

короче...см. здесь
:100FA00090939D0080939C008A589240E0F48EE1DB
:100FB00090E017D580919C0090919D0088559240BB
...

-Как ваша прошивка работает с Мегой 8А?
-никак. у меня мега8.
я сделал прибор больше года назад. он меня удовлетворяет полностью!!!
постоянная модификация не есть самоцель для меня.

 

Cheeeper, Спасибо, буду пробовать, хотя еще не все понял. А Меги 8 без А сейчас нет... (:
sprutss, Привет, знакомые все аватарки, тоже спасибо, ветку Маркуса всю пытался осмыслить, в-общем то выше все правильно написал про контроль.

 

Заметил в своей прошивке ( Atmega8_Rus.hex из пакета http://coviraylhik.at.ua/I/mju_i_omega_e2r.rar) нелогичность вывода сообщений:
При напряжении на АЦП немного большим 1,6 вольт пишет "батарея в норме",
при меньшем - "батарея слабая" и прибор не проводит измерения.
Понятнее было бы в первом случае писать "батарея слабая", а во втором например "батарея села" (батарею заменить; сдохла и т.п.).

 

Согласно моим измерениям напряжения на РС5
1,67В - Battery weak (слабая)
1,52В - Battery empty (севшая)