Описание и история сборки второго (экспериментального-универсального)
  работающего экземпляра частотника. (статья в процессе написания)

После разработки/пайки/сборки и успешной работы более года первого экземпляра частотника в сверлильном станке - неспешно хотелось спаять второй, но не было внешнего толчка/внешней мотивации. Всякие собственные нужды (конденсаторный 2Ф тельфер 700 Вт, трёхфазный насос 4.5 КВт, конденсаторный 2Ф мотор вытяжки 200 Вт или около того (замена штатной ступенчатой регулировки оборотов), интеграция конденсаторного мотора 1.1 КВт от насоса Джилекс в настольную циркулярку вместо сгоревшего коллекторника с форсированием, конденсаторный 2Ф компрессор 2.2 КВт) - не достаточно мотивировали брать в руки паяльник.
За время ожидания - с любопытством мониторил цену Алиэкспресс на дорогие детали частотников - силовые модули, конденсаторы большой ёмкости и процессоры 18F4431, энкодеры и экраны. Оказалось возможным купить 30А силовой модуль IRAM136-3063B за 622 рубля или 861 рубль или аналог 30А модуля за 256 руб/шт.
Внешний осмотр и сравнение измерений параметров купленных на Алиэкспресс 30А модулей (получил в ноябре 2018) за 256 и 622 рубля - показало что весьма вероятно модули по 622 рубля - это перемаркированные модули за 256 рублей. Измерения включали в себя - падение напряжение на всех диодах и шунтирующие питание ёмкости внутри модуля. Измерить сопротивление токоизмерительного шунта не удалось - внутри модуля (в том числе оригинальных IRAM136-3023 и IRAMX20UP60 на фото) есть искажающие измерения сопротивления. Однако величина этих сопротивлений оказалась похожей в оригинале и аналоге, что успокаивает и позволяет предполагать что собранный на 30А модуле за 256 рублей экземпляр №2А будет работать как на оригинальном IRAM136-3063B за $45 в digikey.com или за 2к5 руб. в Чип & Дип. Процессоры Pic18F4431 в дип корпусе можно купить например по 292 рубля, процессоры Pic18F2431 по 163 рубля, экраны по 200-300 рублей, енкодеры по 20-50 рублей, конденсатор 6м8 450 вольт за 2к4 рубля или парочку 1000 мкф 450 вольт за 225 рублей/шт. Пользователь YouTube подсказал ветку форума где люди проектируют частотник для асинхронного двигателя, обсуждают возникающие вопросы.

После сборки экземпляра №1 случайно были замечены и куплены 3 штуки оригинальных модуля с внутренними шунтами IRAMY20UP60B и десяток PIC18F2431 с десятком LCD 20х4 на барахолке DirectLot. 100 Вт паяльник был откован, заправлен и облужен - весь монтаж №1 и №2 частотников был произведён именно этим паяльником. Для регулировки мощности паяльника/грубой регулировки температуры жала - использован готовый тиристорный регулятор для ламп накаливания за ~500 руб. Припой с флюсом использован 0.75 мм и 2 мм.

  "Надо частотник, китаец HY02D223B заглючил"

- сказал внезапно хороший давний знакомый в начале сентября 2018 года, и лично я не смог ему отказать.
Китаец после пары годов работы на ЧПУ станке со шпинделем 400 Гц 2.2 КВт начал останавливаться с ошибкой "сверхток/перегрузка, коды ошибки E.oL.n и E.oC.n". Для поиска неисправности китайца запитали от электромеханического стабилизатора и удвоили конденсаторы DC шины, но эти меры не имели результата - ошибка возникала после нескольких десятков минут/единиц часов работы. Вторым шагом поиска неисправности китаец был заменён на временно снятый экземпляр №1 (начальное смещение и усиление прямой зависимости U/F для 400 Гц шпинделя спешно подредактировал из меню) и оставлен на ночь пилить деревяху - опыт прошёл успешно, замена частотника решила проблему - проблема была не в шпинделе а в частотнике. За это китаец был разобран для фото внутренностей.

  "Устройство должно работать не в принципе, а в корпусе".

Заранее было понятно что большое количество деревянной пыли вокруг ЧПУ станка потребует полугерметичный корпус частотника без активной вентиляции внутри корпуса. Для этого пригодились давно ждущие применения радиаторы ~ 115x150х30 мм с металлолома, концепт алюминиевого корпуса с задней стенкой-радиатором давно зрел и ждал воплощения.
Высота алюминиевой стенки, приваренной к радиатору по контуру (глубина коробки корпуса) - 62 мм, примерно 5 мм запаса до платы дежурного БП - самой высокой детали под бутербродом лицевой панели. Расстояние от лицевой до изолирущей панели - 13-14 мм, экран почти упирается в оргстекло, кнопы почти заподлицо с верхней поверхностью.
Благодаря уменьшению количества выводов проца до 28 - удалось уместить плату управления на 1/4 макетной платы 100х220 мм за 500 рублей в ЧипДипе с лужёными отверстиями. На свободном ОУ в LM324 реализовано отключение вентилятора обдува от величины напряжения на термисторе силового модуля. Принудительный обдув радиатора вентилятором 120х120 мм за задней стенкой - не заносит пыль внутрь корпуса. Теплообмен внутренностей - через теплопроводность алюминиевых стенок.
Первым этапом прожектирования - разместил большие и тепловыделяющие силовые компоненты внутри выбранного корпуса (силовой модуль с теплораспределяющей пластиной, накопители шины, диодный мост, силовые транзисторы ограничения напряжения на шине.)
Удалось обойтись без токарных деталей через использование кнопок 20 мм высотой и большой пластик ручки переменного резистора.
Вентилятор и клемная коробка традиционно за пределами корпуса. Для будущих применений в аналогичных конструкциях был куплен радиаторный профиль АП-3 122х46 13 рёбер 1300 руб/метр розница.

  Особенности применения 28 ног Pic18F2431 и модуля с токоизмерительным шунтом IRAMY20UP60 или IRAM136-3063B или STK621-061

Уменьшение количества доступных ног в Pic18F2431 на 12 штук - заставило задействовать практически все известные мне способы экономии ног. При этом запаса ног - нет, любые новые потребности (например управление внешним реле) заставят отказаться от чего-либо (датчики 1W или динамик проще всего отключить). 2431 имеет лишь 4 канала АЦП, израсходованных на измерение тока/напряжения/температуры/внешнего задатчика. Частота предоставления данных АЦП вдвое быстрее. Прога обработки накопителей АЦП написана в файле ADC_Step.inc.
03/01/2019 поменял местами назначение выводов AN0 и AN1 в строке ~9:
 bra Step_1	; Начиная с экземпляра №2А 
 bra Step_0	; Поменял термистор и переменник  
 ;Удобнее паять RC цепь для НЕ перегрузки выхода управления реле

2 AN0 Термистор IRAM вход 0-5 вольт
      управление реле зарядки конденсаторов через компаратор
	Обрабатывается в строках ~126~158 
3 AN1 Термистор/оптрон дополнительный темп мотора/Регулировка переменник 
	Обрабатывается в строках ~81~125
 4 AN2 Напряжение шины постоянки 500 вольт/100
	Обрабатывается в строках ~160~193 
5 AN3 Общий ток шины от шунта внутри IRAM * ~10 раз
	Обрабатывается в строках ~194~216
7 AVDD = питание +5 вольт аналоговых цепей 2431
8 AVSS = аналоговая земля 2431
Стандартное присоединение ICSP разъёма:
1  RE3 = 1 ICSP VPP = Только вход (вход опторазвязки от внешнего устройства) = MCLR = 10K <| +5 вольт
20 VDD = 2 ICSP +5V = Питание +5 вольт цифровых цепей 2431
19 VSS = 3 ICSP 0V  = Цифровая земля 2431
28 RB7 = 4 ICSP PGD = выход опторазвязки на внеш.  устройство 	либо разряд 7-LED
27 RB6 = 5 ICSP PGC = 3к3 = Синий светодиод <| +5 вольт		либо разряд 7-LED
6 Выходов PCPWM для управления 6 шт ключей с вставками защитного интервала времени 1-3 мкСек, расположены на разъёме для удобства пайки:
21 PWM #0 = 39R = LIN1 = 16 IRAMY20UP60A 
22 PWM #1 = 39R = HIN1 = 13 IRAMY20UP60A 
23 PWM #2 = 39R = LIN2 = 17 IRAMY20UP60A 
24 PWM #3 = 39R = HIN2 = 14 IRAMY20UP60A
25 PWM #5 = 39R = HIN3 = 15 IRAMY20UP60A  ; Почему-то микрочип поменял выходы
26 PWM #4 = 39R = LIN3 = 18 IRAMY20UP60A  ; местами, и это не опечатка - проверено. 
Единственный доступный PortC - пришлось выделить для обмена с LCD/кнопами/енкодером взамен PortD у 18F4431 с потерей CCP/USART/SPI.

Тетрада шины обмена с ЛЦД/Клавой/енкодером, подтянута через индивидуальные 9-12 КОм на +2.5 ~ 2.7 вольта: (диапазон рабочих напряжений смещения шины кнопок на x431 ~ 2.0-3.2 вольта)
11 RC0 = 11 LCD_4 	Допустимый	= 9К1 = +2.7V - от дополнительного
12 RC1 = 12 LCD_5 	выходной	= 9К1 = +2.7V - делителя 330 Ом + 360 Ом
13 RC2 = 13 LCD_6 	ток HD44780	= 9К1 = +2.7V - и шунтирующего конденсатора
14 RC3 = 14 LCD_7 	IOL = 1.2 mA 	= 9К1 = +2.7V - керамика 10 мкФ.
и параллельно шине LCD к ногам 2431 припаяны выходы от строк кнопок/енкодера:
11 RC0 = | = 3K6 =ЕнкВых+кнопы	Резистор
12 RC1 = | = 3K6 =Кнопы		последовательно
13 RC2 = | = 3K6 =ЕнкВых+кнопы	индивидуально
14 RC3 = | = 3K6 =Кнопы		к каждой кнопе
Управление ЛЦД/клавой/енкодером:
Как видно из Define_LCD_Key_Enc.inc строка ~41:
 #define LCD_RS	 		LCD_Key_Lat,5,ACCESS; 04 вывод LCD
 #define LCD_RW	 		LCD_Key_Lat,4,ACCESS; 05 вывод LCD
 #define LCD_E	 		LATA,4,ACCESS;        06 вывод LCD

16 RC5 = 04 LCD_Register Select  = K51 = Кнопы 1 строка = енкодер  вход
15 RC4 = 05 LCD_Read / Write     = K51 = Кнопы 2 строка 
 6 RA4 = 06 LCD_Enable  Выбор LCD модуля на 4 бит шине 

Выводы 15 и 16 подтянуты к +2.7 вольта на фото платы для попытки реализации клавы/енкодера в конфигурации 1 строка х 6 кнопок, удобных для присоединения 7-LED индикатора вместо LCD 20x4.
Выходы TX/RX USART - легкоперемещаемые нагрузки для возможности будущего использования:
17 RC6 ( TX USART ) = Динамик 50 Ом - конденсатор 10 мкф >| земля
18 RC7 ( RX USART ) = 43 Ом = внешние 1Ware датчики температур
Как видно из  Main_3F.asm строка ~25:  CONFIG	OSC = ECIO	;Ext 48 MHz
09 RA7 = вход тактовой частоты 40-50 МГц от внешнего генератора
Как видно из  Define_Main.inc строка ~5^ #define LED0_Pin  6
10 RA6 = 3к3 = Белый отладочный светодиод временно <| +5 вольт
Дорогой внешний активный генератор (например 180 руб. Чип & Дип) можно заменить на более дешёвый пассивный резонатор (например 100 шт. за 320 руб. ) с потерей ноги 10 RA6. Разница в цене 2431 и 4431 на Алиекспресс - почти равна стоимости активного помехозащищённого генератора - например 20 шт. за 945 руб.
   С точки зрения радиолюбителя с ограниченными ресурсами/инструментарием/номенклатурой деталей - стоимость готового генератора выглядит вполне соразмерной платой за надёжность запуска генератора тактовой частоты мелкопроца, без необходимости подбора шунтирующих пассивный резонатор конденсаторов в единицы пикофарад. Для экономии - вполне можно искать генераторы 40-50 МГц в металлоломе.
   В случае применения пассивного резонатора - его металлический корпус надо припаять к аналоговой земле.

Компоновка опять подразумевала, что этажерка лицевой панели связана с силовым модулем межблочным кабелем.
После успешной реализации соединительного кабеля длинной 25 см в частотнике №1 - захотелось попробовать увеличить длинну до 40 см - по причине возможной компоновки с поворотной лицевой панелью. Увеличенная длинна кабеля оказалась удобной при испытаниях частотника. Анализируя опыт частотника №1 - соединение кабеля и силового модуля - пайка, на силовом модуле припаяны резисторы подтяжки к лог. 1, по этой причине при НЕ подключении межблочного кабеля на входах управления будет ~ 3.3 - 5 вольт, все силовые ключи IRAM разомкнуты. На плате управления - единственный 2 ряда 20 контактов разъём.
Резисторы согласования выходного сопротивления 2431 с сопротивлением витой пары - уменьшены с 200 до 39 Ом. Выход токового шунта IRAM соединён с витой парой через согласующий резистор 120 Ом.
Контакты разъёма кабеля расположены так - что-бы при перевороте разъёма полярность питания +15 вольт на лицевую панель сохранялась. 12 вольт силовые выводы привода вентилятора и реле зарядки тоже должны попадать в безопасные места схемы - например на вход ОУ и вход напряжения. При пробных сборках это пригодилось - случайное переворачивание разъёма приводит к сработке защит и писку динамика без выхода из строя компонент частотника.

  Блок питания собственных нужд 16 вольт.

Вместо самостоятельного изготовления - распилил корпус фабричного 12 вольт Б/У адаптера 12 вольт 1.5 ампера. Для увеличения выходного напряжения до 16 вольт в цепи ОС был заменён резистор делителя. Для улучшения стабильности выходного напряжения - были добавлены керамические конденсаторы. Для будущей конструкции был куплен на пробу готовый 15V 2A за 206 руб., использован при контрольной сборке экземпляра №2А.

  Датчики температуры DS1820, протокол 1-Wire.

   Для измерения и контроля температуры шаговых моторов и шпинделя с аварийной остановкой или паузой программы Mach3 по сигналу от частотника - заманчиво использовать готовую и отлаженную подсистему опроса датчиков DS18B20.
   Однако достаточно надёжная/влагозащищённая пайка шлейфа длинной несколько метров с 5-7 датчиками на концах с учётом электробезопасности (земля датчиков ~160 вольт от земли станка) - затянулась. Разъём подключения шлейфа с датчиками - выведен наружу и законсервирован до пайки/готовности шлейфа. На собранном мозге экземпляра №2А управление светодиодами на выводах 28=RB7 и 27=RB6 происходит успешно.

  Интерфейс пользователя.

Задачей создания частотника №2 было питание 3Ф 400 Гц 2.2 КВт шпинделя фрезерного станка с ЧПУ с регулировкой оборотов 250-450 Гц. Реверс в этом применении - вреден (фрезы только одного вращения). Для принудительной блокировки реверса введена опция компиляции. Кнопа "Реверс" при этом меняет задатчик оборотов с енкодера на переменник с индикацией белым СД.

  Контрольная сборка экземпляра №2А.

По причине цейтнота - сборка экземпляра №2 не всегда сопровождалась фото и протоколом действий. Для восполнения пробела и для создания запасного частотника с целью продолжения отладки/шлифованимя - собирается экземпляр №2А. При финальной сборке №2 - обрисовал изолирующую пластину и лицевую панель для облегчения повторения. Перед сборкой №2А - заранее выпилил изолирующую панель, отпилил кусок макетки равного размера, просверлил отверстия под винты М2.5 крепления экрана и отверстия крепления макетки к изолирующей панели. После выравнивания и закрепления макетки и экрана на изолирующей панели - припаял разъём между макетом и экраном. В отличие от экземпляра №2 - гнездо разъёма расположено на макетке - отдельные пины удалять из штекера легче чем из гнезда. В будущем возможно присоединение 7-LED индикатора вместо LCD экрана в этот же разъём - с этой целью гнездо запаяно с небольшим запасом контактов, к 8 контактам разъёма припаяны резисторы ограничения тока через 7-LED индикатор.

  Расположение корпусов ИС, пайка SMD деталей.

Глядя на фото №2 - запаял габаритные детали примерно в те же места что и в №2. Корпуса ИС впаял без панелей для надёжности. Сместил на 1 ряд отверстий вторичный стабилизатор +5 вольт - теперь он равноотстоящий между кнопами. Добавил 4 кнопу на всякий случай. Задним числом понимаю что корпус ОУ можно было сдвинуть на 1 ряд к разъёму энкодера. Pic18 тоже можно было сдвинуть на 1 ряд к разъёму ICSP. В образовавшееся место должен поместится динамик. В такой конфигурации платы - можно подключать ICSP коннектор для прошивки мелкопроца. Подав питание - обнаружил недочёт - 4 вывод активного генератора не подключён никуда. А на нём может быть Enable для генератора, который бывает и прямой и обратной полярности.

  Динамик, питание, первое включение.

Исправил недочёт с 4 ногой генератора - припаял резистор 120R к ближайшей аналоговой земле. После размещения компонент, припаивания всех проводов питания и коротких проводников - припаял динамик и подал питание - мелкопроц при инициализации либо видит непотребные уровни на АЦП и издаёт длинный звук ~ 500 Гц аварийного останова либо короткий пик автостарта. Такой звук - означает что тактовая частота штатная ~40-50 МГц и что мелкопроц пытается выполнять прогу частотника. При отсутствии внешней тактовой - проц запустится от внутреннего генератора 8 МГц и не сможет успеть выполнить критичные участки кода - и будет перезапускаться каждые ~4 мСек сторожевым таймером с выдачей прерывистого звука ~100 Гц на динамик до появления тактовой ~40-50 МГц.

  Первая кнопа, энкодер.

Пайка 5 проводов для работоспособности первой кнопы и энкодера - для удобства подписаны номера ног мелкопроца. Если всё правильно - то при подаче питания будет работать звуковое подтверждение нажатия кнопы и вращения энкодера. Без встроенной в LCD экран подтяжки шины данных к +5 вольтам - вращение энкодера будет реагировать не на каждый щелчок.
   К ногам №1 и 2 ОУ припаяны резисторы делителя усиления ОУ сигнала с токового шунта, обведены красным эллипсом. Вместо сделанного в №2 КУ 10 - впаян резистор 4К3 дающий КУ ~13. Резистор заменю позже на 3К3 - заужение диапазона измерения тока мелкопроцом - принесёт больше вреда чем пользы.

  LCD экран.

Кроме питания - для работы LCD надо 4 провода шины, 3 провода управления и 1 провод регулировки контрастности. Для экономии 1 пина разъёма - провод регулировки контрастности распаян на самом LCD в виде резисторного делителя 12К + 1К0 для получения напряжения контрастности около +0,8 вольт, требуемого конкретному экземпляру LCD экрана.
   Без управления при подаче питания LCD экран делает 2 строки полностью чёрными и 2 строки полностью белыми для возможности регулировки контрастности.
   Так случилось, что для 4 проводов шины LCD и провода Enable - номера контактов разъёма LCD совпадают с номерами ног мелкопроца. Сигналы Направление и Адрес с контактов 4 и 5 припаяны к ногам 16 и 15 соответственно. После присоединения LCD - энкодер и кнопа заработали без тормозов, экран отображает информацию в соответствии с программой частотника.
   Если конкретный экземпляр LCD экрана не содержит кирилики - то программу для прошивки надо компилировать без опции в строке ~3 файла Define_LCD_Key_Enc.inc:
   #define CyrTable Yes ; Таблица и код подмены кирилики из Win1251 в HD44780

  Гнездо переменного резистора

Припаяно гнездо подключения переменного резистора с блокировочными конденсаторами. Припаяны пины для удобства временного подключения осциллографа к выходам ШИМ.
   На этом этапе - макет от паяльника переместился к компьютеру и осциллографу для отладки/шлифовки программы частотника с попыткой увеличения разрядности вычислений амплитуды и угла синусоиды с 8 до 12 бит. После сборки силовой части с кабелем подключения мозга - пайка мозга частотника будет продолжена.

  Завершение пайки №2А

Немного увлёкся программированием, допаивал в спешке, без протоколирования - опять есть не раскрытые детально на фото моменты, например распределение контактов разъёма к силовому модулю. Добавился импульсный стабилизатор тока подсветки LCD экрана. Смывка остатков флюса смесью ацетона/спирта/бензина 1:1:1 разрушила 2 из 4 китайских кнопок - то ли механически то ли химически. Пластик динамика тоже не перенёс такой смеси, цветовая маркировка некоторых резисторов - тоже смылась. При пайке №2Б кнопы и динамик надо впаивать после смывки флюса.

  Тестирование №2А

Первое применение №2А - сварочный вращатель на базе мотор-редуктора 1.5 КВт 72 об/мин от 50 Гц. Требуемая скорость перемещения детали ~1 см/сек была достигнута на ~3 Гц. Обмотки мотора соединены звездой, максимальная частота синтезатора ~30 Гц (индекс макс скорости = 4). Сварка велась полуавтоматом на задатчике скорости ~0x20=.32. Обнаружилось защёлкивание датчиков 1-Ware от осциллятора TIG сварки. Фазный ток примерно номинальный, нагрев мотора за 5 минут кольцевого шва на ~30-40 цельсиев без дополнительного обдува. Термистор силового модуля нагревался примерно на 10 градусов, частота ШИМ минимальная = 1.5 КГц. Вторая программа управления с толчковыми кнопами оказалась вполне удобной для работы в качестве сварочного вращателя.
   После сборки мотора 4 КВт 4 полюса со шкивом (измеренный полный момент инерции вращающихся частей ~0.14 Кг*М^2, вычисления Parameters_PSW_12b.xls:МИ) - попробовал покрутить более мощный мотор с маховиком. При попытке увеличить ускорение старт/стопов до сработки защиты (сверх ток или сверх напруга или сверх температура) - примерно через минуту раздался взрыв внутри частотника, сработали защитные автоматы питания.

  Взрыв керамического конденсатора в №2А

Вскрытие показало что взорвался керамический конденсатор на DC шине 320-450 вольт при торможении. Конденсатор был взят Б/У с металлолома, маркировки не имел, по удельной к объёму ёмкости и цвету расположению в схеме источника питания - было сделано предположение об рабочем напряжении 400-600 вольт. Кроме конденсатора - оборвалась ближайшая к конденсатору силовая стойка. На силовом модуле появилась трещина. ОУ токового шунта (впаянный без панельки) - не перенёс броска тока на шунте при разряде силовых конденсаторов на дугу взорвавшегося керамического конденсатора. Остальные детали вроде бы перенесли бросок тока и дугу внутри корпуса частотника - окончательный ответ будет известен по окончании ремонта и запуску.
   Взорвавшийся керамический конденсатор заменён на новый с алиэкспресс номиналом 1 мкФ х 650 вольт - время покажет как работают китайские вольты. Параллельно установлю плёночный 0.8 мкФ х 630 вольт около силового модуля.

  Ремонт и изменение схемы №2А

По причине необходимости выпаять из макетки ОУ - решил усовершенствовать схему, вместо 1 шт. счетверённого ОУ использовать 2 шт. сдвоенных для борьбы с наводками на усилитель тока от тока питания светодиодов и возможности использовать разные ОУ - для усилителя тока возможно инструментальный с низким дрейфом, для управления реле и вентилятором - дешёвый общего назначения. Для улучшения измерителя тока - добавил резисторы смещения нуля на входе ОУ и 1 КОм подстроечник регулировки, добавил делитель 1/2 на выходе ОУ, удвоил усиление. Программное вычитание смещения выхода ОУ из накопителя АЦП реализую в ближайшее время.
   Разборка частотника и замена силового модуля заняли существенно больше планируемых пары часов работы - сказывается плотность монтажа и отсутствие навыка. Перепайка панели ОУ с перекомпоновкой элементов даёт надежду более быстрой замены ОУ. Для дополнительной защиты выходов ШИМ - возможно добавить резисторы и диоды в месте соединения шлейфа и силового модуля - пока не реализовано.