Подробное описание смотрите здесь. Отличия:
- В этой схеме используются датчики температуры DS18B20 (DS18S20).
- При разомкнутом четвертом переключателе разрядные импульсы длительностью в 0,01 секунду следуют через 1 секунду. При замкнутом переключателе, разрядные импульсы следуют примерно через 0,2 секунды.
Включение устройства происходит в следующем порядке. Включаются красные светодиоды, через 1 секунду включаются зеленые, еще через одну секунду, если контрольная сумма параметров сохраненных в еепром верна, светодиоды выключаются. Если какой либо датчик DS18B20 отсутствует, то соответствующий красный светодиод останется включенным. При старте зарядки, если датчик отсутствует или его температура ниже 1 градуса, то генерируется ошибка №2 "Большая температура или большой рост температуры за одну минуту".Схема.
Микроконтроллер работает от внутреннего RC генератора 8 мег. (CKSEL3..0 0100; SUT1..0 00). Запрограммировать бит BODEN, BODLEVEL. Для более точного отсчета времени в программе, необходимо с помощью программатора считать значение калибровочного байта для 8 мег, затем сохранить его значение во флэш-память, адрес 0x0038.
Например, для ponyprog можно создать скрипт, файл с расширением .e2s.
SELECTDEVICE ATMEGA8 CLEARBUFFER LOAD-PROG nimh8.hex PAUSE "Прошить мк?" READ-CALIBRATION 0x0038 DATA 3 ERASE-ALL WRITE&VERIFY-PROG PAUSE "Прошить fuse биты?" #Fuse High Byte: RSTDISBL WDTON SPIEN CKOPT EESAVE BOOTSZ1 BOOTSZ0 BOOTRST # 1101 1111 (в формате atmel) #Fuse Low Byte: BODLEVEL BODEN SUT1 SUT0 CKSEL3 CKSEL2 CKSEL1 CKSEL0 # 0000 0100 # note that a 1 means programmed. (для понипрог инвертируем) WRITE-FUSE 0x20FB
Прошивка, исходник mk.7z (22 Kb). Программа для компьютера Charge5.7z (280 Kb) . АРХИВ:http://cxema.my1.ru/load/proshivki/material_k_state_zarjadnoe_ustrojstvo_s_datchikami_temperatury_ds18b20/9-1-0-1660 |