Модуль часов реального времени DS3231 (ZS-042)

Здесь обсуждаем Arduino
Аватара пользователя
GhostX
Сообщения: 1115
Зарегистрирован: 07 дек 2015, 14:40
Откуда: Рязань

Модуль часов реального времени DS3231 (ZS-042)

Сообщение GhostX » 24 дек 2015, 17:03

Два вопроса.
Как установить реальное время?
Могу установить просто, могу по времени компиляции. Но оба способа не способны поставит часы с погрешностью, даже в 10 секунд.
Как содрать время из компа, в момент когда скетч уже торчит в ардуине, в режиме реального времени?

Аватара пользователя
gurvinok
Сообщения: 1484
Зарегистрирован: 02 мар 2013, 09:18
Откуда: Москва

Re: Модуль часов реального времени DS3231 (ZS-042)

Сообщение gurvinok » 24 дек 2015, 19:33

Закинуть в регистры времени данные
Если долго мучиться, может быть получится.

Аватара пользователя
GhostX
Сообщения: 1115
Зарегистрирован: 07 дек 2015, 14:40
Откуда: Рязань

Re: Модуль часов реального времени DS3231 (ZS-042)

Сообщение GhostX » 24 дек 2015, 21:18

:D
А как? :)
Я так понимаю, нужно написать мини программку под винду, которая системное время будет в сом порт отправлять, а на ардуине программку, которая будет принимать эти данные...

Аватара пользователя
gurvinok
Сообщения: 1484
Зарегистрирован: 02 мар 2013, 09:18
Откуда: Москва

Re: Модуль часов реального времени DS3231 (ZS-042)

Сообщение gurvinok » 24 дек 2015, 21:35

В принципе как-то так. По СОМ порту можно.
Если долго мучиться, может быть получится.

Аватара пользователя
GhostX
Сообщения: 1115
Зарегистрирован: 07 дек 2015, 14:40
Откуда: Рязань

Re: Модуль часов реального времени DS3231 (ZS-042)

Сообщение GhostX » 11 янв 2016, 13:47

Часы было дело установил с погрешностью 1-2с, но это меня устраивает.
Так вот, нашел я на этом шилде микросхему 24C32 заинтересовался, что это такое...
Короче eeprom, заинтересовала она меня.
Ранее думал флешку прикрутить к ардуине, для логов температуры.
Но с наличием этой микросхемы, может во флешке и нет необходимости...
Зачем память на модуле с часами?

Аватара пользователя
gurvinok
Сообщения: 1484
Зарегистрирован: 02 мар 2013, 09:18
Откуда: Москва

Re: Модуль часов реального времени DS3231 (ZS-042)

Сообщение gurvinok » 11 янв 2016, 14:40

А это надо у изобретателя модуля спросить. Я думаю для хранения каких-нибудь констант при отсутствии питания. Или еще чего. В любом случае она без мастера работать не будет, ток что ее можно запараллелить на шине с часами и писать/читать всяку фигню.
Если долго мучиться, может быть получится.

Аватара пользователя
GhostX
Сообщения: 1115
Зарегистрирован: 07 дек 2015, 14:40
Откуда: Рязань

Re: Модуль часов реального времени DS3231 (ZS-042)

Сообщение GhostX » 11 янв 2016, 16:13

писать/читать всяку фигню
Отлично, это как раз то что нужно.
Я когда впервые этот модуль начал ковырять, не мог найти к нему подход.
Перемычки на плате A0 A1 A2 есть, но что с ними делать не понятно. А делать с ними не чего не надо было, это похоже память на них сидела. Ибо все контакты идут в эту микросхему.
Нашел сканер i2c_scanner на тот момент показывал 3 каких то адреса. Один 0х27 lcd, один часы 0х68 как позже нашел сами часы, а еще один, жаль не записал, я не знал, что это такое... подумал, может адрес самой дуньки, и успокоился. А зря...
Сейчас заливаю, этот скетч, а он только 2 адреса видит! Я немного в растерянности... Что это был за адрес и куда он делся?! Как бы, это не оказалась эта самая память, которая и есть параллельна с часами, сейчас только что тестером прозвонил.
Что то как то вспоминаю... возможно 0х57, но если это он, то 100% это была память.
Как проверить живая ли она?

Аватара пользователя
gurvinok
Сообщения: 1484
Зарегистрирован: 02 мар 2013, 09:18
Откуда: Москва

Re: Модуль часов реального времени DS3231 (ZS-042)

Сообщение gurvinok » 11 янв 2016, 17:26

Как искать ответы на такие вопросы.
1) Открываем свой любимый браузер и зайдя в поисковик ищем документацию на микросхему.
Для данной микры маны лежат тут

2) Открываем страничку номер 1 и видим это.
eeprom_1.jpg
Ничего не напоминает? Особенно в табличке. Надпись Address inputs переводится как Адресные входы.

3) Проникнувшись в данные из первого листа переходим к листу номер 11 и видим это.
eeprom_2.jpg
И что мы тут видим? Уау! Device Address что по нашенски Адрес устройства. А что за табличка справа? Знакомые буковки А0, А1, А2. Интересно))) Да это же наши ноги микросхемы. Немного подумав можно догадаться, что если подать на эти ножки GND, то в адресе будут нули, а если VCC, то единицы. Замечательно. Теперь остается узнать фиксированный адрес. Выписываем это число на бумажке. 0b01010000, сдвинуто направо на бит из-зи бита R/W он не учитывается в адресе, а теперь открываем виндовый калькулятор и в режиме программиста переводим в HEX. Получили 0x50. Ну а теперь самое волнующие, смотрим какие уровни на этих ножках на модуле. У меня на ножке А0 по ходу непропай, так как по разводке они подтянуты к VCC, а если впаять перемычки, то они прижмутся к GND. Вывод, наши ноги дают 0x00000111. Супер, берем опять виндовый калькулятор и получаем число 0x07. А теперь арифметика 0x50 + 0x07 = 0x57. Уау! Вот наш адрес при отсутствующих перемычках.
Если долго мучиться, может быть получится.

Аватара пользователя
GhostX
Сообщения: 1115
Зарегистрирован: 07 дек 2015, 14:40
Откуда: Рязань

Re: Модуль часов реального времени DS3231 (ZS-042)

Сообщение GhostX » 11 янв 2016, 17:57

У меня есть даташиты этот микросхемы и самой ds3231 именно из них я и узнал как они сидят на шине i2c чтоб прозвонить. С адресом я тоже разобрался поэтому и написал про 0х57. Просто когда первый раз сканером прошел, искал адреса 0х20-0х27, а их там не нашел, только LCD.
Я задал куда более сложный вопрос. Почему он (адрес) мог исчезнуть? Как проверить, работоспособность м/с?

Аватара пользователя
gurvinok
Сообщения: 1484
Зарегистрирован: 02 мар 2013, 09:18
Откуда: Москва

Re: Модуль часов реального времени DS3231 (ZS-042)

Сообщение gurvinok » 11 янв 2016, 18:03

Адрес исчезнуть не мог. У меня на модуле почему-то нет контакта между первой ногой микросхемы и пятаком перемычек, а это говорит о том что адрес стал 0x56. Измерий напряжение на первых двух ножках. Должны все сидеть на плюсе питания.
Если долго мучиться, может быть получится.

Ответить