К тому же у меня M41T56
Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
- xorkrus
- Нашел транзистор. Понюхал.
- Сообщения: 151
- Зарегистрирован: Сб ноя 19, 2011 20:13:47
- Откуда: Тамбов
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Про BOD завтра скажу. На работе шил. А DSка... ну... у меня тоже на неё подозрения падали уже. Ибо либо батарейки плохие ставлю (что вполне возможно) либо она сжирает все нафик...
К тому же у меня M41T56
К тому же у меня M41T56
Демократии нет и не будет!
Государство - это я!
Государство - это я!
- Реклама
- Ant-RG
- Вымогатель припоя
- Сообщения: 541
- Зарегистрирован: Ср май 05, 2010 20:47:56
- Откуда: Украина
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Так же можете прилепить керамику 0,1 мкФ как можно поближе к дске, мне помогало, и бод лучше на 4V ставить.
За электролиты Вы точно так и неотписались, после кренки не больше 47мкФ
За электролиты Вы точно так и неотписались, после кренки не больше 47мкФ
I'am a Rock N' Roll-Aholic
- Генеральный
- Открыл глаза
- Сообщения: 61
- Зарегистрирован: Пт мар 09, 2012 20:36:27
- Откуда: СССР
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добрый день !! У меня вопрос к Danko, есть ли возможность оперативно менять между собой выходы разрядов и сегментов ( для удобства разводки ПП) ?? И если да, то в каких строках исходника (из 1-го поста) это сделать ?? Спасибо.
З.Ы. Хочу сделать часики с индикаторами ИВ-22.
З.Ы. Хочу сделать часики с индикаторами ИВ-22.
СССР, жив !!!!
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Сегменты между собой менять можно.
Файл term_mega8_88.hстрокину и если запятая переедет на другой разряд то файл main_mega8_88.c
строки
разряды через сдвиговый регистр завязаны и поменять между собой можно, но не так просто как сегменты.замените на что то подобное, где можно биты между собой поменять.
Ну а если вопрос ставится вообще замена не только битов, но и самого порта, ну это уже не ко мне.
Файл term_mega8_88.hстроки
Код: Выделить всё
#define A 1
#define B 4
#define C 16
#define D 64
#define E 128
#define F 2
#define G 8
строки
Код: Выделить всё
if (led_s) { PORTB.5=1; }
else { PORTB.5=0; }
разряды через сдвиговый регистр завязаны и поменять между собой можно, но не так просто как сегменты.
Код: Выделить всё
if (led_r) { PORTD |= (1<<cur_dig); } // засветить нужный разряд (бит знакоместа - on)
else { PORTD &= ~(1<<cur_dig); }
Код: Выделить всё
switch (cur_dig) {
case 0:
PORTD.0 = 1; break;
case 1:
PORTD.1 = 1; break;
case 2:
PORTD.2 = 1; break;
case 3:
PORTD.3 = 1; break;
}
Ну а если вопрос ставится вообще замена не только битов, но и самого порта, ну это уже не ко мне.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
- Nusik1975
- Электрический кот
- Сообщения: 1023
- Зарегистрирован: Чт мар 04, 2010 13:48:56
- Откуда: Недалеко от Тулы
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Прошу помощи автора часов.
Применил семисегментник с общим анодом, питание разделительного двоеточия идет на 9 и 3 ножки (это диоды D5 и D6):

Ключи сделал вот такие:

При мигании разделительного двоеточия, когда оно загорается, теряется яркость 2 разряда индикатора. После того, как двоеточие потухнет, и 2 разряд нормально горит, как и остальные. Я думаю, что это происходит из-за недостатка питания 2 разряда при зажигании двоеточия. На видео немного заметно мигание 2 разряда.
https://www.youtube.com/watch?v=OVEkI9tzt8I
Посоветуйте, как избавиться от такого дефекта. Спасибо.
P.S. Питание для индикатора наверняка нужно было взять ДО стабилизатора. Но часы будут стоять в машине, а там бортовое напряжение непостоянно, поэтому и запитал после 7805.
Думаю поставить после стабилизатора конденсатор побольше емкости, может, хоть это поможет...
Применил семисегментник с общим анодом, питание разделительного двоеточия идет на 9 и 3 ножки (это диоды D5 и D6):
Ключи сделал вот такие:
При мигании разделительного двоеточия, когда оно загорается, теряется яркость 2 разряда индикатора. После того, как двоеточие потухнет, и 2 разряд нормально горит, как и остальные. Я думаю, что это происходит из-за недостатка питания 2 разряда при зажигании двоеточия. На видео немного заметно мигание 2 разряда.
https://www.youtube.com/watch?v=OVEkI9tzt8I
Посоветуйте, как избавиться от такого дефекта. Спасибо.
P.S. Питание для индикатора наверняка нужно было взять ДО стабилизатора. Но часы будут стоять в машине, а там бортовое напряжение непостоянно, поэтому и запитал после 7805.
Думаю поставить после стабилизатора конденсатор побольше емкости, может, хоть это поможет...
- Вложения
-
- 2013-01-18_010553.gif
- Ключи
- (12.54 КБ) 3284 скачивания
-
- 2013-01-18_001506.gif
- Индикатор
- (21.71 КБ) 3273 скачивания
- Реклама
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Вопрос : зачем в коллекторы ключей на аноды включены резисторы на 470 Ом? Какую они роль выполняют? Нужны только резисторы в сегментах. Да и сегменты у такого индикатора можно напрямую к меге подключать, видно, что это что то типа 0,28" индикатор. 8 транзисторов, 16 резисторов- явный переизбыток деталей для него
Ну и к 12 В уж точно нельзя с таким подключением транзисторов, ключами, напрямую включать, если с нпн повторителями - то можно.
Избавиться соответственно можно, убрав ненужные резисторы из цепей анодов индикатора, возможно придется подобрать резисторы в сегментах, т к яркость заметно возрастет.Nusik1975 писал(а):Посоветуйте, как избавиться от такого дефекта. Спасибо.
Ну и к 12 В уж точно нельзя с таким подключением транзисторов, ключами, напрямую включать, если с нпн повторителями - то можно.
- xorkrus
- Нашел транзистор. Понюхал.
- Сообщения: 151
- Зарегистрирован: Сб ноя 19, 2011 20:13:47
- Откуда: Тамбов
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Заменил RTC. Поставил обычную DSку. М41... сжирала батарею на раз. Перешил мегу. BOD активирован не был. Активировал на 4В. Пока С000 не наблюдается. Керамика стоит и у дски у ног и у атмеги. электролиты - все по схеме.
Демократии нет и не будет!
Государство - это я!
Государство - это я!
- Nusik1975
- Электрический кот
- Сообщения: 1023
- Зарегистрирован: Чт мар 04, 2010 13:48:56
- Откуда: Недалеко от Тулы
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
To Martin76
Ну вроде привык в схемах максимально разгружать процессор. А резисторы по разрядам я поставил аналогично схеме, найденной на каком-то сайте.Хорошо, когда знаешь токи через сегменты. А если индикатор китайский и, слава богу, хоть схему подключения нашел на просторах интернета? Я вот даже не знаю, какой ток течет через сегменты. Поэтому и подстраховываюсь. На оригинальность не претендую
Это у меня второй экземпляр часов, другие успешно трудятся в детской; они собраны на больших индикаторах, которые запитаны от 14 вольт через полевички с повторителями. Там нет такого мигания.
Martin76, спасибо за совет, удалю эти ненужные резисторы и попробую все же рассчитать токи через сегменты. Придется немного увеличить номиналы резисторов по сегментам.
Ну вроде привык в схемах максимально разгружать процессор. А резисторы по разрядам я поставил аналогично схеме, найденной на каком-то сайте.Хорошо, когда знаешь токи через сегменты. А если индикатор китайский и, слава богу, хоть схему подключения нашел на просторах интернета? Я вот даже не знаю, какой ток течет через сегменты. Поэтому и подстраховываюсь. На оригинальность не претендую
Это у меня второй экземпляр часов, другие успешно трудятся в детской; они собраны на больших индикаторах, которые запитаны от 14 вольт через полевички с повторителями. Там нет такого мигания.
Martin76, спасибо за совет, удалю эти ненужные резисторы и попробую все же рассчитать токи через сегменты. Придется немного увеличить номиналы резисторов по сегментам.
- Генеральный
- Открыл глаза
- Сообщения: 61
- Зарегистрирован: Пт мар 09, 2012 20:36:27
- Откуда: СССР
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Добрый день !!
Danko, спасибо за быстрый ответ, главное, что сегменты просто меняются, а с разрядами гемороиться не буду (их всего 4)
. Ещё подскажите, как сделать, чтобы активным для сегментов был gnd на выходах МК (опять таки с прицелом на ИВ-22)???
Danko, спасибо за быстрый ответ, главное, что сегменты просто меняются, а с разрядами гемороиться не буду (их всего 4)
СССР, жив !!!!
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Очень просто:
При включении нужно удержать кнопку "-"
А вот еще варианты выбора
При включении нужно удержать кнопку "-"
А вот еще варианты выбора
Ряд настроек доступ к которым осуществляется удержанием одной из кнопок при включении питания:
Выбор типа индикатора делается удержанием одной из четырех кнопок ("+", "-", "сек", "уст").
Если быть более точным то не выбор индикатора, а выбор активного 0 или 1 для зажигания сегмента и выбор активного 0 или 1 для зажигания разряда.
"+" - сегмент "0", разряд "0"
"-" - сегмент "0", разряд "1"
"сек" - сегмент "1", разряд "0"
"уст" - сегмент "1", разряд "1"
----------
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
- Генеральный
- Открыл глаза
- Сообщения: 61
- Зарегистрирован: Пт мар 09, 2012 20:36:27
- Откуда: СССР
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Спасибо! Сейчас пытался скомпилировать HEX, по исходникам из первого архива, первого поста - ничего не вышло - winAVR 20100110 выдал кучу ошибок ??!! А Вы каким компилятором пользовались ??
СССР, жив !!!!
- Danko
- Сверлит текстолит когтями
- Сообщения: 1287
- Зарегистрирован: Пн окт 13, 2008 11:45:54
- Откуда: РФ, Крым, г.Бахчисарай
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Я даже не знаю вообще прилично самого себя цитировать
файл main_mega8_88.c
самая первая строка
файл main_mega8_88.c
самая первая строка
Код: Выделить всё
/*******************************************************************************************
CodeVisionAVR V2.05.0 Professional
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
спасибо огромное ув. Ant-RG за подсказку и помощь в подключении мощных индикаторов
перепрошивка не помогла - датчики определяются. но вместо температуры показывает дату
по ходу мега глючная
может кому пригодится - схема и платка в протеусе
Выбор типа индикатора делается удержанием одной из четырех кнопок ("+", "-", "сек", "уст").
выбор активного 0 или 1 для зажигания сегмента и выбор активного 0 или 1 для зажигания разряда.
"+" - сегмент "0", разряд "0"
"-" - сегмент "0", разряд "1"
"сек" - сегмент "1", разряд "0"
"уст" - сегмент "1", разряд "1" в моем случае
перепрошивка не помогла - датчики определяются. но вместо температуры показывает дату
может кому пригодится - схема и платка в протеусе
Выбор типа индикатора делается удержанием одной из четырех кнопок ("+", "-", "сек", "уст").
выбор активного 0 или 1 для зажигания сегмента и выбор активного 0 или 1 для зажигания разряда.
"+" - сегмент "0", разряд "0"
"-" - сегмент "0", разряд "1"
"сек" - сегмент "1", разряд "0"
"уст" - сегмент "1", разряд "1" в моем случае
- Вложения
-
- буфер индикатора.rar
- схема и плата в протеусе 7,10
- (20.74 КБ) 294 скачивания
- xorkrus
- Нашел транзистор. Понюхал.
- Сообщения: 151
- Зарегистрирован: Сб ноя 19, 2011 20:13:47
- Откуда: Тамбов
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
kret_a_v писал(а):перепрошивка не помогла - датчики определяются. но вместо температуры показывает датупо ходу мега глючная
У меня так работает датчик DS1820 (тот, который длинный). Т.е. он типа определился, но вместо температуры - дата. Поставьте другой датчик.
Демократии нет и не будет!
Государство - это я!
Государство - это я!
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
спасибо xorkrus за подсказку
ставил, изменений ни каких (у меня их 6 штук - все по одинаковому)
все же думаю что мега, т.к. шьется через раз....
сначала полное стирание потом только может записаться прошивка
и то через раз
ставил, изменений ни каких (у меня их 6 штук - все по одинаковому)
все же думаю что мега, т.к. шьется через раз....
сначала полное стирание потом только может записаться прошивка
и то через раз
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Nusik1975 писал(а):Прошу помощи автора часов.
Посоветуйте, как избавиться от такого дефекта. Спасибо.
P.S. Питание для индикатора наверняка нужно было взять ДО стабилизатора. Но часы будут стоять в машине, а там бортовое напряжение непостоянно, поэтому и запитал после 7805.
Думаю поставить после стабилизатора конденсатор побольше емкости, может, хоть это поможет...
попробуйте так сделать , я долго мучился с питанием больших на ОА
поборол так
- Вложения
-
- mega8 big led-111.lay
- (169.79 КБ) 693 скачивания
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Не нужно там ничего городить для таких маленьких индикаторов, в принципе, до 0,8"( 1 светодиод), да и для 1-1,5"( 2 диода) для большинства случаев тоже, хватит подключения сегментов напрямую к меге, ОА или ОК - через ключи к +5В или земле. На ULN падает порядка 1-1,5В поэтому с ней будет на грани для 2х светодиодов. Индикаторы с числом светодиодов на сегмент больше двух ( 1.8" и более) - другое дело, там без дополнительных ключей и повышенного напряжения питания не обойтись.
Если не превышать ток через 1 выход порта AVR 20-25мА, весь порт 200мА, то ничего страшного не будет, даже заметно нагреваться она не будет. AVR - не древние микроконтроллеры, как КР580 с нагрузочной способностью 1 ТТЛ вход и вполне рассчитаны на нагрузку, такую как светодиодный индикатор.
Nusik1975 писал(а):Ну вроде привык в схемах максимально разгружать процессор.
Если не превышать ток через 1 выход порта AVR 20-25мА, весь порт 200мА, то ничего страшного не будет, даже заметно нагреваться она не будет. AVR - не древние микроконтроллеры, как КР580 с нагрузочной способностью 1 ТТЛ вход и вполне рассчитаны на нагрузку, такую как светодиодный индикатор.
У практически всех не суперярких светодиодов красного, желтого и зеленого цвета падение напряжения составляет 1,8 -2,2В, синие - около 3, белые 3-3,7В. А далее исходя из закона Ома все считается. I=(Uпит - UledxN)/ R , где N - кол-во светодиодов в сегменте, средний для n разрядов еще в n раз меньше. Например: (5-2x1)/100=0,03/4=0,0075, т е 7,5мА. Реальный ток будет меньше из за падения напряжения на ключах. Большинство современных индикаторов при таком токе будут светиться ярко или очень ярко.Nusik1975 писал(а):Хорошо, когда знаешь токи через сегменты. А если индикатор китайский и, слава богу, хоть схему подключения нашел на просторах интернета?
- Nusik1975
- Электрический кот
- Сообщения: 1023
- Зарегистрирован: Чт мар 04, 2010 13:48:56
- Откуда: Недалеко от Тулы
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Martin76,
благодарю Вас за ликбез!
Решилась-таки проблема. Убрал из схемы ключи по катодам, резисторы по коллекторам ключей анодов, оставил только резисторы на 1 кОм по катодам. Все работает четко!
Да я еще нагородил ключей, потому как забыл, что при первом включении можно управляющие 0 или 1 выбрать

Danko еще раз спасибо за удачную конструкцию!
благодарю Вас за ликбез!
Решилась-таки проблема. Убрал из схемы ключи по катодам, резисторы по коллекторам ключей анодов, оставил только резисторы на 1 кОм по катодам. Все работает четко!
Да я еще нагородил ключей, потому как забыл, что при первом включении можно управляющие 0 или 1 выбрать
Danko еще раз спасибо за удачную конструкцию!

- Вложения
-
- 2013-01-19_174739.gif
- (11.05 КБ) 2742 скачивания
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
////вот что за ерунда
собрал часы уже в дип корпусах
история та же .....
датчики определяются. но вместо температуры показывает дату
в чем трабл . ни как не разберу
прош-а с 1й стр. плата приложена (1я фкладка) и индикаторы 9и вольтовые (последняя вкладка)
перепрошивал, датчики менял , меги тоже менял и перепрошивал
ПЛИЗ, что еще может быть ?
п.с.
трассу от датчика прозвонил на предмет соплей до самой меги - все норма

собрал часы уже в дип корпусах
история та же .....
датчики определяются. но вместо температуры показывает дату
в чем трабл . ни как не разберу
прош-а с 1й стр. плата приложена (1я фкладка) и индикаторы 9и вольтовые (последняя вкладка)
перепрошивал, датчики менял , меги тоже менял и перепрошивал
ПЛИЗ, что еще может быть ?
п.с.
трассу от датчика прозвонил на предмет соплей до самой меги - все норма

- Вложения
-
- clock-7seg-v4.lay
- (736.48 КБ) 627 скачиваний
- Ant-RG
- Вымогатель припоя
- Сообщения: 541
- Зарегистрирован: Ср май 05, 2010 20:47:56
- Откуда: Украина
- Контактная информация:
Re: Часы-календарь-термометр (Mega8+DS1307+DS18B20+4LED)
Fuse точно правильно стоят? На плате с подкл дотчика вроде поядок, но лучше его питать через RC цепочку 50-100 Ом 4,7-10 мкФ, но и так должен работать
I'am a Rock N' Roll-Aholic


