Привет, парни!

 Выкладываю весь имеющийся материал по намоточному станку.  Это вторая версия станка. Первая отработала 10 лет без нареканий и вот что-то захотелось улучшить. А именно, заменить двигатели и немного переписать софт. На укладчике остается шаговый двигатель, но теперь уже не китайский хлам, а приличный пятифазный японский мотор от Oriental Motor серия AR. На привод катушки установлен серво мотор Panasonic Minas A5 мощностью 200Вт и номинальным крутящим моментом в 0,64Н.м (максимальный момент 1,92Н.м). Все это дело через редуктор 4 к 1, пара зубчатых колес с кол-вом зубьев 100/25 и зубчатый ремень шириной 15мм (HDT 3M).  Такой модернизацией я ушел от лишних шумов, а шумело довольно прилично по причине вращения катушки шаговым мотором через пару металлических шестерен с редукцией примерно 3 к 1.

 Несколько слов по моему пониманию организации намотки. Нужно качественно и удобно уметь мотать один слой и считать эти слои. Все остальное сильно вторично. Что касается самой механики, то должно быть удобно устанавливать/снимать катушки, переворачивать их и иметь к катушке максимальный доступ. То-есть катушка должна находится максимально близко от оператора, узел укладки за катушкой, но никак не перед ней. Сама бабка с органами управления может быть или слева или справа, как кому удобней. Мне удобней справа. Ручное управление укладчиком и катушкой, например для начального выставления положений, только через энкодер (MPG), как в пультах станков с ЧПУ. Остальные варианты, типа кнопок, сильно не удобно, но речь не идет о промышленном оборудовании, в котором программу намотки пишет и тестирует специальный человек, а оператор только заряжает проволоку, изоляцию и т.д. Как вводить данные? Понятно, что самый удобный вариант — это цифровая клавиатура, что и реализовано. Еще очень важный орган управления — это регулятор оборотов катушки. Реализован при помощи потенциометра. Так же имеет функцию – полный стоп. Для этого его достаточно вывернуть в крайнее минимальное положение.

 Опишу логику работы софта. Индикация реализована через LCD 20x4. Меню одноуровневое. Клавиатура 4х4, реализовано длинное и короткое нажатие кнопок. Ввод диаметра провода до второго знака после запятой (1,23мм, максимально 9,99мм). Ввод ширины намотки до первого знака, максимальное значение 999,9мм. Винт укладчика с шагом 5мм на оборот. Шаговый двигатель укладчика 5000 импульсов на оборот, что позволяет реализовать простые, до 0,001мм, вычисления без погрешности. Получается 1000 импульсов на 1мм, что дает 1/1000=0,001мм на один шаг. За один оборот катушки укладчик делает 10 сдвигов на 1/10 диаметра провода. Например: провод диаметром 1,23мм будет укладываться в десять движений по 1,23*1000/10=123 импульса.  На валу катушки установлен инкрементальный энкодер 100p/r. Каждым импульсом вызывается обработчик внешнего прерывания, в котором считаются витки и по каждому десятому импульсу вызывается функция step() для посылки на укладчик пачки импульсов в кол-ве 1/10 от общего. По каждому сотому импульсу прибавляется или убавляется кол-во витков.  Кол-во витков в слое рассчитывается как ширина намотки, деленная на диаметр провода и округляется в меньшую сторону. Тут возникает погрешность, которая может учитываться в конце каждого слоя. По умолчанию опция выключена. Каретка укладчика ездит по ширине намотки, которая посчитана исходя из кол-ва витков.  Попутно реализована функция возврата каретки в начальное положение и обратно. Удобно, если мотаются слои от одной щеки. Если нужно, то компенсацию погрешности можно включить с клавиатуры, тогда возврат каретки будет происходить на посчитанную ширину намотки плюс погрешность, то есть на введенное значение ширины намотки. В итоге получается, что с клавиатуры мы вводим только ширину намотки и шаг намотки (диаметр провода). Так как намотка — это все же не точное нарезание резьбы на токарном и первый виток дает заполнение слоя в ширину не на один диаметр, а на два, плюс еще есть варианты намотки с отступом и без, то варьируя эти два параметра можно подобрать желаемое.

Описание короткого нажатия кнопок:

«А» - при нажатии сбрасывается в ноль предыдущее значение диаметра (шага) провода.  Вводим новое значение с цифровой клавиатуры таким образом: для ввода 1,23мм так и нажимаем 123. Для 0,23мм вводим 023. Для 0,05мм вводим 005.

«B» - при нажатии сбрасывается предыдущее значение ширины намотки в ноль.  Вводим новое значение с цифровой клавиатуры таким образом: для ввода 123мм так и нажимаем 123. Для ввода 123,4мм  нажимаем 1234. Для 12,3мм вводим 0123. Для 1,2мм вводим 0012. Для 0,2мм – 0002.

«С» - кнопка старт/стоп (пауза) двигателя привода катушки. Активно только если введены значения диаметра провода и ширины намотки. Расчетное кол-во витков в слое больше нуля.

«D» - изменения направления движения каретки укладчика. На дисплее индикация стрелочками.

«*» - выбор катушки или укладчика для ручного управления посредством энкодера MPG.

«#» - сброс кол-ва намотанных витков в слое. После завершения намотки слоя, если не сбросить счетчик, будет запрещено включить привод катушки (кнопка «С») При сбросе счетчика обнуляется переменная «cont». Это значит, что при сбросе запоминается положение вала катушки, с которого будет начинаться отсчет числа полных оборотов. Удобно, если мотать нужно с двух сторон каркаса.

Описание длинного нажатия кнопок:

«А» - включение режима Non Stop. При активации режима на дисплее появляется буква «N». В этом режиме происходит намотка в автоматическом режиме. При завершении слоя, счетчик витков слоя сбрасывается, каретка меняет направление движения. Станок останавливается только вручную, например по достижению значения общего счетчика витков до желаемого или по заполнению проводом каркаса катушки.

«B» - включение компенсации погрешности в конце каждого слоя. При активации режима на дисплее появляется буква «P».

«С» - выключение сигнала «Servo-On» привода катушки. Индикация «S». Активно при нулевом значении диаметра провода или ширины намотки. Режим нужен для ручного (за вал) вращения каркаса катушки. Необходимость режима спорная, но пусть будет.

«D» - возвращает каретку в начальное положение после намотки слоя. Так как расчет расстояния ведется исходя из ширины намотки, то возвращаться каретка в начало намотки будет только после окончания намотки слоя и учета погрешности. Учет погрешности по умолчанию отключен.

«0» -  Режим высокой скорости привода вала катушки. Индикация «Н» на дисплее. В режиме низкой скорости максимальные обороты катушки 7,5об.сек, в высоком 15об.сек (450 или 900 в минуту).

«1» - включение/выключение режима замедления в начале и конце слоя в Non Stop режиме и только замедление в конце слоя для авторежима. Индикация «А» на дисплее при деактивации режима. В коде программы переменная «acc». Указывается как кол-во витков в начале и конце слоя, которые будут мотаться с уменьшенной скоростью. Значение переменной так же зависит от введенного диаметра провода. В основном коде программы все это можно изменить под себя.  Во сколько раз уменьшать скорость можно установить в коде генератора, который выполнен на дополнительной плате Arduino Nano. Там же можно выставить скоростные режимы и режимы разгона/торможения вала катушки.

«*» - включает режим реверса. Опция для обратной смотки провода. Индикация «R». При ненулевых значениях шага и ширины, запускается нажатием «С». Желательно потенциометр регулировки скорости перед этим установить в минимальное положение и смотку осуществлять при помощи него.   

Небольшой пример выполнения работы по намотке слоя:

 Нажимаем «А» и вводим диаметр/шаг намотки. Далее нажимаем «В» и вводим ширину намотки. Нажимаем «*» для выбора режима управления укладчиком или катушкой (Ukl / Kat). При помощи MPG энкодера подгоняем каретку к нужной нам щеке, к началу намотки. Переключаем ручной режим управления «*» на управление катушкой (индикация «Kat») и устанавливаем катушку в начальное положение. Нажимаем «#» для сброса переменной «cont» и запоминания положения катушки для отсчета полных витков.  Дальше есть два варианта. Первый, можем вручную крутить MPG и смотреть как укладываются первые, начальные витки слоя, попутно корректируя положение каретки укладчика.  Второй, можно сразу запустить двигатель привода катушки нажав «С» и посредством регулировки скорости вращения потенциометром укладывать первые витки.  Можно даже сделать так, скрутить потенциометр в ноль, нажать «С» и вращением потенциометра управлять стартом вращения с самых малых оборотов. После завершения намотки слоя, (кол-во намотанных витков равно расчетному), в случае если намотка производилась посредством включения двигателя привода, произойдет его автоматическая остановка и автоматически изменится направление движения укладчика на обратное.  В случае с ручным приводом, нужно следить за витками. Все остальное точно так же, как и с двигателем. Если нужно продолжить намотку следующего слоя от той же щеки, то нажимаем длинно «D», каретка вернется в начальное положение. Дальше посредством MPG или меняем положение катушки или нет. Самое последнее действие это сброс витков в слое «#» коротким нажатием. Или длинным, сбросятся все значения, текущих витков в слое, общих/всех намотанных витков и кол-ва слоев.

 Немного технических деталей реализации. Так, как я и писал ранее, при 1000 импульсах на 1 миллиметр укладчика все считается очень хорошо, но остался момент, а как оно все успеет? Напишу сразу, что даже на высокой скорости (15 об/сек) укладчик успевает до диаметра 1,5мм, что есть с большим запасом и уже выходит за рамки разумного. А успевает укладчик отработать пачку импульсов величиной в 1/10 от необходимой на один шаг, в интервале 3,6 градуса оборота катушки. То есть во временном интервале между двумя соседними импульсами энкодера вала катушки, который, напомню 100p/r. Вся обработка укладывается всего в один вызов функции step() по прерыванию.

Циферки такие:

 Интервал между двумя соседними импульсами энкодера при 15 об/сек  - 1/(15*100) = 667мкс. Время выполнения одного такта для укладчика примерно 4,5мкс. В коде это две задержки по 2мкс плюс какое-то время для выполнения, около 0,5мкс. Считаем для диаметра провода 1мм. 1/10 пачка равна 100 импульсам. 100*4,5 = 450мкс, что с запасом укладывается в интервал 667мкс.  Если мотор укладчика не позволяет так быстро с ним работать, то можно применить энкодер 50p/r что в два раза снизит требования, ну или изготовить самому диск энкодера на 10 положений, что даст увеличение времени в 10 раз. В реальности, вряд ли все это понадобится, так как толстый провод нет необходимости мотать быстро, а на тонкий провод пачка импульсов короткая. В архиве есть excel файлик с табличкой расчета интервалов.

 

 

 Пару слов о генераторе. Выполнен он на отдельном микроконтроллере Arduino Nano. Наверняка, все можно было бы реализовать и на основном микроконтроллере, но мне так проще, я не программист. Да и по цене эти платки почти ничего не стоят. Основной принцип генератора – делать все плавно, кроме экстренного останова. При повороте потенциометра в начальное, минимальное положение, происходит резкий стоп вращения.  Даже когда происходит регулировка оборотов при помощи потенциометра, обороты меняются плавно. Так же в генераторе реализовано два режима скорости 450 и 900об.минуту и режимы для замедления вращения катушки в начале и конце слоя.

 Например, просто в авторежиме, замедление вращения происходит за несколько витков до конца завершения намотки слоя. Кол-во витков зависит от диаметра провода и выбранного скоростного режима. В Non Stop режиме замедление и в начале, и в конце слоя. Режим включен по умолчанию, но его можно деактивировать с клавиатуры.

  

Скачать архив

ws-amp.eu