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


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

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

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

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

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

Сообщение CraCk » 26 янв 2013, 19:22

Кажись мы сделали большую ошибку при выборе контролера.
Полазил еще немного по китайских магазинах и нашых. И выяснилось что Arduino Mega 2560 можно купить практически по той же цене что UNO и Duemilanove.
На которой можно построить 6 осей с енкодерами.
Успокойте меня. Скажите что я ошибаюсь. А то меня совесть замучает. :( Что столько времени и ваших денег пошло на постройку каких то двух несчастных осей.
Аватара пользователя
CraCk
SIMER
 
Сообщения: 371
Зарегистрирован: 31 мар 2010, 21:25
Откуда: Made in Ukraine
Благодарил (а): 67 раз.
Поблагодарили: 104 раз.
Баллы репутации: 112
ТехнарьТехнарь

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

Сообщение Ale » 26 янв 2013, 20:27

CraCk писал(а):Кажись мы сделали большую ошибку при выборе контролера...
...Успокойте меня. Скажите что я ошибаюсь. А то меня совесть замучает. :( Что столько времени и ваших денег пошло на постройку каких то двух несчастных осей.

Первое - мы начали работать над прошивкой с тем, что оказалось под рукой. Прежде всего нужно было убедиться - что прошивка написанная не средствами Adruino IDE загрузится и будет работать. Что касается "потраченного" времени, то ничего не потрачено зря - мы получили опыт, получили его достаточно быстро (если бы я заморочился с покупкой в китае Arduino Mega, мы бы до сих пор обсуждали бы чисто теоретические вопросы) :lol:

Второе - 6dof - очень редкий зверь, а 4dof я надеюсь сделать и на UNO.

Третье - в общей стоимости комплектующих сима цена этого контроллера не составляет определяющей суммы. В крайнем случае можно и на Мегу перейти без особого ущерба для бюджета сима.

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

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

Сообщение CraCk » 26 янв 2013, 22:31

Ale писал(а):Уж не знаю - успокоил ли я тебя... В любом случае я уже выписал себе из Китая Arduino Mega. Думаю и на нее порт сделать - проблем особых нет. Так что можно приобретать и ее

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

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

Сообщение null » 26 янв 2013, 22:57

Ale писал(а):Третье - в общей стоимости комплектующих сима цена этого контроллера не составляет определяющей суммы. В крайнем случае можно и на Мегу перейти без особого ущерба для бюджета сима.

Абсолютно согласен. Если бы например мне не доставлял удовольствия процесс, я бы сделал свой 2 DOF на SCN5 и вообще не заморачивался. По деньгам вероятно вышло бы дешевле.
CraCk писал(а):Все было бы хорошо если бы не ATmega16U2. Скорость на много меньше чем на FT232. Как и на сколько смениться быстродействие контролера на ATmega16U2?

Скорость реакции исполнительных механизмов симулятора, только в последнюю очередь зависит от скорости обмена и обработки информации между его модулями. Здесь проще - мощный мотор и соответствующий блок питания. Вот как мне кажется ключ к успеху.
Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1041
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

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

Сообщение Ale » 26 янв 2013, 23:24

CraCk писал(а): Все было бы хорошо если бы не ATmega16U2. Скорость на много меньше чем на FT232. Как и на сколько смениться быстродействие контролера на ATmega16U2?


Что значит "скорость намного меньше"? Сейчас и Melanove (ftdi) и UNO (8u2) нормально работают на скорости 57600. Этого вполне достаточно даже для 6-и доф. Давай опять прибегнем к цифиркам:

Допустим мы передаем координаты для 6 доф - 2 байта хедер + 6 байт ( по байту на ось ) = 8 байт.
По моему "глубокому" убеждению чаще чем раз в 5 мс задавать новую позицию нет смысла.
На скорости 57600 передается примерно 5 килобайт в секунду (57600 / 11 бит = 5200 ) или 5 байт в миллисекунду. Значит на передачу 8 байт уйдет никак не больше 2 мс. Даже если мы захотим задавать позицию не одним а двумя байтами, то посылка будет размером 2+6*2 = 14 байт. 3 мс. на все про все.

Проблема как раз при передаче в обратную сторону - там где ftdi позволяет без проблем передать на комп пакет до 4 кбайт, 8u2 (как и 16u2) позволяют за раз передать только 14 байт. Но это решается аккуратным кодингом программы.

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

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

Сообщение Ale » 27 янв 2013, 22:43

Вот схема изолятора для подключения моста Таноса
Вариант на оптронах.

opto_isolator for Thanos H-Bridge.jpg
Изолятор для моста Таноса
opto_isolator for Thanos H-Bridge.jpg (197.91 КБ) Просмотров: 15522


Вместо инверторов 74ls04 лучше применить инверторы 74ls14 с триггерами Шмидта на входе.

Серия 74LS может быть заменена любой 74xx ( например 74НС14)
или отечественной 1533(555)ЛН1 (аналог 74ls04) или 1533(555)ТЛ2 (аналог 74ls14)
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

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

Сообщение null » 27 янв 2013, 22:46

Все понятно, оформим в лучшем виде :-)
Русский X-Simulator
Изображение
За пределами форума. Мой инстаграмм.
Аватара пользователя
null
SIMER
 
Сообщения: 1041
Зарегистрирован: 03 мар 2010, 18:42
Откуда: Ростов-на-Дону
Благодарил (а): 219 раз.
Поблагодарили: 160 раз.
Баллы репутации: 138
ТехнарьТехнарь

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

Сообщение AlexVr » 29 янв 2013, 13:14

Словил еще пару граблей - гальваническая развязка это прекрасно, НО с новым контроллером, мост на одинаковые по модулю, но разнополярные значения координаты, выдает разные напряжения, например - кручу резистор на +90 гр, на выходе моста + 6В, кручу на -90, на выходе моста -4В...
Думал уйти от проблемы, используя встроенный источник напряжения +10В частотника для питания моста, но дела стали еще хуже - мост отрабатывает только "положительные полуволны", от другого источника, крутит в разные стороны, но по разному при одинаковом задании.
Даже макс. полож. напряжение на выходе моста +10В, а отр. -7В.
Я в задумчивости :?
Может попробовать поженить контроллер с частотником напрямую, без моста?
Режим 0-5-10 В (назад-стоп-вперед) у частотника предусмотрен! Жаль, что 0-2,5-5 нет :(
А еще у него есть цифровой вход по шине MOD, но что с ним можно придумать, мне неведомо, может подскажите? :)
И еще мысль :o :lol: вот эту штуку http://avrdevices.ru/cifrovoy-potentsiometr/ использовать не получиться?
Вот по этой схемке: Изображение
http://fotki.yandex.ru/users/alex-vr/view/597764/
Аватара пользователя
AlexVr
SIMER
 
Сообщения: 449
Зарегистрирован: 05 апр 2010, 20:48
Благодарил (а): 23 раз.
Поблагодарили: 32 раз.
Баллы репутации: 71
Технарь

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

Сообщение AlexVr » 29 янв 2013, 14:18

Подозреваю, что MCP41010 мои +10В не выдержит...
Что остается? http://www.tautomation.ru/pdf/sc.pdf оно?
Вспомнил еще про токовую петлю 0-20 мА, которую частотник тоже разумеет, на эту тему нашел еще MAX5661http://www.rlocman.ru/shem/schem ... l?di=53101 что скажете?
Аватара пользователя
AlexVr
SIMER
 
Сообщения: 449
Зарегистрирован: 05 апр 2010, 20:48
Благодарил (а): 23 раз.
Поблагодарили: 32 раз.
Баллы репутации: 71
Технарь

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

Сообщение AlexVr » 01 фев 2013, 18:41

Куда все пропали?
У меня еще один довод против инверторов DIR1 и DIR2 для моста - при отключении питания Ардуино, мост в таком случае крутит движок на полную в одном из направлений.
Аватара пользователя
AlexVr
SIMER
 
Сообщения: 449
Зарегистрирован: 05 апр 2010, 20:48
Благодарил (а): 23 раз.
Поблагодарили: 32 раз.
Баллы репутации: 71
Технарь

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

Сообщение Ale » 01 фев 2013, 21:02

AlexVr писал(а):Куда все пропали?

Да работа - будь она неладна...
AlexVr писал(а):У меня еще один довод против инверторов DIR1 и DIR2 для моста - при отключении питания Ардуино, мост в таком случае крутит движок на полную в одном из направлений.

Мы это обсуждали уже с null ... Он даже с просьбой к тебе обращался
null писал(а):Померь плиз напряжение на выходах 7220 с отключенной ардуиной и включенной силовой частью, очень нада

и ты ему ответил...
AlexVr писал(а):Померял - относительно общего минуса на выходах 7220 с отключенной ардуиной и включенной силовой частью 4,7В = Uпит Это нормально?


Проблема вот в чем - когда ты ставишь развязку на ISO7220 (И на ADuM как у null), то при снятии питания с "первичной" части изолятора на выходе "вторичной" (изолированной) части возникает высокий уровень (лог 1). К сожалению он возникает и на линии DIR и на линии PWM. Как раз высокий уровень на линии PWM приводит к включению мотора.

Так что при снятии питания с Ардуины и "первичной" части изолятора действительно начинает вращаться движок. Инвертор на DIR сигнале тут совершенно не при чем.

Бороться с такой хренью можно только за счет включения дополнительных инверторов - перед изолятором и после него (на каждой сигнальной линии).

Сигнал должен проходить так:

Выход ардуины ->
Логический инвертор (типа 74xx04 или 74xx14) с питанием от +5В USB ->
Вход изолятора ->
Выход изолятора ->
Логический инвертор (типа 74xx04 или 74xx14) с питанием от +5В от силовой части ->
Вход моста.

При таком построении системы при отключении питания ардуины на входе PWM моста будет железный ноль и никакого вращения не будет.

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

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

Сообщение AlexVr » 01 фев 2013, 21:52

Ale писал(а):и ты ему ответил...

:lol: :oops: DIRы, PWMы, инвертированные DIRы, запутался.
Ale, можно принцип работы для дальнейшего понимания?
Зачем 6 проводная система? Почему 4 мало?
Программно же можно задать изменение напряжения на выходе Ардуино 0-5В и схемно собрать 0-5В в -10В? Без DIRов при использовании частотников можно обойтись? :?
Аватара пользователя
AlexVr
SIMER
 
Сообщения: 449
Зарегистрирован: 05 апр 2010, 20:48
Благодарил (а): 23 раз.
Поблагодарили: 32 раз.
Баллы репутации: 71
Технарь

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

Сообщение Ale » 01 фев 2013, 22:06

AlexVr писал(а):Ale, можно принцип работы для дальнейшего понимания?
Зачем 6 проводная система? Почему 4 мало?

Значит так -
1 - "нормальный" полумост обычно на один канал использует два входных сигнала - НАПРАВЛЕНИЕ (DIR) и ШИМ (PWM).
2 - на два канала нужно соответственно 4 сигнала
3 - полумост Таноса использует на один канал 3 сигнала - IN1, IN2, PWM. При этом сигналы IN1 и IN2 должны включаться только в ПРОТИВОФАЗЕ.
4 - За счет простого инвертора можно из одного сигнала DIR получить два противофазных сигнала для моста Таноса

Итого - 4 сигнала не мало, а достаточно. Но для моста Таноса нужно 6 сигналов (так уж он спроектирован)

AlexVr писал(а):Программно же можно задать изменение напряжения на выходе Ардуино 0-5В и схемно собрать 0-5В в -10В? Без DIRов при использовании частотников можно обойтись? :?


Программно можно сделать без проблем. Что касается преобразователя 5->10 вольт - то он на одном операционнике собирается - собственно усилитель постоянного тока с коэффициентом усиления = 2. Но... В который раз на этом форуме предупреждалось об опасности использования режима "аналогового" - 0..+5В. При любой ошибке (пропадание питания или контакта) движок будет крутиться с максимальной скоростью
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

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

Сообщение AlexVr » 02 фев 2013, 09:07

Ale писал(а):1 - "нормальный" полумост обычно на один канал использует два входных сигнала - НАПРАВЛЕНИЕ (DIR) и ШИМ (PWM).

Ale, а прошивку для нормальных мостов возможно сделать? ;) Схема упростится на 2 инвертора и 2 оптические развязки.
Боюсь, что с мостом Таноса никого не осталось, а если и остались, то мечтают избавится.
Ale писал(а):Но... В который раз на этом форуме предупреждалось об опасности использования режима "аналогового" - 0..+5В. При любой ошибке (пропадание питания или контакта) движок будет крутиться с максимальной скоростью

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

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

Сообщение Ale » 02 фев 2013, 11:32

AlexVr писал(а):Ale, а прошивку для нормальных мостов возможно сделать? ;) Схема упростится на 2 инвертора и 2 оптические развязки.
Боюсь, что с мостом Таноса никого не осталось, а если и остались, то мечтают избавится.


Хм... Так текущая прошивка и есть "для нормальных мостов". Ты же сам схему соединений рисовал - там всего 4 управляющих сигнала.
http://mal4x.ru/viewtopic.php?f=6&t=211&start=150#p6548
:D
Меньше уже не сделать.
А вот твой мост, которым ты делаешь сигналы для частотника построен как раз как мост Таноса - с 6-ю входами - M1IN1, M1IN2, M1PWM, M2IN1, M2IN2, M2PWM...

В общем, давай приводить мысли в порядок :D

1 - Прошивка для Ардуины сейчас УНИВЕРСАЛЬНАЯ (с точки зрения подключения 4-х и 6-и выводных полумостов)

2 - Ниже привожу схемы подключения полумостов а Ардуине.
При этом надо помнить, что инверторы слева и справа от изоляторов должны иметь РАЗНЫЕ земли !!! Левые - входную (GND_USB) , правые - силовую (GND_PWR)

Connection_1.jpg
Схема соединений без изоляции
Connection_1.jpg (215.45 КБ) Просмотров: 15369


Connection_2.jpg
Схема соединений с изоляцией (рекомендуемая)
Connection_2.jpg (284.38 КБ) Просмотров: 15369



Ale писал(а):Но что-то последнее время ничего не работает :( , согласен уже на рискованную работу :)

Отставить панику :lol: :lol: :lol: . ВсЁ наладим.

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

Пред.След.

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

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

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

cron
x

#{title}

#{text}