Страница 23 из 23 Первая ... 13212223
Показано с 441 по 448 из 448

Тема: Счётчик ленты в реальном времени

  1. #1 Показать/скрыть первое сообщение.
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,655

    По умолчанию Счётчик ленты в реальном времени

    Т.к. меня интересуют МК технологии в применении к кассетникам, то возник вот такой вопрос. Давно хотел выяснить, как ведутся подсчёты в счётчиках ленты в реальном времени? Если кто-то уже делал такую систему или знаком с этим вопросом прошу рассказать или дать ссылки. И как сделать так, чтобы не нужно было вводить в систему размер кассеты - С90, 120, 60, 46L?

  2. #441
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,655

    По умолчанию Re: Счётчик ленты в реальном времени

    А как же ты с одного датчика время считаешь? И при том без учёта где находишься, или как-то вычисляешь место (начало, середина, конец)?

    ---------- Сообщение добавлено 13:03 ---------- Предыдущее сообщение было 13:02 ----------

    Раньше ты по кривой отношения частот двух датчиков работал.

  3. #442
    Старый знакомый Аватар для DrLithium
    Регистрация
    24.12.2006
    Адрес
    SPb
    Сообщений
    662

    По умолчанию Re: Счётчик ленты в реальном времени

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    А как же ты с одного датчика время считаешь? И при том без учёта где находишься, или как-то вычисляешь место (начало, середина, конец)?
    Дак в этом и есть суть новой (последней) концепции.
    1. Две формулы.
    2. Одна - вычисляет место и ей на это надо время. Данные берём с двух подкассетников. Именно она в прошлый раз была основой, но не прокатило. Результат прыгал, т.к. коридор широк и это с двумя усреднениями. Кжись секунды за 3 или за 3 оборота собирались данные для приемлемого результата. И это был существенный минус, отставание от реального места.
    3. Вторая - вычисляет время по месту. Данные берём с приёмного подкассетника. По сути, номер импульса от начала (рассчитанный первой формулой) пересчитывается по время.
    4. Теперь надо готовить два набора данных для формирования констант для двух формул. По идеи можно выдавать за один раз, но думаю что за два раза будет точнее. Прерывания будут меньше мешать друг другу.
    5. Для расчёта номера импульса по первой формуле достаточно выдавать такие данные: замер одного подкассетника и последний замер другого. В Excel-е пересчитать отношений (что бы не тратить время в МК) и на основе графика отношений одного подкассетника к другому построить формулу и вывести константы.
    6. Для расчёта времени по второй формуле достаточно выдавать такие данные: время в мСек для каждого импульса приёмного подкассетника.
    7. МК по команде/флагу или при вставке кассеты определяет место, т.е. номер импульса от начала для приёмного подкассетника.
    8. Далее по второй формуле пересчитывает номер импульса во время.

    У меня пока что работает только вторая формула. Просто мотаю на начало и делаю сброс. Т.с. проверил верность нового подхода к решению. Теперь задача добавить определение места на ленте. Но что и как именно делать надо решить и решать ещё есть что...

    Задача один.
    Рассчитать место на ленте, как и когда. При вставке кассеты, после включения аппарата. Наверно будет достаточно флага и если сброшен, то пересчитать и по этому же флагу разрешать вывод на дисплей РВ. Пересчитать можно открыв кассетоприёмник (в Вильме это пимпочка ) и закрыв его - флаг сбросится, т.е. как пункт меню нет смысла делать. Пока считается, можно выводить или счётчик импульсов или "CALC", а для реального времени добавлять ":".
    Задача два.
    Рассчитать остаток, ясно что это доп.функция, но... Надо заносить данные о длине ракорда и иметь длину всего рулона. Тупо вычитанием из полной длины текущего времени и длины ракорда. В Акае 9-е (как и в некоторых видиках) на подобное уходило время. Вероятно шло определение точного места для подающего подкассетника. Как понимаю там точность основного счёта слегка хромает и на точный остаток приходилось ещё тратить силы.
    Задача три.
    Решить форматы пакета. Думаю что для длины ленты можно сформировать свой пакет, а вот для конкретной кассеты свой. Общее у обоих пакетов будет "длина рулона". Вопрос в том где всё это хранить и как обновлять? Т.ч. пока можно обойтись одним пакетом для длины и переключаться между разными длинами. Задачу автовыбора нужной длины пока оставлю на будущее, надо голову разгрузить...
    Задача четыре.
    Решить, давать ли вообще вести счёт в импульсах с предделителем пока СРВ не готов? Как "врать" если нет подходящей длины?
    Задача пять.
    Дать смещение "счёта" по сбросу счётчика. Это не сложно, просто сделать.
    Задача шесть.
    Выбор нужного пакета ленты. Вероятно пункт в меню, тупо перебор крутилкой - не дорого, если определить в "шаговой доступности" часто встречающиеся. Тут же и для "больших катков". После выбора сбрасывается флаг "место определено", т.е. должен запуститься пересчёт места на ленте.
    Задача семь.
    А что в перемотке? Разрешать ли определение места в перемотке? Не снизится ли точность?
    Задача восемь.
    Снижение оборотов в конце перемотки.
    Задача девять.
    Изменение усилия подмотки от места и от... длины ленты. Т.е. можно в пакет ленты включить значение момента подмотки для разных участков, а это проще сделать формулой: время - усилие. В идеале, при наличии электронного торможения, ещё и момент подтормаживания подающего подкассетника.

    Такие пока планы...

  4. #443
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,655

    По умолчанию Re: Счётчик ленты в реальном времени

    Кто как вычисляет квадратный корень числа? Есть алгоритм на ассемблере?
    Последний раз редактировалось Turbo_man; 07.07.2024 в 01:17.

  5. #444
    Старый знакомый Аватар для DrLithium
    Регистрация
    24.12.2006
    Адрес
    SPb
    Сообщений
    662

    По умолчанию Re: Счётчик ленты в реальном времени

    Тут есть на 24 бита, но я не проверял:
    https://electronix.ru/forum/topic/50...kvadrat-v-avr/
    Тут на 32 бита и этот не проверял:
    http://www.piclist.com/tecHREF/atmel/avr/sqrt32b-ec.htm

  6. #445
    Частый гость Аватар для TheCalligrapher
    Регистрация
    10.01.2020
    Сообщений
    231

    По умолчанию Re: Счётчик ленты в реальном времени

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Кто как вычисляет квадратный корень числа? Есть алгоритм на ассемблере?
    У нас конкурс бессмысленно поставленных вопросов?

    О чем речь вообще? Квадратный корень какого числа нужно вычислить? Целого? Дробного? Какой результат нужно получить? Округленный целый? Дробный?

  7. #446
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,655

    По умолчанию Re: Счётчик ленты в реальном времени

    Цитата Сообщение от TheCalligrapher Посмотреть сообщение
    У нас конкурс бессмысленно поставленных вопросов?
    Типа того. Искал простейший из доступных.
    Цитата Сообщение от TheCalligrapher Посмотреть сообщение
    Квадратный корень какого числа нужно вычислить? Целого? Дробного?
    Целого, конечно.

    Offтопик:
    Привести к этому виду несложно. Типа исходное число умножить на 100, а результат потом разделить на 10.

    У меня результат лежит в пределах 7000...12000 десятичных. Это SKO, умноженное на 1000. Напомню, SKO это сумма количества импульсов (оборотов*5) с обоих подкассетников в сек. SKO=(1/T1 + 1/T2). T1 и T2 - периоды следования соответствующих импульсов с подкассетников.
    Цитата Сообщение от DrLithium Посмотреть сообщение
    Тут на 32 бита и этот не проверял:
    http://www.piclist.com/tecHREF/atmel/avr/sqrt32b-ec.htm
    Думаю этот сгодится, только для PIC-ов перепишу. СПАСИБО.
    Этот расчёт будет востребован 1 раз на каждую установку новой кассеты (и проводится в режиме PLAY в любом месте кассеты).

    ---------- Сообщение добавлено 12:19 ---------- Предыдущее сообщение было 12:01 ----------

    Исхожу из следующих соображений:
    SKO=1/T1 + 1/T2 в любом месте кассеты, поэтому в середине кассеты SKO=2/Tср (т.к. тут Т1=Т2=Тср).
    Сумма квадратов Т1 и Т2 условно назовём S="площадь, занимаемая лентой в окне кассеты".
    Она постоянна для любого места кассеты T1^2 + T2^2 (для произвольного места кассеты) = 2Тср^2 (для середины кассеты, как частный случай).
    Измерив Т1 и Т2 в любом месте, можно вычислить Тср и SKOср=М.
    А число М=SKO для середины кассеты уже позволяет нормировать текущее значение SKO и рассчитать таблицу поправок для счета (пропуск/добавление) импульсов текущего SKO при переводе (пересчёте) во время. Эта таблица поправок уникальна для данной кассеты и хранится в ОЗУ МК до смены кассеты.
    Последний раз редактировалось Turbo_man; 07.07.2024 в 12:33.

  8. #447
    Завсегдатай Аватар для MikeF
    Регистрация
    04.11.2004
    Адрес
    Кемерово
    Возраст
    41
    Сообщений
    3,128

    По умолчанию Re: Счётчик ленты в реальном времени

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Привести к этому виду несложно. Типа исходное число умножить на 100, а результат потом разделить на 10.
    Как это будет работать в плане вычисления кв. корня?
    Для связи: Skype и почта на моём сайте в профиле.
    С уважением,
    Михаил.

  9. #448
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    62
    Сообщений
    37,824

    По умолчанию Re: Счётчик ленты в реальном времени

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Думаю этот сгодится, только для PIC-ов перепишу.
    В самом лучшем, но уже устаревшем компиляторе для PIC12/16 - Hi-Tech C, была функция SQRT().
    Неужели в нынешних ее убрали?
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Да мне-то что, меняйтесь!"(с)анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

Страница 23 из 23 Первая ... 13212223

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •