Ще в далекому 1984 році я купив дуже сучасний програвач вінілових дисків, який був на той час дуже сучасним і дуже дорогим для роботи в СРСР.

На той час це було круто.

Але час минув, і я підкреслив момент, який забув про це, але #COVID відкрився протягом багатьох днів і слухав старі колекції.

Але це диво було СРСР не включено ...

Віртуальна здатність знизила його, коли під час огляду електроніки того часу:

Для початку "радянська" електроніка була відкінута.

Є 3-фазний двигун, електромагнітний підвійник тонарів, вінтажний вімікач напруги 220 В і датчики управління зі старовинними свідомими фарами.

Я був розроблений спеціальним щитом, керованим ARDUINO NANO.




 

Я підтримую ланцюг підсилювача у Elliott Sound

 

Розроблена друкована плата (розмір 100x100 мм) залишається робити так:

ескіз ARDUINO-nano (вибачте, зараз з українськими коментарями).

 

#include <TimerOne.h>

 

#define MuteALL 13 // Блок сигналу катріджа (головки)

// #define END_DISC 12 // Вхід з датчика автостопу

// 11 // Резерв

#define Stroboscope 10 // Меандр 50 Гц для стробоскопу

#define TONARM_UP 9 // Вихід на силовий ключ мікроліфту тонарму

#define PWM1 8 // Вихід на силовий ключ фаза1

#define PWM2 7 // Вихід на силовий ключ фаза2

#define PWM3 6 // Вихід на силовий ключ фаза3

#define SET_45 5 // Команда сенсору "Вкл.45"

#define STOP 4 // Команда сенсору "Зупинити і підняти тонарм"

#define SET_33 3 // Команда сенсору "Вкл.33"

#define SET_UP 2 // Команда сенсору "UP Підняти тонарм"

#define SET_DOWN 1 // Команда сенсору "DOWN Опустити тонарм"

// # визначити 0 // Резерв

 

 

#define LED_33 19 // AD5 // Вихід на світдіод 33

#define LED_STOP 18 // AD4 // Вихід на світдіод STOP

#define LED_45 17 // AD3 // Вихід на світдіод 45

#define LED_DOWN 16 // AD2 // Вихід на світдіод DOWN

#define LED_UP 15 // AD1 // Вихід на світдіод UP

// # визначити Tuning_Res 14 // AD0 // Вхід резистора точної підстройки

 

// ************************************************** ** ** *****************************

неподписаний довгий Cycle_Start;

неподписаний довгий Current_Time;

int Count_PWM = 0;

int SET_33_Value;

int SET_45_Value;

int SET_UP_Value;

int SET_DOWN_Value;

int STOP_Value;

int END_DISC_Value;

int Tuning = 0;

int Tuning_New = 0;

int ADJ = 0; // Аналоговий вхід для зменшення потенціометра

довгий Faza_Time = 0;

// ************************************************** ** ** *****************************

 

 

 

 

встановлення недійсності ()

{

// digitalWrite (resetPin, HIGH);

// затримка (200);

// pinMode (resetPin, OUTPUT);

// затримка (1000);

 

 

analogReference (DEFAULT);

 

 

pinMode (PWM1, OUTPUT);

pinMode (PWM2, OUTPUT);

pinMode (PWM3, OUTPUT);

pinMode (SET_33, INPUT);

pinMode (SET_45, INPUT);

pinMode (SET_UP, INPUT);

pinMode (SET_DOWN, INPUT);

pinMode (STOP, INPUT);

// pinMode (END_DISC, INPUT);

pinMode (LED_33, вихідний);

pinMode (LED_45, вихідний);

pinMode (LED_UP, OUTPUT);

pinMode (LED_DOWN, OUTPUT);

pinMode (LED_STOP, OUTPUT);

pinMode (TONARM_UP, OUTPUT);

digitalWrite (LED_33, HIGH);

digitalWrite (LED_45, HIGH);

digitalWrite (LED_UP, HIGH);

digitalWrite (LED_DOWN, LOW);

digitalWrite (LED_STOP, LOW);

digitalWrite (TONARM_UP, HIGH);

digitalWrite (PWM1, LOW);

digitalWrite (PWM2, LOW);

digitalWrite (PWM3, LOW);

Count_PWM = 0;

Timer1.attachInterrupt (PWM_Control);

тон (Стробоскоп, 50);

noTone (Стробоскоп);

}

// Закінчення налаштування

 

 

недійсна PWM_Control ()

{

так (Count_PWM == 0)

{

digitalWrite (PWM1, LOW);

digitalWrite (PWM2, LOW);

digitalWrite (PWM3, LOW);

}

ще

{

if (Tuning_New! = Налаштування)

  {

      Налаштування = Tuning_New;

      Timer1.setPeriod (Faza_Time + (Налаштування - 64) * 8); // Длительность одной фазы в микросекундах

  }

 

Count_PWM = Count_PWM +1;

так (Count_PWM == 4) {Count_PWM = 1;}

                       так (Count_PWM == 1)

                            {

                              digitalWrite (PWM1, HIGH);

                              digitalWrite (PWM2, LOW);

                              digitalWrite (PWM3, LOW);

                            }

                       так (Count_PWM == 2)

                            {

                              digitalWrite (PWM1, LOW);

                              digitalWrite (PWM2, HIGH);

                              digitalWrite (PWM3, LOW);

                              }

                       так (Count_PWM == 3)

                            {

                              digitalWrite (PWM1, LOW);

                              digitalWrite (PWM2, LOW);

                              digitalWrite (PWM3, HIGH);

                            }

}                        

 

 

} // END PWM_Control

 

 

void Tonarm_Vira () // Процедура підъема тонарма

{

  digitalWrite (TONARM_UP, HIGH);

     digitalWrite (LED_UP, HIGH);

     digitalWrite (LED_DOWN, LOW);

  }

 

 

 

 

void Tonarm_Maina () // Процедура випуску тонарма

{

   digitalWrite (LED_UP, LOW);

   digitalWrite (LED_DOWN, HIGH);

   digitalWrite (TONARM_UP, LOW);

}

void smooth_Start ()

{

digitalWrite (PWM1, HIGH);

digitalWrite (PWM2, LOW);

digitalWrite (PWM3, LOW);

 

 

затримка (20);

digitalWrite (PWM1, LOW);

digitalWrite (PWM2, HIGH);

digitalWrite (PWM3, LOW);

 

 

затримка (25);

digitalWrite (PWM1, LOW);

digitalWrite (PWM2, LOW);

digitalWrite (PWM3, HIGH);

 

затримка (30);

digitalWrite (PWM1, HIGH);

digitalWrite (PWM2, LOW);

digitalWrite (PWM3, LOW);

 

затримка (35);

digitalWrite (PWM1, LOW);

digitalWrite (PWM2, HIGH);

digitalWrite (PWM3, LOW);

 

затримка (40);

digitalWrite (PWM1, LOW);

digitalWrite (PWM2, LOW);

digitalWrite (PWM3, HIGH);

}

 

 

void loop () {

// ************************************************** ** ** *********

 

 

SET_33_Value = digitalRead (SET_33);

SET_45_Value = digitalRead (SET_45);

SET_UP_Value = digitalRead (SET_UP);

SET_DOWN_Value = digitalRead (SET_DOWN);

STOP_Value = digitalRead (STOP);

// END_DISC_Value = digitalRead (END_DISC);

 

Tuning_New = analogRead (A0) / 8;

 

if (SET_33_Value == HIGH) {digitalWrite (LED_STOP, HIGH);

                               digitalWrite (LED_33, LOW);

                               digitalWrite (LED_45, HIGH);                     

                               Count_PWM = 1;

                               Faza_Time = 75008; // 60-ті / 8 пол. / 3 крок / 33,33 об / хв

                               Timer1.initialize (Faza_Time);                           

                               Timer1.setPeriod (Faza_Time);

                               Timer1.start ();

                               тон (Стробоскоп, 25);

                               // noTone (Стробоскоп);

                               smooth_Start ();

                              }

 

 

if (SET_45_Value == HIGH) {digitalWrite (LED_STOP, HIGH);

                               digitalWrite (LED_45, LOW);

                               digitalWrite (LED_33, HIGH);

                               Count_PWM = 1;

                               Faza_Time = 55420; // = 60-ті / 8 пол. / 3 фаз. / 45,11 об / хв

                               Timer1.initialize (Faza_Time);                           

                               Timer1.setPeriod (Faza_Time);

                               Timer1.start ();

                               тон (Стробоскоп, 25);

                               // noTone (Стробоскоп);

                               smooth_Start ();

                               }

 

 

так ((STOP_Value == HIGH) || (END_DISC_Value == HIGH))

                              {

                         

                               Timer1.stop ();

                         

                               Count_PWM = 0;

                               Faza_Time = 0;

                               Tonarm_Vira ();

                         

                               digitalWrite (PWM1, LOW);

                               digitalWrite (PWM2, LOW);

                               digitalWrite (PWM3, LOW);

                               digitalWrite (LED_STOP, LOW);

                               digitalWrite (LED_33, HIGH);

                               digitalWrite (LED_45, HIGH);

                               // тон (Стробоскоп, 50);

                               noTone (Стробоскоп);                   

                               }

 

 

залишилося (SET_UP_Value == ВИСОКИЙ) {

                                Tonarm_Vira ();

                              }

зрозуміло (SET_DOWN_Value == ВИСОКИЙ) {

                                Tonarm_Maina ();

                              }

// Крутимо двигуна

} // Кінцевий ескіз

 

Завтра я очікую друковану планку і всі необхідні деталі для складання.

Так буде цікаво.