Генератор точного секундного импульса

Ответить
vladimir_
Рядовой
Сообщения: 70
Зарегистрирован: 05.02.2017{, 07:34}
Репутация: 5

Генератор точного секундного импульса

#1

Сообщение vladimir_ » 28.06.2018{, 07:57}

Здравствуйте. Разрешите задать вопрос по блоку Слимпера «Генератор точного секундного импульса». Возможно ли , на основе этого блока сделать блок с двумя, независимыми выходами? С заданием двух параметров «period» генерации импульсов в мкс.? На одном выходе импульсы, например 200мкс (выбор в параметрах), а на другом секундные импульсы.
С СИ, никогда не сталкивался, но возникла необходимость такого блока.
Как пример:
СпойлерПоказать
1.PNG
Блок:
Генератор_Секунд__(CODE).ubi
(87.45 КБ) 113 скачиваний

seri0shka
Лейтенант
Сообщения: 391
Зарегистрирован: 09.04.2016{, 12:17}
Репутация: 22
Откуда: Кременчуг
Имя: Сергей

Генератор точного секундного импульса

#2

Сообщение seri0shka » 28.06.2018{, 10:58}

Может не сильно помогу, но посмотрите здесь:
Многозадачная Ардуина_ таймеры без боли
У автора временные периоды задаются не в виде периода, а в виде частот, то есть для вашнго варианта это будет 1 Гц и 5 кГц. И использовать можно только те частоты, которые автор заложил в библиотеку (не помню, есть ли там 5 кГц). Сам пробовал недавно- для секундного таймера точность превосходная, намного лучше, чем с использованием millis().
Да, неплохо было бы иметь блоки на основе библиотеки автора. У меня на это нет времени, к сожалению, и знаний маловато.

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

Генератор точного секундного импульса

#3

Сообщение AVGN » 28.06.2018{, 13:59}

vladimir_, Вы выложил не тот блок, что у Вас на скриншоте.
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

vladimir_
Рядовой
Сообщения: 70
Зарегистрирован: 05.02.2017{, 07:34}
Репутация: 5

Генератор точного секундного импульса

#4

Сообщение vladimir_ » 28.06.2018{, 15:29}

Да, это блок Слимпера, как основа. На скриншоте блок на котором я пытался что то изобразить. Но, не знание СИ не дает возможности создания нового, полноценного блока. Хотел обратиться непосредственно к Слимперу, но у него заблокирован вход сообщений. Очень грамотный и безотказный человек, но видно мы все достали его своими просьбами и он отключился.

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

Генератор точного секундного импульса

#5

Сообщение rw6cm » 28.06.2018{, 15:57}

vladimir_,
А что мешает генерировать 200мкс, а счетчиком отсчитывать секунды?
200mc_1c.flp
(257.25 КБ) 72 скачивания
Win10-64, FLProg (portable)

vladimir_
Рядовой
Сообщения: 70
Зарегистрирован: 05.02.2017{, 07:34}
Репутация: 5

Генератор точного секундного импульса

#6

Сообщение vladimir_ » 28.06.2018{, 16:22}

Мешает только одно, эти импульсы нужны в режиме прерывания. Для высокой точности они должны быть независимы от цикла МК.
Казалось бы - поставь два блока на разные частоты, но блок на прерываниях возможно использовать только один раз в проекте.
В Вашем проекте мс (милисекунды), блок же работает в мкс (микросекундах).

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

Генератор точного секундного импульса

#7

Сообщение Sancho » 28.06.2018{, 16:45}

vladimir_ писал(а):
28.06.2018{, 16:22}
Мешает только одно, эти импульсы нужны в режиме прерывания. Для высокой точности они должны быть независимы от цикла МК.
В Вашем проекте мс (милисекунды), блок же работает в мкс (микросекундах).
Вопрос нарисовывается в другом - а если за время цикла Вы получите два импульса через прерывания - что тогда? Или у Вас гарантированно цикл меньше периода? Не могу взять в толк, что-за задача такая?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

vladimir_
Рядовой
Сообщения: 70
Зарегистрирован: 05.02.2017{, 07:34}
Репутация: 5

Генератор точного секундного импульса

#8

Сообщение vladimir_ » 28.06.2018{, 17:02}

Проблема в том, что в проекте должен использоваться высокоточный таймер + шаговые двигатели + дисплей. Необходимы импульсы, независимые от цикла МК. Один только дисплей все "убивает".

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

Генератор точного секундного импульса

#9

Сообщение rw6cm » 28.06.2018{, 17:26}

vladimir_ писал(а):
28.06.2018{, 16:22}
В Вашем проекте мс (милисекунды), блок же работает в мкс (микросекундах).
жара сказывается )) в проекте все верно, в названиях буковку не ту поставил (us)
vladimir_ писал(а):
28.06.2018{, 17:02}
в проекте должен использоваться высокоточный таймер + шаговые двигатели + дисплей.
такие вещи надо сочинять в ассемблере,
FLProg в этом не силен )
Win10-64, FLProg (portable)

vladimir_
Рядовой
Сообщения: 70
Зарегистрирован: 05.02.2017{, 07:34}
Репутация: 5

Генератор точного секундного импульса

#10

Сообщение vladimir_ » 28.06.2018{, 17:31}

Вся беда в том, счетчик CTU не обрабатывает 200мкс (не знаю почему). От того и проект не работает, хотя мысль хорошая.

Отправлено спустя 16 минут 20 секунд:
[quote=seri0shka post_id=49889 time=1530172733 user_id=1235]Может не сильно помогу, но посмотрите здесь:
Многозадачная Ардуина_ таймеры без боли
seri0shka, дает ссылочку. К стати спасибо за нее. Там есть Суммирование периодов на прерываниях, только не знаю как применить это к блоку генератора секунд.
СпойлерПоказать
Суммирование периодов (деление частоты)

В том случае, если стандартные частоты из предложенных на выбор вас не устраивают, можно ввести в код прерывания дополнительный счетчик, который будет выполнять полезный код только после определенного количества пропущенных вызовов. Целевой период будет равен сумме пропускаемых базовых периодов. Или можно сделать его вообще переменным.

arduino-timer-api/examples/timer-api-counter/timer-api-counter.ino

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

Генератор точного секундного импульса

#11

Сообщение Sancho » 28.06.2018{, 17:47}

vladimir_ писал(а):
28.06.2018{, 17:31}
Вся беда в том, счетчик CTU не обрабатывает 200мкс (не знаю почему)
???
Значится, если есть пропуски, время цикла больше 200мкс!!!

Отправлено спустя 5 минут 55 секунд:
Прочитал - есть дисплей.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

vladimir_
Рядовой
Сообщения: 70
Зарегистрирован: 05.02.2017{, 07:34}
Репутация: 5

Генератор точного секундного импульса

#12

Сообщение vladimir_ » 28.06.2018{, 17:54}

Проект AVGN, вообще не работает ни в железе, ни в PROTEUS.

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

Генератор точного секундного импульса

#13

Сообщение rw6cm » 28.06.2018{, 18:04}

vladimir_,
Не знаю какой там у вас проект не работает.
у меня все считает даже с i2c дисплеем
и в визуальном сравнение в течении 5мин с секундами в компе, расхождений не вижу.
200мкс_1cек.flp
(260.4 КБ) 98 скачиваний
Win10-64, FLProg (portable)

Аватара пользователя
AVGN
Капитан
Сообщения: 727
Зарегистрирован: 03.02.2017{, 12:23}
Репутация: 56

Генератор точного секундного импульса

#14

Сообщение AVGN » 28.06.2018{, 18:16}

rw6cm, он использует другой блок
Изображение
Если вы не можете объяснить это просто – значит, вы сами не понимаете этого до конца.
☆Альберт Эйнштейн

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

Генератор точного секундного импульса

#15

Сообщение rw6cm » 28.06.2018{, 18:23}

AVGN, это его не осуществленная хотелка ))
Win10-64, FLProg (portable)

vladimir_
Рядовой
Сообщения: 70
Зарегистрирован: 05.02.2017{, 07:34}
Репутация: 5

Генератор точного секундного импульса

#16

Сообщение vladimir_ » 28.06.2018{, 18:30}

rw6cm писал(а):
28.06.2018{, 18:04}
vladimir_,
Не знаю какой там у вас проект не работает.
у меня все считает даже с i2c дисплеем
и в визуальном сравнение в течении 5мин с секундами в компе, расхождений не вижу.
200мкс_1cек.flp
Я извиняюсь. Почему то в моем проекте не работает. Вроде все почти так же:
bbb.flp
(179.38 КБ) 72 скачивания

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

Генератор точного секундного импульса

#17

Сообщение rw6cm » 28.06.2018{, 18:35}

vladimir_ писал(а):
28.06.2018{, 18:30}
Вроде все почти так же:
Все да не так.
Глупо опрашивать i2c дисплей каждые 200мкс, естественно все зависнет ))
Win10-64, FLProg (portable)

vladimir_
Рядовой
Сообщения: 70
Зарегистрирован: 05.02.2017{, 07:34}
Репутация: 5

Генератор точного секундного импульса

#18

Сообщение vladimir_ » 28.06.2018{, 19:14}

Да, проморгал. :smile37:

Аватара пользователя
belyx
Сержант
Сообщения: 247
Зарегистрирован: 24.07.2016{, 20:38}
Репутация: 20
Откуда: Витебск Беларусь

Генератор точного секундного импульса

#19

Сообщение belyx » 10.06.2019{, 23:07}

Блок:
Генератор_Секунд__(CODE).ubi -хороший блок ,но не компилируется в проекте с ESP8266-12E.
проба.flp
(195.76 КБ) 36 скачиваний
я так понимаю с ESP он не будет работать-нужен блок на другой библиотеке
нашёл вот-сам не осилю
может кто сваяет ? :smile453:

Ответить

Вернуться в «Помогите, а то я "нимагу"»