Статистика
Время:
Зарегистрированных: 88373
Последним зарегистрирован: SmartBones
Рекорд посещаемости: 12585
Групп пользователей: 4
 Группы:
[Admin] [Cоучастник] [Автор] [Модератор]
 Сейчас на сайте
 Всего: 682
 Гостей: 679
 Анонимных: 0
 Пользователей: 3
 Зарегистрированные:
exino _zag_ q_worm
Страницы: (4) [1] 2 3 4  ( Перейти к первому непрочитанному сообщению ) Ответить Новая тема Новый опрос

> Таймер случайных интервалов, помогите с программой
Barbos
Сообщение: # 591288   Oct 18 2014, 02:42 AM
Quote Post


Дедушка
*******

Группа: Автор
Сообщений: 7594
Пользователь №: 38411
Регистрация: 26-October 08
Место жительства: Киев



Обращаюсь к почтенным гуру программирования.
На горизонте показался дембель (будут выгонять на пенсию). На работе остается множество моих рационализаторских девайсов. Хочу оставить, на память о себе, некоторые приколы. Например, мигание индикации, с псевдослучайными интервалами от нескольких часов до нескольких суток. Сам эффект реализовать нетрудно, вопрос упирается в таймер этих интервалов. Делать на счетчиках, да еще со случайными интервалами... Сами понимаете, насколько громоздкой будет схема. А таймер на микроконтроллере - милое дело, только вот не дружу я с программированием. icon_cry.gif Лежат у меня PIC12F629, PIC10F200. Может, кто-нибудь возьмётся написать программку? Буду премного благодарен. Если найдётся добрая душа - опишу свою задумку подробно.
PMEmail Poster
Top
vladlen
Сообщение: # 591292   Oct 18 2014, 07:32 AM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 2003
Пользователь №: 70096
Регистрация: 31-August 10




попробуйте.

Вас ждут примерно такие первые несколько интервалов в часах:

1,43 ( = 1час 25мин.)
94,08
7,69
103,24
23,79
137,65
123,76
102,82
41,57
151,52
177,8
118,67
175,84
2,63
18,55
93,5
74,77

и т.д.

+ нестабильность внутреннего генератора.

веселого тестирования icon_lol.gif 1_7.gif

Это сообщение отредактировал vladlen - Oct 18 2014, 01:16 PM

Присоединённый файл ( Кол-во скачиваний: 372 )
Присоединённый файл  12f629_random.hex
PM
Top
Barbos
Сообщение: # 591331   Oct 18 2014, 02:55 PM
Quote Post


Дедушка
*******

Группа: Автор
Сообщений: 7594
Пользователь №: 38411
Регистрация: 26-October 08
Место жительства: Киев



О! Не ожидал, что так быстро, спасибо!
Смогу пробовать только с понедельника...
Раз пришла помощь, то я немного уточню, чего мне хочется.
-Во-первых, интервалы надо бы увеличить раза в 3, но первый интервал можно оставить 1,43 ч
-общий алгоритм такой: интервал, 5минут "мигания", интервал и т.д.
-во время интервала на двух выходах должна быть лог. 1
-во время "мигания" - 2 противофазных меандра на выходах, частотой 2Гц, продолжительность 5 минут
-управление одной кнопкой: нажатие во время интервала - тест мигалки, нажатие во время мигания - стоп мигалки.

Надеюсь, я не слишком обнаглел? smile.gif Заранее спасибо!
PMEmail Poster
Top
Ferrum-1827
Сообщение: # 591352   Oct 18 2014, 05:33 PM
Quote Post


Дедушка
**********

Группа: Автор
Сообщений: 12972
Пользователь №: 55667
Регистрация: 10-November 09
Место жительства: BY



vladlen, можно в двух словах - как реализуется "случайность" ?
Неужто при помощи доп входа ?


--------------------
image
© 1982 Sinclair Research Ltd
PMUsers Website
Top
vladlen
Сообщение: # 591357   Oct 18 2014, 06:05 PM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 2003
Пользователь №: 70096
Регистрация: 31-August 10




наверно это LFSR.

я выдернул кусок из генератора шума, убрал пару строк, закинул в цикл и кручу 63 раза, а потом кидаю два старших байта(всего крутится 4 байта) в переменную time, которая определяет количество интервалов (тут примерно по 10 сек интервал простой программной задержкой).
если time < 360, то задаем ей значение 360, чтобы не было интервала менее часа.

вот так все коряво, но вроде работает как бы случайноsmile.gif
PM
Top
vladlen
Сообщение: # 591449   Oct 19 2014, 11:46 AM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 2003
Пользователь №: 70096
Регистрация: 31-August 10




пробуйте.

Присоединённый файл ( Кол-во скачиваний: 236 )
Присоединённый файл  timer.zip
PM
Top
Barbos
Сообщение: # 591558   Oct 19 2014, 09:33 PM
Quote Post


Дедушка
*******

Группа: Автор
Сообщений: 7594
Пользователь №: 38411
Регистрация: 26-October 08
Место жительства: Киев



Огромное спасибо, vladlen! Скачал, но испытания откладываются, поскольку у меня в семье похороны. hex - для 629?

P.S. Что делать с файлами .DSN, .PWI, .DBK?
PMEmail Poster
Top
vladlen
Сообщение: # 591571   Oct 20 2014, 02:51 AM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 2003
Пользователь №: 70096
Регистрация: 31-August 10




Соболезную!

Прошивка для 629го.
Вам нужен только HEX для прошивки.
Остальные файлы - это проект в протеусе они в общем-то ни к чему.
PM
Top
Barbos
Сообщение: # 591664   Oct 20 2014, 11:17 PM
Quote Post


Дедушка
*******

Группа: Автор
Сообщений: 7594
Пользователь №: 38411
Регистрация: 26-October 08
Место жительства: Киев



Урвал полчасика и прошил ПИК. Подключил питание и определил, что ножки 6 и 7 -это выходы, 4 - вход. Впаял на вход подтягивающий резистор, поскольку без него схемка реагирует на наводки. Ждать 1й интервал сегодня не буду, валюсь с ног. При замкнутом с землёй входе, на выходах идёт меандр 12 Гц (много!), а при размыкании входа, на выходах сразу устанавливается лог. 1. Всё, иду спать.
PMEmail Poster
Top
Barbos
Сообщение: # 591777   Oct 22 2014, 08:14 AM
Quote Post


Дедушка
*******

Группа: Автор
Сообщений: 7594
Пользователь №: 38411
Регистрация: 26-October 08
Место жительства: Киев



Вчера спаял таймер на маленькой платке, подключил к одному из выходов (через транзисторный ключ) вибромоторчик. Получился девайс для тестирования, который можно носить в кармане. Включил сегодня в 5:50 утра... Пока еще не было ни одного срабатывания. Жду.
vladlen, а можно ли скорректировать частоту на выходах? Почему-то, вместо 2 Гц на выходы идёт 12 Гц icon_cry.gif

Это сообщение отредактировал Barbos - Oct 22 2014, 08:39 AM

Присоединённое изображение (Нажмите для увеличения)
Присоединённое изображение
PMEmail Poster
Top
vladlen
Сообщение: # 591791   Oct 22 2014, 09:42 AM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 2003
Пользователь №: 70096
Регистрация: 31-August 10




Там же изменил немного прошивку и теперь интервалы другие.
Первый интервал вроде как дней пять получается.

Это частота проверочная синфазная, когда будет сработка , то и будет 2Гц в противофазе.


PM
Top
Zlodey
Сообщение: # 591792   Oct 22 2014, 09:56 AM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 3767
Пользователь №: 39917
Регистрация: 30-November 08
Место жительства: Архангельская область



надо как то для отладки заменить дни на минуты icon_lol.gif
vo.gif


--------------------
=> Zlodey <=
PMEmail PosterUsers Website
Top
Barbos
Сообщение: # 591799   Oct 22 2014, 10:57 AM
Quote Post


Дедушка
*******

Группа: Автор
Сообщений: 7594
Пользователь №: 38411
Регистрация: 26-October 08
Место жительства: Киев



Ух, ёмаё, а я положил девайс на стол, на работе, сидю, жду... icon_cry.gif Надо будет отметить первую сработку icon_lol.gif

А интересно, нажатие кнопочки отодвигает сработку, или не влияет на отсчет?

P.S. Ого, уже 7 скачиваний! Я скачивал 1 раз, так что процесс пошёл! Признавайтесь, зачем скачали?

Это сообщение отредактировал Barbos - Oct 22 2014, 11:16 AM
PMEmail Poster
Top
vladlen
Сообщение: # 591814   Oct 22 2014, 01:20 PM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 2003
Пользователь №: 70096
Регистрация: 31-August 10




Непродолжительное нажатие можно сказать не влияет, так как нажатая кнопка добавляет 1мкс примерно на каждые 50мс.
PM
Top
Zlodey
Сообщение: # 591823   Oct 22 2014, 01:45 PM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 3767
Пользователь №: 39917
Регистрация: 30-November 08
Место жительства: Архангельская область



я бы для AVR написал какой нить генератор типа случайных интервалов с отладкой в ускоренном режиме, чтобы трое суток не терять

Это сообщение отредактировал Zlodey - Oct 22 2014, 01:46 PM


--------------------
=> Zlodey <=
PMEmail PosterUsers Website
Top
Barbos
Сообщение: # 591865   Oct 22 2014, 04:52 PM
Quote Post


Дедушка
*******

Группа: Автор
Сообщений: 7594
Пользователь №: 38411
Регистрация: 26-October 08
Место жительства: Киев



Ну да, кроме кнопки "тест", не помешала бы кнопка "отладка".
А вот городить много случайных интервалов, для моей цели, нет надобности. 5-7 разных интервалов, от 70 до 500 часов, создадут иллюзию случайности.
PMEmail Poster
Top
Ferrum-1827
Сообщение: # 591878   Oct 22 2014, 06:14 PM
Quote Post


Дедушка
**********

Группа: Автор
Сообщений: 12972
Пользователь №: 55667
Регистрация: 10-November 09
Место жительства: BY



QUOTE (Barbos @ Oct 22 2014, 11:57 AM)
Признавайтесь, зачем скачали?

Я скачал, чтобы в протезе посмотреть на ноги и 2 или 12 герц...всё-таки 12 smile.gif


--------------------
image
© 1982 Sinclair Research Ltd
PMUsers Website
Top
Zlodey
Сообщение: # 591935   Oct 22 2014, 09:28 PM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 3767
Пользователь №: 39917
Регистрация: 30-November 08
Место жительства: Архангельская область



QUOTE (Barbos @ Oct 22 2014, 05:52 PM)
Ну да, кроме кнопки "тест", не помешала бы кнопка "отладка".
А вот городить много случайных интервалов, для моей цели, нет надобности. 5-7 разных интервалов, от 70 до 500 часов, создадут иллюзию случайности.

Я бы сделал массив из 20-ти чисел, например от 10 до 500, в режиме отладки это будут секунды, в боевом режиме это будут часы. и всё, псевдослучайная выборка будет делаться при помощи нестабильности встроенного генератора + на основании длительности прошлого сгенерированного интервала vo.gif

Если под AVR кому то будет актуально, пишите, напишу прошивку.

Это сообщение отредактировал Zlodey - Oct 22 2014, 09:43 PM


--------------------
=> Zlodey <=
PMEmail PosterUsers Website
Top
Barbos
Сообщение: # 593070   Oct 28 2014, 12:37 AM
Quote Post


Дедушка
*******

Группа: Автор
Сообщений: 7594
Пользователь №: 38411
Регистрация: 26-October 08
Место жительства: Киев



icon_cry.gif icon_cry.gif icon_cry.gif
Прошло 5 суток после включения... То ли прозевал сработку, то ли интервал не равен 5 суткам.
В течение этих суток, решил не ждать и встроил еще один таймер в "боевой" девайс. Жду реакцию операторов.
Однозначно, нужен режим отладки. На AVR я готов попробовать, купить нужный МК не проблема.
PMEmail Poster
Top
Barbos
Сообщение: # 593071   Oct 28 2014, 12:40 AM
Quote Post


Дедушка
*******

Группа: Автор
Сообщений: 7594
Пользователь №: 38411
Регистрация: 26-October 08
Место жительства: Киев



QUOTE (Ferrum-1827 @ Oct 22 2014, 07:14 PM)
QUOTE (Barbos @ Oct 22 2014, 11:57 AM)
Признавайтесь, зачем скачали?

Я скачал, чтобы в протезе посмотреть на ноги и 2 или 12 герц...всё-таки 12 smile.gif

Это я понимаю. Но 10 уже скачиваний! Качают втихаря, а о результатах молчат.
PMEmail Poster
Top
vitalik_b
Сообщение: # 593076   Oct 28 2014, 01:48 AM
Quote Post


Дедушка
*******

Группа: Автор
Сообщений: 7625
Пользователь №: 35582
Регистрация: 3-August 08
Место жительства: Украина, Харьков



Напишите минимальный и максимальный интервалы. А диапазоне от 1 до 65535 минут.
PMEmail Poster
Top
vladlen
Сообщение: # 593077   Oct 28 2014, 03:25 AM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 2003
Пользователь №: 70096
Регистрация: 31-August 10




QUOTE (Barbos @ Oct 28 2014, 01:37 AM)
Прошло 5 суток после включения... То ли прозевал сработку, то ли интервал не равен 5 суткам.

Превый интервал 0xC330 = 49968, ( 49968 * 10 ) : 3600 = 138.8 часов = 5 суток 18 часов 48 минут.

Если включили 22 числа в 5:50 утра(Гитлер предпочел бы 4:00))) , то сработку нужно ждать приблизительно (из-за нестабильности) между 22:00 часами 27 числа и 02:00ч. 28го .

Пять суток в ожидании и это еще не самый большой интервал icon_lol.gif
PM
Top
Zlodey
Сообщение: # 593086   Oct 28 2014, 07:40 AM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 3767
Пользователь №: 39917
Регистрация: 30-November 08
Место жительства: Архангельская область



QUOTE (Barbos @ Oct 28 2014, 01:37 AM)
На AVR я готов попробовать, купить нужный МК не проблема.

Под ATtiny2313 напишу. Покупайте.


--------------------
=> Zlodey <=
PMEmail PosterUsers Website
Top
Barbos
Сообщение: # 593134   Oct 28 2014, 11:11 AM
Quote Post


Дедушка
*******

Группа: Автор
Сообщений: 7594
Пользователь №: 38411
Регистрация: 26-October 08
Место жительства: Киев



leb.gif gggg.gif 1000000Z.gif СРАБОТАЛА!!! drinks_cheers.gif support.gif 4.gif friday.gif Жена разбудила в пол-третьего ночи: "Что это жужжит?" Первый интервал получился 5сут. 20час. 35мин. (если я не пропустил более ранних сработок). Да, с режимом отладки будет значительно легче, особенно, если знать коэффициент ускорения. Тогда можно, с секундомером, вычислить все интервалы. Но всё равно, спасибо vladlen !
На тиньке тоже попробую, интересно.
PMEmail Poster
Top
Barbos
Сообщение: # 593296   Oct 29 2014, 12:44 AM
Quote Post


Дедушка
*******

Группа: Автор
Сообщений: 7594
Пользователь №: 38411
Регистрация: 26-October 08
Место жительства: Киев



QUOTE (vitalik_b @ Oct 28 2014, 02:48 AM)
Напишите минимальный и максимальный интервалы. А диапазоне от 1 до 65535 минут.

vitalik_b спасибо, все варианты не смогу тестировать, т.к. имею еще одну прошивку, присланную в личку, от автора, не пожелавшего выложить ее сюда.
PMEmail Poster
Top
kaitipi
Сообщение: # 593318   Oct 29 2014, 09:54 AM
Quote Post


Дедушка
**********

Группа: Автор
Сообщений: 11664
Пользователь №: 39974
Регистрация: 1-December 08




Прикол отличный vo.gif , но надо как то привязать его с присутствием "наблюдателя", какой смысл прикалываться если в помещении никого нема.


--------------------
Враг моего врага мой друг (?)
Главное отличие свободного от раба - это отсутствие должности!
PMEmail Poster
Top
Barbos
Сообщение: # 593410   Oct 29 2014, 08:21 PM
Quote Post


Дедушка
*******

Группа: Автор
Сообщений: 7594
Пользователь №: 38411
Регистрация: 26-October 08
Место жительства: Киев



Гы... Это операторская, там завсегда ктой-то есть
PMEmail Poster
Top
Zlodey
Сообщение: # 593415   Oct 29 2014, 08:42 PM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 3767
Пользователь №: 39917
Регистрация: 30-November 08
Место жительства: Архангельская область



Таймер для тини2313 написал, файлы на работе остались. Завтра постараюсь выложить. Недостаток- первый интервал при включении всегда известен. Следующие интервалы- псевдослучайные, взятые из массива на 20 значений (которые забиваются пользователем).

Это сообщение отредактировал Zlodey - Oct 29 2014, 10:33 PM


--------------------
=> Zlodey <=
PMEmail PosterUsers Website
Top
vladlen
Сообщение: # 593469   Oct 30 2014, 09:35 AM
Quote Post


Фанат
******

Группа: Cоучастник
Сообщений: 2003
Пользователь №: 70096
Регистрация: 31-August 10




QUOTE (Zlodey @ Oct 29 2014, 09:42 PM)
...Недостаток- первый интервал при включении всегда известен. ...

Избавился от этого без дополнительных внешних цепей.
Используется один SFR, таймер WDT, воздействие предыдущего вычисления, табличная замена.
WDT работает независимо и довольно нестабильно (флуктуации напряжения и температуры) так что каждый раз будет некоторое изменение входного значения для таблицы замены.
Табличная замена позволяет улучшить результат случайности, т.к. изменение входного значения на единицу вызовет нелинейное(по-моему так это назывеется) изменение выходного значения.
В результате узнать заранее интервалы становится очень проблематично, а может даже и не возможно.
PM
Top
Zlodey
Сообщение: # 593477   Oct 30 2014, 10:07 AM
Quote Post


Фанат
******

Группа: Автор
Сообщений: 3767
Пользователь №: 39917
Регистрация: 30-November 08
Место жительства: Архангельская область



Избавиться от этого можно и без WDT, использовав обычный таймер. Но не вижу смысла. После истечения 1-го интервала, остальные интервалы будут непредсказуемы. Если интервалы сделать длинными, то отловить (предсказать) глюк будет очень не просто.
Мой вариант позволяет задавать интервалы от 1 часа до 255 часов (10 суток), а в режиме отладки - от 1 до 255 секунд. Правда в режиме отладки "случайность" будет похуже biggrin.gif

Это сообщение отредактировал Zlodey - Oct 30 2014, 10:09 AM


--------------------
=> Zlodey <=
PMEmail PosterUsers Website
Top

Настройки темыСтраницы: (4) [1] 2 3 4  Ответить Шустрый ответ Новая тема Новый опрос


 




  banner DIPTRACE - САМЫЙ ЛУЧШИЙ ТАКСИРОВЩИК ПЕЧАТНЫХ ПЛАТ
Portal-X