Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Написать прошивку на ПЛИС для xilinx для шагового двигателя (ШД)
Форум разработчиков электроники ELECTRONIX.ru > Дополнительные разделы - Additional sections > Предлагаю работу
zoono
Написать прошивку на ПЛИС для xilinx для шагового двигателя (ШД)

- Сигналы управления (от хост контроллера): Step, dir, enable. (сам хост-контроллер в данное ТЗ НЕ входит, это на нашей стороне)
Деление шага 1/8, 1/16, 1/32, максимальная частота импульсов 150КГц.
- ШД: 24в 3А (950 об/мин)
- Необходима минимизация тепловыделения (это САМОЕ главное)!!

Пишите на yanbotalov (собака) gmail.com
Обязательно резюме, указание стоимости, опыта работы на ПЛИС
Работа по договору
Stepanov
Снизить тепловыделение, сиречь поднять КПД может только сервопривод, иными словами без надлежащего датчика обратной связи по положению ротора обеспечена борьба с ветряными мельницами, а сервопривод это прежде всего комплекс регуляторов.
Manfred
Цитата(Stepanov @ Dec 4 2017, 14:28) *
Снизить тепловыделение, сиречь поднять КПД может только сервопривод, иными словами без надлежащего датчика обратной связи по положению ротора обеспечена борьба с ветряными мельницами, а сервопривод это прежде всего комплекс регуляторов.


Есть схемы включения шагового двигателя с обратной связью, тогда с помощью ШИМ можно снизить его потребление (вплоть до полного снятия питания). Случаи проскальзывания учитывать с помощью датчика положения. Полюса у ШД расположены очень точно и в отличие от асинхронного двигателя точность в динамике у ШД можно будет получить лучше.

Пример двигателя с шаговым сервоприводом:
http://electroprivod.ru/servoprivod.htm
Elsystems
Цитата(zoono @ Dec 4 2017, 10:05) *
Написать прошивку на ПЛИС для xilinx для шагового двигателя (ШД)

- Сигналы управления (от хост контроллера): Step, dir, enable. (сам хост-контроллер в данное ТЗ НЕ входит, это на нашей стороне)
Деление шага 1/8, 1/16, 1/32, максимальная частота импульсов 150КГц.
- ШД: 24в 3А (950 об/мин)
- Необходима минимизация тепловыделения (это САМОЕ главное)!!

Пишите на yanbotalov (собака) gmail.com
Обязательно резюме, указание стоимости, опыта работы на ПЛИС
Работа по договору

Постановка вопроса крайне неверная. На тепловыделение в первую очередь влияет разработчик системы, а не прошивки. Я так понимаю процесс разработки: системщик выбирает частоту коммутации, которая должна быть минимальной необходимой и достаточной чтобы удовлетворять все прочие требования к системе (шумы, скорости, ЭМС, ..). Затем он выбирает транзисторы, такие чтобы сумма статических и динамических потерь на них была минимальной.
khach
Для ШИМ управления необходима обратная связь по току. Т.е нужны аналоговые элементы, как минимум компаратор. Реализовать это в ПЛИС нельзя, нужны внешние элементы. Что сильно усложняет схему и теряется ее смысл. А еще нужны драйверв силовых ключей, что тоже в ПЛИС не реализовать. Проще взять готовый драйвер ШД с опцией деления микрошага.


Elsystems
Цитата(khach @ Dec 7 2017, 15:09) *
Для ШИМ управления необходима обратная связь по току. Т.е нужны аналоговые элементы, как минимум компаратор. Реализовать это в ПЛИС нельзя, нужны внешние элементы. Что сильно усложняет схему и теряется ее смысл. А еще нужны драйверв силовых ключей, что тоже в ПЛИС не реализовать. Проще взять готовый драйвер ШД с опцией деления микрошага.

Обычно в таких случаях ставят ПЛИС + АЦП + драйвер. Я не спец именно по ШД, но по моему тут токовый контур не нужен.
fantasy
Цитата(Elsystems @ Dec 8 2017, 09:48) *
Обычно в таких случаях ставят ПЛИС + АЦП + драйвер. Я не спец именно по ШД, но по моему тут токовый контур не нужен.

ШД бывают разные, для каких то жизненно необходимо удерживать ток в обмотках, для каких то нет, а для каких для удержания нужно значительно снижать ток... Вообще максимально ровно ШД работает при удерживании тока в обмотке. Режим микрошага реализуется легко дискретным образом (за счёт ШИМ), для этого менять ток через ключи точно не нужно, т.к. любой ШД великолепный "интегратор".

Цитата(zoono @ Dec 4 2017, 10:05) *
Написать прошивку на ПЛИС для xilinx для шагового двигателя (ШД)
...

По Вашим характеристикам использовать ПЛИС для управления ОДНИМ ШД в таком режиме - это стрельба из пушки по воробьям. Тут прекрасно справиться связка простейшего STM8S + PWD13F60

Если нужно совсем снизить тепловыделение, тогда надо ключи городить на внешних транзисторах, будет вообще "холодная" схема

з.ы.: уточните тип ШД: униполярный, биполярный или ещё какой?
khach
Цитата(Elsystems @ Dec 8 2017, 09:48) *
Обычно в таких случаях ставят ПЛИС + АЦП + драйвер. Я не спец именно по ШД, но по моему тут токовый контур не нужен.

OOO? О можно глянуть на блок-схему такого драйвера с АЦП? Никогда не встречал. Я еще понимаю ЦАП для задания порога срабатывания компаратора ШИМ, но АЦП? С чем его синхронизировать?
Драйвер на ПЛИС с внешней аналоговой обвязкой приходилось делать, когда возникла необходимость запустить древний 5- фазный шаговик с микрошагом. А в те времена драйверов 5- фазников от allegro еще не было,
пришлось на Xilinx уродоваться.
yuri.job
Стесняюсь спросить, а почему бы эту задачу не сделать на STM32 (или что-нибудь от Тексаса) или чем то подобном на cortex m3/m4. Это будет уж точно более эффективно и с точки зрения финансов (меньше чипов) и с точки зрения электричества ( тупо меньше как номиналов питания, так и требуемой мощности). А еще лучше STM32F334, на нем и драйвер ШД можно сделать и подсистему питания этого ШД замутить со всякими стабилизациями токов/напряжений.
Эдди
Цитата(yuri.job @ Dec 8 2017, 13:43) *
А еще лучше STM32F334, на нем и драйвер ШД можно сделать и подсистему питания этого ШД замутить со всякими стабилизациями токов/напряжений.

Офтоп, конечно, но зачем такой дорогущий МК использовать тупо для управления ШД? Если хочется 32 бита, есть дешевые STM32F030 (сейчас как раз на нем, 20-ногом, горожу управлялку двумя шаговиками с замером средних токов и напряжений). Если хочется дешевизны, уже говорили о 16-рублевых STM8S003. На них я тоже управлялку ШД делал (правда, для STM8S105, у которого 32 ноги — 20 ног не хватило тогда).
Огурцов
Цитата(khach @ Dec 8 2017, 10:43) *
OOO? О можно глянуть на блок-схему такого драйвера с АЦП? Никогда не встречал. Я еще понимаю ЦАП для задания порога срабатывания компаратора ШИМ, но АЦП?

а зачем цап, если на плис можно сделать быстрый шим ?
khach
Цитата(Огурцов @ Dec 8 2017, 14:09) *
а зачем цап, если на плис можно сделать быстрый шим ?

Потому что ШИМ нужна обратная связь, т.к он незнает индуктивности обмоток мотора и напряжения питания. А именно от этого зависит какой ток вкачает ШИМ в обмотки, момента на валу двигателя, и не прегреются ли обмотки. Можно конечно настроить компаратор на один заданный ток, подбирая резистор токового шунта. Обычно так и делается, когда точно известны параметры мотора и питания. НО для эластичности и экономии энергии в режиме удержания можно ток обмотко понизить, и именно для этого ставили ЦАП- если двигатель был неподвижен например 0.25 секунды, ток снижали. И микрошаг так же формировали, управляя опорным напряжением компаратора в одной канале по синусу, во втором- по косинусу. Только тогда предпочтительны ЦАПы с параллельной шиной, проще с ними работать.
Вот блок-схема драйвера одной фазы.
Нажмите для просмотра прикрепленного файла
PS. https://eewiki.net/pages/viewpage.action?pageId=4096117
Tanya
Цитата(khach @ Dec 8 2017, 14:22) *
Можно конечно настроить компаратор на один заданный ток, подбирая резистор токового шунта. Обычно так и делается,

Микрошаг ведь нужен ТС... Напомню.
Огурцов
Цитата(khach @ Dec 8 2017, 12:22) *
Потому что ШИМ нужна обратная связь, т.к он незнает индуктивности обмоток мотора и напряжения питания

пардон муа, шим - вместо цап, вы ведь не прикручиваете к цап мотор с индуктивностями, а просто снимаете напряжение, например, для компаратора, где там уже индуктивности
Tanya
Цитата(Огурцов @ Dec 8 2017, 15:44) *
пардон муа, шим - вместо цап, вы ведь не прикручиваете к цап мотор с индуктивностями, а просто снимаете напряжение, например, для компаратора, где там уже индуктивности

А смысл? Задание нужно быстро и точно менять. А ШИМ придется фильтровать.
Elsystems
Цитата(khach @ Dec 8 2017, 12:43) *
OOO? О можно глянуть на блок-схему такого драйвера с АЦП? Никогда не встречал. Я еще понимаю ЦАП для задания порога срабатывания компаратора ШИМ, но АЦП? С чем его синхронизировать?
Драйвер на ПЛИС с внешней аналоговой обвязкой приходилось делать, когда возникла необходимость запустить древний 5- фазный шаговик с микрошагом. А в те времена драйверов 5- фазников от allegro еще не было,
пришлось на Xilinx уродоваться.

АЦП для оцифровки тока. Под драйвером я понимаю предусилитель для силовых транзисторов - это отдельная микросхема, может быть интегрирована вместе с силовыми транзисторами. Схема простая - из ПЛИС релейные сигналы идут на драйверы транзисторов, с драйверов на транзисторы. Ток измеряется шунтом или датчиком и через АЦП заводится в ПЛИС. Все остальное делается логикой внутри ПЛИС. Новые ПЛИСки кстати в основном внутри АЦПшки имеют - возможно они подойдут даже.
Огурцов
Цитата(Tanya @ Dec 8 2017, 13:54) *
А смысл? Задание нужно быстро и точно менять. А ШИМ придется фильтровать.

а в чём проблема ? или мы про авээрку говорим ?
Tanya
Цитата(Огурцов @ Dec 8 2017, 17:25) *
а в чём проблема ? или мы про авээрку говорим ?

Какой предлагаете сделать период ШИМа и постоянную времени фильтра в этих периодах?
Так в чем смысл этого? Есть интегральные драйверы, где все внутри, и оно может сравнивать ток обеих полярностей, и защита там тоже всякая есть... Зачем это самостоятельно колхозить?
Огурцов
Цитата(Tanya @ Dec 8 2017, 16:01) *
Какой предлагаете сделать период ШИМа и постоянную времени фильтра в этих периодах?

не достаточно начальных условий, но наверное где-то в корень квадратный между циклом шима силы и тактовой шима с фпга

Цитата(Tanya @ Dec 8 2017, 16:01) *
Так в чем смысл этого? Есть интегральные драйверы, где все внутри, и оно может сравнивать ток обеих полярностей, и защита там тоже всякая есть... Зачем это самостоятельно колхозить?

тогда в чём смысл топика вообще
apozdniakov4
Работал в фирме Pure.... , секретов разглашать не буду (п.о. не видел) но скажу что программистам с опытом в этой области, работа с шд всякие pid, ОС контроль по энкодеру, потеря шагов, наводки всё это не давалась легко, много настроек под конкретный мотор и условия. Проще купить готовый драйвер в китае наклеить свой лейбл по договорённости, а годы уйдут. stm32 нет с аппаратным motor control. TMS 320F28035 есть, есть отладочная плата для ШД и сервы есть примеры, там всё как положено контроль тока по pid, по позиции. Вариант найти и позвонить фирму где я работал и покупать прошитый единственный драйвер на ПЛИС.
Aldec
Возможно это курсовая работа в какомто вузе, или все дело в запрещенных на ввоз редукторах и швп,

Почемуто требуется предоставить резюме и опыт работы с плис... это кадровое агенство?
Там нужно пара тригеров, счетчиков и мультиплексер
halfdoom
Цитата(Elsystems @ Dec 8 2017, 17:06) *
АЦП для оцифровки тока.



А зачем это нужно в базовом драйвере ШД?
khach
Глупость это большая- ток же растет линейно в течении периода шим. Как выборку АЦП синхронизировать с периодом ШИМ? Или предлагается что то типа цифрового осциллографа с мегагерцовой частото выборок АЦП и цифровым компаратором кода? Тогда это очень тонкое извращение, хотя работать конечно будет.
Elsystems
Цитата(khach @ Dec 11 2017, 13:40) *
Глупость это большая- ток же растет линейно в течении периода шим. Как выборку АЦП синхронизировать с периодом ШИМ? Или предлагается что то типа цифрового осциллографа с мегагерцовой частото выборок АЦП и цифровым компаратором кода? Тогда это очень тонкое извращение, хотя работать конечно будет.

Во первых человек хочет на ПЛИС сделать. АЦП на 1MSPS/12bit - это 200руб. На сколько я понимаю ток растет не линейно, а апериодически, на форму кривой влияют R, L, U. Наверное надо сначала понять какой принцип управления выбран.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.