MAL4X Научно-технический форум разработчиков симуляторов и автоматики


Симуляторы перегрузок. DIY электроника. ЭВМ. Компьютерные сети.
Up

Разработка нового контроллера

Строим реалистичный симулятор перегрузок своими руками. Рекомендации. Советы.

Модераторы: Death_Morozz, null, Ale

Сообщение Ale » 27 сен 2012, 20:23

CraCk писал(а):А как это понимать?

Привет, CraCk. На картинке тобой обведена характеристика ВХОДНОГО сигнала, и означает она, что частотник может распознать входное напряжение с точностью 10 бит. По хорошему для формирования аналогового сигнала управления для частотника тоже нужно использовать 10 бит. 8 будет маловато. Но когда я говорю о 8-битовом управлении, я имею ввиду управление вайперами типа Газелевских.
Но, повторюсь, это надо проверить на железе...

AlexVr писал(а):Т.е. даже при такой минимальной RC цепочке позиционирование ухудшится в 2 раза!
Использование 10 битного разрешения не оправдано.
И это не учитывая помехи, активную и реактивные составляющие сопротивлений кабеля.
Если нам нужен цифро-аналоговый преобразователь вполне можно обходится 8 битами, а мы спорим про 16...

Нее. Во-первых мы не говорим о 16-битном ШИМ. Мы говорим о 16-битном таймере, на котором можно реализовать 10-битный ШИМ. На 8-битном таймере можно только 8-битный ШИМ реализовать
Во вторых, про RC цепочку было сказано "хорошо бы". Но я не утверждаю, что обязательно. Когда мы с Pavel155 активно отлаживали прошивку, он демонстрировал мне прямое подключение ШИМ к частотнику. Даже без всяких дополнительных преобразователей. Там у него в частотнике был вроде вход специальный, типа база транзистора, колектор которого сидел уже на напряжении питания 10 В частотника. Так вот все управлялось без всяких RC цепочек Изображение

CraCk писал(а):Можно повторить и AMC1.6 но сделать все намного лучше продумать и дать возможность выбора какой использовать FT323R модульный или само пайка. добавить возможность подключение енкодеров. И убрать все что связано с дисплеем.

Мдаа. Давайте уже постепенно приходить с консенсусу.
В конце концов можно сделать некий конструктор. В любом случае можно разделить интерфейсную часть (USB) и контроллер. Надеюсь, против USB возражений нет?
Тогда предлагаю поискать наиболее доступный модуль с микрухой FT232R на борту, дабы не связываться с ее разводкой. Я со своей стороны могу на том участке платы, который будет располагаться под этим модулем, развести участок схемы FT232R для тех, кто захочет сам паять, не покупая модуль.

Теперь про микроконтроллер. Одностороннюю плату для контроллера в корпусе TQFP32 развести не так просто, как, скажем, для корпуса DIP40 или DIP28. Так что смотрите, решайте, выбирайте. Сделаем на любом контроллере.

Если не брать корпус TQFP64 - то реально можно рассчитывать только на два канала ШИМ 10 бит на одном контроллере. Про расширяемость и модульность обсудим позже, а сейчас хотелось бы оговорить всю соответствующую периферию. Видимо надо закладывать 2 канала резисторов/датчиков Холла + 2 канала энкодеров (+по 2 концевика на каждый канал энкодера).

Дисплей можно совсем выбросить или развести чисто опционально...

Вот примерно так, давайте определяться.
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение CraCk » 28 сен 2012, 17:56

Ale писал(а):Но когда я говорю о 8-битовом управлении, я имею ввиду управление вайперами типа Газелевских.

Больше чем 2dof на вайперах сложновато строить
4-6dof никто не будет строить на вайперах только на частотниках.Думаю нужно остановиться на двух 10 битных каналах и все.
Ale писал(а):он демонстрировал мне прямое подключение ШИМ к частотнику.

Но у него обыкновенный частотник Mitsubishi fr-d700. И входи стандартные как для частотника. Куда же он влепил ШИМ?
Изображение
И еще контрольный вопрос. Можно сделать прошивку которая могла б управлять частотником через цифровые входы? Это даст возможность запустить даже дешевые варианты частотников. В которых нет возможности конфигурировать аналоговый сигал 0В - назад, любое значение - СТОП, 10В - вперед.
Изображение
Ale писал(а):Тогда предлагаю поискать наиболее доступный модуль с микрухой FT232R

Они что отличаются распайкой?

Ale писал(а):Одностороннюю плату для контроллера в корпусе TQFP32

В чем сложность? Будем все таки делать на DIP корпусе?
Аватара пользователя
CraCk
SIMER
 
Сообщения: 371
Зарегистрирован: 31 мар 2010, 21:25
Откуда: Made in Ukraine
Благодарил (а): 67 раз.
Поблагодарили: 104 раз.
Баллы репутации: 112
ТехнарьТехнарь

Сообщение Ale » 29 сен 2012, 10:48

CraCk писал(а):
Ale писал(а):
Тогда предлагаю поискать наиболее доступный модуль с микрухой FT232R


Они что отличаются распайкой?


Хорошо, задам вопрос по другому: Есть возражения против использования этого модуля в качестве готового USB - RS232 преобразователя с возможность через него же и программировать МЕГУ?
https://www.sparkfun.com/products/718?


CraCk писал(а):В чем сложность? Будем все таки делать на DIP корпусе?

Чуть больше времени понадобится что бы развести на одностороннюю плату, возможно - чуть больше перемычек будет (вместо дорожек по второй стороне платы). Я просто пытаюсь прощупать "общественное" мнение. Изображение И если решать будем мы с тобой, сделаем на TQFP32 разводку Изображение

Мдаа, нас тут совсем немного осталось, фактически трое. Давайте тогда на троих и сообразим, коллегиально, так сказать Изображение Как я понял - AlexVr голосует за Arduino Uno. CraCk тоже за корпус TQFP32 - тогда, что бы прогу сделать общую - можно остановиться на процессоре Atmegа328.

К нему прикрутить (или развести) FTDI модуль, и предусмотреть нужную периферию
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение AlexVr » 29 сен 2012, 11:16

AlexVr голосует за Arduino Uno. CraCk тоже за корпус TQFP32 - тогда, что бы прогу сделать общую - можно остановиться на процессоре Atmegа328.

К нему прикрутить (или развести) FTDI модуль, и предусмотреть нужную периферию

Да будет так. Аминь!Изображение
Аватара пользователя
AlexVr
SIMER
 
Сообщения: 449
Зарегистрирован: 05 апр 2010, 20:48
Благодарил (а): 23 раз.
Поблагодарили: 32 раз.
Баллы репутации: 71
Технарь

Сообщение CraCk » 29 сен 2012, 20:33

Ale писал(а):Есть возражения против использования этого модуля в качестве готового USB - RS232 преобразователя с возможность через него же и программировать МЕГУ?

Нет возражений. Только разные производители, не имеют стандарта разводки своих модулей. Все разные. И какой использовать в нашем МК непонятно.
например здесь совсем другая разводка http://kosmodrom.com.ua/data/ftdi/ftdi.php


Ale писал(а):можно остановиться на процессоре Atmegа328

SRAM, EEPROM, Flash хватит? По сравнения с Atmegа644 все в два раза меньше.
Аватара пользователя
CraCk
SIMER
 
Сообщения: 371
Зарегистрирован: 31 мар 2010, 21:25
Откуда: Made in Ukraine
Благодарил (а): 67 раз.
Поблагодарили: 104 раз.
Баллы репутации: 112
ТехнарьТехнарь

Сообщение Ale » 29 сен 2012, 21:08

CraCk писал(а):Нет возражений. Только разные производители, не имеют стандарта разводки своих модулей. Все разные. И какой использовать в нашем МК непонятно.
например здесь совсем другая разводка http://kosmodrom.com.ua/data/ftdi/ftdi.php


Хочу напомнить наш с тобой диалог постом ранее Изображение
CraCk писал(а):
Ale писал(а)::
Тогда предлагаю поискать наиболее доступный модуль с микрухой FT232R

Они что отличаются распайкой?

Именно потому, что их много с разной разводкой, я и предлагал поискать ДОСТУПНЫЙ модуль на который мы и будем ориентироваться.
CraCk писал(а):SRAM, EEPROM, Flash хватит? По сравнения с Atmegа644 все в два раза меньше.

Да, но это все равно в 4 раза больше, чем в Atmega8535, для которой собственно прошивка и написана. И почти все функции реализованы. Так что проблем быть не должно...

ЗЫ: Кстати, предложенный CraCk модуль FTDI мне нравится больше...
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение Ale » 30 сен 2012, 00:03

В общем прикинул я платку на меге328. Ног впритык хватает на все функции независимо. Самые прожорливые оказались каналы энкодеров. На каждый надо по 4 пина (два для энкодера и два для концевиков). Для LCD либо вовсе нет места, либо надо совмещать с кем-то.

Кстати, вопрос - просится использование элементов в SMD корпусах - кондеры и резисторы в корпусах типа SMD-1206. Как на ваш взгляд?

И еще раз хочу предупредить - есть проблемы с однослойной платой. Поскольку компоненты в корпусах SOIC, TQFP, SMD монтируются без отверстий в плате, все дорожки должны располагаться со стороны компонент. Но контактные площадки под разъемы - с отверстиями и требуют контактной площадки со стороны обратной расположению компонентов. Т.е получается, что разъемы будут торчать на плате с обратной стороны от компонентов
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение CraCk » 30 сен 2012, 00:39

Ale писал(а):кондеры и резисторы в корпусах типа SMD-1206. Как на ваш взгляд?

нет нет, хватит микросхем. все другие компоненты обычные.

Танос обновил свою прошивку в которой включена аварийная остановка (кажись). И там задействование какие то выводы. Ale пожалуйста учти этот вариант.


(Добавление)
Ale писал(а):Именно потому, что их много с разной разводкой,

Присмотрелся повнимательней к винегрету с FT232.
Понял то что модуль от FTDI разведен на 24 вывода - то есть это расширенная версия модуля.
Все другие производители делают урезанный вариант на 18 выводов. Получается так, что все модули совместимы. Так что можно разводить на 18 выводов.
Изображение
Даже если приобрести на 24 вывода спокойно подойдет на 18-ти пиновою плату по контактам. Только нужно пересмотреть одинакова ли обвеска этих модулей.
Еще сами микросхемы есть двух вариантов FT232R и FT232RL. FT232RL будет поактуальней.


Аватара пользователя
CraCk
SIMER
 
Сообщения: 371
Зарегистрирован: 31 мар 2010, 21:25
Откуда: Made in Ukraine
Благодарил (а): 67 раз.
Поблагодарили: 104 раз.
Баллы репутации: 112
ТехнарьТехнарь

Сообщение Ale » 09 окт 2012, 18:36

Привет всем. Начал разводить плату. Идет пока не быстро, но верно ))
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение AlexVr » 10 окт 2012, 08:34

Привет! Очень хорошая новость!
Ale, а замена сендера и профайлера на свое ПО в планы входит?
От Павла55 исходников не осталось?
Аватара пользователя
AlexVr
SIMER
 
Сообщения: 449
Зарегистрирован: 05 апр 2010, 20:48
Благодарил (а): 23 раз.
Поблагодарили: 32 раз.
Баллы репутации: 71
Технарь

Сообщение taran_ob » 01 ноя 2012, 19:54

Приветствую всех!
Как я понял из этой темы, софт отправляет с заданной периодичностью необходимую позицию, а контроллер Тонаса обеспечивает ее выполнение и контроль по датчику положения. Поправьте если не так.
А почему для общения компа с двигателем не общаться по интерфейсу STEP DIR как в ЧПУ- это норма. Если кто не знает DIR - направление, STEP - шаг (один импульс - один шаг, частота импульсов больше - скорость вращения выше). Сим и чпу практически одно и тоже с той разницей что ЧПУ знает следующую позицию заранее и ждет окончания выполнения текущей, а в симе ждать не нужно. Но так как тема ЧПУ более распространенная нужно пользоваться.
При управлении STEP DIR с контроллера снимается обязанность осуществлять контроль положения и соответственно здорово упрощается задача создания "своего". От контроллера требуется только принимать позицию через уарт от компа (в ЧПУ эти команды называются G кодами) и транслировать STEP DIR на драйвера с учетом их скоростных возможностей. Чтоб генерировать STEP, желательно микроконтроллер с аппаратным ШИМ. Пример контроллера для ЧПУ http://cncmasterkit.ru/viewtopic...?f=3&t=2077.
При наличии у компа LPT, необходимость в контроллере и вовсе отпадает с соответствующим софтом. Через LPT смело можно управлять 4мя драйверами. Но на LPT рассчитывать, конечно, не стоит.
Выполнять же позиционирование - прерогатива драйвера, так как привод может быть любым! Вот вам и универсальность!
Проблема с позиционированием (раскачка и тд), думаю, решается увеличением разрешения энкодера и вводом интегральной и диф составляющих ПИД. Полноценному ПИДу параллельно какая нагрузка на валу! Построить нормальный ПИД для 3-4х моторов на одном контроллере, по крайней мере AVR, не реально. Могу утверждать, вот мой проект, только для стабилизации частоты http://cncmasterkit.ru/viewtopic...p?f=3&t=2437
, а это еще один повод переложить эту функцию на драйвера. Есть куча 3х фазных (частотников) с такой возможностью. Уверен что и для коллекторных есть готовые. Для шаговиков точно есть. Ну или тоже создать "свой", но это уже другая тема.
Добавлю еще один +, это простая гальваноразвязка компа с драйвером.
taran_ob
Комсорг
 
Сообщения: 137
Зарегистрирован: 27 окт 2012, 22:05
Откуда: Ukraine
Благодарил (а): 5 раз.
Поблагодарили: 11 раз.
Баллы репутации: 19
Новичок

Сообщение Ale » 01 ноя 2012, 21:08

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

Это так.

taran_ob писал(а):А почему для общения компа с двигателем не общаться по интерфейсу STEP DIR как в ЧПУ- это норма.

В станках с ЧПУ используются шаговые двигатели. Да и интерфейс STEP DIR заточен исключительно под них. У шаговиков есть одно явное достоинство и три недостатка (имхо).
ДОСТОИНСТВО:
1) шаговый двигатель сам же является датчиком положения. Для перемещения на заданную дистанцию нужно просто подать на двигатель соответствующее кол-во импульсов. Но...

НЕДОСТАТКИ:
1) шаговый двигатель не не знает о своем положении после включения (совсем как бинарный энкодер). Поэтому нужно предпринимать усилия - либо запоминать позицию перед выключением (что не спасет при провороте двигателя в выключенном состоянии), либо калиброваться по концевикам после включения, что существенно снижает юзабилити.
2) вал шаговика под нагрузкой (как и у любого другого движка) может проворачиваться... Т.е просто не шагать при поступлении импульсов. В таком случае мы можем вообще потерять информацию о положении движка.
3) думаю что шаговик существенно дороже DC той же мощности.

Обрати внимание - огромное сообщество симостроителей НЕ использует шаговики в своих симах.

taran_ob писал(а):Выполнять же позиционирование - прерогатива драйвера, так как привод может быть любым! Вот вам и универсальность!

Стоп-стоп!!! О чем это ты? Ведь ровно позиционированием и занимается наш контроллер, являющийся неотъемлемой частью драйвера. Что значит "привод может быть любым"? Не шаговиком? Это как? И чем тогда предлагаемый вариант отличается от контроллера Таноса (это я так обобщил)...

taran_ob писал(а):Построить нормальный ПИД для 3-4х моторов на одном контроллере, по крайней мере AVR, не реально.

Ну, я бы не был столь категоричным Изображение Как раз совсем ничего сложного в этом нет. Ну а за "нормальный" ПИД я пожалуй проголосую, но потом, когда сам увижу, что упрощенный П регулятор явно не справляется с поставленной задачей. Ведь "нормальный ПИД не самоцель? Важен баланс в решении любой задачи.

taran_ob писал(а):Добавлю еще один +, это простая гальваноразвязка компа с драйвером.

Хм. Это по сравнению с чем? У меня все устройства совершенно просто гальванически отвязаны от компа. Почему ты думаешь, что от выбора схемы управления зависит сложность гальвано-развязки?

С уважением,
Ale
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение taran_ob » 01 ноя 2012, 22:51

Ale писал(а):В станках с ЧПУ используются шаговые двигатели. Да и интерфейс STEP DIR заточен исключительно под них. У шаговиков есть одно явное достоинство и три недостатка (имхо).
ДОСТОИНСТВО:


Совершенно наоборот, только хобийные станки работают на шаговиках, а на производстве на серво! И этот интерфейс очень удобен для общения с драйверами на любых приводах. Одна сигнальная линия несет информацию о скорости и необходимой позиции.

Вы наверное меня не так поняли, я совершенно не склонен использовать шаговики (не исключаю), но и перечисленные минусы не являются проблемой. Пропуск шагов решается выбором более мощного. Шаговик стоит дешевле чем любой другой двигатель с нормальным энкодером и редуктором. Самый большой минус это максимальная скорость под нагрузкой, обычно не более 1000 Гц. При 200 шагах за оборот в полном шаге = 300об/мин. Но есть очень большой плюс - с понижением скорости момент на валу не уменьшается! Например в моем станке стоят движки 9 кг/см при 48В 1.5А и этот момент есть от 0 скорости.

Ale писал(а):Стоп-стоп!!! О чем это ты? Ведь ровно позиционированием и занимается наш контроллер, являющийся неотъемлемой частью драйвера. Что значит "привод может быть любым"? Не шаговиком? Это как? И чем тогда предлагаемый вариант отличается от контроллера Таноса (это я так обобщил)...


Речь идет о 3х вариантах: синхронный, DC и шаговый. Под любой из низ есть готовые решения драйверов с интерфейсом STEP DIR. Тоесть, если говорить о синхронных, то обратная связь по положению + ПИД + STEP DIR интегрированы в инвертор (частотник). Если такого частотника нет, то можно доработать - через микроконтроллер организовать связь енкодера с аналоговым входом частотника. Такое же решение есть (должно быть, не искал) и для коллекторного. Ну с шаговиком еще проще так как привод самый дешевый и любимый хобийниками - есть куча открытых проектов.

Ale писал(а):Стоп-стоп!!! О чем это ты? Ведь ровно позиционированием и занимается наш контроллер, являющийся неотъемлемой частью драйвера. Что значит "привод может быть любым"? Не шаговиком? Это как? И чем тогда предлагаемый вариант отличается от контроллера Таноса (это я так обобщил)...


Контроллер должен только принять информацию о позиции от компа и с генерировать степдир на энное количество драйверов. Всем остальным занимается драйвер. Хороший драйвер с обратной связью по положению не получится сделать универсальным, да еще и для 4х моторов, ИМХО.

Ale писал(а):Ну, я бы не был столь категоричным Как раз совсем ничего сложного в этом нет. Ну а за "нормальный" ПИД я пожалуй проголосую, но потом, когда сам увижу, что упрощенный П регулятор не явно не справляется с поставленной задачей. Ведь "нормальный ПИД не самоцель? Важен баланс в решении любой задачи.


Просто модуль захвата в АВР только один, а сигнал с енкодера нужно цеплять на него, для точного измерения интервалов времени "на лету".


Ale писал(а):Хм. Это по сравнению с чем? У меня все устройства совершенно просто гальванически отвязаны от компа. Почему ты думаешь, что от выбора схемы управления зависит сложность гальвано развязки?


Смотрите, у меня в станке контроллер (ссылку давал выше) подключен по ЮСБ (аппаратный мост-без фтешки) от него же и питается. Далее через опторазвязку степ дир идет на драйвера, у которых естественно свое питание. Допустим вы захотите к "своему" контроллеру подключить аналоговый вход от частотника. Как будите развязывать? Наверно возьмете мост запитанный от ЮСБ, далее через развязку на УАРТ контроллера со своим питанием, а от контроллера аналоговый сигнал к частотнику? А если захотите взять какую то МЕГУ с ЮСБ? Аналоговый конечно тоже можно развязать, но это не тривиальная задача. Не очень красивое решение!


ПС Если у вашего драйвера (не важно какой привод) нет какого нибудь интерфейса высокого уровня (хотя не каждый подойдет модбус тормознутый) который можно зацепить прямо к компу и реализовать контроллер программно, то более гибкого и распространенного интерфейса, для системы позиционирования, чем степдир вы не найдете и не придумаете. В теме ЧПУ было несколько попыток, которые какое то время существовали, но приходили к степдир управлению, проект vri-cnc , например.


(Добавление)
Кстати для DC здесь есть со степдир http://refit.com.ua/servousiliteli-baldor

Первая ссылка в google на step dir dc servo
http://tinycontrols.com/dc-s...pid-encoder.html


Частотник
http://alliedmotion.com/Prod...Series.aspx?s=65


(Добавление)
Всю тему не читал может было, контроллер еще должен обрабатывать сигналы от датчиков HOME (микрики-точка отсчета). Они могут стоять по середине хода привода. И каждый раз при проходе через него контроллер вносит поправку, при необходимости, о положении.
А концевики (ЛИМИТЫ) должны отрубать физически питание от мотора и расцениваться контроллером ка сигнал АВАРИИ!.

Будде добры, где посмотреть формат посылки команд к контроллеру? Поучаствую...
taran_ob
Комсорг
 
Сообщения: 137
Зарегистрирован: 27 окт 2012, 22:05
Откуда: Ukraine
Благодарил (а): 5 раз.
Поблагодарили: 11 раз.
Баллы репутации: 19
Новичок

Сообщение Ale » 02 ноя 2012, 07:56

taran_ob писал(а):Вы наверное меня не так поняли,

Каюсь, не так.

Давайте попробуем подытожить:
СЕЙЧАС на этой ветке обсуждается следующая конфигурация сима:

Комп ->
интеллектуальный контроллер ->
примитивный драйвер ->
мотор + датчики обратной связи на контроллер.


Твое предложение:

Комп ->
примитивный "попка-дурак" контроллер ->
интеллектуальный драйвер ->
мотор + датчики обратной связи на драйвер.


(поправь, если я не прав).

Лично у меня есть два аргумента ЗА первую компоновку.

Первое - Мне, как программисту, не хочется оставлять контроллеру функцию бабки у телефона.Изображение . Более того, если регулирование происходит в контроллере, то с компа всегда можно оперативно подправить параметры регулирования, придавая нужную динамику всему процессу симуляции (допускаю, что подобными функциями может обладать и интеллектуальный драйвер, но тогда нужно предусматривать передачу параметров через контроллер на драйвер). И как раз это одно из важнейших отличий СИМа от станка ЧПУ. Тут не всегда важна МАТЕМАТИЧЕСКАЯ точность, а скорее - ОБЩИЕ ОЩУЩЕНИЯ (ИМХО).

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

Что касается гальванической развязки - то я ее ставлю между FTDI чипом и AVR микроконтроллером на линии RxD и TxD. В результате сам контроллер уже сидит на силовой земле, никак не связанной с землей ПК.

taran_ob писал(а):Всю тему не читал может было, контроллер еще должен обрабатывать сигналы от датчиков HOME (микрики-точка отсчета). Они могут стоять по середине хода привода. И каждый раз при проходе через него контроллер вносит поправку, при необходимости, о положении.
А концевики (ЛИМИТЫ) должны отрубать физически питание от мотора и расцениваться контроллером ка сигнал АВАРИИ!.

Как правило в качестве датчиков ОС используются АБСОЛЮТНЫЕ датчики типа потенциометров или датчиков Холла. Не без недостатков (надежность и шумность потенциометров) но с достоинством - всегда знаешь позицию, даже сразу после включения. Ну и концевики не нужны (если грамотно запрограммировать контроллер ::cool24.gif:Изображение .

taran_ob писал(а):Где посмотреть формат посылки команд к контроллеру? Поучаствую...

ВЕЗДЕ Изображение

5 байт. Первые три - заголовок в = 0x41, 0x42, 0xFF. а потом два байта - позиция для двух осей - байт со знаком (диапазон -128..+127)
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Сообщение taran_ob » 02 ноя 2012, 10:51

Добавлю аргументы к следующей реализации

Ale писал(а):Комп ->
примитивный "попка-дурак" контроллер ->
интеллектуальный драйвер ->
мотор + датчики обратной связи на драйвер.


Основной аргумент - интеллектуальный драйвер это уже готовый, придуманный до нас, модуль, который используется во многих темах. Его можно и купить, и собрать. Можно конечно и с "свой" написать, но задача не очень простая! И если все же решиться, то при необходимости, пользоваться опытом многих ресурсов связанных с ЧПУ, робототехникой, моделизмом и тд. Такой драйвер не придется подстраивать, это нужно сделать один раз для конкретной системы. В драйвере с полноценном ПИД не нужно постоянно играться с коэффициентами. Вы ему говорите ехать (шагать) туда то, на конкретной скорости (постоянная частота шага) или с конкретным ускорением(меняющаяся частота шага) -он едет. И, априори, вы ему доверяете! Драйвер не должен зависеть от ваших ощущений! А вот контроллер как раз и берет на себя настройки ощущений, выбор системы 2 4 6DOF, коэффициенты передачи, положение датчика 0, обработку аварийной процедуры, ручное управления для отладки и тд.

ПС любую сложную, тем более, универсальную систему нужно разделять на унифицированные блоки!


Ale писал(а): Ну и концевики не нужны (если грамотно запрограммировать контроллер

Не скажИте, многие конструкции травмоопасны, лучше перебдеть, чем недобдеть...
Изображение

(Добавление)
Ale писал(а):5 байт. Первые три - заголовок в = 0x41, 0x42, 0xFF. а потом два байта - позиция для двух осей - байт со знаком (диапазон -128..+127)

Не понял, а как двумя числами можно задать положение в пространстве?
Как тогда 6DOF работает?
taran_ob
Комсорг
 
Сообщения: 137
Зарегистрирован: 27 окт 2012, 22:05
Откуда: Ukraine
Благодарил (а): 5 раз.
Поблагодарили: 11 раз.
Баллы репутации: 19
Новичок

Пред.След.

Вернуться в X-SIMULATOR и RU-SIMULATOR & SimTools

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 125

x

#{title}

#{text}