Страница 1 из 2

Требуется написание программы управления намоточным станком

Добавлено: 18 сен 2018, 05:08
donvictorio
Есть небольшой намоточный станочек для катушек, старенький, с резиновым вариатором. работает очень криво и мотать на нем хорошо не получается.
Хочу выкинуть всю "делительную-приводную" механику и на оси оправки и каретки повесить шаговые, которыми управляет ардуина или что-то подобное.
я в программировании не силён, поэтому за деньги.
напишите, сколько будет стоить и по срокам чокак.

альтернатива есть на схемнет http://cxem.net/arduino/arduino235.php? но оно пригодно к использованию только на макете автора.

тз на написание программы в спойлере.
ТЗ (для просмотра содержимого нажмите на ссылку)
станок намоточный, ТЗ
у станка есть 2 оси, каретка и шпиндель. на шпинделе закрепляется оправка, на которую мотается провод. через натяжитель, установленный на каретке, провод подаётся с бобины с проволокой на оправку (катушку). шаг каретки равен толщине провода.

электрическая часть станка состоит из 2х шаговых двигателей, сигналы управления step-dir.
2 концевых датчика (кнопки NO или NC)
регулятор скорости намотки в виде переменного резистора с х-кой А.
кнопок настройки автоматического режима намотки и ручного управления положением оправки и каретки.

главное меню:
1. ручное управление
2. автоматическая намотка
2.1 установка толщины провода >>00.00<< разрядность - 0.01 - 99.99, шаг 0.01
2.2 установка колва витков >>0000<< - разрядность 1
2.3 установка колва слоёв >>0000<< - разрядность 1
2.4 автореверс >>вкл<< (выкл)
2.5 старт намотки
3: настройки
3.1 ось A - колво импульсов на оборот 000000 - разрядность 1
3.2 ось Z - колво импульсов на оборот 000000 - разрядность 1
3.3 диапазон скоростей автонамотки имп/сек >>0000<< >>0000<<
3.4 диапазон скоростей ручного перемещения имп/сек >>0000<< >>0000<< время,c >>00<<

элементы индикации:
дисплей 16:2, i2c

элементы управления:
4. кнопки
4.1 выбор
4.2 назад
4.3 влево
4.4 вправо
4.5 вверх
4.6 вниз

5. переменный резистор для установки скорости намотки


логика работы устройства:

в начале работы оператор устанавливает оправку, на которую наматывается провод, закрепляет провод на оправке.

Ручное управление:
для ручного позиционирования каретки в начало оправки, в главном меню, конопками вверх-вниз (4.5, 4.6) выбирает "ручное управление", нажимает кнопку старт (4.1) входит в меню ручного управления, на дисплее отображается:

Ручное управление
◄КАРЕТКА► ▲ОПРАВКА▼

стрелки появляются при нажатии кнопок, отображая направление перемещения или вращения. при достижении кареткой одного из концевиков (оба спараллелены) символы меняются на ■. для оправки (ось А) концевиков нет и нет ограничений на длительность вращения.

кнопками влево-вправо (4.3, 4.4) оператор подгоняет каретку с проводом к началу оправки, а кнопками вверх-вниз (4.5, 4.6) вращает оправку на оси. при этом скорость подачи импульсов на двигатели не зависит от положения переменного резистора скорости намотки, а плавно возрастает в зависимости от длительности нажатия на кнопку перемещения. Диапазон скоростей ручного позиционирования устанавливается в меню настроек. устанавливаются значения начальной скорости, конечной скорости и времени возрастания. если установить время равным нулю, плавное возрастание отключается и ручное позиционирование происходит с максимальной установленной скоростью. после окончания цикла ручного позиционирования оператор нажимает кнопку назад и попадает в главное меню, где кнопками вверх-вниз выбирает пункт "автоматическая намотка".


кнопками вверх-вниз выбирает необходимый пункт настройки, нажимает выбор, курсор перемещается в поле >>0000<< с индикацией первого разряда. кнопками влево-вправо и вверх-вниз, перемещаясь по разрядам, оператор устанавливает нужные значения, подобным образом, настроив все нужные значения выбирает пункт "старт намотки" и нажимает "выбор". с этого момента начинается вращение двигателей, скорость которых уже зависит от положения переменного резистора. диапазоны скоростей намотки (мин-макс) задаются в меню настроек.
на дисплее в этот момент отображается:
витков: 0000/0000 скорость ххх%
слоёв 0000/0000 намотка

в режиме автоматической намотки блокируются все элементы управления, кроме резистора установки скорости, кнопки "выбор" и кнопки "назад". при нажатии кнопки "выбор" в момент автонамотки процесс ставится на паузу. повторное нажатие кнопки "выбор" возобновляет процесс намотки. нажатие кнопки "назад" останавливает программу с выходом в меню "автоматическая намотка" с сохранением ранее введённых данных намотки. повторное нажатие кнопки "назад" сбрасывает настройки автонамотки, возвращая оператора в "главное меню"

первый слой провода мотается слева направо.
настройки станка сохраняются после выключения питания.

логика перемещения: импульсы на двигатели подаются одновременно, для непрерывной намотки и поддержания постоянного натяжения провода без рывков. при старте вращения оправки, картетка смещается относительно начального положения на толщину провода на один оборот оправки. чтобы намотка была равномерной, колво импульсов оправки делится на колво импульсов каретки (или наоборот, я хз). при достижении кареткой конца слоя, она возвращается (или ставит процесс на паузу, в зависимости от флага 2.4) на следующий слой, меняя направление движения.

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

Re: требуется написание программы для Ардуино

Добавлено: 19 сен 2018, 14:38
mrKirill
Напишите мне на почту microniks[point]74[sobaka]mail[point]ru

Re: требуется написание программы для Ардуино

Добавлено: 19 сен 2018, 14:49
R6MF49T2
Какой срок? Ардуина в качестве железа условие обязательное? Железо (платы, кнопки, дисплей, драйвера, двигатели) есть для отладки?

Re: требуется написание программы для Ардуино

Добавлено: 19 сен 2018, 15:44
MX_Master
donvictorio писал(а):Хочу выкинуть всю "делительную-приводную" механику и на оси оправки и каретки повесить шаговые, которыми управляет ардуина или что-то подобное.
А чё дешёвая Orange Pi с LinuxCNC не падёт? Размером оно также как дуинка. Двухстрочный дисплей по i2c не проблема подключить. Да и любой другой дисплей тоже (: Вместо переменного резистора - копеешный энкодер заюзать. Любые кнопки - не проблема.

Re: требуется написание программы для Ардуино

Добавлено: 19 сен 2018, 15:53
donvictorio
R6MF49T2 писал(а):Какой срок? Ардуина в качестве железа условие обязательное? Железо (платы, кнопки, дисплей, драйвера, двигатели) есть для отладки?
срок - вменяемый, не годы :) ардуха ваще не обязательна. я думал, что смогу завести намоточный по схеме из сайта пяльник, но она совсем-совсем неюзабельна. даже смысла доделывать её нету.
в данный момент на руках:
2 движка, 2 драйвера, ардуина уно, дисплей с расширителем i2c, кучка кнопок, энкодер с подавителем дребезга(без него это адище ваще был)
MX_Master писал(а):А чё дешёвая Orange Pi с LinuxCNC не падёт? Двухстрочный дисплей по i2c не проблема подключить. Да и любой другой дисплей тоже (:
пошла бы, ессно, но 1: это прям ну сильно избыточно для тех условий использования и 2 - G-кодить кроме меня там никто не умеет и не хочет уметь. писать интерфейс намотчика на lcnc едва ли дешевле, чем код на какой-нить дешманский мк.
могу, конечно, сильно ошибаться, и opi+lcnc+микродисплей это сильно меньше работы. но, все равно, я это не смогу сделать. так что все упирается в того, кто сможет и сколько этот кто-то возмёт материальных благ.

Re: требуется написание программы для Ардуино (или другого м

Добавлено: 19 сен 2018, 17:44
MX_Master
donvictorio писал(а):2 - G-кодить кроме меня там никто не умеет и не хочет уметь
Я чисто с практической точки зрения. Если понадобиться подправить логику намотки, то тебе понадобится сторонний ардуинщик. А с LinuxCNC ты сам исправишь.
donvictorio писал(а):1: это прям ну сильно избыточно для тех условий использования
Я помню на форуме ходил совет "почему сразу нельзя взять самый мощный МК, чтоб не париться с нехваткой этих мегагерцев?". И это хороший вопрос. Когда нужно сделать партию намоточных ЧПУ из 10000 штук, тогда надо экономить и подбирать МК. Но когда надо сделать только одно, можно даже не думать.

Варианты, короче, есть, можно выбирать.

Re: требуется написание программы для Ардуино (или другого м

Добавлено: 19 сен 2018, 22:11
donvictorio
MX_Master писал(а):Варианты, короче, есть, можно выбирать.
ели можно к opi прицепить микродисплей, а на lcnc как-то накатить скрипт, который делает то, что в тз (чтобы оператор-дебил просто не смог накосячить никак) и это реализуемо за вменяемую сумму, то я готов рассмотреть такой вариант. к примеру, opi light. могу его за косарь взять.
вообще без разницы, какая платформа, главное чтобы выполняла задачу и стоила вменяемо.

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

Re: Требуется написание программы управления намоточным стан

Добавлено: 20 сен 2018, 01:29
Serg
MX_Master писал(а):Я чисто с практической точки зрения. Если понадобиться подправить логику намотки, то тебе понадобится сторонний ардуинщик. А с LinuxCNC ты сам исправишь.
К LinuxCNC нужен как минимум комп.
Я б взял самую дешёвую плату для 3D принтера или выжигателя и соотв. firmware, код слегка бы модернизировал, в основном в плане отображения инфы на дисплее. А "программы намотки" написал-бы в G-кодах и положил бы на флешки в виде файлов с вменяемыми названиями...

Re: Требуется написание программы управления намоточным стан

Добавлено: 20 сен 2018, 03:04
AndyBig
Вообще это станок с такой узкой специализацией, что городить что-то монструозное (для такой задачи) типа LCNC под линуксом с каким-то заделом "а вдруг понадобиться что-то еще" никакого смысла нет :) Любая ардуина или STM32F0xxx справится на ура :)

Re: Требуется написание программы управления намоточным стан

Добавлено: 20 сен 2018, 03:22
sas_75
Может такое подойдет:
http://vprl.ru/publ/istochniki_pitanija ... 22-1-0-100

Re: Требуется написание программы управления намоточным стан

Добавлено: 20 сен 2018, 05:49
MX_Master
donvictorio писал(а):ели можно к opi прицепить микродисплей
Можно взять готовые либки по работе с дисплеем для дуины и на их основе запилить драйвер для LCNC.
UAVpilot писал(а):К LinuxCNC нужен как минимум комп.
В моем совете комп как минимум был. Маленький такой.
UAVpilot писал(а):Я б взял самую дешёвую плату для 3D принтера или выжигателя и соотв. firmware, код слегка бы модернизировал, в основном в плане отображения инфы на дисплее. А "программы намотки" написал-бы в G-кодах и положил бы на флешки в виде файлов с вменяемыми названиями...
Будет чуть дороже чем апельсин, а идея с G кодами всё та же. Для правки чужого кода понадобится более опытный спец под конкретный МК.
AndyBig писал(а):Любая ардуина или STM32F0xxx справится на ура
Да, справится. Но если писать для них это маленькое ЧПУ с нуля, получится не так уж и дёшево. Ну и потом, чтобы вносить какие-то изменения или исправлять косяки, снова понадобится спец по этому МК.

Re: Требуется написание программы управления намоточным стан

Добавлено: 20 сен 2018, 08:15
raddd
- G-кодить кроме меня там никто не умеет и не хочет уметь.
А кодить ненадо.
В код добавляешь циклы.
В шапку кода переменные.
Подписываешь типа:
#1 (дмаметр провода)
#2 (к-во слоев)
#3 (к-во витков)
#4 (скорость намотки)

И потом только правиш их.

Re: Требуется написание программы управления намоточным стан

Добавлено: 20 сен 2018, 10:08
solo
Мне кажется ,что реализация управления таким станком на апельсинке под linuxCNC наиболее оптимальный вариан , все ПО уже готово и лежит в свободном доступе , все элементы управления мона разместить на мониторе, на дополнительной панельке pvcp или гледи панельке. Ж код мона слелать на О коде и только вводить исходные данные.

Re: Требуется написание программы управления намоточным стан

Добавлено: 20 сен 2018, 14:05
donvictorio
добро,
opi есть, кнопки есть, микродисплей есть, осталось: прикрутить либу для мелкого дисплея, написать гкод с циклами, написать скрипт для меню.

Re: Требуется написание программы управления намоточным стан

Добавлено: 20 сен 2018, 15:07
MX_Master
Кажись, скрипт для меню, работу с дисплеем и управление можно запихнуть в один компонент. У него должны быть входные пины для кнопок и энкодера (вместо резистора) и выходные пины для управления остальными компонентами LCNC. Компонент может крутится в сервопериоде, как вариант.

Непонятно, куда и для чего концевики цеплять.

Re: Требуется написание программы управления намоточным стан

Добавлено: 20 сен 2018, 15:26
raddd
Концевик home на каретку.
И метка шпули.

Re: Требуется написание программы управления намоточным стан

Добавлено: 20 сен 2018, 16:10
donvictorio
MX_Master писал(а):Кажись, скрипт для меню, работу с дисплеем и управление можно запихнуть в один компонент. У него должны быть входные пины для кнопок и энкодера (вместо резистора) и выходные пины для управления остальными компонентами LCNC. Компонент может крутится в сервопериоде, как вариант.

Непонятно, куда и для чего концевики цеплять.
концевики, чтобы оператор по укурке не вогнал каретку в отбойник. там механика нежная, да ещё и через редуктор, шаговик просто снесёт все к чертям.
raddd писал(а):Концевик home на каретку.
И метка шпули.
хоумиться не надо, там все на глаз выставляется, так как оправка всегда разная по диаметру, по разному садится на конус и её "ноль" не определён. остальное чисто по шагам движка, никакой обратной связи не надо.

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

Re: Требуется написание программы управления намоточным стан

Добавлено: 20 сен 2018, 16:43
raddd
Home не помешает.
Если типовые будут. То по отступам лучше будет чем на глазок.

Re: Требуется написание программы управления намоточным стан

Добавлено: 20 сен 2018, 16:49
raddd
Настроить токарный конфиг.
В шапке:

Отступ(или вручную подогнать и зделать отступ)

#раз
#шаг
(Начало повтора #раз)
Цикл резбы правой.#шаг
Цикл резьбы левой.#шаг
(Конец повтора)
Около того.

Linuxcnc и математические операции в коде выполняет.
Так что полет фантазии....

Re: требуется написание программы для Ардуино

Добавлено: 21 сен 2018, 12:49
R6MF49T2
donvictorio писал(а):
R6MF49T2 писал(а):Какой срок? Ардуина в качестве железа условие обязательное? Железо (платы, кнопки, дисплей, драйвера, двигатели) есть для отладки?
срок - вменяемый, не годы :) ардуха ваще не обязательна. я думал, что смогу завести намоточный по схеме из сайта пяльник, но она совсем-совсем неюзабельна. даже смысла доделывать её нету.
в данный момент на руках:
2 движка, 2 драйвера, ардуина уно, дисплей с расширителем i2c, кучка кнопок, энкодер с подавителем дребезга(без него это адище ваще был)
Без гарантий и сроков могу взяться. За так, будет желание - по результатам сам решишь платить ли и сколько.
Нужны даташиты или описание на то что у тебя есть, по готовности само железо для отладки.