28.02.2009, 22:25
|
|
Прописка
Регистрация: 09.02.2007
Сообщений: 108
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
|
Что-то я тоже зашел в тупик, продолжу завтра.
-- Прилагается рисунок: --
Прикрепленный файл: 4710892.rar
|
|
|
|
28.02.2009, 23:32
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
|
Уроки СИ для AVR микроконроллеров
to: yuriji
Все получилось, осталось откорректировать время, но лучше на готовом устройстве. Никто не подсказал, как правильно настроить таймер2. Завтра поищу в Нете и если будет время сделаю печатку.
P.S. Чтобы светодиод мигал - нужно отключить УЭ симистора, он его шунтирует.
Одна голова - хорошо, две - уже не плохо, а если бы тысячи?
Прикрепленный файл: 3681054.zip
|
|
|
|
01.03.2009, 00:55
|
|
Частый гость
Регистрация: 09.07.2007
Сообщений: 32
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Re: Уроки СИ для AVR микроконроллеров
Привет всем тезкам!!!
Забыл сказать:
Без RTC типа DS1302, DS1307, PCF8583 с батарейкой и часовым кварцем,
по-моему не удастся ничего сделать.
Напряжение питания у нас не вечно.
Да и надёжность часов на процессорном кварце....
А снова устанавливать часы после просадки питания иногда проблемматично...
Кстати в RTC есть небольшая память(240 байт у PCF8583),
можно использовать хотя-бы для хранения широты-долготы и длинных констант.
Неплохо-бы ещё контролировать напряжение батарейки и давать сигнал при её разрядке
(АЦП вход справится).
Посмотрите как это сделано в программируемом таймере
у Мастеркита: NM8036/BM8036
http://www.masterkit.ru/main/set.php?num=906
http://www.masterkit.ru/main/set.php?num=1014
(радиолюбитель, но не радист, хотя что такое 73 знаю, взаимно).
|
|
|
|
01.03.2009, 06:59
|
|
Прописка
Регистрация: 09.02.2007
Сообщений: 108
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
|
Забыл сказать:
Без RTC типа DS1302, DS1307, PCF8583 с батарейкой и часовым кварцем,
Как вариант имеет место жить и даже почти готов. Только вот год 09 не нравится, просит 2009, ну и с опросом кнопок разобраться.
С ds1307 ›››
Прикрепленный файл: 1662513.rar
|
|
|
|
01.03.2009, 07:26
|
|
Прописка
Регистрация: 09.02.2007
Сообщений: 108
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Уроки СИ для AVR микроконроллеров
Сообщение от IOPA4
|
to: yuriji
Все получилось, осталось откорректировать время, но лучше на готовом устройстве. Никто не подсказал, как правильно настроить таймер2. Завтра поищу в Нете и если будет время сделаю печатку.
P.S. Чтобы светодиод мигал - нужно отключить УЭ симистора, он его шунтирует.
Одна голова - хорошо, две - уже не плохо, а если бы тысячи?
|
Тезка не забудь опто-развязку сделать, да и трансик по питанию будет не лишний…
Рисунок для наглядности›››
-- Прилагается рисунок: --
Прикрепленный файл: 3681054.zip
|
|
|
|
01.03.2009, 07:56
|
|
Прописка
Регистрация: 09.02.2007
Сообщений: 108
Сказал спасибо: 1
Сказали Спасибо 1 раз в 1 сообщении
|
IOPA4 писал(а):
Все получилось, осталось откорректировать время, но лучше на готовом устройстве. Никто не подсказал, как правильно настроить таймер2. Завтра поищу в Нете и если будет время сделаю печатку.
P.S. Чтобы светодиод мигал - нужно отключить УЭ симистора, он его шунтирует.
======================================
Тезка (IOPA4), я маленько не понял, как работает коррекция на вашей (3681054) версии и если поставить вместо тиристора диод, то становится видно, что он не по времени включается, понаблюдайте.
На снимке видно вкл 00:07, а нужно в 17:49, также и выключается.
-- Прилагается рисунок: --
|
|
|
|
01.03.2009, 11:09
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
|
Сообщение от yuriji
|
IOPA4 писал(а):
Тезка (IOPA4), я маленько не понял, как работает коррекция на вашей (3681054) версии и если поставить вместо тиристора диод, то становится видно, что он не по времени включается, понаблюдайте.
На снимке видно вкл 00:07, а нужно в 17:49, также и выключается.
|
Немного ошибся:
Код:
|
void on_of_led(void)
{
long int time_dn, time_up, time_now;//чтобы каждый раз коррекция не вносила свою лепту
time_up=(HH[0]*60 + MM[0]) - cor;//за cor минут до восхода выкл
time_dn=(HH[1]*60 + MM[1]) + cor;//за cor минут после заката вкл
time_now=(long int)hr*60 + mins;
if ((time_now›=time_up)&&(time_now‹=time_dn)) {light_off;} // вЫключение если T › T восхода и T ‹ T захода
else {light_on;};//иначе вКлючение, если по совпадению, то после вкл.устройства не будет никакого результата,
//пока не наступит совпадения времен
} |
-- Прилагается рисунок: --
|
|
|
|
01.03.2009, 11:54
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
|
Уроки СИ для AVR микроконроллеров
yuriji, Вы обидели северян, упразднив код (здесь проверка полярного дня/ночи):
Код:
|
void OutInform(void)
{
// if (((M8 == 0) && (W8 == 0)) && ((V2 ‹ 0) || (V2 › 0)) || ((M8 == 0) || (W8 == 0))) {st=1; cld_cls();}
if ((M8 == 0) && (W8 == 0))
{
if (V2 ‹ 0) {st=1; cld_cls();}//Солнце заходит весь день
if (V2 › 0) {st=0; cld_cls();}//Солнце восходит весь день
}
else
{
if (M8 == 0) {st=1; cld_cls();} //В этот день солнце не восходит
if (W8 == 0) {st=0; cld_cls();} //В этот день солнце не заходит
}
} |
Окончательно это будет выглядеть так:
Код:
|
void on_of_led(void)
{
long int time_dn, time_up, time_now;//чтобы каждый раз коррекция не вносила свою лепту
time_up=(HH[0]*60 + MM[0]) - cor;//за cor минут до восхода выкл
time_dn=(HH[1]*60 + MM[1]) + cor;//за cor минут после заката вкл
time_now=(long int)hr*60 + mins;
if (st==1) {light_on;} else
if ((time_now›=time_up)&&(time_now‹=time_dn)) {light_off;} // вЫключение если T › T восхода и T ‹ T захода
else {light_on;};//иначе вКлючение, если по совпадению, то после вкл.устройства не будет никакого результата,
//пока не наступит совпадения времен
} |
|
|
|
|
01.03.2009, 13:14
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
|
Уроки СИ для AVR микроконроллеров
Думаю, что бета-версия для тестирования готова:
-- Прилагается рисунок: --
Прикрепленный файл: 5330801.zip
|
|
|
|
01.03.2009, 13:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
|
Уроки СИ для AVR микроконроллеров
to: trembo
Неплохая идея для последующих версий - контроль напряжения аккумулятора В остальном, пока, не хочу сильно усложнять устройство, наоборот, хочется удешевить. Территория большая, питание столбов разведено из разных точек, необходимо несколько таких устройств. Думаю, сделать переносной дисплей через разъем D9 (COM), с необходимыми предосторожностями от напряжения сети, можно так сделать и кнопки. Жаль, без аккумуляторов не обойтись. Можно подумать над: сделать основное устройство с нормальным блоком питания, а раздавать команды по USART, как в часах на предприятих. Чуть не забыл: по схеме, что я выложил необходимо программировать МК с отключенной сетью (с аккумулятором) или в отдельном программаторе!!!
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:34.
|
|