Работа генератора в FLProg.

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
Аватара пользователя
Sevast
Сержант
Сообщения: 153
Зарегистрирован: 21 июн 2017, 15:57

Работа генератора в FLProg.

Сообщение Sevast »

Подскажите, почему генератор сигналов спешит. Симметричный мультивибратор с частотой 500мс. Светодиод на Nano моргает с интервалом
1с. Через каждые 60 секунд идет сигнал на запуск  ШД, и тот делает один
оборот. За 12 часов происходит постепенный сдвиг времени запуска ШД на +5..10 секунд, то есть в
не в 0 сек, а в 05сек. Через сутки до +20 секунд достигает.
Питается NANO через VIN +12В стабилизированных.
Как это лечится?
Аватара пользователя
Phazz
Полковник
Сообщения: 3136
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 235 раз
Поблагодарили: 114 раз

Работа генератора в FLProg.

Сообщение Phazz »

Не лечится
Аватара пользователя
support
Супермодератор
Сообщения: 1917
Зарегистрирован: 03 янв 2018, 11:45
Откуда: Астрахань
Имя: Сергей
Поблагодарили: 23 раза
Контактная информация:

Работа генератора в FLProg.

Сообщение support »

В китайских ардуинках стоят не самые лучшие кварцы. Частота может плавать. Как вариант могу посоветовать подключить к контроллеру либо более менее точный осцилограф (или частотомер) если есть и с помощью параметров блока генератора выставить точное значение длительности периода (частоты). Ну и конечно эти параметры будут разные для каждого экземпляра ардуинки.
Автор программы FLProg.
Labu55
Сержант
Сообщения: 130
Зарегистрирован: 30 июл 2017, 12:22

Работа генератора в FLProg.

Сообщение Labu55 »

support писал(а):Частота может плавать
Извините за мою некомпетентность и вопрос который давно меня интересует. Генератор использует один из хардовых таймеров процессора? Это в свете линейности выполнения программы, отвлечения на применяемые дилеи в программе и использования ресурсов МК.  Спасибо.
P.S. Прочитал себя и понял что изъясняюсь не слишком понятно. Что лучше в плане экономии ресурсов МК и скорости выполнения программы: применить несколько генераторов; один генератор (тактовой частоты)+ несколько счётчиков; один генератор + один счётчик+ многовходовый переключатель (делитель частоты), как делалось в доМК эру  в цифровой технике (паралельные процессы в отличии от линейности в МК)?
Последний раз редактировалось Labu55 21 сен 2017, 09:50, всего редактировалось 1 раз.
Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17 июл 2017, 18:39
Откуда: Днепр. UA
Имя: Григорий

Работа генератора в FLProg.

Сообщение grin-mpx »

Поставить часы реального времени, например DS3231 и запускать ШД  при каждой новой минуте. Правда не знаю как это повлияет на стабильность программы в Вашем случае. А часы вроде точные.
Аватара пользователя
Sevast
Сержант
Сообщения: 153
Зарегистрирован: 21 июн 2017, 15:57

Работа генератора в FLProg.

Сообщение Sevast »

support писал(а):Как вариант могу посоветовать подключить к контроллеру либо более менее точный осцилограф (или частотомер) если есть и с помощью параметров блока генератора выставить точное значение длительности периода (частоты).
Отличное предложение. Буду пробовать.
grin-mpx писал(а):Поставить часы реального времени, например DS3231
Как раз и хочу убрать DS3231 с проекта, так как нет смысла использовать их если есть генератор...
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Работа генератора в FLProg.

Сообщение Sancho »

Sevast писал(а):Симметричный мультивибратор с частотой 500мс
Меняй на 500000мкс, актуально при сравнении в генераторе с системным временем, и подгоняй +/- 1,2,3...
Проверено при работе с PCF8593  в  режиме частотомер - замер количества импульсов за 1 сек.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06 сен 2015, 16:56
Откуда: Новосибирск

Работа генератора в FLProg.

Сообщение Слимпер »

support писал(а):В китайских ардуинках стоят не самые лучшие кварцы. Частота может плавать. Как вариант могу посоветовать подключить к контроллеру либо более менее точный осцилограф (или частотомер) если есть и с помощью параметров блока генератора выставить точное значение длительности периода (частоты). Ну и конечно эти параметры будут разные для каждого экземпляра ардуинки.
Вообще то есть еще проблема логики работы самого генератора.
Сейчас если выставить скажем 1 секунду, то импульс будет генерироваться не через секунду ровна, а через 1сек + плюс время программного цикла. Т.е. всегда есть небольшое расхождение и при том его величина может плавать.
Пока программа меленькая, эффект мало заметен, а если программа становится медленной (время программного цикла 10 и 100 млсек), ситуация становится уже сильно заметна.
 
Уже довольна давно делал блок Генератор секунд  , он работает на основе прерываний аппаратного таймера Timer1. Тестировал результат значительно более стабильный. Но из-за использования аппаратного таймера есть свои ограничения, могут быть конфликты с тем где он тоже используется

Добавлено (25.09.2017, 14:36)
---------------------------------------------
support, Вообще мне кажется, что можно немого доработать код программы.
Сейчас код семерично генератора с периодом 500мс такой (только кусок):

 if (_gen1I) {  if ( _isTimer ( _gen1P , 500 )) { _gen1P = millis(); _gen1O = ! _gen1O;}}

Переделать так 

if (_gen1I) {  if ( _isTimer ( _gen1P , 500 )) { _gen1P = millis()-_gen1P+500; _gen1O = ! _gen1O;}}

Можно свести накопления ошибки к минимуму.

Так как, это сделает программу тяжелея, а это точность часто избыточна, можно в настройках блока генератор добавить галочку "Повышенная точность".
CraCk
Лейтенант
Сообщения: 674
Зарегистрирован: 10 сен 2015, 21:51
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Работа генератора в FLProg.

Сообщение CraCk »

Слимпер писал(а):Вообще мне кажется, что можно немого доработать код программы
И добавить для мультивибраторов галочку "Использовать прерывания" как раз здействовать код из блока Слимплера.
arduin162370
Рядовой
Сообщения: 69
Зарегистрирован: 12 янв 2018, 11:42

Работа генератора в FLProg.

Сообщение arduin162370 »

Генератор секунд хорошая штука, а по точнее есть что нибудь ,при эмуляции в протеусе и в натуре есть нестабильность нужны стабильные пачки импульсов
Аватара пользователя
Fuji1604
Сержант
Сообщения: 282
Зарегистрирован: 19 янв 2016, 06:09
Откуда: Березники
Имя: Сергей

Работа генератора в FLProg.

Сообщение Fuji1604 »

Может независимый генератор собрать, на 555 например?
Последний раз редактировалось Fuji1604 09 фев 2018, 17:21, всего редактировалось 1 раз.
когда мастерю обычно подсматриваю,
не рыли ли окоп в том же направлении,
не изобретали ли велосипед с такими-же квадратными как у меня колёсами,
а уже потом - не торопясь, торю свою лыжню
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13 апр 2017, 11:57
Имя: noname

Работа генератора в FLProg.

Сообщение pan »

точнее нужно делать на прерываниях хард. таймера
arduin162370
Рядовой
Сообщения: 69
Зарегистрирован: 12 янв 2018, 11:42

Работа генератора в FLProg.

Сообщение arduin162370 »

генератор делал на максимальную частоту какую возможно в настройках далее на Т тригере меандр 50% далее на счетчиках нужные на счетчиках нужные пачки импульсов ,так не стабильность идет с генератора микросекунд(секунд) даже без счетчиков .Хотя по началу думал из за их (счетчиков) специально даже полностью убирал их ,оставил один генератор микросекунд.

Отправлено спустя 5 минут 30 секунд:
pan писал(а): 09 фев 2018, 16:43точнее нужно делать на прерываниях хард. таймера
по точнее можно ? ,блок готовый у вас есть
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13 апр 2017, 11:57
Имя: noname

Работа генератора в FLProg.

Сообщение pan »

arduin162370 писал(а): 09 фев 2018, 21:16ратор делал на максимальную частоту какую возможно в настройках далее на Т тригере
нафига? вы же Т триггером частоту пополам делите.
arduin162370
Рядовой
Сообщения: 69
Зарегистрирован: 12 янв 2018, 11:42

Работа генератора в FLProg.

Сообщение arduin162370 »

суть дела не в том как я делил тригером или счетчиками (управляемые по входу) а в не стабильности импульсов надо что то постабильнее
Аватара пользователя
slavas
Лейтенант
Сообщения: 596
Зарегистрирован: 14 сен 2015, 22:29
Откуда: Санкт-Петербург

Работа генератора в FLProg.

Сообщение slavas »

Только подбором значения генератора.
Ответить

Вернуться в «Спросить у знатоков»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей