Всем читающим, доброго времени суток. Нужно за вознаграждение, написать скетч управления ШД по датчикам крайних положений. Устройство будет называться "Укладчик". Собрана механическая часть: ШД, Винт (резьба), датчики индуктивные (2 Шт.) PNP-normal closed. Есть 2560, драйвер (по моему 6550, не важно пока что), БП. Диплей, энкодер. Скоре всего датчики будут подключены через опто пары 817. ТЗ: 1 обезпечить возвможность отправки (приёма) данных на ПК (Rx,Tx). 2 Создать условия подключения любых концевых датчиков (нормально открытый / закрытый, т.е что с 0 чтос 0 на 1 что на оборот ) возможно на уровне прерываний а возможно настройкой онлайн (лишь бы не пере прошивать). Тут датчики представляют собой кнопки (либо 0 либо 1 на входе пина). Нужно это для того что бы при замене датчика не метаться в поисках "оригинала". Может это будут датчики Холла. 3 Нужна кнопка Пуск/Стоп (возможно этим будет управлять вторая мега). 4 Одна 2560 управляет тремя одинаковыми укладчиками. (при изменении настроек, изменения применяются ко всем трём укладчиками) 5 Подключение дисплея 2002 и энкодера. (меняем тип датчиков, вывод информации о кол-ве циклов лево/право, кол-ве слоёв, изменение скорости ШД....). Вот тут, можно наверное организовать тип подключаемого датчика. Вот как организовать менюшку и там выбирать тип датчика ? Вообще возможно из меню выбрать датчик и из этого будет определён тип прерывания (RISING / FALLING). Может и дохлая идея но нужно пробовать.
А в чем проблема? Сколько угодно внешних прерываний можно и на обычной ардуине (Atmega 328-16-PUI) сделать, вставив ассемблерные команды прямо в код ардуины. Прерывание можно посадить на любой пин, а у 2560 и ардуиновских прерываний вроде достаточно (что в общем все равно - можно делать прерывания без функции прерываний Arduino IDЕ).
Я вас понимаю на счёт прерываний. Даже если упрёмся в камень то поставлю по 2560 на каждый укладчик. А проблема наверное, как обычно в заказчике. Я допустил ошибку в ТЗ. Там нужно будет установить датчик на ось катушки. Так как если мы зададим постоянную скорость перемещения укладчика то с ростом слоёв, катушка будет вращаться медленнее. Следовательно укладчик то же должен замедляться. Прописывать это в формуле по типу толщина слоя, кол-во слоёв как то не очень. Толщина слоя может время от времени изменяться. На данный момент: Установить датчик в районе опоры катушки. На опоре 6 или 8 магнитов для датчика Холла. Прописываем в программе фильтр помех этого датчика (срабатывание 2-3 секунды, отметаем), так как катушка нет нет но бывает у неё трясучка на обратный ход. Это связано с растяжением наматываемого материала и муфты на опоре катушки. Муфта всё так же установлена по причине того что привод имеет постоянную скорость а катушка меняет свою скорость по мере наполнения. Установлены два регулируемых датчика крайних положений (Холла). Но как сказал уважаемый vvr (л.с.), использовать ШД не используя его преимуществ, не особо умно. Я подумал и вправду, зачем ставить два крайних если можно один по начальному положению при старте. Запустили процесс, укладчик крутит в направлении датчика на увеличенной скорости, датчик срабатывает микро контроллер меняет направление вращения и скорость ШД. Чуть покрутили и ждём импульса с опоры катушки (один из 6-8ми магнитиков на против датчика), импульс поступил - покрутили ещё (типа один оборот катушки разбили на 6-8 частей), постояли, импульс ещё и так до достижения задаваемой (с экрана и кнопочек) величины. Величина ширины катушки достигнута ? Да. Меняем направление. Вот и думаю а нужен ли мне второй датчик крайнего положения ? Разве что как аварийный. И нужен ли датчик на вал укладчика для контроля оборотов ? Думаю нет. Хотя было бы не плохо держать процесс под полным контролем. Хотелки пока что такие: экранчик, три кнопки Регулируемая скорость, регулируемое кол-во шагов или ширины катушки для реверса. Регулируемое расстояние перемещения после срабатывания датчика на опоре (это при смене толщины материала). Счётчик слоёв, по достижении лимита (устанавливаем с экран+кнопки) выводим на пин, сигнал СТОП для остановки всей системы. Изменения ширины, скорости, слоёв и.т.п. применимы ко всем трём винтам но импульсы с датчика опоры катушки, наверное должны быть индивидуальными. Получается настройки общие а управление индивидуальное. Не плохо бы встроить 18b20 на каждый ШД+1 в ящик с ардуиной и драйверами с выводом температуры и сигнала на пин для сигнализации. Управление по пину старт, пину пауза, пину стоп с выводом на экран и пины со светодиодами о состоянии работа, пауза, внешний стоп, стоп по наполнению катушки. Пока как то так. Могу скинуть фото/видео собранного макета укладчика. Так же видео с работой механических укладчиков и чего и как укладывают. Благодарю за внимание.
"Прописываем в программе фильтр помех этого датчика (" Если поставить энкодер (или переделать в энкодер, добавив еще один датчик холла), то фильр помех не нужен - энкодер помехоустойчив, помехи будут приводить лишь к +-1 и не интегрироваться. "зачем ставить два крайних" - обычно ставят, потому что дуракоустойчивость и кто его знает, не понадобится ли он завтра. "Могу скинуть фото/видео собранного макета укладчика." - если есть блок- схема и механическая схема, то они будут более информативны. Если можно - то по адресу ydom@mail.ru
намоточный станок что-ле? там действительно нужна такая точность, или же их применение диктуют условия эксплуатации? вторая мега зачем? Да и вообще зачем здесь мега? Зачем? Пусть станок сам определит. Может, тогда подобрать МК с квадратурным демодулятором?
Станок оплёточный. Устройство на микро контроллере, укладчик. Укладчик будет связан с МК станка. Там ещё автоматика своя. Точность не нужна но я же ставлю ШД а это вроде как точность. Не ну можно и с дворников постоянку поставить. Кроме того, программа одна и если она настраиваемая через кнопочный и-фейс то такой же укладчик можно поставить и на другие станки не переписывая программу МК. Вторая для автоматики на обрыв нити (одной из 48 ми разделённых на три блока по 16 шт в каждом). Ну на укладчик мега может и жирно конечно...я не специалист в этом вопросе. У нас экран, минимум 3 кнопки, несколько датчиков, и 18b20 4шт. Насчёт МК с квадр демод, я сего не познал ещё. С ардуиной пока проще мне жить будет.
Да думал об этом. Мне как городить это всё в железе так это капец. Итак сегодня ходил вокруг него и думал куда установить датчик опоры. А вы второй предлагаете ставить. А если ставить заводской энкодер (оптический, не тот что под потенциометр с виду косит) то дороговато и не надёжно. Наши парни не такое ломают.
Какая разница, если код под заказ? Профессионально написанный код новичку не разгрести. А у абдуринщиков заказывать себе дороже - портирование и расширяемость под очень большим вопросом. сенсорные кнопки. 18b20 сразу выкинуть - абдуринщики с ним работать не умеют. Надо брать или аналоговый, или же с очень быстрым откликом. Начинать надо со схемотехники. И то тогда, когда уже кинематика готова. А уже после думать о программе.
Наверное вы правы. Но насчёт портирования не согласен. Если мы можем внести данные о параметрах укладки то почему нет. Конечно куда попало такой укладчик не поставить но есть похожие задачи с разницей в скоростях, шагом, наполнением , слоями. Это было про энкодер на опору катушки. Контроль вращения катушки. Сего не знал но есть только такие. Нравятся заявленной точностью. А зачем нам быстродействие ? Это не нагреватель. Мне только контроль температуры ШД и ящика с электроникой. Если его в программе трудно опросить из за его медлительности то может можно что то придумать. Да, верно. Только прежде чем дальше пилить, варить, сверлить. Нужно понять что и как смогу реализовать. А то получается кронштейны под датчики приварены и один уже под вопросом, нужен / не нужен. И так далее.
Вот один из способов защиты датчиков от персонала. В данном случае это энкодер в куске профильной трубы.
портирование - это перенос кода на другую платформу. а датчик холла? энкодер как-то дорого для выполнения такой простой операции. Вот поэтому сперва разрабатывается кинематическая схема, а затем функциональная для автоматизации. А потом схемотехника. На больших производствах это не то, чтобы разные люди разрабатывают, но и даже отделы.
Извиняюсь, сразу не допонял. Не, никаких переносов (портирований). Под что написали в том и будет вертется. Единственно может со временем тип датчиков поменяется и в коде неск строк поменять самостоятельно. Onkel выше предложил энкодер. Я тут один отдел. Сварщик, резчик, маляр, слесарь, наладчик, автоматчик (типа кипа), придумщик, МКонтроллерщик, электрик, эникейщик и сопутствующе. Приходит груз помогаю остальным растаскивать. Так что я осознал про отделы...но неее тууу. Вот когда человек занимается всем подряд, хорошего мало. Особенно для этого человека. Соответственно и изделие наверное страдает. А...ещё примусы приносят. и пр хлам, который ели б мой то выкидываю а им починяй.