Ответить
  • siola Senior MemberАвтор темы
    офлайн
    siola Senior Member Автор темы

    10729

    14 лет на сайте
    пользователь #404386

    Профиль
    Написать сообщение

    10729
    # 30 января 2013 00:45 Редактировалось siola, 68 раз(а).

    * Хороший, качественный магнитофон необходим тем, кто давно и безуспешно ищет свой звук!
    * Магнитофон нужен тем, кто уже понял, что цифровому звуку всегда будет чего-то не хватать!

    Ремонтируем, восстанавливаем, делимся опытом, дорабатываем, советуемся.

    Данная тема про то, где можно порассуждать о будущем про эти ностальгические катушечные аппараты, рассказать, какие у нас они были, а так же про сегодняшний их ремонт, восстановление и обслуживание.
    Сколько радости они нам доставляли в свое время, бегая друг к другу записывая, меняя, давая послушать свои записи и т.д...
    Даже сейчас помню, как с благоговением я и со мной мои друзья в 80-х годах стояли возле прилавка магазина "Электроника" по ул. Я.Коласа, взирая на крутящийся и горящий лампочками катушечный аппарат высшего пилотажа "Электроника ТА1-003" того времени, с завистью наблюдая за невероятно важным продавцом, нажимающим на нем кнопки и переставляя катушки с магнитной лентой...
    Купить не могли - стоил дурных по тем меркам денег! И к папе с мамой не могли подойти с просьбой купить такой магнитофон, не позволяла зарплата... копили на машину, стенку, мягкий угол.
    Ограничивались аппаратами 2-го класса типа Комет, Маяков, Юпитеров...
    Это были далекие 80-е. :)
    Интересно вспомнить это все.
    Ну и, что касается меня, то я не хочу, чтобы это так просто было забыто нашим новым поколением - никогда им не понять и не прочувствовать всего того, что было у нас!
    Да и никогда не спутать звучание катушечного магнитофона с дешевой новодельной цифрой!

    Конечно, есть и дорогие ЦАП-ы, претендующие на лидерство... но это мертво! Мертво еще хотя-бы потому, что мы не получаем именно визуального эффекта в виде вращающихся катушек (бобин). Точно так, как и на живом концерте - посиди там весь концерт с закрытыми глазами... думаю, комментарии излишни.
    Прогресс не стоит на месте - создается с каждым годом более качественная современная радиоэлементная база, которую не могли применить при "эре катушечных аппаратов". Сейчас позволяет.
    Что касается меня, то я испытываю кайф от созерцания самого аппарата, а так-же огромное значение для меня имеет именно "Магия вращающихся бобин" :D !
    Ну и звук само собой :super: .

    Поэтому даём этим замечательным аппаратам новую жизнь и даже можно в другом, более современном решении!

    С уважением ко всем, Олег.

    Фото и видео красивых магнитофонов складываем сюда - https://forum.onliner.by/viewtopic.php?t=21014569

    В связи с ограниченными предложениями в Беларуси хороших магнитофонов, комплектующих, магнитной ленты, а также высококачественных записей, можно найти на форуме истинных ценителей аналогового звука - http://reeltoreel.3nx.ru/index.php

  • stellon Senior Member
    офлайн
    stellon Senior Member

    5551

    12 лет на сайте
    пользователь #979784

    Профиль
    Написать сообщение

    5551
    # 20 декабря 2018 13:19
    siola:

    Тут посерьёзней:

    А по моему смешно.

    Тормозить прогресс также увлекательно, как и творить его...©
  • siola Senior MemberАвтор темы
    офлайн
    siola Senior Member Автор темы

    10729

    14 лет на сайте
    пользователь #404386

    Профиль
    Написать сообщение

    10729
    # 20 декабря 2018 13:29

    Процессорное управление работой ЛПМ не помешает в том случае, если требуется довольно широкий алгоритм по управлению выходов на исполнительные узлы, например... более тонкое и непосредственное управление боковыми двигателями через датчики натяжения ленты, индивидуальный подвод к ней магнитных голов которых может быть несколько различных, а также стоек, отводов к ним, коммутации режимов записи/воспроизведения по переключению различных УВ, УЗ, управление скоростями движения МЛ, коммутация коррекции и т.д. и т.п.
    Всё, что требуется для профессионального аппарата и где руками можно крутить катушки смотря на реальное время по счётчику для монтажа фонограмм. Этим никто не занимается на Электрониках и вполне обычный счётчик, пусть и цифровой чисто для красоты, но с памятью нуля.

    В данном случае, на Атмеге у Liv1 ничего не сделано, просто перенесена на неё логика с простыми функциями и будущими проблемами.

    Добавлено спустя 32 секунды

    stellon:

    А по моему смешно.

    Не важно.

  • Liv1 Senior Member
    офлайн
    Liv1 Senior Member

    7930

    10 лет на сайте
    пользователь #1728864

    Профиль
    Написать сообщение

    7930
    # 20 декабря 2018 13:50
    siola:

    В данном случае, на Атмеге у Liv1 ничего не сделано, просто перенесена на неё логика с простыми функциями и будущими проблемами.

    Откуда это взяли? Управление боковыми двигателями реализовано программно - сигналы датчиков натяжения оцифровываются, затем программный ПИД-регулятор формирует величину воздействия, которая с помощью ШИМ снова преобразуется в аналоговую форму и управляет регулирующим транзистором. Делал вариант и с частотным преобразователем для питания боковых двигателей, но преимущества не окупают сложность.

    Счетчик тоже будет подключаться к процессору, для этого на нем предусмотрен разъем RS-485. Будет возможен поиск заданной точки по времени, регулировка и стабилизация скорости перемотки и многое другое. Вместо кнопки там предусмотрена установка энкодера. В будущем по этой же шине будет подключаться и новый блок управления ведущим двигателем и некоторые другие блоки.

    И не надо забывать, что этот процессор - всего лишь промежуточный этап. Его достоинство - он способен заменить штатный БУ без какой-либо доработки магнитофона. В будущем появится вторая версия процессора, уже на STM32, которая будет требовать некоторой доработки ЛПМ и других узлов магнитофона.

    e-mail: wubblick@yahoo.com
  • Добрый_Дедушка Senior Member
    офлайн
    Добрый_Дедушка Senior Member

    12403

    12 лет на сайте
    пользователь #1113377

    Профиль
    Написать сообщение

    12403
    # 20 декабря 2018 14:06

    Liv1, На предмет SMD и звука, а также маркетинга, Космонавт 1х0%прав. Не о звуке там речь. Зделано все хорошо, только штыри, ламы и прочее, не дадут завоевать Харману рынок. А при массовом производстве, можно всех задушить объёмами и ценой.

  • gsm_maker Member
    офлайн
    gsm_maker Member

    121

    13 лет на сайте
    пользователь #713509

    Профиль
    Написать сообщение

    121
    # 20 декабря 2018 14:20
    siola:

    Тут посерьёзней:
    Было принято решение перевести контроль и управление циклом литья на микроконтроллеры. Первым подопытным контроллером был Arduino Mega 2560. Контроллер оказался очень «нежным» для работы в условиях сильных электромагнитных всплесков от пускателей и электродвигателей. Он просто зависал, когда ему вздумается. Не помогло ни экранирование самого контроллера, ни замена всех кабелей, идущих от концевых выключателей на заземленный МКЭШ 3х0,5. Ну и конечно, была полностью заменена вся электропроводка станка. Одним из вариантов решения проблемы с зависаниями было использование бутлоадера optiboot для Arduino с задействованной функцией watchdog с сохранением состояния в EEPROM и восстановление состояния с продолжением цикла после сброса. Но и это не помогло.

    В общем, было решено отказаться от Atmega и перейти на STM32.
    Целиком статья - https://habr.com/post/256981/

    Удивительно, игрушку попытались использовать в промышленной автоматизации и она стала глючить. Микроконтроллер то тут при чём? А разработчики NUCLEO молодцы, хорошо сделали.

  • mixing-mastering Senior Member
    офлайн
    mixing-mastering Senior Member

    17434

    10 лет на сайте
    пользователь #1683425

    Профиль
    Написать сообщение

    17434
    # 20 декабря 2018 14:52
    siola:

    Атмега "для начинающих"

    вот сейчас прямо на столе лежит девайс ну совсем не для начинающих....
    атмега обведена кружочком

    экс-Jenik
  • Liv1 Senior Member
    офлайн
    Liv1 Senior Member

    7930

    10 лет на сайте
    пользователь #1728864

    Профиль
    Написать сообщение

    7930
    # 20 декабря 2018 15:12
    gsm_maker:

    Удивительно, игрушку попытались использовать в промышленной автоматизации и она стала глючить.

    Лет 8 назад делал для ИТМО ( институт тепло- и массообмена) блок управления плазмотроном мощностью 70 кВт. Сиолу сейчас хватит приступ, но ничего не глючило, хотя этот блок был сделан на ATmega64. Фото платы не делал, но есть исходник (один из модулей присоединил)

    //----------------------------------------------------------------------------

    //модуль реализации управления тиристорами

    //----------------------------------------------------------------------------

    //Модуль использует таймер 1. С помощью петли PLL, реализованной
    //программно (software PLL или SPLL), работа таймера синхронизируется
    //по частоте и фазе с сетевым напряжением.
    //Период таймера равен длительности периода сетевого напряжения.
    //Прескалер таймера должен быть запрограммирован так, чтобы разрядности
    //таймера с учетом прескалера было достаточно для формирования такого
    //интервала.
    //Для синхронизации используются импульсы, формируемые детектором перехода
    //через ноль (Zero Crossing Detector, ZCD) в начале каждого периода.
    //Импульсы подаются на вход захвата ICP. Используется спад импульса,
    //так как ZCD обычно имеет выход с открытым коллектором, и спад имеет
    //меньшую длительность, чем фронт. Хотя можно использовать и фронт
    //импульсов, для чего в регистре TCCR1B нужно установить бит ICES1.
    //Схема захвата имеет аппаратный подавитель шумов, который включен
    //с помощью бита ICNC1.
    //В прерывании по захвату вычисляется текущая ошибка фазы. Она является
    //входной величиной для PI-регулятора, который служит петлевым фильтром
    //SPLL. Выходной сигнал PI-регулятора представляет собой текущий период
    //таймера 1, который загружается в регистр OCR1A. Таймер работает в режиме
    //очистки по сравнению (CTC), причем TOP = OCR1A.
    //Значение регистра OCR1A является фактически длительностью периода
    //сетевого напряжения, выраженной в тиках таймера. Это значение можно
    //использовать для измерения частоты сети.
    //SPLL позволяет получить постоянный сдвиг относительно сигнала ZCD, который
    //задается константой TRIAC_SHIFT в пределах от минус периода
    //(опережение) до плюс периода (запаздывание). Сдвиг задается в
    //микросекундах, а не в градусах, поэтому он не зависит от сетевой частоты.
    //Сдвиг позволяет скомпенсировать конечную длительность импульса ZCD, задержку
    //срабатывания ZCD, а в случае необходимости - реализовать опережение
    //открывания триака и одновременно защититься от паразитного открывания
    //на следующем полупериоде.

    //Для управления триаком служит канал B аппаратного PWM, значение которого
    //загружается в регистр OCR1B, а выходная последовательность формируется на
    //выводе OC1B. К этому выводу должна быть подключена схема управления
    //триаком. Считается, что открытому состоянию триака соответствует
    //высокий уровень на выводе OC1B, поэтому используется инверсный режим PWM.
    //Поскольку данный канал PWM использует тот же таймер 1,
    //который с помощью SPLL синхронизирован с сетью, выход PWM тоже будет
    //синхронен сети. Загрузка регистра OCR1B должна осуществляться как
    //при изменении желаемого угла открывания триака (функцией Triac_SetAngle),
    //так и при подстройке периода таймера (в прерывании по захвату).
    //Регистры OCR1A и OCR1B имеют double buffering, поэтому их перезагрузка
    //не нарушает текущий цикл управления триаком.
    //Преимуществом такого способа управления триаком является то, что оно
    //реализуется аппаратно, чем достигается минимальная загрузка процессора и
    //отсутствие проблем с временем выполнения обработчиков прерываний при
    //очень больших и очень малых углах. Недостатком способа является то, что
    //ток управления триака включен в течение всего времени проводимости.
    //Хотя при управлении индуктивными нагрузками это сказывается положительно,
    //так как в этом случае момент перехода тока через ноль запаздывает
    //относительно импульсов ZCD, и применение длинных импульсов управления
    //является обязательным, по крайней мере, на малых углах.
    //Для контроля захвата SPLL при необходимости может быть использовано
    //значение текущей ошибки фазы Spll_X. Критерием захвата является значение
    //ошибки, меньше заданного, сохраняющееся в течение заданного времени.

    //----------------------------------------------------------------------------

    #include "Main.h"
    #include "Triac.h"
    #include "Display.h"

    //----------------------------- Константы: -----------------------------------

    #define F_MAINS_MIN 45 //минимальная частота сети, Hz
    #define F_MAINS_NOM 50 //номинальная частота сети, Hz
    #define F_MAINS_MAX 55 //максимальная частота сети, Hz
    #define SPLL_PI_KP 50 //пропорциональный коэффициент PI-регулятора SPLL
    #define SPLL_PI_KI 10 //интегральный коэффициент PI-регулятора SPLL
    #define TRIAC_ERROR 200 //максимальная ошибка в состоянии захвата, us
    #define LOCK_N 10 //число периодов для детектирования захвата
    #define MAX_ANGLE 36000L //диапазон задания угла открывания триака
    #define PRE 8 //значение прескалера таймера
    #define ESIG 0xBABE //сигнатура EEPROM

    #define TRIAC_SHIFT 150 //сдвиг сигнала управления триаком, us
    #define TRIAC_ANGLE 3000 //сдвиг угла сигнала управления триаком

    #define PERIOD_MIN ((int)(F_CLK * 1E6 / F_MAINS_MAX / PRE))
    #define PERIOD_NOM ((int)(F_CLK * 1E6 / F_MAINS_NOM / PRE))
    #define PERIOD_MAX ((int)(F_CLK * 1E6 / F_MAINS_MIN / PRE))

    #define ERROR (F_CLK * TRIAC_ERROR / PRE)

    //Код текущей фазы:
    enum { PH_AH1, PH_AH0,
    PH_BH1, PH_BH0,
    PH_CH1, PH_CH0,
    PH_AL1, PH_AL0,
    PH_BL1, PH_BL0,
    PH_CL1, PH_CL0 };

    #define PULSE_US 75 //длительность импульсов, us (< 3333 us)

    #define PHASE_AH (0L * MAX_ANGLE / 6)
    #define PHASE_BH (1L * MAX_ANGLE / 6)
    #define PHASE_CH (2L * MAX_ANGLE / 6)
    #define PHASE_AL (3L * MAX_ANGLE / 6)
    #define PHASE_BL (4L * MAX_ANGLE / 6)
    #define PHASE_CL (5L * MAX_ANGLE / 6)
    #define PULSE (F_CLK * PULSE_US / PRE)

    //----------------------------- Переменные: ----------------------------------

    static int Period; //текущая длительность периода
    static unsigned int Period1; //загруженная длительность периода
    static int Angle; //текущий угол
    static int Spll_X; //текущая ошибка петли SPLL
    static char Lock_Counter; //счетчик захвата петли SPLL
    static bool Spll_Lock; //текущий статус петли SPLL
    static char Phase; //текущая фаза
    static int dT; //временной сдвиг (установленный, мкс)
    static int dTt; //временной сдвиг (в тиках таймера)
    static int dF; //фазовый сдвиг
    static bool Cycle; //флаг начала цикла PLL

    __no_init __eeprom int ESig; //сигнатура EEPROM
    __no_init __eeprom int EdT; //временной сдвиг в EEPROM
    __no_init __eeprom int EdF; //фазовый сдвиг в EEPROM

    //-------------------------- Прототипы функций: ------------------------------

    #pragma vector = TIMER1_CAPT_vect
    __interrupt void Timer_Cap(void); //прерывание по захвату
    #pragma vector = TIMER1_COMPB_vect
    __interrupt void Timer_Comp(void); //прерывание по совпадению
    #pragma vector = TIMER1_COMPA_vect
    __interrupt void Timer_Ovf(void); //прерывание по совпадению
    bool Get_Cycle(void); //чтение флага начала цикла

    //------------------------- Инициализация модуля: ----------------------------

    void Triac_Init(void)
    {
    //TCCR1A = (1<<WGM11) | (1<<WGM10);
    TCCR1A = 0;
    //CTC, CK/64 (PRE = 8):
    TCCR1B = (1 << ICNC1) | (1 << WGM12) | (1 << CS11);
    //очистка отложенных прерываний:
    TIFR = (1 << ICF1) | (1 << OCF1B) | (1 << OCF1A);
    //разрешение прерывания по захвату и совпадению:
    TIMSK |= (1 << TICIE1) | (1 << OCIE1B) | (1 << OCIE1A);
    //загрузка начального значения периода:
    Period = PERIOD_NOM;
    OCR1A = Period;
    Period1 = Period;
    //нет захвата:
    Lock_Counter = 0;
    Spll_Lock = 0;
    //чтение EEPROM:
    if(ESig == ESIG)
    {
    dT = EdT;
    dF = EdF;
    }
    else
    {
    dT = TRIAC_SHIFT;
    EdT = dT;
    dF = TRIAC_ANGLE;
    EdF = dF;
    ESig = ESIG;
    }
    dTt = ((long)(F_CLK * 1000L)) * dT / ((long)(PRE * 1000L));
    //установка начального угла открывания триака:
    Angle = MAX_ANGLE / 2;
    Phase = PH_AH1;
    OCR1B = (long)Period1 * (Angle + dF + PHASE_AH) / MAX_ANGLE;
    if(OCR1B > Period1) OCR1B = OCR1B - Period1 - 1;
    Cycle = 0;
    }

    //-------------------- Установка угла открывания триака: ---------------------

    //Таблица перевода среднего значения тока 0..250 в угол 0.00..120.00°:
    //Для угла f нормализованное среднее значение тока равно интегралу
    //от f до pi от sin(x)dx, деленному 2.
    //Или Pnorm = (1 + cos(f))/2.

    const __flash int PowerTable[251] =
    {
    #include "Table.inc"
    };

    //i = 0..25000
    //angle = 0..12000

    void Triac_SetI(int i)
    {
    if(i <= MAX_I)
    {
    //находим индекс первого элемента таблицы:
    char Index1 = i / 100;
    //находим индекс второго элемента таблицы:
    char Index2 = (Index1 < 250)? (Index1 + 1) : Index1;
    //читаем первую точку таблицы:
    int a1 = PowerTable[Index1];
    //читаем вторую точку таблицы:
    int a2 = PowerTable[Index2];
    //вычисляем дробную часть процентов мощности:
    int DeltaI = i % 100;
    //линейная интерполяция по отрезку 1 A:
    a1 = a1 + DeltaI * (a2 - a1) / 100;
    //задаем угол:
    //запрещаем прерывания для атомарности доступа к Angle:
    char si = __save_interrupt();
    __disable_interrupt();
    Angle = MAX_ANGLE / 2 - a1;
    //восстанавливаем состояние прерываний:
    __restore_interrupt(si);
    }
    }

    //---------------------- Чтение текущего угла, x0.01°: -----------------------

    int Triac_GetAngle(void)
    {
    return(Angle - 6000);
    }

    //------------------------- Чтение состояния PLL: ----------------------------

    bool Triac_GetPLL(void)
    {
    return(Spll_Lock);
    }

    //-------------------- Установка сдвига открытия триака: ---------------------

    __monitor void Triac_SetT(int t)
    {
    dT = t;
    dTt = ((long)(F_CLK * 1000L)) * dT / ((long)(PRE * 1000L));
    if(EdT != dT) EdT = dT;
    }

    //----------------- Установка сдвига угла открытия триака: -------------------

    __monitor void Triac_SetF(int f)
    {
    dF = f;
    if(EdF != dF) EdF = dF;
    }

    //--------------------- Чтение сдвига открытия триака: -----------------------

    int Triac_GetT(void)
    {
    return(dT);
    }

    //------------------- Чтение сдвига угла открытия триака: --------------------

    int Triac_GetF(void)
    {
    return(dF);
    }

    //-------------------------- Обслуживание модуля: ----------------------------

    bool Triac_Exe(bool t)
    {
    if(t)
    {
    static char Lt;
    if(Lt) Lt--;
    else
    {
    Lt = 50;
    if(Lock_Counter) Lock_Counter--; //сброс Lock при отсутствии импульсов
    else Spll_Lock = 0; //привязки (когда Capture не возникает)
    }
    Display_Led(LED_H, Spll_Lock); //управление светодиодом "Lock"
    }
    return(Get_Cycle());
    }

    //------------------------- Прерывание по захвату: ---------------------------

    #pragma vector = TIMER1_CAPT_vect
    __interrupt void Timer_Cap(void)
    {
    //предыдущее значение ошибки фазы:
    static int Spll_Xp = 0;
    //внутреннее представление воздействия (х256):
    static long Spll_Y = PERIOD_NOM * 256L;
    //вычисление текущей ошибки фазы:
    Spll_X = ICR1 - dTt;
    //сдвиг в диапазон ±Period / 2:
    if(Spll_X > Period >> 1) Spll_X = Spll_X - Period - 1;
    //учет пропорциональной составляющей:
    Spll_Y = Spll_Y - (long)(Spll_Xp - Spll_X) * SPLL_PI_KP;
    //учет интегральной составляющей:
    Spll_Y = Spll_Y + (long)Spll_X * SPLL_PI_KI;
    //ограничение результата:
    if(Spll_Y > PERIOD_MAX * 256L) Spll_Y = PERIOD_MAX * 256L;
    if(Spll_Y < PERIOD_MIN * 256L) Spll_Y = PERIOD_MIN * 256L;
    //вычисление нового периода:
    Period = Spll_Y >> 8;
    //сохранение предыдущего значения ошибки фазы:
    Spll_Xp = Spll_X;
    //загрузка нового периода:
    //OCR1A = Period;
    //коррекция OCR1B:
    //if(OCR1B > Period) OCR1B = OCR1B - Period - 1;

    //проверка захвата:
    if(Spll_X > -ERROR && Spll_X < ERROR)
    {
    if(Lock_Counter < LOCK_N) Lock_Counter++;
    else Spll_Lock = 1;
    }
    else
    {
    if(Lock_Counter > 0) Lock_Counter--;
    else Spll_Lock = 0;
    }
    }

    //---------------------- Прерывание по совпадению B: -------------------------

    #pragma vector = TIMER1_COMPB_vect
    __interrupt void Timer_Comp(void)
    {
    int p;
    bool n = !Spll_Lock || Angle == MAX_ANGLE / 2;
    switch(Phase)
    {
    case PH_AH1:
    if(!n)
    {
    Port_PH_AH_0;
    Port_PH_CL_0;
    }
    Phase = PH_AH0;
    p = OCR1B + (int)PULSE;
    break;
    case PH_AH0:
    Port_PH_AH_1;
    Port_PH_CL_1;
    Phase = PH_BH1;
    p = (long)Period1 * (Angle + dF + PHASE_BH) / MAX_ANGLE;
    break;
    case PH_BH1:
    if(!n)
    {
    Port_PH_AH_0;
    Port_PH_BH_0;
    }
    Phase = PH_BH0;
    p = OCR1B + (int)PULSE;
    break;
    case PH_BH0:
    Port_PH_AH_1;
    Port_PH_BH_1;
    Phase = PH_CH1;
    p = (long)Period1 * (Angle + dF + PHASE_CH) / MAX_ANGLE;
    break;
    case PH_CH1:
    if(!n)
    {
    Port_PH_CH_0;
    Port_PH_BH_0;
    }
    Phase = PH_CH0;
    p = OCR1B + (int)PULSE;
    break;
    case PH_CH0:
    Port_PH_CH_1;
    Port_PH_BH_1;
    Phase = PH_AL1;
    p = (long)Period1 * (Angle + dF + PHASE_AL) / MAX_ANGLE;
    break;
    case PH_AL1:
    if(!n)
    {
    Port_PH_CH_0;
    Port_PH_AL_0;
    }
    Phase = PH_AL0;
    p = OCR1B + (int)PULSE;
    break;
    case PH_AL0:
    Port_PH_CH_1;
    Port_PH_AL_1;
    Phase = PH_BL1;
    p = (long)Period1 * (Angle + dF + PHASE_BL) / MAX_ANGLE;
    break;
    case PH_BL1:
    if(!n)
    {
    Port_PH_BL_0;
    Port_PH_AL_0;
    }
    Phase = PH_BL0;
    p = OCR1B + (int)PULSE;
    break;
    case PH_BL0:
    Port_PH_BL_1;
    Port_PH_AL_1;
    Phase = PH_CL1;
    p = (long)Period1 * (Angle + dF + PHASE_CL) / MAX_ANGLE;
    break;
    case PH_CL1:
    if(!n)
    {
    Port_PH_BL_0;
    Port_PH_CL_0;
    }
    Phase = PH_CL0;
    p = OCR1B + (int)PULSE;
    break;
    case PH_CL0:
    Port_PH_BL_1;
    Port_PH_CL_1;
    Phase = PH_AH1;
    p = (long)Period1 * (Angle + dF + PHASE_AH) / MAX_ANGLE;
    break;
    }
    //if(p > Period1 / 2) { OCR1A = Period; Period1 = Period; }
    if(p > Period1) p = p - Period1 - 1;
    OCR1B = p;
    }

    //---------------------- Прерывание по совпадению A: -------------------------

    #pragma vector = TIMER1_COMPA_vect
    __interrupt void Timer_Ovf(void) //прерывание по совпадению
    {
    //Port_TEST_1;
    OCR1A = Period;
    Period1 = Period;
    Cycle = 1;
    //Port_TEST_0;
    }

    //---------------------- Чтение флага начала цикла: --------------------------

    __monitor bool Get_Cycle(void)
    {
    bool cyc = Cycle;
    Cycle = 0;
    return(cyc);
    }

    //----------------------------------------------------------------------------

    и скриншот управляющей программы, которую тоже я писал:

    e-mail: wubblick@yahoo.com
  • 12ASS Senior Member
    офлайн
    12ASS Senior Member

    2162

    18 лет на сайте
    пользователь #121477

    Профиль
    Написать сообщение

    2162
    # 20 декабря 2018 15:57 Редактировалось 12ASS, 3 раз(а).

    вот, на авито торгует

    "Шикарная зеркальная лицевая панель на магнитофон Олимп 005,есть так же шлифованная и золотая и ещё так же есть на магнитофон Электроника 004"

  • yasha212 Senior Member
    офлайн
    yasha212 Senior Member

    7095

    11 лет на сайте
    пользователь #1281085

    Профиль
    Написать сообщение

    7095
    # 20 декабря 2018 16:40 Редактировалось yasha212, 1 раз.

    .....

  • Skybird01 Senior Member
    офлайн
    Skybird01 Senior Member

    1066

    11 лет на сайте
    пользователь #1525270

    Профиль
    Написать сообщение

    1066
    # 20 декабря 2018 16:58

    "Шлифованное серебро" получше будет, а это цыганщина какая-то.

  • star200986 Senior Member
    офлайн
    star200986 Senior Member

    1715

    14 лет на сайте
    пользователь #568253

    Профиль
    Написать сообщение

    1715
    # 20 декабря 2018 17:11

    Да по любому лучше чем оригинальная в мышиный цвет-так и не дорого просят)

  • Добрый_Дедушка Senior Member
    офлайн
    Добрый_Дедушка Senior Member

    12403

    12 лет на сайте
    пользователь #1113377

    Профиль
    Написать сообщение

    12403
    # 20 декабря 2018 17:31

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

  • Liv1 Senior Member
    офлайн
    Liv1 Senior Member

    7930

    10 лет на сайте
    пользователь #1728864

    Профиль
    Написать сообщение

    7930
    # 20 декабря 2018 17:42

    Нужен листовой алюминий толщиной порядка 1.5 мм со шлифованной повехностью. В рекламе подобный применяется, только тоньше (0.8 мм, но и такой пойдет на крайний случай). Но мне, как частному лицу, купить небольшое количество пока не удалось. Проблема...

    e-mail: wubblick@yahoo.com
  • Skybird01 Senior Member
    офлайн
    Skybird01 Senior Member

    1066

    11 лет на сайте
    пользователь #1525270

    Профиль
    Написать сообщение

    1066
    # 20 декабря 2018 17:48 Редактировалось Skybird01, 1 раз.

    Liv1, на M8 продадут лист без проблем. Да и резку у них, я думаю, можно заказать под Ваши размеры.

  • 12ASS Senior Member
    офлайн
    12ASS Senior Member

    2162

    18 лет на сайте
    пользователь #121477

    Профиль
    Написать сообщение

    2162
    # 20 декабря 2018 17:55
    Skybird01:

    на M8

    а у них именно шлиф алюм или композит?

  • Skybird01 Senior Member
    офлайн
    Skybird01 Senior Member

    1066

    11 лет на сайте
    пользователь #1525270

    Профиль
    Написать сообщение

    1066
    # 20 декабря 2018 17:57

    12ASS, Насколько я помню, раньше было и то, и то. Не знаю как сейчас.

  • Scorpic Senior Member
    офлайн
    Scorpic Senior Member

    3005

    17 лет на сайте
    пользователь #147318

    Профиль
    Написать сообщение

    3005
    # 20 декабря 2018 18:02 Редактировалось Scorpic, 1 раз.

    12ASS, Это металл с покрытием под сублимацию,размер листа 30*60 см,толщина около 0,5-0,6мм. На М8 куплю любую херь,в любом количестве без проблем :)

    Старый добрый рок это тема!
  • mixing-mastering Senior Member
    офлайн
    mixing-mastering Senior Member

    17434

    10 лет на сайте
    пользователь #1683425

    Профиль
    Написать сообщение

    17434
    # 20 декабря 2018 18:28

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

    Добавлено спустя 1 минута 31 секунда

    помниццо, заказывал панели на ООО "Сетка", они по моему чертежику быстро запрограммили станок и он натюкал мне десяток.

    экс-Jenik
  • star200986 Senior Member
    офлайн
    star200986 Senior Member

    1715

    14 лет на сайте
    пользователь #568253

    Профиль
    Написать сообщение

    1715
    # 20 декабря 2018 18:29
    Scorpic:

    12ASS, Это металл с покрытием под сублимацию,размер листа 30*60 см,толщина около 0,5-0,6мм. На М8 куплю любую херь,в любом количестве без проблем :)

    Что по деньгам под ключ выйдет?Спс)-готовая панель?

  • mixing-mastering Senior Member
    офлайн
    mixing-mastering Senior Member

    17434

    10 лет на сайте
    пользователь #1683425

    Профиль
    Написать сообщение

    17434
    # 20 декабря 2018 18:30

    из дюраля или аллюминия, не помню уже

    экс-Jenik