Внешний генератор

Вопросы от новичков
thoti3S
Рядовой
Сообщения: 15
Зарегистрирован: 11.12.2017{, 20:38}
Репутация: 0
Откуда: Tu__

Внешний генератор

#1

Сообщение thoti3S » 11.12.2017{, 20:41}

Я использую DS3231... и хотел бы использовать частоту которую выдаёт этот модуль 32k.
как организовать по блочно подключение данного вывода к ардуино средствами flprog?
Может быть можно гдето увидеть пример.. спасибо.

Аватара пользователя
Nikan
Майор
Сообщения: 1129
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 87
Откуда: москва

Внешний генератор

#2

Сообщение Nikan » 11.12.2017{, 21:20}

thoti3S писал(а):как организовать
на In0 его подключите,
а дальше счетчиком на интервалы которые нужны
Последний раз редактировалось Nikan 11.12.2017{, 21:20}, всего редактировалось 1 раз.

thoti3S
Рядовой
Сообщения: 15
Зарегистрирован: 11.12.2017{, 20:38}
Репутация: 0
Откуда: Tu__

Внешний генератор

#3

Сообщение thoti3S » 11.12.2017{, 21:42}

Nikan
Спасибо..
Вот так это правильно или нет?
Вложения
8944627.jpg
Последний раз редактировалось thoti3S 11.12.2017{, 21:43}, всего редактировалось 1 раз.

Аватара пользователя
Nikan
Майор
Сообщения: 1129
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 87
Откуда: москва

Внешний генератор

#4

Сообщение Nikan » 11.12.2017{, 21:51}

thoti3S писал(а):Вот так это правильно или нет?
нет на цифровой вход 2
далее каждую секунду счетчик увеличиться на 32768
вы на дисплее увидите мерцание,
надо счетчиком считать до требуемого интервала. счетчик сбрасывать,
и это будет постоянный интервал, не зависящий от длинны программы.
а в момент сброса той же переменной делать то что нужно,
например что то выполнить или инкриминировать еще один счетчик итд...
Последний раз редактировалось Nikan 11.12.2017{, 22:03}, всего редактировалось 1 раз.

thoti3S
Рядовой
Сообщения: 15
Зарегистрирован: 11.12.2017{, 20:38}
Репутация: 0
Откуда: Tu__

Внешний генератор

#5

Сообщение thoti3S » 11.12.2017{, 22:01}

Nikan писал(а):нет на цифровой вход 2
Почему именно 2?
Про мерцание и т.д. это понятно.. я там делитель поставил потом... сейчас меня как полного лопуха интересует сам ФАКТ подключения..
т.е. правильно ли я понимаю?:
1. Создаётся цифровой вход
2. Ставится счётчик.. 
3. Потом уже идет обработка (деление..  умножение сброс и т.д)

Так почему именно 2ой вход?
чем плох 4й? он вроде не аналоговый... или я отъедаю какойто зарезервированный пин?
спасибо...

Аватара пользователя
Nikan
Майор
Сообщения: 1129
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 87
Откуда: москва

Внешний генератор

#6

Сообщение Nikan » 11.12.2017{, 22:08}

thoti3S писал(а):Так почему именно 2ой вход?
Второй вход имеет возможность вызывать прерывание в выполняемой программе,
т.е при поступлении сигнала на этот вход, выполнение прораммы остановиться и перейдет на выполнение кода связанного с этим входом.
в данном случае увеличит счетчик, после этого программа вернется в то место где остановилась,
остальные входы (кроме 2 и 3) такой функции не имеют

thoti3S
Рядовой
Сообщения: 15
Зарегистрирован: 11.12.2017{, 20:38}
Репутация: 0
Откуда: Tu__

Внешний генератор

#7

Сообщение thoti3S » 11.12.2017{, 22:11}

Nikan писал(а):Второй вход имеет возможность вызывать прерывание в выполняемой программе,
Спасибо большое... Вы мне очень помогли...
Если можно чтобы тут не забивать эфир своими идиотскими вопросами -  я Вам в личку буду задавать вопросы...
Спасибо ещё раз..

Аватара пользователя
Nikan
Майор
Сообщения: 1129
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 87
Откуда: москва

Внешний генератор

#8

Сообщение Nikan » 11.12.2017{, 22:15}

thoti3S писал(а):в личку буду задавать вопросы
лучше здесь, поясню -
ответят все кто знает.
те кто не знает но интересуется прочитают И тоже будут знать

thoti3S
Рядовой
Сообщения: 15
Зарегистрирован: 11.12.2017{, 20:38}
Репутация: 0
Откуда: Tu__

Внешний генератор

#9

Сообщение thoti3S » 11.12.2017{, 22:35}

Nikan
Чтото не очень выходит...
Связка ардуино-ds3231
Идея  создать на ардуине таймер который засинхронизирован 32к с платы часов... но тупое заведение импульсов с платы часов и запуск их на счётчик даёт корявый результат.. стабильности нет вообще ни какой... получается считает до 10 потом тормозит жутко...
Вложения
9275806.jpg

Аватара пользователя
Nikan
Майор
Сообщения: 1129
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 87
Откуда: москва

Внешний генератор

#10

Сообщение Nikan » 11.12.2017{, 22:49}

в таком виде первый счетчик никогда не сброситься...
пример в низу интервал 0,5 сек
надо первый счетчик открыть и настроить...

Добавлено (11.12.2017, 22:49)
---------------------------------------------
и не надо ничего делить. исходите из того что 32768 это сек
считайте и сбрасывайте в нужном месте.
а в момент сброса делайте следующее...
Вложения
2719218.png
0022075.png
Последний раз редактировалось Nikan 11.12.2017{, 22:46}, всего редактировалось 1 раз.

Аватара пользователя
rw6cm
Полковник
Сообщения: 2132
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 278
Имя: Владимир

Внешний генератор

#11

Сообщение rw6cm » 12.12.2017{, 00:30}

Nikan,
Вы заблуждаетесь.
Счетчик CTU не работает на прерываниях.
По этому нет никакой разницы какой пин будет использоваться.
Следовательно и точность будет плавать в зависимости от такта длительных процессов.
Даже если использовать SCT2 (скоростной счетчик) который работает на прерываниях
мы добьемся стабильного счета, при условии что внутренние процессы позволят опрашивать пин с такой частотой (32к),
что при использовании порта I2C не получится это сделать.
thoti3S,
два примера ниже думаю прояснят это.
Вложения
4764594.flp
(104.61 КБ) 54 скачивания
8869209.flp
(99.58 КБ) 45 скачиваний
Последний раз редактировалось rw6cm 12.12.2017{, 00:47}, всего редактировалось 1 раз.
Win10-64, FLProg (portable)

Аватара пользователя
Nikan
Майор
Сообщения: 1129
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 87
Откуда: москва

Внешний генератор

#12

Сообщение Nikan » 12.12.2017{, 01:13}

rw6cm писал(а):Вы заблуждаетесь.Счетчик CTU
если внимательно прочитать, я не где ни указал что счетчик работает в прерывании...
в прерывании по внешнему входу измениться состояние пина,
а затем в цикле программы увеличиться счетчик, и если цикл по времени меньше периода прерываний интервалы полученные таким образом будут  точные. превысит поплывут.
по хорошему, надо инкриминирование  счетчика запихивать в от дельную функцию вызываемую прерыванием.
 а вообще  это проблема самой концепции ардуины  иде...

Аватара пользователя
rw6cm
Полковник
Сообщения: 2132
Зарегистрирован: 06.09.2015{, 20:25}
Репутация: 278
Имя: Владимир

Внешний генератор

#13

Сообщение rw6cm » 12.12.2017{, 01:50}

Nikan писал(а):если внимательно прочитать, я не где ни указал что счетчик работает в прерывании...
Nikan писал(а):Цитата thoti3S ()Так почему именно 2ой вход?

Второй вход имеет возможность вызывать прерывание в выполняемой программе,
т.е при поступлении сигнала на этот вход, выполнение прораммы остановиться и перейдет на выполнение кода связанного с этим входом.
Такое возможно только при программном изменении алгоритма работы 2 или 3 входа.
В схеме thoti3S, не что это не делает, следовательно разницы нет на каком пине будет вход.
Что и было написано выше.
Win10-64, FLProg (portable)

Аватара пользователя
Nikan
Майор
Сообщения: 1129
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 87
Откуда: москва

Внешний генератор

#14

Сообщение Nikan » 12.12.2017{, 03:28}

rw6cm писал(а):Что и было написано выше.
согласен, тормознул немного.
с толку сбило, что у меня от 1307 секунда так заведена в одой железке.

Аватара пользователя
Sancho
Полковник
Сообщения: 3990
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 567
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Внешний генератор

#15

Сообщение Sancho » 12.12.2017{, 09:20}

thoti3S
Микросхемы DS323х (кроме DS3231M) могут выдавать на выходе SQW частоты 1, 1024, 4096, 8192 Гц.
Зачем Вам 32768?
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

thoti3S
Рядовой
Сообщения: 15
Зарегистрирован: 11.12.2017{, 20:38}
Репутация: 0
Откуда: Tu__

Внешний генератор

#16

Сообщение thoti3S » 12.12.2017{, 09:43}

Sancho писал(а):Микросхемы DS323х (кроме DS3231M) могут выдавать на выходе SQW частоты 1, 1024, 4096, 8192 Гц.Зачем Вам 32768?
Ну я не в курсе таких подробностей... а как сделать на выходе SQW 1гц?
В принципе вообще хотелось бы разобраться .. поэтому ковыряю то что могло бы пригодится...
Основная задача(максимум) которую хотелось бы решить это:
часы - засинхронизированный от них таймер который срабатывает по некоему событию... после окончания события таймер останавливается и заносится информация о данном событии в некий журнал дата и время начало и дата и время окончания... 
Спасибо за Ваш ответ...

Аватара пользователя
Sancho
Полковник
Сообщения: 3990
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 567
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Внешний генератор

#17

Сообщение Sancho » 12.12.2017{, 10:22}

thoti3S писал(а):Основная задача(максимум) которую хотелось бы решить это:часы - засинхронизированный от них таймер который срабатывает по некоему событию... после окончания события таймер останавливается и заносится информация о данном событии в некий журнал дата и время начало и дата и время окончания...
 Как я понял Вашу идею:
Часы не опрашиваются в основном цикле.
При наступлении события запускается таймер, использующий не внутренние данные ( millisec/microsec), а внешние тактовые импульсы.
Вот тут не понятно - По окончании его(таймера) работы  ИЛИ ПО окончанию события ???
Запускаем получение даты/времени с последующим сохранением ....
Не могу взять в толк - зачем таймер? Можно два раза считать время из RTC начало/конец события и записать куда нибудь. 
Или время начала и длительность...
Последний раз редактировалось Sancho 12.12.2017{, 10:24}, всего редактировалось 1 раз.
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

thoti3S
Рядовой
Сообщения: 15
Зарегистрирован: 11.12.2017{, 20:38}
Репутация: 0
Откуда: Tu__

Внешний генератор

#18

Сообщение thoti3S » 12.12.2017{, 10:40}

Sancho писал(а):Не могу взять в толк - зачем таймер? Можно два раза считать время из RTC начало/конец события и записать куда нибудь. Или время начала и длительность...
Возможно моя логика хромает... и вы более верно формулируете решение...
Попробую описать задумку:
Имеется электрический насос№1... который работает на наполнение некой ёмкости... с ёмкости посредством другого насоса№2 идёт разбор воды потребителями...
Задача:
Определить сколько раз и в какое время происходит включение и отключение насоса№1 с последующим просмотром на экране журнала (время вкл - время выкл) допустим в течении недели...
Задача минимум - общее время работы насоса в течении суток например - решается достаточно просто обычным таймером.... но у таймера который я использую очень всё не хорошо с результатами он то опережает то опаздывает... была идея засинхронизировать этот таймер от термостабильного кварца из ds3231...
Хотя возможно(скорее всего) задача может быть решена иначе...
Спасибо...
Последний раз редактировалось thoti3S 12.12.2017{, 10:41}, всего редактировалось 1 раз.

Аватара пользователя
Sancho
Полковник
Сообщения: 3990
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 567
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Внешний генератор

#19

Сообщение Sancho » 12.12.2017{, 10:40}

Для получения меандра 1 Гц на выходе SQW необходимо:
считать из 3231 регистр(байт) по адресу 0х0Е, сделать побитное И с 0хЕ0 и записать обратно.
Если не планируется никаких "заморочек" с температурой то проще просто записать по указанному адресу 0 - и всё.
Если не получится на контроллере - сделаю на тразисторах и 155/176...Научился, немного.
Поможем проекту вместе!

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Внешний генератор

#20

Сообщение pan » 12.12.2017{, 10:42}

thoti3S писал(а):Ну я не в курсе таких подробностей...
скачиваем даташит и читаем.
 конкретно страница 13.
по умолчанию на этом выходе частота 8192. (что уже проще сосчитать чем 32768)
thoti3S писал(а):как сделать на выходе SQW 1гц?
 считать из часов регистр 0E (номер 14 по нашему) изменить биты 3 и 4 в соответствии с таблицей и своими желаниями и записать обратно.


СпойлерПоказать
Изображение

Ответить

Вернуться в «Начинающим»