Страница 5 из 25

Re: Блок контроля для оптических линеек (проект)

Добавлено: 28 авг 2016, 19:22
Serg
Я б предложил тебе посмотреть в сторону stm32f3 или stm32f4 - в варианте один МК на всё может получиться дешевле. Да и stm32f1 ST гнобит помаленьку, в том числе и с помощью цен - предлагает stm32f2 в качестве альтернативы.

Re: Блок контроля для оптических линеек (проект)

Добавлено: 28 авг 2016, 19:31
michael-yurov
Вообще маркетинговая игра серьезная.
Цены зависят не от сложности процессора, а от восстребованности функционала.
Казалось, что нашел подходящий проц, а у него ЦАП нет...
А хотелось бы как возможность.

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

Re: Блок контроля для оптических линеек (проект)

Добавлено: 28 авг 2016, 21:44
michael-yurov
UAVpilot писал(а):Я б предложил тебе посмотреть в сторону stm32f3 или stm32f4 - в варианте один МК на всё может получиться дешевле. Да и stm32f1 ST гнобит помаленьку, в том числе и с помощью цен - предлагает stm32f2 в качестве альтернативы.
Не удалось найти подходящих вариантов.
Мне на каждую ось нужно минимум три 16-битных таймера, при чем два из них должны уметь считать в обе стороны (для подсчета входящих импульсов Step и для обработки сигнала с энкодера).
этим требованиям удовлетворяют не многие процессоры. В частности у STM32F103, которые я использую - 6 двусторонних таймеров, и, вроде бы, можно было бы обрабатывать одновременно три оси (если повезет и получится распределить функционал по ногам),
но у него лишь два DAC выхода.

Стал искать процессоры с тремя аналоговыми выходами и USB - оказалось это только STM32F373
Но у них только 5 таймеров способны считать вверх и вниз.
2016-08-28_23-41-05.png (2131 просмотр) <a class='original' href='./download/file.php?id=87937&mode=view' target=_blank>Загрузить оригинал (324.88 КБ)</a>
Есть процессоры F3 с шестью таймерами, но без USB, т.е. возвращаемся к началу.
В общем - рылся долго, сравнивал цены, доступность, возможность замены,.. но безрезультатно.
Максимум удается запихнуть два канала в один процессор, но при этом и цена процессора вдвое выше, и сложность разработки возрастает.

Re: Блок контроля для оптических линеек (проект)

Добавлено: 29 авг 2016, 01:20
Serg
Вот смотрю я на фотку StepMaster v2.5 и не понимаю тебя... Кто мешает оставить два stm32f103, а вместо stm32f100 поставить stm32f102 или тот-же stm32f102 в 48-ногом корпусе?..

Re: Блок контроля для оптических линеек (проект)

Добавлено: 29 авг 2016, 05:37
michael-yurov
UAVpilot писал(а):Вот смотрю я на фотку StepMaster v2.5 и не понимаю тебя... Кто мешает оставить два stm32f103, а вместо stm32f100 поставить stm32f102 или тот-же stm32f102 в 48-ногом корпусе?..
А я не вижу смысла делать относительно дорогую сложную пятиканальную плату с большим количеством разъемов.
Мне вот потребовался контроллер линеек на два канала. Кому-то нужно будет три, кому-то один.
Да и разработка одноканального варианта займет меньше сил и времени, что сократит стоимость, особенно с учетом того, что спрос на эту штуку будет относительно скромным.

Как я уже писал - получилось бы устройство с ценой в пару тысяч рублей. И мне заработок и покупателям вполне подъемная сумма.
Сколько нужно каналов - столько и купил.
Все равно настраивать каждый канал в отдельности, да и общего у них почти ничего нет. Так же как у драйверов моторов - вполне удобно, что они отдельные.

Или ты предполагал апгрейдить степмастер и добавить ему возможность контроля по линейкам?
Мне кажется это уже слишком.
К тому же алгоритм работы степмастера значительно отличается от ПИД управления. Т.е. это получились совсем разные по функционалу устройства.

Re: Блок контроля для оптических линеек (проект)

Добавлено: 29 авг 2016, 06:47
selenur
У stm есть микроконтроллеры поддерживающие возможность "Encoder interface mode", "quadrature (incremental) encoder input", в таком режиме, вроде используется лишь 1 таймер (если я правильно понял), в контроллере который я сейчас изучаю stm32vet6, из 7-ми таймеров, 3 таймера поддерживают этот режим. Может найдутся и для твоих задач подходящие микроконтроллеры....

Re: Блок контроля для оптических линеек (проект)

Добавлено: 29 авг 2016, 12:15
Serg
michael-yurov писал(а):А я не вижу смысла делать
Вот тут я ещё более не понял... Вчера ты жаловался, что нет чипов с 12-ю таймерами, а сегодня оказывается тебе и хватит и всего трёх... :thinking:
:hehehe:
selenur писал(а):У stm есть микроконтроллеры поддерживающие возможность "Encoder interface mode", "quadrature (incremental) encoder input"
Так он и использует эти таймеры - один на входе для step/dir, второй планирует для линейки. Получается по два реверсивных таймера на ось.

Re: Блок контроля для оптических линеек (проект)

Добавлено: 29 авг 2016, 12:22
sidor094
selenur писал(а):У stm есть микроконтроллеры поддерживающие возможность "Encoder interface mode",
Все поддерживают.

Re: Блок контроля для оптических линеек (проект)

Добавлено: 29 авг 2016, 12:53
michael-yurov
UAVpilot писал(а):Вот тут я ещё более не понял... Вчера ты жаловался, что нет чипов с 12-ю таймерами, а сегодня оказывается тебе и хватит и всего трёх... :thinking:
:hehehe:
Ну ты предложил посмотреть процессоры старших серий. Я так понял, что предполагалось найти микроконтроллер, способный обрабатывать сразу несколько каналов, так что в пересчете затрат на 1 канал получится не дороже, чем с F100 микроконтроллером.
UAVpilot писал(а):Я б предложил тебе посмотреть в сторону stm32f3 или stm32f4 - в варианте один МК на всё может получиться дешевле. Да и stm32f1 ST гнобит помаленьку, в том числе и с помощью цен - предлагает stm32f2 в качестве альтернативы.
F2 и F3, действительно, незначительно отличаются по цене от F1 при схожем же функционале, но значительно большей производительности.
Но большая производительность мне не требуется, т.к. код не прожорливый. Нужна только аппаратная поддержка деления, что обеспечивает F1.

Я просто рассмотрел варианты, но вернулся к первоначальной идее. Что, в общем-то, хорошо.

Re: Блок контроля для оптических линеек (проект)

Добавлено: 29 авг 2016, 14:42
Serg
michael-yurov писал(а):F2 и F3, действительно, незначительно отличаются по цене от F1 при схожем же функционале, но значительно большей производительности.
Я б посоветовал обратить внимание на других производителей, например на Сypress и NXP, у последнего вообще во всех моделях не только есть порт USB, но уже и аппаратный стек зашит.

Если делать в виде одна плата на ось/две, то наверно имеет смысл просто вывести на трёхконтактный разъём UART1 и в комплекте давать копеечный кабель USB-COM(TTL) с ответным разъёмом - можно будет и конфигурять и прошивку заливать и какой-нибудь мониторинг/диагностику приделать.

Re: Блок контроля для оптических линеек (проект)

Добавлено: 29 авг 2016, 15:52
sidor094
UAVpilot писал(а):Я б посоветовал обратить внимание на других производителей, например на Сypress и NXP, у последнего вообще во всех моделях не только есть порт USB, но уже и аппаратный стек зашит.
С Сypress не работал но у NXP всего один энкодер.И таймеры считают только вверх.Для привода не удобно.Приходится энкодер подключать к порту энкодера,а степ /дир через прерывания. Так что на NXP остался только контроллер ЧПУ.А для приводов использую STM. Так ,что в данном случае STM предпочтительней.

Re: Блок контроля для оптических линеек (проект)

Добавлено: 29 авг 2016, 16:36
michael-yurov
UAVpilot писал(а): Если делать в виде одна плата на ось/две, то наверно имеет смысл просто вывести на трёхконтактный разъём UART1 и в комплекте давать копеечный кабель USB-COM(TTL) с ответным разъёмом - можно будет и конфигурять и прошивку заливать и какой-нибудь мониторинг/диагностику приделать.
Рассматривал такой вариант.
Заказал несколько разных переходников для пробы. Хочу проверить с какими меньше проблем с драйверами в новых OS.
UART, естественно, вывел.

Re: Блок контроля для оптических линеек (проект)

Добавлено: 29 авг 2016, 18:02
Serg
michael-yurov писал(а):Хочу проверить с какими меньше проблем с драйверами в новых OS.
В Линуксе любые работают замечательно и без установки драйверов. :)
В Win7 на прошлой неделе поставил родной драйвер pl2303 для поддельного pl2303hx - работает нормально, даже stm32 шьётся.

Re: Блок контроля для оптических линеек (проект)

Добавлено: 29 авг 2016, 18:16
michael-yurov
Больше волнуют 64-битные Win 8.1 и Win 10 в плане автозагрузки рабочих драйверов из сети.
Про драйверы в Linux - знаю.

Re: Блок контроля для оптических линеек (проект)

Добавлено: 29 авг 2016, 19:39
Serg
Если вернуться к USB и прикинуться HID, то никаких драйверов вообще не понадобится. :)

Re: Блок контроля для оптических линеек (проект)

Добавлено: 29 авг 2016, 19:56
michael-yurov
UAVpilot писал(а):Если вернуться к USB и прикинуться HID, то никаких драйверов вообще не понадобится. :)
Пока что плату развожу под STM32F103C8T6
UART вывел.
USB подключил.
Оставил выбор RS422 или TTL (в зависимости от установленных на плату компонентов).
Сигнал с нолевой метки пропустил через микроконтроллер и вывел на PC817.
Сигнал Enable тоже на всякий случай провел через микроконтроллер.

Как уж буду подключаться (как виртуальный COM порт или HID) пока решил.
На счет возможности обновления - тоже сомневаюсь пока.

Сейчас мне нужно начертить плату и отдать в изготовление, а потом уже видно будет, к чему все это приедет.

Блин, забыл про аналоговый выход...
Еще раз блин! В этом процессоре нет DAC!

Ну и ладно. Значит не судьба.
Сделаю сначала без аналогового выхода, а потом переделаю плату, скорее всего на двухканальную, учтя недоработки.
Можно, конечно, ШИМ перевести в аналог, но это нужно еще подумать, как правильно сделать, и, опять же, нужен будет выход таймера (видимо тот же, что на step). Лучше проц заменю потом.

Re: Блок контроля для оптических линеек (проект)

Добавлено: 31 авг 2016, 12:28
michael-yurov
Нарисовал платку.
Закажу пару десятков для пробы.
2016-08-31_14-15-52 (2).png (1982 просмотра) <a class='original' href='./download/file.php?id=88073&mode=view' target=_blank>Загрузить оригинал (204.8 КБ)</a>
2016-08-31_14-16-27.png (1982 просмотра) <a class='original' href='./download/file.php?id=88074&mode=view' target=_blank>Загрузить оригинал (509.64 КБ)</a>

Re: Блок контроля для оптических линеек (проект)

Добавлено: 31 авг 2016, 15:41
Serg
Разводка довольно безграмотная... :)
Например конденсаторы кварца нельзя присоединять к общей земле. Если вдруг на каком экземпляре генератор не всегда будет запускаться - не удивляйся...

Re: Блок контроля для оптических линеек (проект)

Добавлено: 31 авг 2016, 16:00
Сергей Саныч
UAVpilot писал(а):конденсаторы кварца нельзя присоединять к общей земле.
Земля до выводов МК достаточно короткая и толстая.
Посмотрел на STM32-discovery - конденсаторы кварцев разведены не менее "безграмотно".

Re: Блок контроля для оптических линеек (проект)

Добавлено: 31 авг 2016, 16:13
Serg
В данном случае мимо кварца будут ходить земляные токи между линейками и выходом, что там на них будет наводится никому не известно.
Надо просто оторвать конденсаторы от общей земли и соединить их отдельной дорожкой (даже если она будет проходить рядом с общей землёй) с ногой контроллера