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


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

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

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

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

Сообщение CraCk » 05 май 2012, 22:52

Ale писал(а):Прошу откликнуться CraCk. Как у Вас? Мост выжил?

Ну не совсем. Давно говорил что мост Таноса не ненадёжен любая мелкая ошибка и все... и уже меняешь полевики.
Проверил мост без контролера и микросхемы 74нс08.
Пошло по пи...е второе плече то есть канал 2.
Изображение
Это то на котором БП издавал жудкие звуки, на нем был подключен движок и питание 12в. А плече мотора 1 осталось в целостности на нем было подключено только питание 12в. Как только заметил что плече работает только в одном направление сразу же все отключил. Хорошо что хватило ума не подключать двигатель еще на это плече. Наверно это и спасло эту часть моста.
Вывод один, что для задания положения двигателя датчиком нужно отключать программные концевики, хотя это нужно проверять может и не в этом проблема.
Ale сделаешь прошивку для испытаний без концевиков????? Еще осталось два полевика для экспериментов.

Поиски неисправностей моста буду начинать с понедельника, а сегодня очень устал, а завтра законный отдых:Изображение :

Думаю давать ответы на предыдущие вопросы уже нет смысла.
Только уточню на будущее:
1 - схема подключения стандартная Таноса, нет ни каких извращений. Только Мост модифицировать от null (соединенны массы)
2 - уровень напряжения на ножке AREF подкручено до 5В.

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

Сообщение Ale » 06 май 2012, 10:39

CraCk писал(а):Ale сделаешь прошивку для испытаний без концевиков?????

В этом нет необходимости. В терминале можно их перенастроить, вплоть до полного отключения. Для этого надо параметр Sens1Lo (и Sens2Lo) установить = 0, а Sens1(2)Hi =255

CraCk писал(а):Пошло по пи...е второе плече то есть канал 2.
А плече мотора 1 осталось в целостности

А вот тут я опять в замешательстве. Проблема, которую я обнаружил, связана с Motor1 IN2 - т.е. с ПЕРВЫМ каналом контроллера в терминологии Таноса. А ты попрощался со ВТОРЫМ каналом моста... (продолжаю через 4 минуты) ... так, понятно. Посмотрел внимательно на разводку моста, Танос тут конечно напутал - у него ПЕРВЫЙ канал контроллера (Motor1 PWM, Motor1 IN1 и Motor1 IN2) подключается ко ВТОРОМУ каналу моста (Motor2). Отсюда и путаница. Что-то я не натыкался на обсуждение этого вопроса на форумеИзображение

Теперь, что касается надежности моста. Во первых, нужно ввести подтягивающие на землю резисторы на сигналах Motor1(2) IN1(2). 4 шт номиналом 5-10 КОм. Если бы они были припаяны - уже сейчас бы мост CraCk не окочурился от того, что одна их этих ног фактически контроллером не управлялась. Кроме того, это должно решить проблему с одновременным включением питания контроллера и моста...

Ну а уж если пойдет разговор о модификации, то надо ЖЕЛЕЗНО запретить возможность НЕДОПУСТИМЫХ комбинаций (две лог.1 одновременно на линиях управления IN1 и IN2). Для этого достаточно ввести в схему моста еще один лог элемент - да хотя бы 74HC04.

Изображение

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

Сообщение CraCk » 06 май 2012, 14:05

Ale писал(а):Ну а уж если пойдет разговор о модификации, то надо ЖЕЛЕЗНО запретить возможность НЕДОПУСТИМЫХ комбинаций (две лог.1 одновременно на линиях управления IN1 и IN2). Для этого достаточно ввести в схему моста еще один лог элемент - да хотя бы 74HC04.

А реализовать это дело в самом микроконтроллере возможно?

Ale писал(а):В этом нет необходимости. В терминале можно их перенастроить, вплоть до полного отключения. Для этого надо параметр Sens1Lo (и Sens2Lo) установить = 0, а Sens1(2)Hi =255

А почему отключение концевиков идет 0 и 255, а не -1 и 256?

В будущем планируется вывод данных на РС которые мы видим на дисплее контролера?

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

Сообщение Ale » 06 май 2012, 18:12

CraCk писал(а):А реализовать это дело в самом микроконтроллере возможно?

В контроллере это реализовано программно, я при переключении направления вращения двигателя сначала отключаю один сигнал, и только потом включаю второй. Но... к сожалению, не все зависит от программы. При подаче питания на контроллер все его порты настроены на вход, т.е. уровень напряжения на них не определен. И такое состояние сохраняется вплоть до старта внутренней прошивки, в которой переопределяются направления ног контроллера. Сама пауза после рестарта может длиться до десятков миллисекунд, да плюс еще программные задержки на инициализацию всех переменных при написании программы на CVAVR... Именно в этот момент, если ножки контроллера не притянуты резисторами к одной из шин питания, на них может устанавливаться любое напряжение. И может выгореть мост... Поэтому кроме программных необходимы и ЖЕЛЕЗНЫЕ меры для повышения надежности.


CraCk писал(а):А почему отключение концевиков идет 0 и 255, а не -1 и 256?

Ну. Привычка не использовать отрицательные числа. В принципе, разницы особой нет.

CraCk писал(а):В будущем планируется вывод данных на РС которые мы видим на дисплее контролера?

Да, планируется. Но тут есть одна сложность - как правило, приложение на компьютере, в котором предусмотрена работа с COM-портом, завладевает этим портом монопольно. Т.е. если Sender ( или кто там отвечает за посылку данных из игры контроллеру?), начал свою работу - данные от контроллера по тому же COM-порту уже никто посторонний принять не сможет. В этом случае - LCD экран показывает в реальном времени работу контроллера.

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

Сообщение CraCk » 06 май 2012, 22:18

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

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

Сообщение Ale » 06 май 2012, 22:29

CraCk писал(а):... А тут будет все отображаться на РС.

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

Сообщение CraCk » 07 май 2012, 21:01

Вот теперь совсем другое дело!!! Система работает!!!
На мосте заменил полевик и все заработало.
http://youtu.be/DRIdzdXvAqs

Ale в контролере используется весь диапазон шим?
На входе моста у меня 12.2В на выходе 11.7В. Только не помню сколько было вольт на выходе в прошивке Таноса.

Еще двигатель начинает двигаться только когда шим подходит до 500 и -500. Это зависит от Kp?
В терминале изменял только Sens(1,2)Lo = 11, и Sens(1,2)Hi =240.

Отношение сторон моста и контролера.
Изображение

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

Сообщение Ale » 07 май 2012, 21:54

CraCk писал(а):Вот теперь совсем другое дело!!! Система работает!!!

Ну слава Бо...
CraCk писал(а):Ale в контролере используется весь диапазон шим? На входе моста у меня 12.2В на выходе 11.7В.

Нет, пока не весь (подстраховался немного, потом расширим до максимума) . На дисплее видно, что ограничения по максимальному шиму = 1010, а максимальный диапазон = 1023. Как раз и соответствует примерно отношению: 11.7/12.2
CraCk писал(а):Еще двигатель начинает двигаться только когда шим подходит до 500 и -500. Это зависит от Kp?

А вот это странно. Дело в том, что ШИМ, который отображается на дисплее, сразу подается на двигатель. Можно проверить тестером напругу на движке. И то, что двигатель не крутится до ШИМ = 500 может означать только то, что при подаче на движок напряжения до 6 вольт он стоит (если ШИМ 1023 соответствует 12 Вольтам на движке, то 500 - примерно 6 Вольтам). А от Kp зависит ВЕЛИЧИНА ШИМ при рассогласовании. Кстати, это повод подумать, может стоит ввести некий минимальный ШИМ. Вернее, я его даже вводил в прошивку, но для асинхронников это было не актуально... А сейчас вижу, что может быть стоит при минимальном рассогласовании сразу давать ШИМ примерно 400, тогда движок будет резвее.
CraCk писал(а):Отношение сторон моста и контролера...

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

Сообщение CraCk » 07 май 2012, 22:28

Ale писал(а): А сейчас вижу, что может быть стоит при минимальном рассогласовании сразу давать ШИМ примерно 400, тогда движок будет резвее.

ООО скоро еще одна переменная появится в терминалеИзображение
Ale писал(а):А от Kp зависит ВЕЛИЧИНА ШИМ при рассогласовании.

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

Сообщение CraCk » 08 май 2012, 22:02

CraCk писал(а):Буду еще пробовать из Kp экспериментировать


Kp40
http://youtu.be/7MSL2ij8lHc

Kp80
http://youtu.be/YAqWq35UDPI

Kp80 + x-sim
http://youtu.be/YBUhu0lhf24

Ale писал(а):А сейчас вижу, что может быть стоит при минимальном рассогласовании сразу давать ШИМ примерно 400


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

Сообщение Ale » 09 май 2012, 19:56

CraCk писал(а):
Ale писал(а):А сейчас вижу, что может быть стоит при минимальном рассогласовании сразу давать ШИМ примерно 400

Да можно но это будет полезно только при малом Кр. При большом Кр может и не влиять на ситуацию.

Спасибо за работу, CraCk. Все таки чертовски приятно, что прошивка работает. Не так страшен Танос... Изображение

Я все таки введу минимальный ШИМ, вреда не будет.

Более того, немного разгружу терминал. Дело в том, что как правило для обоих каналов настройки делаются одинаковыми. Поэтому я предложу в терминале выбор - одинаковые настройки или разные. И тогда, при выборе одинаковых настроек, надо будет вводить настройки только для одного канала...

Всех с Праздником Победы!!! Изображение



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

Сообщение FELiS » 10 май 2012, 05:52

Нашим зарубежным друзьям еще не давали прошивку на тест?
Аватара пользователя
FELiS
Добрый Фелис
 
Сообщения: 532
Зарегистрирован: 11 янв 2007, 23:21
Благодарил (а): 27 раз.
Поблагодарили: 123 раз.
Баллы репутации: 156
ТехнарьТехнарь

Сообщение Ale » 10 май 2012, 06:05

FELiS писал(а):Нашим зарубежным друзьям еще не давали прошивку на тест?

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

Сообщение Segriv » 11 май 2012, 09:22

Ale писал(а):А сейчас вижу, что может быть стоит при минимальном рассогласовании сразу давать ШИМ примерно 400, тогда движок будет резвее.


тогда может появится дрожание (джиттер)
сча с ним тоже борюсь )


в своём проекте я принимаю в комп информацию о положении (АЦП) и передаю скважность в МК. мк потом и генерит ШИМ, управляя частотником и потом двигателем.

при такой системе, лично я, вижу плюсы: более гибкая настройка управлением привода
вЭлкам на rk-stud.ru
Аватара пользователя
Segriv
Парторг
 
Сообщения: 74
Зарегистрирован: 06 окт 2011, 21:43
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Баллы репутации: 0

Сообщение Ale » 11 май 2012, 09:31

Segriv писал(а):
Ale писал(а):А сейчас вижу, что может быть стоит при минимальном рассогласовании сразу давать ШИМ примерно 400, тогда движок будет резвее.


тогда может появится дрожание (джиттер)
сча с ним тоже борюсь )

На счет джиттера - "мертвая" зона имеется (+/- MinD). Настраивай и вперед. Более того, как раз у тебя, как и у Pavel155 (вы с асинхронниками работаете) минимальный ШИМ будет вреден, поскольку движок прямо от нуля начинает крутиться. Если я не прав - поправь. И тебе для борьбы с дрожанием как раз "мертвая" зона пригодится.

А вот для CraCk и всех, кто на газелевских моторах работает - будет полезно ограничить ШИМ снизу неким минимальным уровнем, поскольку при ШИМ < 500 мотор вообще стоит (судя по видео от CraCk). Но, при этом, если мы в "мертвой" зоне, т.е. позиция совпадает с заданной с точностью +/- MinD, то ШИМ отключается до нуля - движок стоит.

Segriv писал(а):в своём проекте я принимаю в комп информацию о положении (АЦП) и передаю скважность в МК. мк потом и генерит ШИМ, управляя частотником и потом двигателем.

при такой системе, лично я, вижу плюсы: более гибкая настройка управлением привода

Не спорю. Просто мы для начала решили сделать прошивку, способную улучшить Таносовский контроллер, и полностью с ним совместимую. У тебя другой контроллер и другая идеология управления, что вполне естественно. Только вот на счет "более гибкой" я бы добавил - "по сравнению с прошивкой Таноса". Изображение Потому что все разумное, что можно сделать на компе, вполне можно реализовать в контроллере, добавив ему той же гибкости. ИМХО.
Ну и еще, в пользу твоей архитектуре, прошивка в контроллере может быть совершенно простой, и основная работа ложится на плечи программиста компа, а не контроллера Изображение

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

Пред.След.

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

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

Сейчас этот форум просматривают: Google [Bot] и гости: 209

cron
x

#{title}

#{text}