Генератор из arduino
Re: Генератор из arduino
Да, понятно. Технологические процессы с точностью попроще. Ага.
Re: Генератор из arduino
[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4742447#p4742447"]Касательно кварца. Я как то делала таймер для одной установки. На восьмой меге.
Там нужны были часы. Которые я, ради эксперимента, реализовала на часовом кварце и Т2- таймере.
Применив идею коррекции хода часов товарища AterLux, да добавив кучку математики, что б коэффициент коррекции рассчитывался автоматически при очередной установке/подстроке времени, получилось добиться точности порядка секунды за период с мая месяца по текущий момент.
Без термокоррекции, ибо таймер у людей работает в помещении.
AQ29, Интересно. Берем всеми любимую мегу8. Как там можно соединить аппаратно пару таймеров?[/uquote]
Не знаю, насколько удобна автоматическая установка. А если за отсчётный период произошёл сбой часов, скажем, на час.
Потом время пользователь может устанавливать неточно, с точностью до минуты.
Мега8 уж совсем старенькая. Хотя и сейчас вполне подходит. Купил по дешёвке в ЧипДипе где-то за 60 рублей (ещё и в корпусе Dip) для макетных плат с сокетой с нулевым усилием. Удобно отлаживать элементы программы, ядро ведь одинаковое.
Уже, наверно, лет 8 выпускают новое поколение AVR, вот там есть аппаратное соединение периферии. Купил AVR32DA32.
Там есть 8 каналов. Вход каждого канала можно аппаратно подключить к разной периферии – порты, таймеры, USART, SPI. В таймерах можно подключить к разным флагам – переполнения, регистра сравнения и т.д.
В канал также можно подать сигнал и из программы.
Выходы канала также можно подключить к разной периферии. К выходу каждого канала можно подключить несколько периферийных устройств. Можно асинхронно, это напрямую, либо синхронно через тактовый сигнал.
Пока почитал описание поверхностно, детально не вникал.
Там нужны были часы. Которые я, ради эксперимента, реализовала на часовом кварце и Т2- таймере.
Применив идею коррекции хода часов товарища AterLux, да добавив кучку математики, что б коэффициент коррекции рассчитывался автоматически при очередной установке/подстроке времени, получилось добиться точности порядка секунды за период с мая месяца по текущий момент.
Без термокоррекции, ибо таймер у людей работает в помещении.
AQ29, Интересно. Берем всеми любимую мегу8. Как там можно соединить аппаратно пару таймеров?[/uquote]
Не знаю, насколько удобна автоматическая установка. А если за отсчётный период произошёл сбой часов, скажем, на час.
Потом время пользователь может устанавливать неточно, с точностью до минуты.
Мега8 уж совсем старенькая. Хотя и сейчас вполне подходит. Купил по дешёвке в ЧипДипе где-то за 60 рублей (ещё и в корпусе Dip) для макетных плат с сокетой с нулевым усилием. Удобно отлаживать элементы программы, ядро ведь одинаковое.
Уже, наверно, лет 8 выпускают новое поколение AVR, вот там есть аппаратное соединение периферии. Купил AVR32DA32.
Там есть 8 каналов. Вход каждого канала можно аппаратно подключить к разной периферии – порты, таймеры, USART, SPI. В таймерах можно подключить к разным флагам – переполнения, регистра сравнения и т.д.
В канал также можно подать сигнал и из программы.
Выходы канала также можно подключить к разной периферии. К выходу каждого канала можно подключить несколько периферийных устройств. Можно асинхронно, это напрямую, либо синхронно через тактовый сигнал.
Пока почитал описание поверхностно, детально не вникал.
Re: Генератор из arduino
AVR32DA32 любопытно)) глянул мельком даташит... обычная ардуина))
аппаратное соединение периферии это не самое главное.
важнее доступность и удобность...
купить где ? не во во всех магазинах есть..
а писать где ?
а прошивать чем ?
и т.д.

аппаратное соединение периферии это не самое главное.
важнее доступность и удобность...
купить где ? не во во всех магазинах есть..
а писать где ?
а прошивать чем ?
и т.д.
- Just_Fluffy
- Вымогатель припоя
- Сообщения: 532
- Зарегистрирован: Ср июн 29, 2022 16:25:45
Re: Генератор из arduino
Ну если писать на современных ассемблерах да бояться прерываний, то может и сбой будет...AQ29 писал(а):А если за отсчётный период произошёл сбой часов, скажем, на час.
Потом время пользователь может устанавливать неточно, с точностью до минуты.
А если грамотно делать питание и помехозащищенность, а программу писать на си - то вот таких сбоев я за свою долгую практику не наблюдала.
Белая и Пушистая
Re: Генератор из arduino
грамотно делать питание...
электричество выключили - часы остановились... ))

электричество выключили - часы остановились... ))
- Starichok51
- Модератор
- Сообщения: 19039
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Генератор из arduino
сегодня читал эту тему и по компу проверил время - мои часы отстали на 24 секунды. сделал синхронизацию.codenamehawk писал(а):Starichok51, а на сколько у вас уходит время?
но память уже подводит, не помню, когда последний раз делал синхронизацию. на вскидку - примерно месяц назад, плюс-минус трамвайная остановка.
всё собираюсь сделать запись в регистр старения, но так и не собрался.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Re: Генератор из arduino
Подключил старую плату на mega168PA на которой формировал 0,2 сек для часов Янтарь. Сейчас часы работают от tiny12.
Частотомер на выводе "5 минут" показал
Меня такая точность устраивает.
Спойлер
Спойлер
- Вложения
-
- m168_плата.jpg
- (71.99 КБ) 559 скачиваний
-
- mega168_300s.jpg
- (58.04 КБ) 545 скачиваний
Re: Генератор из arduino
[uquote="roman.com",url="/forum/viewtopic.php?p=4742999#p4742999"]AVR32DA32 любопытно)) глянул мельком даташит... обычная ардуина))
аппаратное соединение периферии это не самое главное.
важнее доступность и удобность...
купить где ? не во во всех магазинах есть..
а писать где ?
а прошивать чем ?
и т.д.[/uquote]
Купить несложно, конечно, в каждом ларьке нет, есть в ЧипДипе. У нас в городе есть его филиал, так что доставка бесплатна. Понабирал комплектацию, оплатил, где-то через неделю заехал в магазин и забрал, удобно.
Где-то в интернете есть, как программировать, среда разработки должна быть.
Я этим не интересовался, у меня свой программатор и ассемблер.
Есть ещё интересный вариант новой тину – Attiny1616 (16 килобайт).
Полно всяких современных наворотов, и цена привлекательная, в ЧипДипе – 79 руб. А старенькая и немощная ATtiny2313 стоит 270 рублей, давно пора делать выводы.
[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4743002#p4743002"]Ну если писать на современных ассемблерах да бояться прерываний, то может и сбой будет...
А если грамотно делать питание и помехозащищенность, а программу писать на си - то вот таких сбоев я за свою долгую практику не наблюдала.[/uquote]
Ассемблер и прерывания тут не причём.
У вас наверняка тепличные условия, что будет при реальных испытаниях – вопрос.
Тут уже писали, а что будет с автоматической настройкой при отключении питания.
Вообще-то неясно, зачем нужны сложные расчёты.
Когда-то по заказу приятеля тоже делал подстройку времени. Давно было, подзабыл, но как-то так.
В ЕЕПРОМЕ хранится коррекция, вначале ноль.
Аппараты запускались на прогон на неделю, определялось, насколько время ушло, например, часы отстали на 4 секунды. В ЕЕПРОМЕ в коррекцию записывается число 4. Часы затем каждую неделю в ночь с воскресенья на понедельник ко времени добавляет 4 секунды, всё просто.
Кстати, отключение электричества не помешает, часы пойдут, питаясь от батарейки.
аппаратное соединение периферии это не самое главное.
важнее доступность и удобность...
купить где ? не во во всех магазинах есть..
а писать где ?
а прошивать чем ?
и т.д.[/uquote]
Купить несложно, конечно, в каждом ларьке нет, есть в ЧипДипе. У нас в городе есть его филиал, так что доставка бесплатна. Понабирал комплектацию, оплатил, где-то через неделю заехал в магазин и забрал, удобно.
Где-то в интернете есть, как программировать, среда разработки должна быть.
Я этим не интересовался, у меня свой программатор и ассемблер.
Есть ещё интересный вариант новой тину – Attiny1616 (16 килобайт).
Полно всяких современных наворотов, и цена привлекательная, в ЧипДипе – 79 руб. А старенькая и немощная ATtiny2313 стоит 270 рублей, давно пора делать выводы.
[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4743002#p4743002"]Ну если писать на современных ассемблерах да бояться прерываний, то может и сбой будет...
А если грамотно делать питание и помехозащищенность, а программу писать на си - то вот таких сбоев я за свою долгую практику не наблюдала.[/uquote]
Ассемблер и прерывания тут не причём.
У вас наверняка тепличные условия, что будет при реальных испытаниях – вопрос.
Тут уже писали, а что будет с автоматической настройкой при отключении питания.
Вообще-то неясно, зачем нужны сложные расчёты.
Когда-то по заказу приятеля тоже делал подстройку времени. Давно было, подзабыл, но как-то так.
В ЕЕПРОМЕ хранится коррекция, вначале ноль.
Аппараты запускались на прогон на неделю, определялось, насколько время ушло, например, часы отстали на 4 секунды. В ЕЕПРОМЕ в коррекцию записывается число 4. Часы затем каждую неделю в ночь с воскресенья на понедельник ко времени добавляет 4 секунды, всё просто.
Кстати, отключение электричества не помешает, часы пойдут, питаясь от батарейки.
- Just_Fluffy
- Вымогатель припоя
- Сообщения: 532
- Зарегистрирован: Ср июн 29, 2022 16:25:45
Re: Генератор из arduino
AQ29, Юноша, сначала спросите, в каких условиях работают мои устройства, а потом делайте выводы про тепличность.
У меня не реальные испытания, а работа изделия в лабе, уже более года.
И при отключении питания ничего не будет. Часы как шли, так и будут идти.
При пропадании питания запитанным будет только микроконтроллер через идеальный диод на мосфете. И, поскольку МК знает про отсутствие нормального питания, все задачи будут завершены и остановлены, будут активны только часы. А все остальное время МК будет спать. И жрать при этом единицы микроампер.
И если вам неясно, зачем нужны сложные расчеты, то отвечу. Элементарно - что б не записывать на бумажечке, когда вы там выставили точное время, что б посчитать через неделю, сколько нужно секунд прибавить или убавить, потом куда то вносить эту циферку - ваши 4 секунды, что б сохранить их в EEPROM.
А просто - в удобное время подойти к изделию, "дождаться начала шестого сигнала" и нажать кнопку установки. И дальше не нужно ломать голову, а какую ж цифирку писать в еепром. 4 секнуды, три... или 5 с половиной...
Кстати, как в вашем алгоритме еженедельной коррекции отрабатывается ситуация, когда число секунд дробное?
У меня не реальные испытания, а работа изделия в лабе, уже более года.
И при отключении питания ничего не будет. Часы как шли, так и будут идти.
При пропадании питания запитанным будет только микроконтроллер через идеальный диод на мосфете. И, поскольку МК знает про отсутствие нормального питания, все задачи будут завершены и остановлены, будут активны только часы. А все остальное время МК будет спать. И жрать при этом единицы микроампер.
И если вам неясно, зачем нужны сложные расчеты, то отвечу. Элементарно - что б не записывать на бумажечке, когда вы там выставили точное время, что б посчитать через неделю, сколько нужно секунд прибавить или убавить, потом куда то вносить эту циферку - ваши 4 секунды, что б сохранить их в EEPROM.
А просто - в удобное время подойти к изделию, "дождаться начала шестого сигнала" и нажать кнопку установки. И дальше не нужно ломать голову, а какую ж цифирку писать в еепром. 4 секнуды, три... или 5 с половиной...
Кстати, как в вашем алгоритме еженедельной коррекции отрабатывается ситуация, когда число секунд дробное?
Белая и Пушистая
Re: Генератор из arduino
В лабе могут быть неплохие условия. При испытаниях воздействуют импульсами со стороны сети, тут может быть не очень.
Основная проблема - предполагал, что с пропаданием питания МК обесточится и ваши 4 регистра потеряются. А у вас МК продолжает питаться от батареи.
В моей системе особо запоминать не надо, часы отстали на 4 сек, это число набрал на индикаторе и записал.
Вообще-то я этой методикой совсем не занимался. Я только написал программу по заказу приятеля. И всеми проблемами корректировки времени занимался он. Вначале он вроде бы пытался делать коррекцию с помощью частотомера (это быстро), который брал у меня.
Да и по поводу написания программы приятель вначале обратился к преподавателю ассемблера, я в то время был совсем начинающим. Однако тот так и не сделал работающую программу – бесконечные ошибки. Знание ассемблерных команд мало, надо ещё владеть хорошей методикой написания, по поводу которой и сейчас много вопросов.
Тогда приятель обратился ко мне.
Потом на этапе проверки программы, наверно, месяца два приходил с замечаниями, но устранить их было легко.
С этой разработкой приятель неплохо развернулся, в конечном итоге поменял 2-хкомнатную на 4-хкомнатную, умеют люди находить перспективные темы.
Насчёт дробного числа секунд. Вряд ли человек будет нажимать кнопку с точностью доли секунды, погрешность вроде как 1 секунда.
У вас вроде как неполная автоматизация.
Может быть, вместо ожидания шестого сигнала поставить какой-нибудь радиомодуль времени, посмотрел на Али, есть в пределах 300 рублей. Наверняка обеспечит точность миллисекунд. Не надо сидеть и ждать шестого сигнала.
Потом вычесть или прибавить миллисекунды, наверняка, не проблема.
Как работает модуль, ничего не знаю, никогда не занимался, это просто предположение.
Основная проблема - предполагал, что с пропаданием питания МК обесточится и ваши 4 регистра потеряются. А у вас МК продолжает питаться от батареи.
В моей системе особо запоминать не надо, часы отстали на 4 сек, это число набрал на индикаторе и записал.
Вообще-то я этой методикой совсем не занимался. Я только написал программу по заказу приятеля. И всеми проблемами корректировки времени занимался он. Вначале он вроде бы пытался делать коррекцию с помощью частотомера (это быстро), который брал у меня.
Да и по поводу написания программы приятель вначале обратился к преподавателю ассемблера, я в то время был совсем начинающим. Однако тот так и не сделал работающую программу – бесконечные ошибки. Знание ассемблерных команд мало, надо ещё владеть хорошей методикой написания, по поводу которой и сейчас много вопросов.
Тогда приятель обратился ко мне.
Потом на этапе проверки программы, наверно, месяца два приходил с замечаниями, но устранить их было легко.
С этой разработкой приятель неплохо развернулся, в конечном итоге поменял 2-хкомнатную на 4-хкомнатную, умеют люди находить перспективные темы.
Насчёт дробного числа секунд. Вряд ли человек будет нажимать кнопку с точностью доли секунды, погрешность вроде как 1 секунда.
У вас вроде как неполная автоматизация.
Может быть, вместо ожидания шестого сигнала поставить какой-нибудь радиомодуль времени, посмотрел на Али, есть в пределах 300 рублей. Наверняка обеспечит точность миллисекунд. Не надо сидеть и ждать шестого сигнала.
Потом вычесть или прибавить миллисекунды, наверняка, не проблема.
Как работает модуль, ничего не знаю, никогда не занимался, это просто предположение.
- Just_Fluffy
- Вымогатель припоя
- Сообщения: 532
- Зарегистрирован: Ср июн 29, 2022 16:25:45
Re: Генератор из arduino
AQ29, в моем случае вообще не нужно заморачиваться, что б куда то вводить нужное число секунд... И ждать ровно неделю.
Это было единственным вариантом, когда часы были конечным автоматом на регистрах/счетчиках/спец.микросхемах. Там была тупая логика и по другому коррекцию было сделать сложно.
Но МК - не тупая логика. Зачем перекладывать на голову юзера задачу, которую можно реализовать программно!!??? Хватит мыслить старыми шаблонами.. Это же логично, что если есть часы на МК, то они могут знать, сколько прошло времени от последней установки точного времени. Всего лишь добавить один счетчик. И потом, при очередной установке времени посчитать дельту, на сколько ушли часы и в какую сторону, да разделить ее на "аптайм". И сохранить коррекцию. И можно делать квант коррекции достаточно мелким, что бы обеспечить коррекцию на доли секунд. И такая коррекция будет работать автоматически, независимо от периода, который прошел от прошлой установкитоного времени...
Это было единственным вариантом, когда часы были конечным автоматом на регистрах/счетчиках/спец.микросхемах. Там была тупая логика и по другому коррекцию было сделать сложно.
Но МК - не тупая логика. Зачем перекладывать на голову юзера задачу, которую можно реализовать программно!!??? Хватит мыслить старыми шаблонами.. Это же логично, что если есть часы на МК, то они могут знать, сколько прошло времени от последней установки точного времени. Всего лишь добавить один счетчик. И потом, при очередной установке времени посчитать дельту, на сколько ушли часы и в какую сторону, да разделить ее на "аптайм". И сохранить коррекцию. И можно делать квант коррекции достаточно мелким, что бы обеспечить коррекцию на доли секунд. И такая коррекция будет работать автоматически, независимо от периода, который прошел от прошлой установкитоного времени...
Да ладно... глаза смотрят на счетчик секунд эталонного времени, палец жмет кнопку установки времени в момент перехода с 59 на 00 сек. Мне кажется, 1/10 секунды точность обеспечится.AQ29 писал(а): Вряд ли человек будет нажимать кнопку с точностью доли секунды, погрешность вроде как 1 секунда.
Оу, мсье видел мой проект?AQ29 писал(а):У вас вроде как неполная автоматизация.
Белая и Пушистая
Re: Генератор из arduino
[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4744282#p4744282"]палец жмет кнопку установки времени в момент перехода с 59 на 00 сек. Мне кажется, 1/10 секунды точность обеспечится.[/uquote] если Вы сможете нажимать пальцем с частотой 20 Гц - да, вероятность установки с погрешностью в 100 мс высока.
Если же скорость ниже - тогда погрешность возрастает.
Но это я придираюсь. По мне, так и ±10 секунд - совершенно пофиг. У меня вообще нет ни одного события, которое должно произойти в очень точное время. Через очень точные промежутки - есть, да, но дельте пофиг установка
Если же скорость ниже - тогда погрешность возрастает.
Но это я придираюсь. По мне, так и ±10 секунд - совершенно пофиг. У меня вообще нет ни одного события, которое должно произойти в очень точное время. Через очень точные промежутки - есть, да, но дельте пофиг установка
Re: Генератор из arduino
[uquote="Nranddek",url="/forum/viewtopic.php?p=4744284#p4744284"]... ±10 секунд - совершенно пофиг. У меня вообще нет ни одного события, которое должно произойти в очень точное время. Через очень точные промежутки - есть, да, но дельте пофиг установка[/uquote]
Кому то пофиг, кому то нет. Люблю пофигистов. Было бы пофиг всем - никто бы и не заморачивался.
Кому то пофиг, кому то нет. Люблю пофигистов. Было бы пофиг всем - никто бы и не заморачивался.
- Starichok51
- Модератор
- Сообщения: 19039
- Зарегистрирован: Сб авг 14, 2010 15:05:51
- Откуда: г. Озерск, Челябинская обл.
Re: Генератор из arduino
это я писал 1 числа вечером.Starichok51 писал(а):сегодня читал эту тему и по компу проверил время - мои часы отстали на 24 секунды. сделал синхронизацию.
сейчас утром проверил по компу.
прошло примерно 8,5 суток, отставание примерно на 3 секунды. по расчету получается погрешность примерно 4 ppm. что явно больше, чем обещанные по документу 2 ppm.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Re: Генератор из arduino
[uquote="akl",url="/forum/viewtopic.php?p=4743108#p4743108"]...[/uquote]
ни фигасе ты микрометр нагнул! ай яй яй!!!
ни фигасе ты микрометр нагнул! ай яй яй!!!
Енот - это кот, только инкогнито!
p.s. держитесь обоими руками, а то прорвет...
p.s. держитесь обоими руками, а то прорвет...
Re: Генератор из arduino
Это выбраковка. У меня их много. 