Перейти к содержанию
    

Сомнения: доверять или не доверять AVR управление H-bridge

+1 Под каждым предложением.

Вопрос: на каком же последовательном интерфейсе лучше остановиться сейчас? Пока что, с учетом необходимой гальваноразвязки, катит UART

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

+1 Под каждым предложением.

Вопрос: на каком же последовательном интерфейсе лучше остановиться сейчас? Пока что, с учетом необходимой гальваноразвязки, катит UART

Для изделий среднего уровня подходит UART в различных вариантах. Например RS485. Собственно гляньте на siemens с её S7-300. Там применён PROFIBUS (RS485). Только достаточно высокоскоростной (до 12Мбит). Удалённая переферия, те же привода интелектуальные, средства отображения, системы типа нескольких мастеров и т.д.

В области автомобилестроения CAN и LIN. Эти значительно дороже в плане аппаратной поддержки и значительно сложнее в плане програмной реализации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вопрос: на каком же последовательном интерфейсе лучше остановиться сейчас? Пока что, с учетом необходимой гальваноразвязки, катит UART

Вот тут что-то похожее обсуждалось: http://caxapa.ru/126654.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

To SasaVitebsk :a14:

 

+1 Под каждым предложением.

Вопрос: на каком же последовательном интерфейсе лучше остановиться сейчас? Пока что, с учетом необходимой гальваноразвязки, катит UART

Хм. Здесь мне следует чуть чуть пояснить. Каждый привод хочу обеспечить двумя последовательными шинами: I2C и UART. I2C будет предназначен для соединений внутри работающей системы. Т.е. по этому интерфейсу привода будут договариваться и принимать команды от главного (управляющего) МК. Интерфейс UART будет предназначен для подключения к компу с целью что-то настроить, отладить, проверить. Короче говоря будет выступать в роли своеобразного технологического канала для сервисного обслуживания.

По крайней мере, такая реализация была задумана давно и существует до настоящего времени. Но пост уважаемого Павла (_Pasha) натолкнул меня на мысль: а может быть оставить только один UART? А уже программное обеспечение привода будет определять к чему он подключен и, в зависимости от этого, общение будет удобным для человека (вывод текстовых сообщений, командная строка и тп) или - удобным для другого МК (какой-либо протокол).

На счет развязки: если МК привода развязать с силовыми ключами оптронами, то это даст:

1. Дополнительную защиту МК от сбоев.

2. Защиту от пробоя портов МК при выходе из строя силовой части.

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

 

Также следует сказать, что вся система управления, в которой будет находится три контроллера привода (который мы сейчас обсуждаем), плата главного МК, БП будет помещаться в одном корпусе от старого компа. корпус типа "пицца" (лежачий).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

To SasaVitebsk :a14:

Хм. Здесь мне следует чуть чуть пояснить. Каждый привод хочу обеспечить двумя последовательными шинами: I2C и UART. I2C будет предназначен для соединений внутри работающей системы. Т.е. по этому интерфейсу привода будут договариваться и принимать команды от главного (управляющего) МК. Интерфейс UART будет предназначен для подключения к компу с целью что-то настроить, отладить, проверить. Короче говоря будет выступать в роли своеобразного технологического канала для сервисного обслуживания.

Имеет право на жизнь. Реализация на RS485 мультимастера достаточно сложно, хотя и возможно.

Я бы предпочёл одну шину с несколькими группами команд. А технологические комманды транслировал бы ч/з главный контроллер.

По крайней мере, такая реализация была задумана давно и существует до настоящего времени. Но пост уважаемого Павла (_Pasha) натолкнул меня на мысль: а может быть оставить только один UART? А уже программное обеспечение привода будет определять к чему он подключен и, в зависимости от этого, общение будет удобным для человека (вывод текстовых сообщений, командная строка и тп) или - удобным для другого МК (какой-либо протокол).

Есть и другой способ. Очень интересный. У сименса подсмотрел. :)

На счет развязки: если МК привода развязать с силовыми ключами оптронами, то это даст:

1. Дополнительную защиту МК от сбоев.

2. Защиту от пробоя портов МК при выходе из строя силовой части.

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

 

Также следует сказать, что вся система управления, в которой будет находится три контроллера привода (который мы сейчас обсуждаем), плата главного МК, БП будет помещаться в одном корпусе от старого компа. корпус типа "пицца" (лежачий).

Я бы не стал МК от ключей развязывать (чисто мой взгляд). Какая защита портов. Что там защищать? Разводку грамотную, питание развязанное. Максимально близко всё на одной плате. Максимально внимания уделил самой схеме приводов и разводке платы и конструкции. Там всё очень важно. А развязку бы сделал на интерфейс. Получился бы законченный блок управления двигуном с опторазвязанным интерфейсом. А может действительно развязать и просто RS485. При верном подходе и так и так работать будет устойчиво.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... а может быть оставить только один UART? А уже программное обеспечение привода будет определять к чему он подключен и, в зависимости от этого, общение будет удобным для человека (вывод текстовых сообщений, командная строка и тп) или - удобным для другого МК (какой-либо протокол).

...

Конечно, использовать два интерфейса нет смысла. Лучше всего RS485 - получится организовать маленькую сеть :) Могу подарить протокол и его реализацию на PC и в контроллере. Правда, Mега32, но это можно портировать. Единственно - требуется знание C и умение использовать макросы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот эта штука крутит киловаттный движок (типа стенда). Однотактнник с обратным диодом, правда. Работает на индуктивность двигателя. Частота аппаратного ШИМ - 1,22кГц. Звон от движка - ещё тот. Нижняя плата - ШИМ+АЦП (те, что в нижнем правом углу) для датчиков тока и напряжения. Верхняя - логика управления. Между платами развязка на 6N137 (шина SPI). "Верхний ключ" - IRGPC50KD2 + IR4426 с развязкой на 6N137. Аппартной защиты нет. Контроллер ШИМ, правда, вырубается при потере связи с контроллером управления. БП вырабатывает +12В, -12В для ОУ +20В для драйвера ключа, два по 10В для контроллеров, и +13В для RS232-преобразователя уровней (тоже развязан на 6N137). Контроллеры работают от кварцев. "Аппарат" вёл себя стабильно, при работающем рядом частотнике без фильтров и токе через двигатель - 6А.

post-25074-1218631532_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По поводу кварцев. Ребята из Spectrum Digital и Luminary Micro не обламываются и ставят в своих китах на процы кварцы. Все вроде у них работает.

Снимать ток с помощью шунта ИМХО заиметь большой гемор с разводкой аналоговой части платы. На макетке снять сигнал с шунта, усилить его, пустить на АЦП и получить нормальные значения почти нереально. Тем более вы сначала купите этот шунт. Кто подскажет где можно взять резистор скажем на 18мОм для шунта? Проще всего использовать датчики тока(на эффекте Холла) от Allegro или магниторезистивные от Bell. Заодно и развязку получите, т.к измерение тока "бесконтактное".

Я бы очень рекомендовал использовать драйвер с "силовой" и "цифровой" землей. Типа IR21064. Тогда вообще забудите про помехи. Заводите на плату два питания, одно для логики, другое для двигателя, которое кроме как к драйверу никуда не подключается. Тогда плату можно разводить без особого гемора. Про Deadtime ничего не скажу, кроме того, что он нужен. Проще всего вместо авр ставить норм проц который сам будет генирить deadband. но такой вариант автору не подходить.

Изменено пользователем Dars

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имеет право на жизнь. Реализация на RS485 мультимастера достаточно сложно, хотя и возможно.

Хорошо. Здесь наши мысли почти сходятся.

Я бы не стал МК от ключей развязывать (чисто мой взгляд). Какая защита портов. Что там защищать?

Был на моей памяти случай, когда были пробиты ключи на базе ULN2803, которыми МК управлял. Так вот почти весь порт был угроблен. Я просто боюсь повторения подобной ситуации в моем случае.

Получился бы законченный блок управления двигуном с опторазвязанным интерфейсом.

Звучит заманичиво, но пока терзают сомнения, написанные в предыдущей цитате.

 

По поводу кварцев. Ребята из Spectrum Digital и Luminary Micro не обламываются и ставят в своих китах на процы кварцы. Все вроде у них работает.

Тут как раз подобная ситуация.

 

 

Снимать ток с помощью шунта ИМХО заиметь большой гемор с разводкой аналоговой части платы. На макетке снять сигнал с шунта, усилить его, пустить на АЦП и получить нормальные значения почти нереально.

А пустить на компаратор, который будет сравнивать ток с заранее установленным значением и выдавать сигнал аварийного выключения при перегрузке?

Тем более вы сначала купите этот шунт.

Я почему-то подумал, что возьму кусох нихрома...

Проще всего использовать датчики тока(на эффекте Холла) от Allegro или магниторезистивные от Bell. Заодно и развязку получите, т.к измерение тока "бесконтактное".

Скорее всего это задел на будущее. Бюджет текущей разработки очень сильно ограничен.

 

Вот эта штука крутит киловаттный движок (типа стенда). Однотактнник с обратным диодом, правда. Работает на индуктивность двигателя. Частота аппаратного ШИМ - 1,22кГц. Звон от движка - ещё тот. Нижняя плата - ШИМ+АЦП (те, что в нижнем правом углу) для датчиков тока и напряжения. Верхняя - логика управления. Между платами развязка на 6N137 (шина SPI). "Верхний ключ" - IRGPC50KD2 + IR4426 с развязкой на 6N137. Аппартной защиты нет. Контроллер ШИМ, правда, вырубается при потере связи с контроллером управления. БП вырабатывает +12В, -12В для ОУ +20В для драйвера ключа, два по 10В для контроллеров, и +13В для RS232-преобразователя уровней (тоже развязан на 6N137). Контроллеры работают от кварцев. "Аппарат" вёл себя стабильно, при работающем рядом частотнике без фильтров и токе через двигатель - 6А.

Впечатляет!!!

Это вселяет в меня надежду и еще раз доказывает, что при аккуратном подходе почти все возможно!

:a14:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А пустить на компаратор, который будет сравнивать ток с заранее установленным значением и выдавать сигнал аварийного выключения при перегрузке?

Ну если вам нужен Faul detection то именно так и делают. На спец процах(напр tms320) есть даже специальная ножка FAULT, к которой подключаете выход компаратора. В моей задаче мне нужно управление по току и задачу отключения двигателя в случае перегрузки по току, напряжению и т.д и я делаю программно.

Скорее всего это задел на будущее. Бюджет текущей разработки очень сильно ограничен.

 

Ну на будущее, предлагаю посмотреть на мое решение для управления бесколлекторым(можно и коллекторным) двигателем.Есть возможность крутить движком с датчиками холла(аналог/цифр),оптическим квадратурным энкодером, sensorless mode. Ток измеряется с помощью внешнего ацп.Динамическое торможение присутствует. Раздельная цифровая и силовая земля.

motor_drive.pdf

Изменено пользователем Dars

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну если вам нужен Faul detection то именно так и делают. На спец процах(напр tms320) есть даже специальная ножка FAULT, к которой подключаете выход компаратора.

Хорошо, значит это решение работает.

В моей задаче мне нужно управление по току и задачу отключения двигателя в случае перегрузки по току, напряжению и т.д и я делаю программно.

Если я не ошибаюсь, то в схеме, приведенной Вами, нет аппаратного отключения моста при перегрузки. Нет опасений, что сбойнет МК? С другой стороны МК у Вас ARM, значит автоматом перейдет на внутренний RC если будут проблемы со внешним кварцом. Верно?

Ну на будущее, предлагаю посмотреть на мое решение для управления бесколлекторым(можно и коллекторным) двигателем.Есть возможность крутить движком с датчиками холла(аналог/цифр),оптическим квадратурным энкодером, sensorless mode. Ток измеряется с помощью внешнего ацп.Динамическое торможение присутствует. Раздельная цифровая и силовая земля.

Да, посмотрел :) Спасибо! Кое-что интересное уже сейчас увидел) :a14:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хорошо, значит это решение работает.

Как то делал более 20А с пусковым током ~100 или более. Так что 6A - детский лепет. :)

Особенно сказывается если напряжение высокое. Ток сам по себе - ерунда. Подсмотрите силовую часть в стандартном приводе и постарайтесь ничего не выбрасывать. Например дросель.

 

Я бы прислушился к мнению Dars. Считаю высказанное им очень справедливым. Я проходил когда-то нихромовую проволоку с компаратором. В конечном итоге конечно всё заработало...

 

Если пойдёте по этому пути, то имейте ввиду следующие моменты.

1) Необходимо учесть скорость нарастания тока и время реакции вашей системы.

2) Необходимо ввести постоянную времени регулирования. Она должна соответствовать частотным характеристикам ваших ключей.

 

Конечно это всё зависит от конкретного схемного решения.

 

PS: Разделение цифровой и силовой земли - тоже очень хороший тон. На всех этапах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если я не ошибаюсь, то в схеме, приведенной Вами, нет аппаратного отключения моста при перегрузки. Нет опасений, что сбойнет МК? С другой стороны МК у Вас ARM, значит автоматом перейдет на внутренний RC если будут проблемы со внешним кварцом. Верно?

 

Аппаратного нет. есть программное. аппартаное здесь можно сделать только путем добавления шунта, который я ставить не хочу. на датчике тока от аллегро сделать аппаратную защиту не получиться, т.к rise time = 5мкс. а у меня там еще стоит фильтр на 2kHz( то есть rise time еще больше) для того чтобы с ацп снимать среднее значение тока и по нему управлять двигателем. МК не сбойнет. на схеме цифровое и силовое питания раздельны, помех никто не генерит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как то делал более 20А с пусковым током ~100 или более. Так что 6A - детский лепет. :)

Особенно сказывается если напряжение высокое. Ток сам по себе - ерунда. Подсмотрите силовую часть в стандартном приводе и постарайтесь ничего не выбрасывать. Например дросель.

Хорошо. Я постараюсь найти и посмотреть схемы фирменных приводов.

Я бы прислушился к мнению Dars. Считаю высказанное им очень справедливым. Я проходил когда-то нихромовую проволоку с компаратором. В конечном итоге конечно всё заработало...

Ну вот :crying: А я такой подход видел в нескольких аппликейшен от Microchip. Посмотрю еще раз, может быть там и были оговорки, на которые я не обратил внимание по неопытности.

Если пойдёте по этому пути, то имейте ввиду следующие моменты.

1) Необходимо учесть скорость нарастания тока и время реакции вашей системы.

Как я понимаю от этого зависит насколько быстро сработает защита? Или этот парамет еще что-то характеризует? Т.е. ток может очень медленно расти до критического уровня, скажем X амер, тогда почти любая защита сработает, включая предохранитель. Если же ток возрастет до критического уровня за очень малый промежуток времени (стремящийся в идеале к нулю), то не всякая защита успеет сработать. Это ли имелось в виду?

2) Необходимо ввести постоянную времени регулирования. Она должна соответствовать частотным характеристикам ваших ключей.

Можно чуть чуть подробнее. Не совсем понял о чем идет речь?

PS: Разделение цифровой и силовой земли - тоже очень хороший тон. На всех этапах.

Ну пока я руководствуюсь правилами с сахары, где говорится о разделении "чистой" и "грязной" землях.

 

 

Аппаратного нет. есть программное. аппартаное здесь можно сделать только путем добавления шунта, который я ставить не хочу. на датчике тока от аллегро сделать аппаратную защиту не получиться, т.к rise time = 5мкс. а у меня там еще стоит фильтр на 2kHz( то есть rise time еще больше) для того чтобы с ацп снимать среднее значение тока и по нему управлять двигателем. МК не сбойнет. на схеме цифровое и силовое питания раздельны, помех никто не генерит.

Т.е. в Вашем случае имеется в виду, что от аппаратной защиты также и будет толку по причине высокого Rise Time? Аппаратная защита должна работать быстрее?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Люди! :1111493779:

Не нада нихром!

Индуктивность - ай ай ай!

Лучше обратить внимание либо на китайческие 5W резисторы (минимальной индуктивностью, которая пока что позволяет нормально работать, обладают резюки только с номиналом 0,1 Ом), либо по-честному на smd : CSM-2512, CSM-3516- это шунты, но у них нормы отпуска забацанные - по 1000 штук. Правда, это в наших краях...

И компромисс - корпус 2512. Резюк порядка 10 миллиом - обычно не проблема.

Далее, надо обязательно при измерениях тока избегать запуска УВХ АЦП в моменты коммутации нижних транзисторов. Иначе выбросы напряжения, которые появляются при коммутации, искажают инфу о токе. Таким образом, если использовать frequency correct PWM, необходимо запускать АЦП в "верхушке треугольника", да еще и чтоб время выборки было покороче.

Про FAULT и компаратор- О-О-О! Проблема настолько надоела тем, что требует компромиссов, если плата не может обеспечить низкий уровень коммутационных помех, что хочеццо заплакать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...