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


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

Новейшая прошивка для Arduino.

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

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

Re: Новейшая прошивка для Arduino.

Сообщение SimAl » 01 июл 2015, 21:28

Ale писал(а):Дед, А зачем? Для СИМа полный ПИД не нужен (ИМХО). Но теперь я примерно представляю как его сделать. Если поймем, что действительно нужен. Собственно "I" составляющая просто минимизирует ошибки регулирования - позволяет МЕДЛЕННО доехать до точной позиции. Нужно ли это для СИМа? Давай обсудим. ;)
Во время игры от нее толку не будет. Но какой-то профит может быть, например после игры, когда симулятор должен остановится ровно, а он остановится с перекосом из-за дедзон. Интегральная часть потихоньку вырулит. Или, возможно в каких-то медленных играх, где сильно не трясет, например авиасимуляторы.
С другой стороны, если реализован Д регулятор, значит регулятор уже вызывается через равные промежутки времени, а значит добавить И можно буквально парой строк.
Аватара пользователя
SimAl
SIMER
 
Сообщения: 379
Зарегистрирован: 22 ноя 2013, 20:03
Откуда: Кропивницкий
Благодарил (а): 58 раз.
Поблагодарили: 258 раз.
Баллы репутации: 128
ТехнарьТехнарь

Re: Новейшая прошивка для Arduino.

Сообщение Ale » 01 июл 2015, 22:07

SimAl писал(а):
Ale писал(а):Дед, А зачем? Для СИМа полный ПИД не нужен (ИМХО). Но теперь я примерно представляю как его сделать. Если поймем, что действительно нужен. Собственно "I" составляющая просто минимизирует ошибки регулирования - позволяет МЕДЛЕННО доехать до точной позиции. Нужно ли это для СИМа? Давай обсудим. ;)
Во время игры от нее толку не будет. Но какой-то профит может быть, например после игры, когда симулятор должен остановится ровно, а он остановится с перекосом из-за дедзон. Интегральная часть потихоньку вырулит. Или, возможно в каких-то медленных играх, где сильно не трясет, например авиасимуляторы.
С другой стороны, если реализован Д регулятор, значит регулятор уже вызывается через равные промежутки времени, а значит добавить И можно буквально парой строк.


В принципе сделать полный ПИД - дело чисто техническое. Да, в программе нужно заводить накопитель (интегратор) с проверкой на переполнение, да, коэффициент Ki должен быть совсем маленьким - поэтому возникнет сложность при реализации в целых числах. Но можно.

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

Re: Новейшая прошивка для Arduino.

Сообщение Spirit » 01 июл 2015, 23:44

Ale писал(а):
SimAl писал(а):Upd. Это я про VNH2SP30. Что такое IBT-2... я не знаю.

IBT-2 - это полный мост на двух BTS7960
Вот тут автор не заморачивается, а управляет всего по ДВУМ ножкам - два ШИМ подает (строго по очереди - если одни ШИМ включен - другой выход = 0) А остальные ноги управления прямо от источника питания притягивает на +5 В
http://www.hessmer.org/blog/2013/12/28/ibt-2-h-bridge-with-arduino/


Вот так я себе и представлял подключение изначально, но мне не понятно - как в таком случае происходит обесточивание двигателя... допустим для торможения или холостого хода. Получается прошивка должна подавать на оба входа IN: лог 0 для холостого хода и 100 ШИМ (лог1) для торможения закорачиванием обмотки? Правильно? 100 ШИМ - это лог.1?.
Аватара пользователя
Spirit
SIMER
 
Сообщения: 300
Зарегистрирован: 18 ноя 2014, 14:40
Откуда: Киев
Благодарил (а): 85 раз.
Поблагодарили: 95 раз.
Баллы репутации: 58
Технарь

Re: Новейшая прошивка для Arduino.

Сообщение Spirit » 02 июл 2015, 00:07

Еще вопрос. Как реализована подача сигнал DIR:
- с контроллера идет строго "1" или "земля";
или
- "1" и "отсутствие сигнала" (ножка висит в воздухе)?
Я чего спрашиваю, если у меня на входе моста стоит опторазвязка на 6n137, подав ШИМ на аноды, а DIRы на катоды, я получу одновременное свечение двух каналов в противофазе или все же свечение только одного диода на катоде которого будет земля, второй предположительно в это время катодом висит в воздухе?
Аватара пользователя
Spirit
SIMER
 
Сообщения: 300
Зарегистрирован: 18 ноя 2014, 14:40
Откуда: Киев
Благодарил (а): 85 раз.
Поблагодарили: 95 раз.
Баллы репутации: 58
Технарь

Re: Новейшая прошивка для Arduino.

Сообщение Ale » 02 июл 2015, 08:20

Spirit писал(а):Еще вопрос. Как реализована подача сигнал DIR:
- с контроллера идет строго "1" или "земля";
или
- "1" и "отсутствие сигнала" (ножка висит в воздухе)?
Я чего спрашиваю, если у меня на входе моста стоит опторазвязка на 6n137, подав ШИМ на аноды, а DIRы на катоды, я получу одновременное свечение двух каналов в противофазе или все же свечение только одного диода на катоде которого будет земля, второй предположительно в это время катодом висит в воздухе?


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

Re: Новейшая прошивка для Arduino.

Сообщение Spirit » 02 июл 2015, 10:12

Ale писал(а):
Spirit писал(а):Еще вопрос. Как реализована подача сигнал DIR:
- с контроллера идет строго "1" или "земля";
или
- "1" и "отсутствие сигнала" (ножка висит в воздухе)?
Я чего спрашиваю, если у меня на входе моста стоит опторазвязка на 6n137, подав ШИМ на аноды, а DIRы на катоды, я получу одновременное свечение двух каналов в противофазе или все же свечение только одного диода на катоде которого будет земля, второй предположительно в это время катодом висит в воздухе?


Не понял, как ты включаешь опторазвязку?
По сигналам - у контроллера по умолчанию после включения питания все ноги настроены на вход ("висят в воздухе") до момента их инициализации в прошивке. Потом все управляющие ноги становятся включенными на выход, и на них строгие сигналы 0 и 1 ("земля" и "питание"). Время от включения до инициализации совсем небольшое (несколько микросекунд), но об этом нужно помнить.


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

Изображение
Аватара пользователя
Spirit
SIMER
 
Сообщения: 300
Зарегистрирован: 18 ноя 2014, 14:40
Откуда: Киев
Благодарил (а): 85 раз.
Поблагодарили: 95 раз.
Баллы репутации: 58
Технарь

Re: Новейшая прошивка для Arduino.

Сообщение SimAl » 02 июл 2015, 11:08

Ale писал(а):Время от включения до инициализации совсем небольшое (несколько микросекунд), но об этом нужно помнить.
В случае Ардуино там больше гораздо. В голом контроллере во фьюзах прошивается по несколько миллисекунд. Плюс к этому в случае Ардуино добавляется еще бутлоадер, который ждет передачи по УАРТ, вероятно около секунды. При прошивке вообще несколько секунд ноги болтаются.
Аватара пользователя
SimAl
SIMER
 
Сообщения: 379
Зарегистрирован: 22 ноя 2013, 20:03
Откуда: Кропивницкий
Благодарил (а): 58 раз.
Поблагодарили: 258 раз.
Баллы репутации: 128
ТехнарьТехнарь

Re: Новейшая прошивка для Arduino.

Сообщение Ale » 02 июл 2015, 11:22

SimAl писал(а):
Ale писал(а):Время от включения до инициализации совсем небольшое (несколько микросекунд), но об этом нужно помнить.
В случае Ардуино там больше гораздо. В голом контроллере во фьюзах прошивается по несколько миллисекунд. Плюс к этому в случае Ардуино добавляется еще бутлоадер, который ждет передачи по УАРТ, вероятно около секунды. При прошивке вообще несколько секунд ноги болтаются.

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

Re: Новейшая прошивка для Arduino.

Сообщение Ale » 02 июл 2015, 11:27

Spirit писал(а):Понял, спасибо.
Мост купил в такой схеме, переделаю когда буду подключать.

Обрати внимание, что опто-изоляторы ИНВЕРТИРУЮТ сигнал. Это означает, что когда на выходе контроллера "лог0" - после изолятора на входе моста будет "лог1". Так что лучше после изоляторов включить еще инвертор типа 74(xx)04
Аватара пользователя
Ale
Разработчик
 
Сообщения: 1477
Зарегистрирован: 01 фев 2011, 20:48
Откуда: Дубна
Благодарил (а): 570 раз.
Поблагодарили: 595 раз.
Баллы репутации: 277
ТехнарьТехнарьТехнарь

Re: Новейшая прошивка для Arduino.

Сообщение Spirit » 02 июл 2015, 17:02

Ale писал(а):
Spirit писал(а):Понял, спасибо.
Мост купил в такой схеме, переделаю когда буду подключать.

Обрати внимание, что опто-изоляторы ИНВЕРТИРУЮТ сигнал. Это означает, что когда на выходе контроллера "лог0" - после изолятора на входе моста будет "лог1". Так что лучше после изоляторов включить еще инвертор типа 74(xx)04


Инвертор видел на схеме 6N137, но в данном случае используется A2630, она вроде без инвертора.
А прошивка может менять уровни DIR принудительно? Если на одном выходе появилась "лог. 1", то на втором принудительно выставлялся "0". Или это надо логикой реализовывать? Получается, что если не использовать режим динамического торможения, достаточно только ШИМ+DIR.
В любом случае спасибо за предупреждение, проверю перед подключением, где бы вот только осциллограф найти. :?
Аватара пользователя
Spirit
SIMER
 
Сообщения: 300
Зарегистрирован: 18 ноя 2014, 14:40
Откуда: Киев
Благодарил (а): 85 раз.
Поблагодарили: 95 раз.
Баллы репутации: 58
Технарь

Re: Новейшая прошивка для Arduino.

Сообщение Ale » 02 июл 2015, 17:35

Spirit писал(а):Понял, спасибо.
Мост купил в такой схеме, переделаю когда буду подключать.

Погоди переделывать. Я не понял - у тебя уже готовый мост с изолятором? Схема откуда? Может ничего переделывать и не надо - надо повнимательней на схему взглянуть... Входные ноги только не видны...

Spirit писал(а):Инвертор видел на схеме 6N137, но в данном случае используется A2630, она вроде без инвертора.

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

Re: Новейшая прошивка для Arduino.

Сообщение SimAl » 02 июл 2015, 18:28

Там по выходу подтяжка есть: R3, R4, правда низкоомная какая-то. По входу ее ставить бессмысленно, т.к. может быть просто отключен кабель, а значит нет питания и она не сработает. Вопрос только в том, правильно ли она на выходе установлена. Я не знаю какой там сигнал нужен, но думаю правильно: кто-то же ее там для чего-то воткнул. :)

Чет я не понял этой таблицы истинности. Что такое "Enable"? На счет "Input" я еще могу предположить и то, не уверен.
Аватара пользователя
SimAl
SIMER
 
Сообщения: 379
Зарегистрирован: 22 ноя 2013, 20:03
Откуда: Кропивницкий
Благодарил (а): 58 раз.
Поблагодарили: 258 раз.
Баллы репутации: 128
ТехнарьТехнарь

Re: Новейшая прошивка для Arduino.

Сообщение Ale » 02 июл 2015, 18:35

SimAl писал(а):Там по выходу подтяжка есть: R3, R4, правда низкоомная какая-то. По входу ее ставить бессмысленно, т.к. может быть просто отключен кабель, а значит нет питания и она не сработает. Вопрос только в том, правильно ли она на выходе установлена. Я не знаю какой там сигнал нужен, но думаю правильно: кто-то же ее там для чего-то воткнул. :)

Чет я не понял этой таблицы истинности. Что такое "Enable"? На счет "Input" я еще могу предположить и то, не уверен.


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

Re: Новейшая прошивка для Arduino.

Сообщение Spirit » 02 июл 2015, 18:40

Ale писал(а):
Spirit писал(а):Понял, спасибо.
Мост купил в такой схеме, переделаю когда буду подключать.

Погоди переделывать. Я не понял - у тебя уже готовый мост с изолятором? Схема откуда? Может ничего переделывать и не надо - надо повнимательней на схему взглянуть... Входные ноги только не видны...

Spirit писал(а):Инвертор видел на схеме 6N137, но в данном случае используется A2630, она вроде без инвертора.

Посмотри на таблицу состояний - колонки input и output - первые две строчки.

Эээ... обрезал схемы сознательно так как картинка на форум не влезала.
Да мост купил готовый, схема выше от него.
В случае с оптоизолятором там рядом обрезана схема для 6N173, в ней нарисован инвертор, думаю таблица его касается.
Столбец ENABLE, скорее всего указывает на состояние вх. Ve, если я не ошибаюсь.
Вот переделал:
Изображение
По схеме моста:
Изображение

P1 - вход 24В, P2 - выход

P3.1 (+ от контроллера на аноды светодиодов) - подключу ШИМ.
P3.2 (- на катод) - предположил, что DIRы всегда находяться в противофазе, поэтому подключу тот выход DIR у которого "лог.0" при прямом вращении;
P3.3 (- на катод) - подключу тот выход DIR у которого "лог.0" при обратном вращении.

Не знаю только как воспримет диод смену полярности в случае когда на ШИМе (анод) будет лог.0, а DIR выдаст лог.1. По идее на то он и диод, чтоб пропускать ток в одном направлении.
Аватара пользователя
Spirit
SIMER
 
Сообщения: 300
Зарегистрирован: 18 ноя 2014, 14:40
Откуда: Киев
Благодарил (а): 85 раз.
Поблагодарили: 95 раз.
Баллы репутации: 58
Технарь

Re: Новейшая прошивка для Arduino.

Сообщение Ale » 02 июл 2015, 19:21

Spirit писал(а):Эээ... обрезал схемы сознательно так как картинка на форум не влезала.
Да мост купил готовый, схема выше от него.
В случае с оптоизолятором там рядом обрезана схема для 6N173, в ней нарисован инвертор, думаю таблица его касается.
Столбец ENABLE, скорее всего указывает на состояние вх. Ve, если я не ошибаюсь.


Таблица касается обоих типов оптоизолятора. То есть и 6N137, и HCPL2630 ИНВЕРТИРУЮТ сигнал.

Когда через светодиод ток не течет - выходной транзистор закрыт и его коллектор притянут через резистор R3 к шине питания. Когда ток через светодиод потечет - выходной транзистор открывается и его коллектор притягивается к "земле".

Spirit писал(а):P3.1 (+ от контроллера на аноды светодиодов) - подключу ШИМ.
P3.2 (- на катод) - предположил, что DIRы всегда находяться в противофазе, поэтому подключу тот выход DIR у которого "лог.0" при прямом вращении;
P3.3 (- на катод) - подключу тот выход DIR у которого "лог.0" при обратном вращении.


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

Пред.След.

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

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

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

cron
x

#{title}

#{text}