Тут как раз прикол с интерфейсом, как в Linux CNC, что пользователь сам может состряпать себе интерфейс, какие поля выводить, и какие кнопки, для определенных действий, но как сказал michael-yurov, для данного устройства это конечно очень избыточно.N1X писал(а):selenur писал(а):стоимость на самые маленькие экраны менее тысячи рублей.Ужас... Это как ардуинка - для тех, кто хочет сделать интерфейс к чему-то, но не умеет работать с железом и программировать МК, естественно это только мое мнение.
А для проекта который идеть хоть в мелкую, но серию это убьет всю экономику...
Проще уже uC GUI взять, или ее бесплатную вариацию от ST, если нужен серьезный интерфейс, и копеешный экран от мобилы, который можно тоннами купить...
Контроллер оптических линеек / энкодеров (Step/Dir)
- selenur
- Почётный участник
- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Блок контроля для оптических линеек (проект)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- michael-yurov
- Почётный участник
- Сообщения: 11639
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4644
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Блок контроля для оптических линеек (проект)
Подумал, что стоит написать о новых обстоятельствах и некоторой смени курса:
- Для универсальности и упрощения настройки заменил в прошивке алгоритм обратной связи на обычный ПИД.
С одной стороны с ним все универсально и просто, а с другой - точно задать коэффициенты не видя графиков я не смог.
- Так что идея с настройкой через цифровой сегментный индикатор оказалась неудачной.
- Прихожу к выводу, что настраивать лучше через ПО на компьютере, а подключаться через COM порт или виртуальный СОМ порт на USB.
- Скорее всего, для удешевления остановлюсь на COM порте без USB.
- Были мысли реализовать автонастройку коэффициентов ПИД самим контроллером, но получается слишком сложная задача в том плане, как пользователю задать первоначальные разрешения для процедуры автонастройки и самотестирования.
Да и качество автонастройки в этом случае получается неизвестным, что мне сильно не нравится.
В общем получается тот же YAPSC, только в профиль.
Вот и думаю - а стоит ли продолжать?
- Для универсальности и упрощения настройки заменил в прошивке алгоритм обратной связи на обычный ПИД.
С одной стороны с ним все универсально и просто, а с другой - точно задать коэффициенты не видя графиков я не смог.
- Так что идея с настройкой через цифровой сегментный индикатор оказалась неудачной.
- Прихожу к выводу, что настраивать лучше через ПО на компьютере, а подключаться через COM порт или виртуальный СОМ порт на USB.
- Скорее всего, для удешевления остановлюсь на COM порте без USB.
- Были мысли реализовать автонастройку коэффициентов ПИД самим контроллером, но получается слишком сложная задача в том плане, как пользователю задать первоначальные разрешения для процедуры автонастройки и самотестирования.
Да и качество автонастройки в этом случае получается неизвестным, что мне сильно не нравится.
В общем получается тот же YAPSC, только в профиль.
Вот и думаю - а стоит ли продолжать?
- selenur
- Почётный участник
- Сообщения: 4605
- Зарегистрирован: 21 авг 2013, 19:44
- Репутация: 1622
- Настоящее имя: Сергей
- Откуда: Новый Уренгой
- Контактная информация:
Re: Блок контроля для оптических линеек (проект)
Может просто на время отложить этот проект, и заниматься другими проектами, пока не появится идея как сделать по удобнее?michael-yurov писал(а):Подумал, что стоит написать о новых обстоятельствах и некоторой смени курса:
- Для универсальности и упрощения настройки заменил в прошивке алгоритм обратной связи на обычный ПИД.
С одной стороны с ним все универсально и просто, а с другой - точно задать коэффициенты не видя графиков я не смог.
- Так что идея с настройкой через цифровой сегментный индикатор оказалась неудачной.
- Прихожу к выводу, что настраивать лучше через ПО на компьютере, а подключаться через COM порт или виртуальный СОМ порт на USB.
- Скорее всего, для удешевления остановлюсь на COM порте без USB.
- Были мысли реализовать автонастройку коэффициентов ПИД самим контроллером, но получается слишком сложная задача в том плане, как пользователю задать первоначальные разрешения для процедуры автонастройки и самотестирования.
Да и качество автонастройки в этом случае получается неизвестным, что мне сильно не нравится.
В общем получается тот же YAPSC, только в профиль.
Вот и думаю - а стоит ли продолжать?
У меня часто так бывает, что уперся в проблему, и что-бы не делать абы как, отлаживаю проект на время, пока не придет идея.
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
- michael-yurov
- Почётный участник
- Сообщения: 11639
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4644
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Блок контроля для оптических линеек (проект)
Собственно, так и поступил.selenur писал(а): Может просто на время отложить этот проект, и заниматься другими проектами, пока не появится идея как сделать по удобнее?
У меня часто так бывает, что уперся в проблему, и что-бы не делать абы как, отлаживаю проект на время, пока не придет идея
Еще месяц назад остановился.
Обдумываю варианты.
Купил max232 и заказал у китайцев usb-uart для дальнейших действий.
Ну и, интереса особого данная тема не вызывает (возможно из за лета), так что я не спешу с разработкой.
На SMD раскладчике контроллер линеек исправно работает, и это уже хорошо. Значит устройство вполне жизнеспособно.
- NKS
- Мастер
- Сообщения: 2516
- Зарегистрирован: 30 окт 2014, 21:36
- Репутация: 1233
- Настоящее имя: Сергей
- Откуда: Волгоград
- Контактная информация:
Re: Блок контроля для оптических линеек (проект)
Неправда, вызываетmichael-yurov писал(а):Ну и, интереса особого данная тема не вызывает
- michael-yurov
- Почётный участник
- Сообщения: 11639
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4644
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Блок контроля для оптических линеек (проект)
Сейчас плату хочу нарисовать для пробных устройств.
ключевые моменты:
- Настраиваться контроллер будет через COM порт.
- Одна плата на одну линейку.
- Формат управления и на входе и на выходе - Step Dir (возможно в дальнейшем сделаю вариант с аналоговым выходом).
Возникли вопросы:
Подключение линейки будет по умолчанию как у китайских разъемом DB9 с тремя линиями TTL уровнями A / B / нолевая метка
Можно сделать с дифференциальным входом RS422 A+/A- / B+/B- / 0+/0-
Нужно ли делать второй вход с дифференциальными линиями RS422?
Как вариант - развести на плате оба, но впаивать какой-то один.
Какой разъем поставить для подключения к компьютеру для настройки? Пойдет ли обычный угловой DB9?
В этом случае удобно будет использовать USB-COM переходник с USB удлинителем, или придется самому паять удлинитель DB9
Можно поставить разъем как на ледшайновских драйверах.
Нужно ли предавать сигнал Enable через плату?
Т.е. для работы платы он не нужен, но так, возможно, удобнее будет подключить Step/Dir/Enable от компьютера/контроллера к плате контроллера линеек, а потом уже так же три линии к драйверу / сервоприводу.
Что делать с сигналом с нолевой метки на линейках?
Сигнал короткий, и использовать его как сигнал с индуктивного концевика - нельзя.
Нужно ли этот сигнал как-то обработать, чтобы продлить его, или активировать при переходе метки в одну сторону и деактивировать при переходе обратно?
Или просто передать как есть?
ключевые моменты:
- Настраиваться контроллер будет через COM порт.
- Одна плата на одну линейку.
- Формат управления и на входе и на выходе - Step Dir (возможно в дальнейшем сделаю вариант с аналоговым выходом).
Возникли вопросы:
Подключение линейки будет по умолчанию как у китайских разъемом DB9 с тремя линиями TTL уровнями A / B / нолевая метка
Можно сделать с дифференциальным входом RS422 A+/A- / B+/B- / 0+/0-
Нужно ли делать второй вход с дифференциальными линиями RS422?
Как вариант - развести на плате оба, но впаивать какой-то один.
Какой разъем поставить для подключения к компьютеру для настройки? Пойдет ли обычный угловой DB9?
В этом случае удобно будет использовать USB-COM переходник с USB удлинителем, или придется самому паять удлинитель DB9
Можно поставить разъем как на ледшайновских драйверах.
Нужно ли предавать сигнал Enable через плату?
Т.е. для работы платы он не нужен, но так, возможно, удобнее будет подключить Step/Dir/Enable от компьютера/контроллера к плате контроллера линеек, а потом уже так же три линии к драйверу / сервоприводу.
Что делать с сигналом с нолевой метки на линейках?
Сигнал короткий, и использовать его как сигнал с индуктивного концевика - нельзя.
Нужно ли этот сигнал как-то обработать, чтобы продлить его, или активировать при переходе метки в одну сторону и деактивировать при переходе обратно?
Или просто передать как есть?
-
- Мастер
- Сообщения: 1205
- Зарегистрирован: 14 янв 2013, 16:46
- Репутация: 144
- Контактная информация:
Re: Блок контроля для оптических линеек (проект)
мне кажется можно оставить ТОЛЬКО диф. вход.michael-yurov писал(а):Можно сделать с дифференциальным входом RS422 A+/A- / B+/B- / 0+/0-
Нужно ли делать второй вход с дифференциальными линиями RS422?
это как?michael-yurov писал(а):Сигнал короткий, и использовать его как сигнал с индуктивного концевика - нельзя.
- N1X
- Мастер
- Сообщения: 3653
- Зарегистрирован: 16 фев 2015, 21:19
- Репутация: 1645
- Настоящее имя: Владимир
- Откуда: Беларусь, Гомель
- Контактная информация:
Re: Блок контроля для оптических линеек (проект)
Согласен, и вывести на отдельную клемму 1/2Uоп, и вешать перемычкой его на одну из клемм дифпары, если нужен вход TTL...Бармалей писал(а):мне кажется можно оставить ТОЛЬКО диф. вход.
- michael-yurov
- Почётный участник
- Сообщения: 11639
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4644
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Блок контроля для оптических линеек (проект)
RS422 реально востребован?Бармалей писал(а):мне кажется можно оставить ТОЛЬКО диф. вход.
Если так то сделаю (хотя не собирался).
TTL вход будет в любом случае, т.к. этот вариант почти на всех китайских линейках.
На моих линейках есть нолевая метка. Ее длительность - 3-4 отсчета энкодера.Бармалей писал(а):это как?
Вот здесь вообще не понял.N1X писал(а):Согласен, и вывести на отдельную клемму 1/2Uоп, и вешать перемычкой его на одну из клемм дифпары, если нужен вход TTL...
Я могу сделать либо один тип входа, либо другой, либо развести оба, на распаивать только один.
Повесить оба входа на один разъем для меня не представляется возможным, даже с учетом того, что прямые линии совпадают, а инверсные не задействованы в TTL распайке разъема.
Для этих входов нужны разные нагрузочные сопротивления и в случае с TTL входом нужен двухкаскадный RC фильтр.
- N1X
- Мастер
- Сообщения: 3653
- Зарегистрирован: 16 фев 2015, 21:19
- Репутация: 1645
- Настоящее имя: Владимир
- Откуда: Беларусь, Гомель
- Контактная информация:
Re: Блок контроля для оптических линеек (проект)
С телефона лениво писать. В кратце: если напряжения дифпары 0 и 5 вольт, то выводим 2.5 например, и вешаем его на один конец дифвхода (пользователь вешает), вроде многие драйвера это позволяют. Тогда второй конец дифпары при изменении 0-5 вольт вызывает переключение входа...michael-yurov писал(а): не понял
- michael-yurov
- Почётный участник
- Сообщения: 11639
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4644
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Блок контроля для оптических линеек (проект)
Не уверен, что это будет работать, но уверен, что это будет работать плохо (вход не будет защищен от помех). При чем в обоих случаях.
Вопрос не в том как это сделать, а в том, какой функционал реально нужен. Т.к. чем больше хотелок в плане функционала придется удовлетворить - тем дороже станет устройство.
Вопрос не в том как это сделать, а в том, какой функционал реально нужен. Т.к. чем больше хотелок в плане функционала придется удовлетворить - тем дороже станет устройство.
- N1X
- Мастер
- Сообщения: 3653
- Зарегистрирован: 16 фев 2015, 21:19
- Репутация: 1645
- Настоящее имя: Владимир
- Откуда: Беларусь, Гомель
- Контактная информация:
Re: Блок контроля для оптических линеек (проект)
Это простое решение, если человекв не нужен диф. Сигнал. Позволяет отдельно не разводить лишнее, не более...
- michael-yurov
- Почётный участник
- Сообщения: 11639
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4644
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Блок контроля для оптических линеек (проект)
Так оно. Но мои линейки с таким входом работать не смогут.N1X писал(а):Это простое решение, если человекв не нужен диф. Сигнал. Позволяет отдельно не разводить лишнее, не более...
И в моем случае это простое решение создаст мне много проблем в плане ответсьвенности перед пользователями.
Оно, конечно, спасибо за совет, и, возможно есть способ его удачного применения, но я не буду так сильно рисковать без какой-либо пользы.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Блок контроля для оптических линеек (проект)
Mini-USB, а в МК реализовать конвертор USB-COM.michael-yurov писал(а):Какой разъем поставить для подключения к компьютеру для настройки? Пойдет ли обычный угловой DB9?
В этом случае удобно будет использовать USB-COM переходник с USB удлинителем, или придется самому паять удлинитель DB9
Можно поставить разъем как на ледшайновских драйверах.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- michael-yurov
- Почётный участник
- Сообщения: 11639
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4644
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Блок контроля для оптических линеек (проект)
Мне и самому такой вариант нравится.UAVpilot писал(а): Mini-USB, а в МК реализовать конвертор USB-COM.
Хотя, как я уже сказал - все эти хотелки повышают цену конечного изделия. Нужно будет обдумать, на сколько.
Может оказаться, что ни на сколько (хотя процессор с аппаратным usb заметно дороже, есть ряд факторов компенсирующих это).
- N1X
- Мастер
- Сообщения: 3653
- Зарегистрирован: 16 фев 2015, 21:19
- Репутация: 1645
- Настоящее имя: Владимир
- Откуда: Беларусь, Гомель
- Контактная информация:
Re: Блок контроля для оптических линеек (проект)
А что за выход у них?michael-yurov писал(а):Но мои линейки с таким входом работать не смогут
- michael-yurov
- Почётный участник
- Сообщения: 11639
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4644
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Блок контроля для оптических линеек (проект)
ТТЛ, но выходной ток 4 мА.N1X писал(а):А что за выход у них?michael-yurov писал(а):Но мои линейки с таким входом работать не смогут
А RS422 предполагает значительно большие рабочие токи.
Сделать универсальный вход можно, но как я уже сказал - он не будет должным образом защищен от помех.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Блок контроля для оптических линеек (проект)
Ни на сколько. У STM редкий МК без аппаратного USB, вон даже в StepMaster v2.5 аж два порта уже есть.michael-yurov писал(а):Хотя, как я уже сказал - все эти хотелки повышают цену конечного изделия. Нужно будет обдумать, на сколько.
Может оказаться, что ни на сколько (хотя процессор с аппаратным usb заметно дороже, есть ряд факторов компенсирующих это).
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- michael-yurov
- Почётный участник
- Сообщения: 11639
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4644
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Блок контроля для оптических линеек (проект)
В степмастере стоят процессоры с большим количеством продвинутых таймеров (STM32F103RCT6), и это не самые дешевые процессоры.UAVpilot писал(а):Ни на сколько. У STM редкий МК без аппаратного USB, вон даже в StepMaster v2.5 аж два порта уже есть.
Контроллер линеек я планировал сделать на STM32F100C4T6. Он вдвое дешевле, но USB нет.
Для пробы сделаю плату на дешевой китайской микросхемке CH340G (usb-uart).
Смотрел еще на PL2303SA, но она дороже и китайцы их активно подделывают (особенно PL-2303HX) из за чего часто возникают проблемы идентификации нового устройства.
А эти CH340G в ардуины активно ставят, так что, надеюсь, для моих целей будет достаточно.
В дальнейшем, может быть, перейду на процессор с поддержкой USB.
Тогда в один процессор уже можно будет засунуть два канала обработки энкодеров/линеек. Непонятное количество получается.
- michael-yurov
- Почётный участник
- Сообщения: 11639
- Зарегистрирован: 26 июл 2012, 00:10
- Репутация: 4644
- Настоящее имя: Михаил Львович
- Откуда: Новоуральск
- Контактная информация:
Re: Блок контроля для оптических линеек (проект)
Вроде бы вот эти два подходят:
STM32F102CBT6 http://www.promelec.ru/catalog/1/11/1777/1/135773/
STM32F103C8T6 http://www.promelec.ru/catalog/1/11/1777/1/126937/
На это процессоры сейчас цена не высокая, но в промэлектронике как только начинаешь покупать мелким оптом - магазин поднимает цену процентов на 20.
А тут боюсь цена еще со старой партии осталась.
Остановлюсь на втором. Он более распространенный и ближе подходит к моему проекту.
Обидно только что USB занимает ту же ногу, что внешний вход таймера.
И переназначить нельзя.
Придется существенно изменять проект и переназначать таймеры. Вероятно, найду решение.
STM32F102CBT6 http://www.promelec.ru/catalog/1/11/1777/1/135773/
STM32F103C8T6 http://www.promelec.ru/catalog/1/11/1777/1/126937/
На это процессоры сейчас цена не высокая, но в промэлектронике как только начинаешь покупать мелким оптом - магазин поднимает цену процентов на 20.
А тут боюсь цена еще со старой партии осталась.
Остановлюсь на втором. Он более распространенный и ближе подходит к моему проекту.
Обидно только что USB занимает ту же ногу, что внешний вход таймера.
И переназначить нельзя.
Придется существенно изменять проект и переназначать таймеры. Вероятно, найду решение.