_Pasha 0 12 августа, 2008 Опубликовано 12 августа, 2008 · Жалоба +1 Под каждым предложением. Вопрос: на каком же последовательном интерфейсе лучше остановиться сейчас? Пока что, с учетом необходимой гальваноразвязки, катит UART Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SapegoAL 0 12 августа, 2008 Опубликовано 12 августа, 2008 · Жалоба +1 Под каждым предложением. Вопрос: на каком же последовательном интерфейсе лучше остановиться сейчас? Пока что, с учетом необходимой гальваноразвязки, катит UART Для изделий среднего уровня подходит UART в различных вариантах. Например RS485. Собственно гляньте на siemens с её S7-300. Там применён PROFIBUS (RS485). Только достаточно высокоскоростной (до 12Мбит). Удалённая переферия, те же привода интелектуальные, средства отображения, системы типа нескольких мастеров и т.д. В области автомобилестроения CAN и LIN. Эти значительно дороже в плане аппаратной поддержки и значительно сложнее в плане програмной реализации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Igor26 0 13 августа, 2008 Опубликовано 13 августа, 2008 · Жалоба Вопрос: на каком же последовательном интерфейсе лучше остановиться сейчас? Пока что, с учетом необходимой гальваноразвязки, катит UART Вот тут что-то похожее обсуждалось: http://caxapa.ru/126654.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 13 августа, 2008 Опубликовано 13 августа, 2008 · Жалоба To SasaVitebsk :a14: +1 Под каждым предложением. Вопрос: на каком же последовательном интерфейсе лучше остановиться сейчас? Пока что, с учетом необходимой гальваноразвязки, катит UART Хм. Здесь мне следует чуть чуть пояснить. Каждый привод хочу обеспечить двумя последовательными шинами: I2C и UART. I2C будет предназначен для соединений внутри работающей системы. Т.е. по этому интерфейсу привода будут договариваться и принимать команды от главного (управляющего) МК. Интерфейс UART будет предназначен для подключения к компу с целью что-то настроить, отладить, проверить. Короче говоря будет выступать в роли своеобразного технологического канала для сервисного обслуживания. По крайней мере, такая реализация была задумана давно и существует до настоящего времени. Но пост уважаемого Павла (_Pasha) натолкнул меня на мысль: а может быть оставить только один UART? А уже программное обеспечение привода будет определять к чему он подключен и, в зависимости от этого, общение будет удобным для человека (вывод текстовых сообщений, командная строка и тп) или - удобным для другого МК (какой-либо протокол). На счет развязки: если МК привода развязать с силовыми ключами оптронами, то это даст: 1. Дополнительную защиту МК от сбоев. 2. Защиту от пробоя портов МК при выходе из строя силовой части. 3. Интерфейс можно будет использовать любой, т.к. на нем не при каких условиях не появится высокое напряжение, которое повредит комп или плату управляющего МК. Также следует сказать, что вся система управления, в которой будет находится три контроллера привода (который мы сейчас обсуждаем), плата главного МК, БП будет помещаться в одном корпусе от старого компа. корпус типа "пицца" (лежачий). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SapegoAL 0 13 августа, 2008 Опубликовано 13 августа, 2008 · Жалоба To SasaVitebsk :a14: Хм. Здесь мне следует чуть чуть пояснить. Каждый привод хочу обеспечить двумя последовательными шинами: I2C и UART. I2C будет предназначен для соединений внутри работающей системы. Т.е. по этому интерфейсу привода будут договариваться и принимать команды от главного (управляющего) МК. Интерфейс UART будет предназначен для подключения к компу с целью что-то настроить, отладить, проверить. Короче говоря будет выступать в роли своеобразного технологического канала для сервисного обслуживания. Имеет право на жизнь. Реализация на RS485 мультимастера достаточно сложно, хотя и возможно. Я бы предпочёл одну шину с несколькими группами команд. А технологические комманды транслировал бы ч/з главный контроллер. По крайней мере, такая реализация была задумана давно и существует до настоящего времени. Но пост уважаемого Павла (_Pasha) натолкнул меня на мысль: а может быть оставить только один UART? А уже программное обеспечение привода будет определять к чему он подключен и, в зависимости от этого, общение будет удобным для человека (вывод текстовых сообщений, командная строка и тп) или - удобным для другого МК (какой-либо протокол). Есть и другой способ. Очень интересный. У сименса подсмотрел. :) На счет развязки: если МК привода развязать с силовыми ключами оптронами, то это даст: 1. Дополнительную защиту МК от сбоев. 2. Защиту от пробоя портов МК при выходе из строя силовой части. 3. Интерфейс можно будет использовать любой, т.к. на нем не при каких условиях не появится высокое напряжение, которое повредит комп или плату управляющего МК. Также следует сказать, что вся система управления, в которой будет находится три контроллера привода (который мы сейчас обсуждаем), плата главного МК, БП будет помещаться в одном корпусе от старого компа. корпус типа "пицца" (лежачий). Я бы не стал МК от ключей развязывать (чисто мой взгляд). Какая защита портов. Что там защищать? Разводку грамотную, питание развязанное. Максимально близко всё на одной плате. Максимально внимания уделил самой схеме приводов и разводке платы и конструкции. Там всё очень важно. А развязку бы сделал на интерфейс. Получился бы законченный блок управления двигуном с опторазвязанным интерфейсом. А может действительно развязать и просто RS485. При верном подходе и так и так работать будет устойчиво. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 13 августа, 2008 Опубликовано 13 августа, 2008 · Жалоба ... а может быть оставить только один UART? А уже программное обеспечение привода будет определять к чему он подключен и, в зависимости от этого, общение будет удобным для человека (вывод текстовых сообщений, командная строка и тп) или - удобным для другого МК (какой-либо протокол). ... Конечно, использовать два интерфейса нет смысла. Лучше всего RS485 - получится организовать маленькую сеть :) Могу подарить протокол и его реализацию на PC и в контроллере. Правда, Mега32, но это можно портировать. Единственно - требуется знание C и умение использовать макросы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VXDRV 0 13 августа, 2008 Опубликовано 13 августа, 2008 · Жалоба Вот эта штука крутит киловаттный движок (типа стенда). Однотактнник с обратным диодом, правда. Работает на индуктивность двигателя. Частота аппаратного ШИМ - 1,22кГц. Звон от движка - ещё тот. Нижняя плата - ШИМ+АЦП (те, что в нижнем правом углу) для датчиков тока и напряжения. Верхняя - логика управления. Между платами развязка на 6N137 (шина SPI). "Верхний ключ" - IRGPC50KD2 + IR4426 с развязкой на 6N137. Аппартной защиты нет. Контроллер ШИМ, правда, вырубается при потере связи с контроллером управления. БП вырабатывает +12В, -12В для ОУ +20В для драйвера ключа, два по 10В для контроллеров, и +13В для RS232-преобразователя уровней (тоже развязан на 6N137). Контроллеры работают от кварцев. "Аппарат" вёл себя стабильно, при работающем рядом частотнике без фильтров и токе через двигатель - 6А. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dars 0 13 августа, 2008 Опубликовано 13 августа, 2008 (изменено) · Жалоба По поводу кварцев. Ребята из Spectrum Digital и Luminary Micro не обламываются и ставят в своих китах на процы кварцы. Все вроде у них работает. Снимать ток с помощью шунта ИМХО заиметь большой гемор с разводкой аналоговой части платы. На макетке снять сигнал с шунта, усилить его, пустить на АЦП и получить нормальные значения почти нереально. Тем более вы сначала купите этот шунт. Кто подскажет где можно взять резистор скажем на 18мОм для шунта? Проще всего использовать датчики тока(на эффекте Холла) от Allegro или магниторезистивные от Bell. Заодно и развязку получите, т.к измерение тока "бесконтактное". Я бы очень рекомендовал использовать драйвер с "силовой" и "цифровой" землей. Типа IR21064. Тогда вообще забудите про помехи. Заводите на плату два питания, одно для логики, другое для двигателя, которое кроме как к драйверу никуда не подключается. Тогда плату можно разводить без особого гемора. Про Deadtime ничего не скажу, кроме того, что он нужен. Проще всего вместо авр ставить норм проц который сам будет генирить deadband. но такой вариант автору не подходить. Изменено 13 августа, 2008 пользователем Dars Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 13 августа, 2008 Опубликовано 13 августа, 2008 · Жалоба Имеет право на жизнь. Реализация на RS485 мультимастера достаточно сложно, хотя и возможно. Хорошо. Здесь наши мысли почти сходятся. Я бы не стал МК от ключей развязывать (чисто мой взгляд). Какая защита портов. Что там защищать? Был на моей памяти случай, когда были пробиты ключи на базе ULN2803, которыми МК управлял. Так вот почти весь порт был угроблен. Я просто боюсь повторения подобной ситуации в моем случае. Получился бы законченный блок управления двигуном с опторазвязанным интерфейсом. Звучит заманичиво, но пока терзают сомнения, написанные в предыдущей цитате. По поводу кварцев. Ребята из Spectrum Digital и Luminary Micro не обламываются и ставят в своих китах на процы кварцы. Все вроде у них работает. Тут как раз подобная ситуация. Снимать ток с помощью шунта ИМХО заиметь большой гемор с разводкой аналоговой части платы. На макетке снять сигнал с шунта, усилить его, пустить на АЦП и получить нормальные значения почти нереально. А пустить на компаратор, который будет сравнивать ток с заранее установленным значением и выдавать сигнал аварийного выключения при перегрузке? Тем более вы сначала купите этот шунт. Я почему-то подумал, что возьму кусох нихрома... Проще всего использовать датчики тока(на эффекте Холла) от Allegro или магниторезистивные от Bell. Заодно и развязку получите, т.к измерение тока "бесконтактное". Скорее всего это задел на будущее. Бюджет текущей разработки очень сильно ограничен. Вот эта штука крутит киловаттный движок (типа стенда). Однотактнник с обратным диодом, правда. Работает на индуктивность двигателя. Частота аппаратного ШИМ - 1,22кГц. Звон от движка - ещё тот. Нижняя плата - ШИМ+АЦП (те, что в нижнем правом углу) для датчиков тока и напряжения. Верхняя - логика управления. Между платами развязка на 6N137 (шина SPI). "Верхний ключ" - IRGPC50KD2 + IR4426 с развязкой на 6N137. Аппартной защиты нет. Контроллер ШИМ, правда, вырубается при потере связи с контроллером управления. БП вырабатывает +12В, -12В для ОУ +20В для драйвера ключа, два по 10В для контроллеров, и +13В для RS232-преобразователя уровней (тоже развязан на 6N137). Контроллеры работают от кварцев. "Аппарат" вёл себя стабильно, при работающем рядом частотнике без фильтров и токе через двигатель - 6А. Впечатляет!!! Это вселяет в меня надежду и еще раз доказывает, что при аккуратном подходе почти все возможно! :a14: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dars 0 14 августа, 2008 Опубликовано 14 августа, 2008 (изменено) · Жалоба А пустить на компаратор, который будет сравнивать ток с заранее установленным значением и выдавать сигнал аварийного выключения при перегрузке? Ну если вам нужен Faul detection то именно так и делают. На спец процах(напр tms320) есть даже специальная ножка FAULT, к которой подключаете выход компаратора. В моей задаче мне нужно управление по току и задачу отключения двигателя в случае перегрузки по току, напряжению и т.д и я делаю программно. Скорее всего это задел на будущее. Бюджет текущей разработки очень сильно ограничен. Ну на будущее, предлагаю посмотреть на мое решение для управления бесколлекторым(можно и коллекторным) двигателем.Есть возможность крутить движком с датчиками холла(аналог/цифр),оптическим квадратурным энкодером, sensorless mode. Ток измеряется с помощью внешнего ацп.Динамическое торможение присутствует. Раздельная цифровая и силовая земля. motor_drive.pdf Изменено 14 августа, 2008 пользователем Dars Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 14 августа, 2008 Опубликовано 14 августа, 2008 · Жалоба Ну если вам нужен Faul detection то именно так и делают. На спец процах(напр tms320) есть даже специальная ножка FAULT, к которой подключаете выход компаратора. Хорошо, значит это решение работает. В моей задаче мне нужно управление по току и задачу отключения двигателя в случае перегрузки по току, напряжению и т.д и я делаю программно. Если я не ошибаюсь, то в схеме, приведенной Вами, нет аппаратного отключения моста при перегрузки. Нет опасений, что сбойнет МК? С другой стороны МК у Вас ARM, значит автоматом перейдет на внутренний RC если будут проблемы со внешним кварцом. Верно? Ну на будущее, предлагаю посмотреть на мое решение для управления бесколлекторым(можно и коллекторным) двигателем.Есть возможность крутить движком с датчиками холла(аналог/цифр),оптическим квадратурным энкодером, sensorless mode. Ток измеряется с помощью внешнего ацп.Динамическое торможение присутствует. Раздельная цифровая и силовая земля. Да, посмотрел :) Спасибо! Кое-что интересное уже сейчас увидел) :a14: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SapegoAL 0 14 августа, 2008 Опубликовано 14 августа, 2008 · Жалоба Хорошо, значит это решение работает. Как то делал более 20А с пусковым током ~100 или более. Так что 6A - детский лепет. :) Особенно сказывается если напряжение высокое. Ток сам по себе - ерунда. Подсмотрите силовую часть в стандартном приводе и постарайтесь ничего не выбрасывать. Например дросель. Я бы прислушился к мнению Dars. Считаю высказанное им очень справедливым. Я проходил когда-то нихромовую проволоку с компаратором. В конечном итоге конечно всё заработало... Если пойдёте по этому пути, то имейте ввиду следующие моменты. 1) Необходимо учесть скорость нарастания тока и время реакции вашей системы. 2) Необходимо ввести постоянную времени регулирования. Она должна соответствовать частотным характеристикам ваших ключей. Конечно это всё зависит от конкретного схемного решения. PS: Разделение цифровой и силовой земли - тоже очень хороший тон. На всех этапах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dars 0 14 августа, 2008 Опубликовано 14 августа, 2008 · Жалоба Если я не ошибаюсь, то в схеме, приведенной Вами, нет аппаратного отключения моста при перегрузки. Нет опасений, что сбойнет МК? С другой стороны МК у Вас ARM, значит автоматом перейдет на внутренний RC если будут проблемы со внешним кварцом. Верно? Аппаратного нет. есть программное. аппартаное здесь можно сделать только путем добавления шунта, который я ставить не хочу. на датчике тока от аллегро сделать аппаратную защиту не получиться, т.к rise time = 5мкс. а у меня там еще стоит фильтр на 2kHz( то есть rise time еще больше) для того чтобы с ацп снимать среднее значение тока и по нему управлять двигателем. МК не сбойнет. на схеме цифровое и силовое питания раздельны, помех никто не генерит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 15 августа, 2008 Опубликовано 15 августа, 2008 · Жалоба Как то делал более 20А с пусковым током ~100 или более. Так что 6A - детский лепет. :) Особенно сказывается если напряжение высокое. Ток сам по себе - ерунда. Подсмотрите силовую часть в стандартном приводе и постарайтесь ничего не выбрасывать. Например дросель. Хорошо. Я постараюсь найти и посмотреть схемы фирменных приводов. Я бы прислушился к мнению Dars. Считаю высказанное им очень справедливым. Я проходил когда-то нихромовую проволоку с компаратором. В конечном итоге конечно всё заработало... Ну вот :crying: А я такой подход видел в нескольких аппликейшен от Microchip. Посмотрю еще раз, может быть там и были оговорки, на которые я не обратил внимание по неопытности. Если пойдёте по этому пути, то имейте ввиду следующие моменты. 1) Необходимо учесть скорость нарастания тока и время реакции вашей системы. Как я понимаю от этого зависит насколько быстро сработает защита? Или этот парамет еще что-то характеризует? Т.е. ток может очень медленно расти до критического уровня, скажем X амер, тогда почти любая защита сработает, включая предохранитель. Если же ток возрастет до критического уровня за очень малый промежуток времени (стремящийся в идеале к нулю), то не всякая защита успеет сработать. Это ли имелось в виду? 2) Необходимо ввести постоянную времени регулирования. Она должна соответствовать частотным характеристикам ваших ключей. Можно чуть чуть подробнее. Не совсем понял о чем идет речь? PS: Разделение цифровой и силовой земли - тоже очень хороший тон. На всех этапах. Ну пока я руководствуюсь правилами с сахары, где говорится о разделении "чистой" и "грязной" землях. Аппаратного нет. есть программное. аппартаное здесь можно сделать только путем добавления шунта, который я ставить не хочу. на датчике тока от аллегро сделать аппаратную защиту не получиться, т.к rise time = 5мкс. а у меня там еще стоит фильтр на 2kHz( то есть rise time еще больше) для того чтобы с ацп снимать среднее значение тока и по нему управлять двигателем. МК не сбойнет. на схеме цифровое и силовое питания раздельны, помех никто не генерит. Т.е. в Вашем случае имеется в виду, что от аппаратной защиты также и будет толку по причине высокого Rise Time? Аппаратная защита должна работать быстрее? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 15 августа, 2008 Опубликовано 15 августа, 2008 · Жалоба Люди! :1111493779: Не нада нихром! Индуктивность - ай ай ай! Лучше обратить внимание либо на китайческие 5W резисторы (минимальной индуктивностью, которая пока что позволяет нормально работать, обладают резюки только с номиналом 0,1 Ом), либо по-честному на smd : CSM-2512, CSM-3516- это шунты, но у них нормы отпуска забацанные - по 1000 штук. Правда, это в наших краях... И компромисс - корпус 2512. Резюк порядка 10 миллиом - обычно не проблема. Далее, надо обязательно при измерениях тока избегать запуска УВХ АЦП в моменты коммутации нижних транзисторов. Иначе выбросы напряжения, которые появляются при коммутации, искажают инфу о токе. Таким образом, если использовать frequency correct PWM, необходимо запускать АЦП в "верхушке треугольника", да еще и чтоб время выборки было покороче. Про FAULT и компаратор- О-О-О! Проблема настолько надоела тем, что требует компромиссов, если плата не может обеспечить низкий уровень коммутационных помех, что хочеццо заплакать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться