Arduino + DS1307

intom33
Offline
Зарегистрирован: 26.11.2016

Доброго Всем времени суток !

Помогите разобраться с часами реального времени?

Собрал часы на ардуине, часы с ледматрицей китайской 4Х32 MAX7219 и микросхемой часов DS1307.

Собрано правильно все но при подключении батарейки питания DS1307 3-вольта часы останавливаются, когда отключаю батарейку часы идут нормально. Поскажите что делаю не так, пробывал разные библиотеки для DS1307 то же самое, схема подключения DS1307 стандартная с подтягивающими резисторами и не работает ?????

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

intom33 пишет:

Собрано правильно все 

И скетч правильный.

Значит, всё работает хорошо!

---------------

А если плохо, то ошибка скорее всего в строке -12 скетча, а также в том, что перепутана полярность включения резистора R1

intom33
Offline
Зарегистрирован: 26.11.2016

Вот скетч

#include <DS1307.h> 
#include <LEDmatrix7219.h>
DS1307 rtc(A4, A5); 
LEDmatrix7219 myMatrix(5, 6, 7);
extern uint8_t TextFont[];
 
void setup()
{
  
  rtc.halt(false); 
  rtc.setDOW(SUNDAY);// Set Day-of-Week to SUNDAY
  rtc.setTime(12, 10, 0);// Set the time to 12:00:00 (24hr format)
  rtc.setDate(2, 10, 2017);// Set the date to October 3th, 2010 
  myMatrix.begin();
  myMatrix.disableSleep();
  myMatrix.setFont(TextFont);
   
}
 
void loop()
{
  myMatrix.print(rtc.getTimeStr(), 1);
  delay(1000);
}

а схема для подключения  взята из даташита для DS1307

bwn
Offline
Зарегистрирован: 25.08.2014

От какого напряжения питаете все это чудо?

intom33
Offline
Зарегистрирован: 26.11.2016

Основная схема от 5-вольт, а DS1307 от батарейки 3-вольта, минус общий

bwn
Offline
Зарегистрирован: 25.08.2014

Проверьте для начала эти 5 вольт. Все таки матрица кушает весьма много, нет ли просадки?

"а DS1307 от батарейки 3-вольта, минус общий" - это понимать, как 1307 только от батарейки или все таки основное питание подключено?

intom33
Offline
Зарегистрирован: 26.11.2016

Запустил эти часы уже, но когда вытащил контролер из платы ардуино и смонтировал на макетной плате отдельно от платы ардуино все заработало правильно а с платы ардуино почемуто не хотело работать не знаю почему, может был конфликт по питанию +3-волта для DS1307. бес платы ардуино собрал все работает с думя питаниями +5-воль основное и +3-вольта для DS1307

bwn
Offline
Зарегистрирован: 25.08.2014

Скорее было падение основного питания где то. У 1307 есть порог для батареи (вроде 1,25 коэфф.относительно основного - можете в даташите уточнить) Если будет ниже, останавливаются.

И сбросьте все таки схему или фотографию. Вы внятно так и не ответили, 1307 питается от двух напряжений? 5В питание и 3В резервная батарея?

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

ну пяти вольт у него не было на 1307 :)

intom33
Offline
Зарегистрирован: 26.11.2016

Вот схема подключения DS1307

Картинки по запросу ds1307

Только в место резисторов с номиналом 4.7к поставил по 1к, с 4.7 резисторами не работала, батарейка отдельная для питания DS1307 от компьютера дисковая.

intom33
Offline
Зарегистрирован: 26.11.2016

Наверно таки было падение напряжения потому когда подключил контролер и DS1307 отдельно от платы Arduino все заработало правильно, но теперь не могу разобраться с выходом "SQW/OUT" по идеи там выход импульсов секундных, подключаю светодиод с гасящим резистором он просто светится я думал он должен мигать каждую секунду, или может надо поставить какой то ключь на транзисторе?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Чтоб там был выход секундный, нуна сначала настроить делитель 

bwn
Offline
Зарегистрирован: 25.08.2014

1К слишком зверски для короткой шины I2C. Что то не так в датском королевстве.
Насчет SQW, не уверен, что он сумеет зажечь светик, это все таки сигнальный, а не силовой выход. Импульсы там могут быть разной частоты, что надо записать в регистр для секундных, смотрите в даташите.

intom33
Offline
Зарегистрирован: 26.11.2016

bwn пишет:

1К слишком зверски для короткой шины I2C. Что то не так в датском королевстве.
Насчет SQW, не уверен, что он сумеет зажечь светик, это все таки сигнальный, а не силовой выход. Импульсы там могут быть разной частоты, что надо записать в регистр для секундных, смотрите в даташите.

Ставил 4.7 килоома работает както не правильно прыгает значение на матрице поставил 1к работает нормально,попробую поставить 3.3к или буду подбирать, я так понял чем больше номинал резистора тем менше потребления тока?

А с выходом разобрался установил выход на частоту 1Герц светодиод начал мигать каждую секунду

bwn
Offline
Зарегистрирован: 25.08.2014

Думаю все таки помеха идет по питанию (БП дохловат), поэтому при больших сопротивлениях и ловит эту просадку.

intom33
Offline
Зарегистрирован: 26.11.2016

Я тоже так думаю потому что пока поставил блок питания от зарядки мобильного на 5воль походу он не тянет. Это значит лучше поставить 4.7к и помощней блок питания?

 

bwn
Offline
Зарегистрирован: 25.08.2014

4,7 в принципе не обязательно, если работает, то вряд ли МС погорит. А вот БП надо нормальный искать. Где из за этих колебаний выскочит следующий глюк, не знает никто.

intom33
Offline
Зарегистрирован: 26.11.2016

bwn Спасибо ! за подсказки, буду дальше екперементировать))

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

bwn пишет:

4,7 в принципе не обязательно, если работает, то вряд ли МС погорит.

Вопрос не в том, погорит/не погорит, а в том, что если не работает с 4к7, значит, в схеме что-то неправильно. 

Цитата:

А вот БП надо нормальный искать. Где из за этих колебаний выскочит следующий глюк, не знает никто.

Ну да, это самое первое дело - неадекватное питание добрая половина "неправильного" поведения схем.

bwn
Offline
Зарегистрирован: 25.08.2014

andriano пишет:

bwn пишет:

4,7 в принципе не обязательно, если работает, то вряд ли МС погорит.

Вопрос не в том, погорит/не погорит, а в том, что если не работает с 4к7, значит, в схеме что-то неправильно. 

Согласен, думаю с заменой БП все эти мерзости сами исчезнут. Хотя, повторный эксперимент не помешает.

Штирлиц
Штирлиц аватар
Offline
Зарегистрирован: 13.06.2015

закоментируйте строки 11,12,13 в сетапе.