Страница 138 из 1106 Первая ... 128136137138139140148 ... Последняя
Показано с 2,741 по 2,760 из 22112

Тема: Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005

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

    По умолчанию Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005

    .
    12.01.2020 года.
    .
    .
    Апгрейд, модернизация, ремонт катушечных магнитофонов (смотри заголовок темы), а также, магнитофонов Олимп-006, Олимп-700, Олимп-701, Олимп-702, Олимп А-400.
    .
    Обсуждается конструкция магнитофонов и узлов, схемотехника магнитофонов и отдельных блоков.
    .
    Любые схемы, новые схемы модернизации магнитофонов приветствуются.
    Любые печатные платы, новые печатные платы модернизации магнитофонов приветствуются.
    .
    Любые чертежи узлов, чертежи модернизаций узлов магнитофонов приветствуются.
    Любые чертежи новых деталей для магнитофонов приветствуются.
    .
    Любая документация по магнитофонам приветствуется.
    Любые описания по магнитофонам приветствуются.
    .
    Применение любой, даже экзотической элементной базы приветствуется, в том числе высокоскоростных ОУ, качественных конденсаторов и т.д.
    .
    Любая другая полезная техническая и иная информация по магнитофонам приветствуется.
    .
    Любые ссылки на аналогичные темы в других форумах приветствуются.
    .
    Посты, с архивами файлов PCB , SCH , гербер файлов, смотри сообщения на форуме.
    Некоторые схемы и платы выложены на форуме в нескольких вариантах, обратите на это внимание.
    .
    Проекты, реализованные в этой ветке.
    Ссылка.
    .
    https://cloud.mail.ru/public/vnhr/BfCatSVWf
    .
    Часть дерева директорий по ссылке
    (по тематике - магнитофоны с проектами схем и печатных плат (гербер файлы) для самостоятельного изготовления).
    .
    - Tape_Recorders
    |
    +- Electronika-004 - магнитофон Электроника-004 (некоторые специфичные проекты)
    |
    +- Olimp-003 - магнитофоны Электроника ТА1-003 , Электроника-004 , Олимп-003 (основные проекты)
    |
    +- Olimp-004 - магнитофон Олимп-004
    |
    +- Olimp-005C - магнитофон Олимп-005С
    |
    +- Olimp-005C-1 - магнитофон Олимп-005С-1
    |
    +- Idel-001 - магнитофон Идель-001
    |
    +- Nota-203 - магнитофон Нота-203
    |
    +- PCAD2006_Libraries - библиотеки компонентов САПР PCAD 2006 , используемых для магнитофонных проектах.
    |
    +- Multisym - схемы симуляции различных магнитофонных проектов и не только
    .
    и другие директории по ссылке, которые Вы смотрите и обследуете самостоятельно...
    Последний раз редактировалось Konkere; 26.07.2022 в 03:52.

  2. #2741
    Завсегдатай Аватар для Pyku_He_oTTyda
    Регистрация
    22.06.2005
    Адрес
    Москва
    Возраст
    50
    Сообщений
    4,289

    По умолчанию Re: Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005

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

  3. #2742
    Новичок Аватар для lepa
    Регистрация
    20.04.2018
    Адрес
    KZ
    Возраст
    52
    Сообщений
    58

    По умолчанию Re: Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005

    Цитата Сообщение от Pyku_He_oTTyda Посмотреть сообщение
    pencak, вы представляете некое сообщество людей, которые никак не участвуют в разработке, зато, когда все готово, начинают умничать и советовать, причем, как выясняется, еще и не могут выразить внятно свои мысли.
    в споре рождается истина(R) как правило у технарей глаз замылен в плане дизайна (да простят меня...),а подобных :начинают умничать: порой проскакивают интересные идеи
    пс-сам как правило стараюсь на форумах больше читать (как правило если вникнуть ,то вся информация нужная уже есть) нежели писать

  4. #2743
    Завсегдатай Аватар для Leoniv
    Регистрация
    20.04.2016
    Адрес
    Minsk
    Возраст
    21
    Сообщений
    5,588

    По умолчанию Re: Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005

    Цитата Сообщение от pencak Посмотреть сообщение
    Я может не так сказал... кнопку оставить как в оригинале, а распилить под индикатор право , будет более симметрично...
    Сейчас вырезано так (черным цветом показано старое окно 35 х 11, красным - новое 67 х 18):

    Нажмите на изображение для увеличения. 

Название:	pan.gif 
Просмотров:	159 
Размер:	13.1 Кб 
ID:	328215

    А Вы как предлагаете?

  5. #2744
    Особо опасный рецидивист Аватар для belka
    Регистрация
    03.01.2005
    Адрес
    Евродупло
    Сообщений
    3,877

    По умолчанию Re: Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005


    Offтопик:
    Отличная работа, Леонид! И кнопка расположена правильно и размер окна удачный. Просто отлично!
    Хай-эндЪ не терпит суеты.

  6. #2745
    Частый гость Аватар для Vygandas
    Регистрация
    15.09.2006
    Адрес
    Литва, Вильнюс
    Возраст
    54
    Сообщений
    376

    По умолчанию Re: Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005

    Цитата Сообщение от Leoniv Посмотреть сообщение
    Мне кажется, так будет не очень, окно индикаторов получается слишком близко к облицовке блока головок.
    С лева кнопкой еще ничего, но если ты не левша, то при работе энкодерром просто будешь рукой прикрывать индикатор - неудобно. Эргономика !
    Fortuna non penis, non recipientus in manus...

  7. #2746
    Завсегдатай Аватар для Pyku_He_oTTyda
    Регистрация
    22.06.2005
    Адрес
    Москва
    Возраст
    50
    Сообщений
    4,289

    По умолчанию Re: Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005

    Цитата Сообщение от pencak Посмотреть сообщение
    а насчет сообщества, это вы явно перегнули. Еще заговор поищите.А Леониду я давно писал и не только здесь.
    Человек спросил, я ответил свое мнение.
    Медаль "За конструктивное участие в разработке счетчика" оставляю вам...
    Я вообще никаким боком к этому счетчику...это для информации.
    Искренне радуюсь хорошо выполненной Леонидом работе, от вас же я прочитал:
    Цитата Сообщение от pencak Посмотреть сообщение
    Только вправо от кнопки распиливать...
    Цитата Сообщение от pencak Посмотреть сообщение
    Я может не так сказал... кнопку оставить как в оригинале, а распилить под индикатор право , будет более симметрично...
    это несомненно важные замечания, особенно как платы ушли на печать в Китай
    Андрей

  8. #2747
    Завсегдатай Аватар для straus
    Регистрация
    24.01.2009
    Сообщений
    3,259

    По умолчанию Re: Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005

    Цитата Сообщение от Vygandas Посмотреть сообщение
    С лева кнопкой еще ничего, но если ты не левша, то при работе энкодерром просто будешь рукой прикрывать индикатор - неудобно. Эргономика !
    Мне тоже показалось, что лучше индикатор пусть сдвинется к блоку головок, чем туда рукой лезть. С кнопкой в принципе можно пережить, вряд-ли кто-то ей вообще будет пользоваться часто. А энкодер - да, там уже проблема.

  9. #2748
    Завсегдатай Аватар для VladimirV
    Регистрация
    09.05.2018
    Адрес
    Voronezh
    Сообщений
    4,808

    По умолчанию Re: Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005

    Цитата Сообщение от Leoniv Посмотреть сообщение
    Все свои доработки по Э-004 начал выкладывать сюда
    Почитал с интересом, спасибо!
    Небольшое замечание по терминологии: двигатель ДБ-95 - не синхронный. Это бесколлекторный электродвигатель, называемый в отечественной литературе еще вентильным. А пример именно синхронного двигателя - ДВС-У1 с магнитофона "Днепр-11". У них совсем разный принцип работы и механические характеристики.

  10. #2749
    Завсегдатай Аватар для Leoniv
    Регистрация
    20.04.2016
    Адрес
    Minsk
    Возраст
    21
    Сообщений
    5,588

    По умолчанию Re: Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005

    Цитата Сообщение от VladimirV Посмотреть сообщение
    ДБ-95 - не синхронный
    Смотря что называть двигателем. Если совместно с платой управления, то это бесколлекторный двигатель постоянного тока. А если рассматривать саму железяку, то по классификации электрических машин это синхронный трехфазный двигатель переменного тока. Cинхронный - потому что частота вращения ротора равна частоте вращающегося магнитного поля. По принципу работы синхронные двигатели бывают разными: реактивные, с фазным ротором, с постоянными магнитами, гибридные (часто встречаются среди шаговых, которые тоже являются синхронными машинами). Мне в данном случае был важен тип самого двигателя, а не схемы управления, которую я планирую сделать другой. К примеру, если сделать синусоидальное управление, то этот же двигатель надо будет уже называть вентильным (или PMSM - Permanent Magnet SYNCHRONOUS Motor), а не бесколлекторным (BLDC - Brushless Direct Current Motor). А ЭДС самой машины, по которой типа надо проводить классификацию - где грань между синусом и трапецией?

  11. #2750
    Завсегдатай Аватар для VladimirV
    Регистрация
    09.05.2018
    Адрес
    Voronezh
    Сообщений
    4,808

    По умолчанию Re: Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005

    Цитата Сообщение от Leoniv Посмотреть сообщение
    Смотря что называть двигателем.
    То, что видел целью его разработчик. Как известно, микроскопом можно весьма успешно забивать гвозди. Однако же молотком он при этом не становится, а остается микроскопом.
    Цитата Сообщение от Leoniv Посмотреть сообщение
    Cинхронный - потому что частота вращения ротора равна частоте вращающегося магнитного поля.
    Это - синхронный. А у ДБ-95 частота вращения магнитного поля равна частоте вращения ротора. А это - совсем другая внешняя характеристика мотора, ничего общего с первым не имеющая. В соотношении причина-следствие, то, что первично, нельзя произвольно менять местами с тем, что вторично.
    Если же произвольно давать названия сущностям (с учетом возможного их приспособления для новых функций), то утрачивается сам смысл терминов.

  12. #2751
    Завсегдатай Аватар для Leoniv
    Регистрация
    20.04.2016
    Адрес
    Minsk
    Возраст
    21
    Сообщений
    5,588

    По умолчанию Re: Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005

    Цитата Сообщение от VladimirV Посмотреть сообщение
    А у ДБ-95 частота вращения магнитного поля равна частоте вращения ротора.
    Если рассматривать двигатель вместе с платой управления, то так. Это не мешает в англоязычном варианте называть подобные двигатели PMSM, где S означает "синхронный". Вообще, с появлением электронного управления двигателями терминология стала не совсем логичной, один и тот же двигатель может превращаться из двигателя переменного тока в двигатель постоянного и наоборот. Если я выброшу плату управления от ДБ-95, то называть оставшееся "ДБ-95", может быть, и неправильно, зато не будет ошибкой называть это "синхронным двигателем с постоянными магнитами". Сейчас большинство синхронных двигателей управляется по датчикам положения ротора и фактически направление поля определяется положением ротора, а не наоборот. Но от этого они не перестают быть синхронными.

    Нажмите на изображение для увеличения. 

Название:	sync.jpg 
Просмотров:	98 
Размер:	41.4 Кб 
ID:	328250

  13. #2752
    Старый знакомый Аватар для vasa1970
    Регистрация
    17.04.2010
    Адрес
    Крым Керчь
    Возраст
    60
    Сообщений
    749

    По умолчанию Re: Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005

    Объясните бестолковому- чем частота вращения ротора равна частоте вращающегося магнитного поля отличается от частоты вращения магнитного поля равной частоте вращения ротора- что ротор вращается сам по себе а не под воздействием поля?

    Leoniv посмотрел исходник на кварц- если все пишите на ассемблере - снимаю шляпу перед вашим терпением.

  14. #2753
    Завсегдатай Аватар для Leoniv
    Регистрация
    20.04.2016
    Адрес
    Minsk
    Возраст
    21
    Сообщений
    5,588

    По умолчанию Re: Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005

    Цитата Сообщение от vasa1970 Посмотреть сообщение
    Leoniv посмотрел исходник на кварц- если все пишите на ассемблере - снимаю шляпу перед вашим терпением.
    Исходник счетчика ленты на C++.

    Скрытый текст


    Код:
    //----------------------------------------------------------------------------
    
    //Модуль реализации меню
    
    //------------------------ Используемые ресурсы: -----------------------------
    
    //Управление счетчиком производится с помощью системы меню. Для управления
    //используется единственная кнопка. Различается короткое нажатие, удержание
    //в течение 1 сек. и длинное удержание 4 сек.
    //При коротком нажатии по отпусканию кнопки переключаются режимы индикации:
    //"Реальное время" - "Время фрагмента" - "Метраж" - "Скорость" и далее
    //по кругу. При удержании кнопки в течении 1 сек. производится сброс
    //текущих показаний (в режиме "Скорость" сброс не производится).
    //Для режимов "Реальное время" и "Метраж" используется общий счетчик,
    //поэтому при сброе одной величины будет сброшена и другая.
    //"Время фрагмента" сбрасывается независимо. Фактически, это второй
    //независимый счетчик реального времени. Текущий режим индикации
    //запоминается в EEPROM и восстанавливается при включении питания.
    
    //При удержании кнопки в течение 4 сек. производится вход в режим
    //калибровки диаметра обводного ролика. Вход возможен из любого
    //режима индикации, но если нежелательно, чтобы сбрасывался счетчик,
    //вход надо делать из режима "Скорость". При входе в режим калибровки
    //на дисплей выводится буква "d" и текущее значение диаметра ролика.
    //Чтобы выйти из режима калибровки без изменения диаметра, надо
    //сделать короткое нажатие кнопки. Если удерживать кнопку в течение 4 сек.,
    //на дисплее появится мигающая надпись "CAL", и начнется процесс калибровки.
    //Примерно через 20 сек. процесс калибровки закончится, при этом будет
    //выведено новое значение диаметра ролика. Калибровку можно повторить
    //длинным удержанием кнопки, или выйти из нее коротким нажатием. При этом новое
    //значение диаметра будет сохранено. Если при калибровке произошла ошибка
    //(например, скорость ленты не соответствовала 19.05 см/с), то на дисплее
    //вместо нового значения диаметра появится надпись "Err". В этом случае можно
    //или повторить калибровку, или выйти из нее без сохранения нового значения.
    
    //----------------------------------------------------------------------------
    
    #include "main.hpp"
    #include "menu.hpp"
    #include "control.hpp"
    #include "count.hpp"
    
    //----------------------------------------------------------------------------
    //--------------------------- Класс TMenuTime: -------------------------------
    //----------------------------------------------------------------------------
    
    //-------------------------- Инициализация меню: -----------------------------
    
    void TMenuTime::Init(void)
    {
      Display->Time(Count->GetTime());
    }
    
    //---------------------------- Обновление меню: ------------------------------
    
    void TMenuTime::Execute(void)
    {
      if(Count->UpdateTime())
        Display->Time(Count->GetTime());
    }
    
    //-------------------------- Событие клавиатуры: -----------------------------
    
    void TMenuTime::OnKeyboard(KeyMsg_t &msg)
    {
      if(msg == KEY_REL) MnuIndex = MNU_LAPTIME;
      if(msg == KEY_HOLD) Count->ResetTime();
      if(msg == KEY_LONG) MnuIndex = MNU_DIAMETER;
    }
    
    //----------------------------------------------------------------------------
    //-------------------------- Класс TMenuLapTime: -----------------------------
    //----------------------------------------------------------------------------
    
    //-------------------------- Инициализация меню: -----------------------------
    
    void TMenuLapTime::Init(void)
    {
      Display->Time(Count->GetLapTime(), TDisplay::LAP);
    }
    
    //---------------------------- Обновление меню: ------------------------------
    
    void TMenuLapTime::Execute(void)
    {
      if(Count->UpdateTime())
        Display->Time(Count->GetLapTime(), TDisplay::LAP);
    }
    
    //-------------------------- Событие клавиатуры: -----------------------------
    
    void TMenuLapTime::OnKeyboard(KeyMsg_t &msg)
    {
      if(msg == KEY_REL) MnuIndex = MNU_METRAGE;
      if(msg == KEY_HOLD) Count->ResetLapTime();
      if(msg == KEY_LONG) MnuIndex = MNU_DIAMETER;
    }
    
    //----------------------------------------------------------------------------
    //-------------------------- Класс TMenuMetrage: -----------------------------
    //----------------------------------------------------------------------------
    
    //-------------------------- Инициализация меню: -----------------------------
    
    void TMenuMetrage::Init(void)
    {
      Display->Metrage(Count->GetMetrage());
    }
    
    //---------------------------- Обновление меню: ------------------------------
    
    void TMenuMetrage::Execute(void)
    {
      if(Count->UpdateTime())
        Display->Metrage(Count->GetMetrage());
    }
    
    //-------------------------- Событие клавиатуры: -----------------------------
    
    void TMenuMetrage::OnKeyboard(KeyMsg_t &msg)
    {
      if(msg == KEY_REL) MnuIndex = MNU_SPEED;
      if(msg == KEY_HOLD) Count->ResetTime();
      if(msg == KEY_LONG) MnuIndex = MNU_DIAMETER;
    }
    
    //----------------------------------------------------------------------------
    //--------------------------- Класс TMenuSpeed: ------------------------------
    //----------------------------------------------------------------------------
    
    //-------------------------- Инициализация меню: -----------------------------
    
    void TMenuSpeed::Init(void)
    {
      Display->Speed(Count->GetSpeed());
    }
    
    //---------------------------- Обновление меню: ------------------------------
    
    void TMenuSpeed::Execute(void)
    {
      if(Count->UpdateSpeed())
        Display->Speed(Count->GetSpeed());
    }
    
    //-------------------------- Событие клавиатуры: -----------------------------
    
    void TMenuSpeed::OnKeyboard(KeyMsg_t &msg)
    {
      if(msg == KEY_REL) MnuIndex = MNU_TIME;
      if(msg == KEY_LONG) MnuIndex = MNU_DIAMETER;
    }
    
    //----------------------------------------------------------------------------
    //-------------------------- Класс TMenuDiameter: ----------------------------
    //----------------------------------------------------------------------------
    
    //-------------------------- Инициализация меню: -----------------------------
    
    void TMenuDiameter::Init(void)
    {
      Display->Diameter(Count->GetDiameter());
    }
    
    //---------------------------- Обновление меню: ------------------------------
    
    void TMenuDiameter::Execute(void)
    {
      uint8_t status = Count->CalibStatus();
      if(status == CAL_OK)
      {
        Display->Diameter(Count->GetDiameter());
        Count->CalibStart(CAL_NO);
      }
      else if(status == CAL_ERR)
      {
        Display->Diameter(0, TDisplay::D_ERR);
        Count->CalibStart(CAL_NO);
      }
    }
    
    //-------------------------- Событие клавиатуры: -----------------------------
    
    void TMenuDiameter::OnKeyboard(KeyMsg_t &msg)
    {
      if(msg == KEY_REL) MnuIndex = MNU_TIME;
      if(msg == KEY_LONG)
      {
        Display->Diameter(0, TDisplay::D_CAL);
        Display->Blink(TDisplay::BLINK);
        Count->CalibStart(CAL_RUN);
      }
    }
    
    //----------------------------------------------------------------------------
    //---------------------------- Класс TMenuItems: -----------------------------
    //----------------------------------------------------------------------------
    
    //----------------------------- Конструктор: ---------------------------------
    
    TMenuItems::TMenuItems(char max) : TList(max)
    {
      AddItem(new TMenuTime());
      AddItem(new TMenuLapTime());
      AddItem(new TMenuMetrage());
      AddItem(new TMenuSpeed());
      AddItem(new TMenuDiameter());
    }
    
    //---------------------- Переход в меню по индексу: --------------------------
    
    void TMenuItems::SelectMenu(uint8_t mnu)
    {
      SelectedMenu = Items[mnu];
      SelectedMenu->MnuIndex = mnu;
      SelectedMenu->Init();
    }
    
    //----------------------------------------------------------------------------
    //----------------------------------------------------------------------------
    //----------------------------------------------------------------------------
    [свернуть]

  15. #2754
    Завсегдатай Аватар для VladimirV
    Регистрация
    09.05.2018
    Адрес
    Voronezh
    Сообщений
    4,808

    По умолчанию Re: Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005

    Цитата Сообщение от Leoniv Посмотреть сообщение
    Но от этого они не перестают быть синхронными.
    Все-таки пентод в триодном включении остается пентодом. Иначе можно с названиями совсем запутаться.

    ---------- Сообщение добавлено 21:48 ---------- Предыдущее сообщение было 21:42 ----------

    Цитата Сообщение от vasa1970 Посмотреть сообщение
    Объясните бестолковому- чем частота вращения ротора равна частоте вращающегося магнитного поля отличается от частоты вращения магнитного поля равной частоте вращения ротора- что ротор вращается сам по себе а не под воздействием поля?
    Очень просто. В первом случае вне зависимости от нагрузки на валу мотора ротор крутится с частотой питающего мотор тока. Или не крутится, если нагрузка больше критической. Других вариантов нету.
    А во втором случае - частота вращения ротора прямо зависит от соотношения крутящего момента мотора и тормозящего его момента нагрузки. При увеличении момента нагрузки - обороты уменьшаются и наоборот. Все так же точно, как у обычного коллекторного моторчика с постоянными магнитами в статоре. Как видите разница в характеристиках, как у БелАЗа с кабриолетом.

  16. #2755
    Завсегдатай Аватар для Leoniv
    Регистрация
    20.04.2016
    Адрес
    Minsk
    Возраст
    21
    Сообщений
    5,588

    По умолчанию Re: Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005

    Цитата Сообщение от VladimirV Посмотреть сообщение
    Как видите разница в характеристиках
    Если подать на ДБ-95 трехфазное переменное напряжение, он будет себя вести точно так же, как и любой другой синхронный двигатель с постоянными магнитами. Так что разницы нет. В этом споре Вы не правы. ДБ-95 - это типичная синхронная машина. Ну или если быть корректней, то в состав ДБ-95 входит синхронная машина и коммутатор.

  17. #2756
    iN GOD We TRUSt Аватар для EDDiE
    Регистрация
    13.02.2006
    Сообщений
    13,136

    По умолчанию Re: Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005

    Цитата Сообщение от Leoniv Посмотреть сообщение
    Исходник счетчика ленты на C++.

    Скрытый текст


    Код:
    //----------------------------------------------------------------------------
    
    //Модуль реализации меню
    
    //------------------------ Используемые ресурсы: -----------------------------
    
    //Управление счетчиком производится с помощью системы меню. Для управления
    //используется единственная кнопка. Различается короткое нажатие, удержание
    //в течение 1 сек. и длинное удержание 4 сек.
    //При коротком нажатии по отпусканию кнопки переключаются режимы индикации:
    //"Реальное время" - "Время фрагмента" - "Метраж" - "Скорость" и далее
    //по кругу. При удержании кнопки в течении 1 сек. производится сброс
    //текущих показаний (в режиме "Скорость" сброс не производится).
    //Для режимов "Реальное время" и "Метраж" используется общий счетчик,
    //поэтому при сброе одной величины будет сброшена и другая.
    //"Время фрагмента" сбрасывается независимо. Фактически, это второй
    //независимый счетчик реального времени. Текущий режим индикации
    //запоминается в EEPROM и восстанавливается при включении питания.
    
    //При удержании кнопки в течение 4 сек. производится вход в режим
    //калибровки диаметра обводного ролика. Вход возможен из любого
    //режима индикации, но если нежелательно, чтобы сбрасывался счетчик,
    //вход надо делать из режима "Скорость". При входе в режим калибровки
    //на дисплей выводится буква "d" и текущее значение диаметра ролика.
    //Чтобы выйти из режима калибровки без изменения диаметра, надо
    //сделать короткое нажатие кнопки. Если удерживать кнопку в течение 4 сек.,
    //на дисплее появится мигающая надпись "CAL", и начнется процесс калибровки.
    //Примерно через 20 сек. процесс калибровки закончится, при этом будет
    //выведено новое значение диаметра ролика. Калибровку можно повторить
    //длинным удержанием кнопки, или выйти из нее коротким нажатием. При этом новое
    //значение диаметра будет сохранено. Если при калибровке произошла ошибка
    //(например, скорость ленты не соответствовала 19.05 см/с), то на дисплее
    //вместо нового значения диаметра появится надпись "Err". В этом случае можно
    //или повторить калибровку, или выйти из нее без сохранения нового значения.
    
    //----------------------------------------------------------------------------
    
    #include "main.hpp"
    #include "menu.hpp"
    #include "control.hpp"
    #include "count.hpp"
    
    //----------------------------------------------------------------------------
    //--------------------------- Класс TMenuTime: -------------------------------
    //----------------------------------------------------------------------------
    
    //-------------------------- Инициализация меню: -----------------------------
    
    void TMenuTime::Init(void)
    {
      Display->Time(Count->GetTime());
    }
    
    //---------------------------- Обновление меню: ------------------------------
    
    void TMenuTime::Execute(void)
    {
      if(Count->UpdateTime())
        Display->Time(Count->GetTime());
    }
    
    //-------------------------- Событие клавиатуры: -----------------------------
    
    void TMenuTime::OnKeyboard(KeyMsg_t &msg)
    {
      if(msg == KEY_REL) MnuIndex = MNU_LAPTIME;
      if(msg == KEY_HOLD) Count->ResetTime();
      if(msg == KEY_LONG) MnuIndex = MNU_DIAMETER;
    }
    
    //----------------------------------------------------------------------------
    //-------------------------- Класс TMenuLapTime: -----------------------------
    //----------------------------------------------------------------------------
    
    //-------------------------- Инициализация меню: -----------------------------
    
    void TMenuLapTime::Init(void)
    {
      Display->Time(Count->GetLapTime(), TDisplay::LAP);
    }
    
    //---------------------------- Обновление меню: ------------------------------
    
    void TMenuLapTime::Execute(void)
    {
      if(Count->UpdateTime())
        Display->Time(Count->GetLapTime(), TDisplay::LAP);
    }
    
    //-------------------------- Событие клавиатуры: -----------------------------
    
    void TMenuLapTime::OnKeyboard(KeyMsg_t &msg)
    {
      if(msg == KEY_REL) MnuIndex = MNU_METRAGE;
      if(msg == KEY_HOLD) Count->ResetLapTime();
      if(msg == KEY_LONG) MnuIndex = MNU_DIAMETER;
    }
    
    //----------------------------------------------------------------------------
    //-------------------------- Класс TMenuMetrage: -----------------------------
    //----------------------------------------------------------------------------
    
    //-------------------------- Инициализация меню: -----------------------------
    
    void TMenuMetrage::Init(void)
    {
      Display->Metrage(Count->GetMetrage());
    }
    
    //---------------------------- Обновление меню: ------------------------------
    
    void TMenuMetrage::Execute(void)
    {
      if(Count->UpdateTime())
        Display->Metrage(Count->GetMetrage());
    }
    
    //-------------------------- Событие клавиатуры: -----------------------------
    
    void TMenuMetrage::OnKeyboard(KeyMsg_t &msg)
    {
      if(msg == KEY_REL) MnuIndex = MNU_SPEED;
      if(msg == KEY_HOLD) Count->ResetTime();
      if(msg == KEY_LONG) MnuIndex = MNU_DIAMETER;
    }
    
    //----------------------------------------------------------------------------
    //--------------------------- Класс TMenuSpeed: ------------------------------
    //----------------------------------------------------------------------------
    
    //-------------------------- Инициализация меню: -----------------------------
    
    void TMenuSpeed::Init(void)
    {
      Display->Speed(Count->GetSpeed());
    }
    
    //---------------------------- Обновление меню: ------------------------------
    
    void TMenuSpeed::Execute(void)
    {
      if(Count->UpdateSpeed())
        Display->Speed(Count->GetSpeed());
    }
    
    //-------------------------- Событие клавиатуры: -----------------------------
    
    void TMenuSpeed::OnKeyboard(KeyMsg_t &msg)
    {
      if(msg == KEY_REL) MnuIndex = MNU_TIME;
      if(msg == KEY_LONG) MnuIndex = MNU_DIAMETER;
    }
    
    //----------------------------------------------------------------------------
    //-------------------------- Класс TMenuDiameter: ----------------------------
    //----------------------------------------------------------------------------
    
    //-------------------------- Инициализация меню: -----------------------------
    
    void TMenuDiameter::Init(void)
    {
      Display->Diameter(Count->GetDiameter());
    }
    
    //---------------------------- Обновление меню: ------------------------------
    
    void TMenuDiameter::Execute(void)
    {
      uint8_t status = Count->CalibStatus();
      if(status == CAL_OK)
      {
        Display->Diameter(Count->GetDiameter());
        Count->CalibStart(CAL_NO);
      }
      else if(status == CAL_ERR)
      {
        Display->Diameter(0, TDisplay::D_ERR);
        Count->CalibStart(CAL_NO);
      }
    }
    
    //-------------------------- Событие клавиатуры: -----------------------------
    
    void TMenuDiameter::OnKeyboard(KeyMsg_t &msg)
    {
      if(msg == KEY_REL) MnuIndex = MNU_TIME;
      if(msg == KEY_LONG)
      {
        Display->Diameter(0, TDisplay::D_CAL);
        Display->Blink(TDisplay::BLINK);
        Count->CalibStart(CAL_RUN);
      }
    }
    
    //----------------------------------------------------------------------------
    //---------------------------- Класс TMenuItems: -----------------------------
    //----------------------------------------------------------------------------
    
    //----------------------------- Конструктор: ---------------------------------
    
    TMenuItems::TMenuItems(char max) : TList(max)
    {
      AddItem(new TMenuTime());
      AddItem(new TMenuLapTime());
      AddItem(new TMenuMetrage());
      AddItem(new TMenuSpeed());
      AddItem(new TMenuDiameter());
    }
    
    //---------------------- Переход в меню по индексу: --------------------------
    
    void TMenuItems::SelectMenu(uint8_t mnu)
    {
      SelectedMenu = Items[mnu];
      SelectedMenu->MnuIndex = mnu;
      SelectedMenu->Init();
    }
    
    //----------------------------------------------------------------------------
    //----------------------------------------------------------------------------
    //----------------------------------------------------------------------------
    [свернуть]
    Затеряется здесь

  18. #2757
    Завсегдатай Аватар для VladimirV
    Регистрация
    09.05.2018
    Адрес
    Voronezh
    Сообщений
    4,808

    По умолчанию Re: Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005

    Цитата Сообщение от Leoniv Посмотреть сообщение
    Если подать на ДБ-95 трехфазное переменное напряжение, он будет себя вести точно так же, как и любой другой синхронный двигатель с постоянными магнитами.
    Он будет крутиться. Но гораздо хуже, чем специально разработанные синхронные моторы, поскольку в их конструкции предусмотрены меры по снижению недостатков в части пусковых характеристик и фазового джиттера ротора. В ВУЗовском курсе "Электрические машины" это прекрасно изложено.
    У кабриолета и БелАЗа по четыре колеса, и оба едут по дороге. Но это разные машины.

  19. #2758
    Завсегдатай Аватар для Leoniv
    Регистрация
    20.04.2016
    Адрес
    Minsk
    Возраст
    21
    Сообщений
    5,588

    По умолчанию Re: Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005

    Цитата Сообщение от EDDiE Посмотреть сообщение
    Затеряется здесь
    Ну и ладно, это же всего один модуль, с него толку - ноль.

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

    Цитата Сообщение от VladimirV Посмотреть сообщение
    Он будет крутиться. Но гораздо хуже, чем специально разработанные синхронные моторы
    Сейчас большинство маломощных синхронных моторов сделаны примерно так же, как ДБ-95. И вращаются с использованием датчиков положения ротора. Можете набрать Permanent Magnet Synchronous Motor (синхронный двигатель с постоянными магнитами) и убедиться сами. Слово "синхронный" в названии у них фигурирует.

  20. #2759
    Старый знакомый Аватар для vasa1970
    Регистрация
    17.04.2010
    Адрес
    Крым Керчь
    Возраст
    60
    Сообщений
    749

    По умолчанию Re: Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005

    Цитата Сообщение от EDDiE Посмотреть сообщение
    Затеряется здесь
    Это- часть программы- объявление классов.
    Из заголовка видно что полная программа включает еще как минимум 4 модуля.

  21. #2760
    Завсегдатай Аватар для Leoniv
    Регистрация
    20.04.2016
    Адрес
    Minsk
    Возраст
    21
    Сообщений
    5,588

    По умолчанию Re: Электроника ТА1-003, Электроника-004, Олимп-003, Олимп-004, Олимп-005

    Цитата Сообщение от vasa1970 Посмотреть сообщение
    Это- часть программы- объявление классов.
    Из заголовка видно что полная программа включает еще как минимум 4 модуля.
    Не, объявления классов в hpp, а тут - реализация. Всего в программе 8 модулей и еще один шаблонный класс в отдельном hpp.

    ---------- Сообщение добавлено 22.09.2018 в 00:41 ---------- Предыдущее сообщение было 21.09.2018 в 22:37 ----------

    Написал про свои опыты с боковыми двигателями: http://www.leoniv.diod.club/projects...e-004_mot.html

Страница 138 из 1106 Первая ... 128136137138139140148 ... Последняя

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

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

Ваши права

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