Для активации новой учетной записи и ее подтверждения на Форуме - необходимо связаться с администратором по электронной почте p-i-n-o-k-i-o@mail.ru.
Все новые учетные записи не прошедшие подтверждения администратором воспринимаются как спам.

POEMA'NU - 6С52Н ММ-фонокорректор с двумя переключаемыми входами

Аватара пользователя
poty
Профи
Профи
Сообщения: 4231
Зарегистрирован: 24 мар 2014, 10:00
Откуда: Россия, Москва
Благодарил (а): 126 раз
Поблагодарили: 356 раз

POEMA'NU - 6С52Н ММ-фонокорректор с двумя переключаемыми входами

#1

Сообщение poty » 10 мар 2016, 15:54



Начинаем разработку фонокорректора. На каком варианте фонокорректора останавливаемся?
Владислав

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 1186
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 251 раз
Поблагодарили: 117 раз

#541

Сообщение Алаев Ян » 27 янв 2017, 06:24

poty писал(а):но "лечение" полным выключением и здесь выглядит странно.
это не лечение - это попытка понять в какой стадии находится контроллер в момент, когда входы не переключаются. Если он, например, завис или не может проснуться, то он не выйдет из этого состояния и при попытке выключить корректор, так как там работает тот же механизм внешнего прерывания. Если же все выключается, значит с модулем все в порядке и цикл программы выполняется, тогда я бы стал искать проблемы в других местах.
Роман Мирошниченко писал(а):Я склонен связывать это явление со сменой прошивки. В первоначальном варианте проблем не было, а после перепрограммирования я почти не слушал проигрыватель - он был разобран.
Дело в том, что неисправность такого характера не свойственна контроллерам. Там сравнительно короткий исполняемый цикл и неисправность либо есть, либо нет, не может она накапливаться или проявляться спустя время.

Кстати, а зачем Вы его разобрали после перепрошивки?

Аватара пользователя
poty
Профи
Профи
Сообщения: 4231
Зарегистрирован: 24 мар 2014, 10:00
Откуда: Россия, Москва
Благодарил (а): 126 раз
Поблагодарили: 356 раз

#542

Сообщение poty » 27 янв 2017, 09:15

Алаев Ян писал(а):это не лечение - это попытка понять в какой стадии находится контроллер
Я говорил о предположении, что виноват в проблеме переключатель с его контактами.
Владислав

Аватара пользователя
Роман Мирошниченко
Заслуженный Ветеран
Заслуженный Ветеран
Сообщения: 4167
Зарегистрирован: 09 май 2014, 13:31
Откуда: Саратов
Благодарил (а): 377 раз
Поблагодарили: 137 раз
Контактная информация:

#543

Сообщение Роман Мирошниченко » 27 янв 2017, 12:15

Алаев Ян писал(а):Кстати, а зачем Вы его разобрали после перепрошивки?
Ян, GARRARD был разобран. :smile:
Я слушал Дуаль, а там один тонарм. Поэтому я переключателем входов не пользовался. Начал пользоваться буквально с неделю (как собрал проигрыватель) и вот заметил.

Вот хронология:
13 октября - фонокорректор включен в систему, замечаний по работе переключателя нет;
5 декабря - я разобрал проигрыватель, переключателем входов не пользуюсь;
25 декабря - мы поменяли прошивку корректора, переключателем входов не пользуюсь;
19 января - я собрал проигрыватель с одним тонармом, переключателем входов не пользуюсь;
22 января - я установил второй тонарм, начал пользоваться переключателем входов.

Таким образом я хочу показать, что относительно начала пользования ошибка произошла фактически после перепрошивки. Она может быть связана и с изменением математики, и с тем, что мы тревожили провода.

Я отслежу ситуацию.

Аватара пользователя
Роман Мирошниченко
Заслуженный Ветеран
Заслуженный Ветеран
Сообщения: 4167
Зарегистрирован: 09 май 2014, 13:31
Откуда: Саратов
Благодарил (а): 377 раз
Поблагодарили: 137 раз
Контактная информация:

"Глюк" снова проявился

#544

Сообщение Роман Мирошниченко » 14 фев 2017, 20:15

После прослушивания двух пластинок, в течении которого я лишь один раз переключал входы корректора (туда и обратно - успешно!), при повторном желании сменить вход этого не получилось.

Выключение проблему не лечит, переключалка работать не начинает.

Однако после включения, корректор работает на том входе, который был выбран перед выключением. Т.е. если даже работал первый вход, а на второй корректор не переключался, я выключил его в положении, когда переключатель находится на втором (не работающем!) входе, при повторном включении ситуация поменяется. Работать будет второй вход, а на первый переключаться не будет. Я это проверил раз пять наверно. Так было каждый раз. Вход удается переключить через выключение корректора.

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

Кратковременное обесточивание (порядка 1 мин.) ситуацию не исправило. Однако после продолжительного обесточивания (примерно на 5-10 мин.) все восстановилось.

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 1186
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 251 раз
Поблагодарили: 117 раз

#545

Сообщение Алаев Ян » 15 фев 2017, 08:16

1. Последний Ваш пост был от 27.01. Глюк проявился 14.02. Эти две недели корректор эксплуатировался, входы переключались или все лежало без движения?

2. В каком режиме находится корректор, когда Вы его не слушаете? Он полностью обесточен или находится в ждущем/включенном режиме?
Роман Мирошниченко писал(а):Выключение проблему не лечит, переключалка работать не начинает.
сам факт того, что корректор выключается, говорит о том, что программа не виснет. Т.е. контроллер адекватно обрабатывает входящее прерывание и выключает корректор.
Роман Мирошниченко писал(а):Однако после включения, корректор работает на том входе, который был выбран перед выключением.
Это правильное поведение. При включении контроллер смотрит положение выбранного входа и включает его. Пока не понятно, почему вход не включается до этого. Это косвенно говорит о том, что с контактами все хорошо. Если, конечно, Вы не трясете его при этом.
Роман Мирошниченко писал(а):Работать будет второй вход, а на первый переключаться не будет. Я это проверил раз пять наверно. Так было каждый раз. Вход удается переключить через выключение корректора.
Очень странное поведение. Надо подумать.
Роман Мирошниченко писал(а):Кратковременное обесточивание (порядка 1 мин.) ситуацию не исправило. Однако после продолжительного обесточивания (примерно на 5-10 мин.) все восстановилось.
Я бы хотел понять, данный глюк проявляется только спустя некоторое время после работы или хоть раз наблюдался сразу после включения (при этом включение было после продолжительного выключенного состояния)? Пытаюсь понять где искать...
Роман Мирошниченко писал(а):Вход удается переключить через выключение корректора.
Вот эта фраза навела меня на одну мысль. С программной точки зрения есть разница между включением входа при первом включении и включением входа во время работы. Я поясню. Когда прибор включается, контроллер еще не спит, это важный момент. Пока он не спит он проверяет состояние входа (соответственно, он включает нужный вход) и запускает процедуру включения, после чего засыпает глубоким сном. А вот когда мы переключаем вход в уже рабочем режиме, то контроллер пробуждается ото сна и лишь потом анализирует состояние входа и производит переключение. У меня есть предположение, что по факту прерывания (щелкнули переключателем входа) процессор просыпается, но не успевает проснуться до конца (время пробуждения должно быть документировано в datasheet) и именно по этой причине, что ядро процессора не успело проснуться он пропускает идущую следом команду на переключение реле, он пропускает это действие, соответственно вход не переключается, а дальше идет команда заснуть опять. Это и приводит к такому результату. Я подумаю еще в этом направлении, но слова Романа явно на это указывают.

Вот тут нашел что-то похожее http://robotosha.ru/arduino/arduino-interrupts.html

Если процессор в режиме сна, то существует время пробуждения, которое может занять до нескольких миллисекунд пока тактирование опять наберет скорость. Это время будет зависеть от установок фьюзов (конфигурационных регистров) и того, насколько глубоко процессор ушел в сон.
После того, как процессор проснулся, возможно, потребуется некоторое время, чтобы стабилизировать свой таймер. Например, вы можете увидеть «мусор» на последовательном порту, пока он синхронизируется. Если это проблема есть, вы можете установить короткую задержку после выхода из режима сна.

Аватара пользователя
poty
Профи
Профи
Сообщения: 4231
Зарегистрирован: 24 мар 2014, 10:00
Откуда: Россия, Москва
Благодарил (а): 126 раз
Поблагодарили: 356 раз

#546

Сообщение poty » 15 фев 2017, 09:59

Версия интересная... Информация о необходимости задержки имеется в datasheet, однако, это крайне малая величина. Для переключения реле выполняются команды определения направления переключения, да и само переключение выполняется наверняка не одной командой. Я к тому, что не исключено, что "съедаются" какие-то команды, только нужно понять какие.
У меня сложилось мнение, что в момент просыпания что-то резко увеличивает потребление и шунтирующих конденсаторов не хватает для восполнения энергии. Уменьшение напряжения не позволяет открыть транзисторы управления или переключить реле (тут нужно смотреть, как всё это реально соединено).
Владислав

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 1186
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 251 раз
Поблагодарили: 117 раз

#547

Сообщение Алаев Ян » 15 фев 2017, 10:31

Тоже может быть. В любом случае, явно прослеживается связь межу состоянием, когда контроллер не спит и все работает и когда мы щелкаем реле после пробуждения. Вообще, до момента подачи команды на срабатывание реле много чего происходит. Алгоритм приблизительно такой: контроллер спит -> просыпается из-за внешнего прерывания -> ставит флаг, что требуется анализ состояния входов и из прерывания выходит -> попадает в основной цикл программы, где видит этот флаг -> анализирует текущую ситуацию, включает нужный вход -> снимает флаг выполненной процедуры -> после чего опять засыпает. После такой последовательности как-то не верится, что контроллер не успел проснуться к моменту включения реле. Я скорее поверю, что контроллер не попадает в прерывание... надо подумать.
poty писал(а):У меня сложилось мнение, что в момент просыпания что-то резко увеличивает потребление и шунтирующих конденсаторов не хватает для восполнения энергии. Уменьшение напряжения не позволяет открыть транзисторы управления или переключить реле (тут нужно смотреть, как всё это реально соединено).
А что-то еще питается от 5В у нас? или только контроллер?

Аватара пользователя
poty
Профи
Профи
Сообщения: 4231
Зарегистрирован: 24 мар 2014, 10:00
Откуда: Россия, Москва
Благодарил (а): 126 раз
Поблагодарили: 356 раз

#548

Сообщение poty » 15 фев 2017, 10:40

Алаев Ян писал(а):А что-то еще питается от 5В у нас? или только контроллер?
5В - исключительно на контроллер, реле (все, включая силовые) и светодиод.
Владислав

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 1186
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 251 раз
Поблагодарили: 117 раз

#549

Сообщение Алаев Ян » 15 фев 2017, 10:44

А какие там силовые реле? у нас там оптосимисторы.

У нас одно реле (переключает входы), два оптосимистора и светодиод.

Аватара пользователя
poty
Профи
Профи
Сообщения: 4231
Зарегистрирован: 24 мар 2014, 10:00
Откуда: Россия, Москва
Благодарил (а): 126 раз
Поблагодарили: 356 раз

#550

Сообщение poty » 15 фев 2017, 10:46

Алаев Ян писал(а):контроллер спит -> просыпается из-за внешнего прерывания -> ставит флаг, что требуется анализ состояния входов и из прерывания выходит -> попадает в основной цикл программы, где видит этот флаг ->
Вот здесь и может быть засада. Чтобы поставить флаг внутри прерывания контроллеру необходимо проснуться. Я читал в datasheet, что длительность воздействия импульса, вызывающего прерывание, должна быть такой, чтобы контроллер:
а) успел проснуться (включая синхронизацию таймера);
б) выполнил внутреннюю процедуру инициирования прерывания;
в) выполнил прерывание.
Возможно, на каком-то этапе происходит сбой. Например, из-за дребезга контактов, сигнал "проснуться" прошёл, а к моменту п.(б) сигнал пропал. В этом случае контроллер прерывание не инициализирует.
Владислав

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 1186
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 251 раз
Поблагодарили: 117 раз

#551

Сообщение Алаев Ян » 15 фев 2017, 10:47

А на какой ток рассчитан БП на 5В?

Аватара пользователя
poty
Профи
Профи
Сообщения: 4231
Зарегистрирован: 24 мар 2014, 10:00
Откуда: Россия, Москва
Благодарил (а): 126 раз
Поблагодарили: 356 раз

#552

Сообщение poty » 15 фев 2017, 10:47

Алаев Ян писал(а):А какие там силовые реле? у нас там оптосимисторы.
Они же тоже потребляют, как и светодиод. Правда, они потребляют постоянно, т.е., не могут быть источником турбулентностей во включенном состоянии.
Алаев Ян писал(а):А на какой ток рассчитан БП на 5В?
Примерно на 100мА по тепловому режиму. По возможностям - до 1А легко может дать.
Владислав

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 1186
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 251 раз
Поблагодарили: 117 раз

#553

Сообщение Алаев Ян » 15 фев 2017, 10:50

poty писал(а):Вот здесь и может быть засада. Чтобы поставить флаг внутри прерывания контроллеру необходимо проснуться.
на всякий случай отмечу, что для выключения контроллер просыпается аналогично и там он успевает это сделать. Допустим, проблема в дребезге контактов переключателя входов. Попробуем сделать временную задержку в прерывании?
poty писал(а):Примерно на 100мА по тепловому режиму. По возможностям - до 1А легко может дать.
ну тогда БП тут точно ни при чем.

Аватара пользователя
poty
Профи
Профи
Сообщения: 4231
Зарегистрирован: 24 мар 2014, 10:00
Откуда: Россия, Москва
Благодарил (а): 126 раз
Поблагодарили: 356 раз

#554

Сообщение poty » 15 фев 2017, 10:54

Алаев Ян писал(а):Попробуем сделать временную задержку в прерывании?
Не совсем понимаю, что это?
Владислав

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 1186
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 251 раз
Поблагодарили: 117 раз

#555

Сообщение Алаев Ян » 15 фев 2017, 11:02

Ну т.е. мы попадаем в прерывание, потом на задержку, чтобы контроллер наверняка проснулся, потом ставим флаг, что требуется анализ состояния входов и выходим из прерывания.

Аватара пользователя
Роман Мирошниченко
Заслуженный Ветеран
Заслуженный Ветеран
Сообщения: 4167
Зарегистрирован: 09 май 2014, 13:31
Откуда: Саратов
Благодарил (а): 377 раз
Поблагодарили: 137 раз
Контактная информация:

#556

Сообщение Роман Мирошниченко » 15 фев 2017, 12:07

Ого... я с телефона, отвечать на столько вопросов сложно. Сейчас добирусь до компа...
Алаев Ян писал(а):1. Последний Ваш пост был от 27.01. Глюк проявился 14.02. Эти две недели корректор эксплуатировался, входы переключались или все лежало без движения?
Да, я эксплуатировал корректор (хоть и не очень активно). Проблем с переключением входов не возникало.
Алаев Ян писал(а):2. В каком режиме находится корректор, когда Вы его не слушаете? Он полностью обесточен или находится в ждущем/включенном режиме?
Я сейчас не обесточиваю аппаратуру. Внял замечаниям Владислава, что процедуру включения нужно уважать. Даже получаю от этого удовольствие. Так что корректор постоянно находится в ждущем режиме, в выключеном состоянии.
Алаев Ян писал(а):При включении контроллер смотрит положение выбранного входа и включает его. Пока не понятно, почему вход не включается до этого. Это косвенно говорит о том, что с контактами все хорошо. Если, конечно, Вы не трясете его при этом.
Согласен по поводу контактов. Нет, я не трясу его конечно же. :razz:
Алаев Ян писал(а):Я бы хотел понять, данный глюк проявляется только спустя некоторое время после работы или хоть раз наблюдался сразу после включения (при этом включение было после продолжительного выключенного состояния)? Пытаюсь понять где искать...
Этот глюк я осознанно констатирую второй раз всего лишь. Проявился он после продолжительного прослушивания (порядка полутора часов). В ходе этого прослушивания переключалось все нормально, но вдруг глюкануло. Я музыку слушаю каждый день. Поэтому перерыв во включении как правило не более 15-20 часов. Однако, на этот раз он был дольше (примерно двое суток). Ибо в предыдущий день я ушел рано/вернулся поздно.
Алаев Ян писал(а):У меня есть предположение, что по факту прерывания (щелкнули переключателем входа) процессор просыпается, но не успевает проснуться до конца (время пробуждения должно быть документировано в datasheet) и именно по этой причине, что ядро процессора не успело проснуться он пропускает идущую следом команду на переключение реле, он пропускает это действие, соответственно вход не переключается, а дальше идет команда заснуть опять.
Мне логика вполне понятна. Я лишь добвалю свой поведенченский алгоритм в такой ситуации.

1 - Я переключаю вход и вдруг глюк, переключения не происходит.
2 - Я жду еще пару секунд и поворачиваю ручку селектора обратно, после чего снова пробую.

Хочу сказать, что после проявления глюка я пробую еще раз и другой. Но неистового щелкания селектором при этом конечно же нет.
poty писал(а):У меня сложилось мнение, что в момент просыпания что-то резко увеличивает потребление
Возможно "это из другой оперы", но я обратил внимание, что при выключении/включении не происходит плавного затухания (возростания) сигнала, как на обычной ламповой технике. Сигнал изменяется волнами.

Ну, дальше в Ваших дебатах я уже потерял понимание. Если, что-то с меня нужно - я тут рядом. :smoke:

Аватара пользователя
poty
Профи
Профи
Сообщения: 4231
Зарегистрирован: 24 мар 2014, 10:00
Откуда: Россия, Москва
Благодарил (а): 126 раз
Поблагодарили: 356 раз

#557

Сообщение poty » 15 фев 2017, 12:51

Алаев Ян писал(а):Ну т.е. мы попадаем в прерывание, потом на задержку, чтобы контроллер наверняка проснулся, потом ставим флаг что требуется анализ состояния входов и выходим из прерывания.
Там немного всё сложнее. Судя по описанию, процесс прерывания из сна состоит из нескольких несвязанных между собой, но следующих друг за другом процедур (пишу по памяти, могу ошибаться):
- детектирование необходимости проснуться (время d1); после этого запускается процедура восстановления таймера и выход на обработку причины просыпания (время d2);
- детектирование необходимости прерывания (время d3);
- инициирование прерывания - переход по адресу из таблицы прерываний (время d4);
- восстановление после прерывания - возврат по адресу основной программы (время d5);
- начало выполнения основной программы (время d6).
Я предположил, что за время d1+d2 изменяется состояние порта, инициировавшего просыпание и детектирования необходимости прерывания не происходит. Я вот только не помню, что в этом случае делает процессор - засыпает опять или на какое-то время возвращается в основную программу? Скорее - второе. В этом случае, можно и не анализировать флаг, выставляемый в прерывании, а просто сравнить, изменилось ли состояние? В этом случае - проснулся процессор, а произошло прерывание или нет - нам не важно, мы определяем изменение состояния прямым опросом нужного нам порта.
Владислав

Аватара пользователя
Алаев Ян
Основатель Форума
Сообщения: 1186
Зарегистрирован: 19 мар 2014, 12:05
Откуда: Саратов
Благодарил (а): 251 раз
Поблагодарили: 117 раз

#558

Сообщение Алаев Ян » 15 фев 2017, 13:05

Все сводится к тому, что причина кроется в прошивке. Соберу макет снова, попробую разобраться где и что может происходить не так.

Аватара пользователя
Роман Мирошниченко
Заслуженный Ветеран
Заслуженный Ветеран
Сообщения: 4167
Зарегистрирован: 09 май 2014, 13:31
Откуда: Саратов
Благодарил (а): 377 раз
Поблагодарили: 137 раз
Контактная информация:

Но, штука-то просто СУПЕР!

#559

Сообщение Роман Мирошниченко » 15 фев 2017, 14:50

Не могу поддержать ВАШ серьезный разговор...
Но, я смог прийти домой пораньше. Сразу за пластинки конечно же. :oops: Я ведь свой новый тонарм толком-то еще не отслушал.
Так вот, я должен сказать, что сейчас все отлично работает. И сам факт наличия этой "переключалки" в корректоре - ну это смысл моего виниловодства. Я ей не щелкаю конечно то и дело (просто с дивана лень вставать :twisted: ). Но, над пластинкой у меня все время висит два тонарма. И как-только какой-нибудь момент в музыке "зацепит" - такой кайф его переслушать в другой подаче.
IMG_8178.JPG
IMG_8177.JPG
И особый кайф в том, что оба тонарма поют на одном корректоре. Это дает существенную прогнозируемость изменений звука при переходе с одного на другой. раньше я применял два корректора и знал, что они при 90%-ой идентичности конструктива, дают разное звучание. Начиная с уровня фона и заканичая уровнем громкости. Сейчас же пурист во мне более чем удовлетворен. При переключении я меняю конкретно звукосниматель. И если я сейчас говорю о характере звучания, это отностися конкретно к спарке тонарм+головка.

Аватара пользователя
seurf
Специалист
Специалист
Сообщения: 990
Зарегистрирован: 12 май 2016, 19:54
Откуда: Волгоград
Благодарил (а): 164 раза
Поблагодарили: 125 раз

#560

Сообщение seurf » 15 фев 2017, 23:11

И как-только какой-нибудь момент в музыке "зацепит" - такой кайф его переслушать в другой подаче.
Знаю, что умничать- себе во вред, но не сдержался. Каюсь. Нельзя ставить тонарм на то же место, которое только что прослушано. Как подушка после сна, винил должен выпрямиться, после воздействия предыдущего катка ( иглы/тонарма). Необходимо выдерживать паузу, минимум 30 минут, после предыдущего проигрывания. Это если пластинку беречь? Если все равно, то все равно. За руку не держал, но где то вычитал ( может у Дегрела? Не помню) и сам следую этому правилу.
Александр

Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение