Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: управление редукторным двигателем на mega8
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
J0hnNick
необходимо управлять редукторным приводом с помощью сигнала, модулированного по напряжению.
в приводе своя схема управления. необходимо сформировать управляющий сигнал внутри меги8.
как это сделать представяю очень смутно, хотя читал и про шим, и про таймер TWI.
Подскажите в кратце суть, а дальше я уж разберусь.
VladimirYU
Цитата(J0hnNick @ Feb 18 2008, 15:50) *
необходимо управлять редукторным приводом с помощью сигнала, модулированного по напряжению.
в приводе своя схема управления. необходимо сформировать управляющий сигнал внутри меги8.
как это сделать представяю очень смутно, хотя читал и про шим, и про таймер TWI.
Подскажите в кратце суть, а дальше я уж разберусь.

Двигатель постоянного тока или переменного, а может шаговый или вентильный. Видите сколько может быть вариантов. Подробней пожалуйста.
Alex_Pol
Цитата(J0hnNick @ Feb 18 2008, 14:50) *
...необходимо сформировать управляющий сигнал внутри меги8.
как это сделать представяю очень смутно, хотя читал и про шим, и про таймер TWI.
Подскажите в кратце суть, а дальше я уж разберусь.
Как я понял, тип двигателя не важен. Какая разрядность нужна? ЦАП поставьте. R-2R, если ног хватает. По скорости равных нет.
Yura_K
Должжно быть все просто. Принимаете управляющий сигнал, расчитываете управление, выдаете на ШИМ. Итого: обработчик интерфейса (если у Вас TWI - то обработчик TWI), оцифровка сигналов обратной связи с движка (если есть). Основной цикл программы - ожидаем обновления входных сигналов, расчитываем управление, выводим с ШИМ регистр. Выход ШИМ МК прогоняем через ФНЧ и выдаем на усилитель. Вроде все.
evgeny_ch
Цитата(Yura_K @ Feb 18 2008, 21:05) *
Выход ШИМ МК прогоняем через ФНЧ и выдаем на усилитель. Вроде все.

Веселей, рабочий класс. (ЦЕ) biggrin.gif
Подробнее, зачем фильтруете.
Kirill Trusov
а разве не надо?
muravei
Цитата(Kirill Trusov @ Feb 18 2008, 21:23) *
а разве не надо?

Усилителю- нет, двигатель сам отфильтрует, а вот схеме ,("в приводе своя схема управления"), скорей всего надо.
evgeny_ch
Цитата(Kirill Trusov @ Feb 18 2008, 22:23) *
а разве не надо?

Ежели уж совсем изврат придумать - линейный усилитель, управляемый ШИМ. biggrin.gif
Это я намекаю, что надо знать, какой усилитель перед двигателем.
J0hnNick
Цитата(Alex_Pol @ Feb 18 2008, 16:31) *
Как я понял, тип двигателя не важен. Какая разрядность нужна? ЦАП поставьте. R-2R, если ног хватает. По скорости равных нет.

Команды от 485 принимаются. разрядность 128, нужно 4 канала. R-2R это что?
Alex_Pol
Цитата(evgeny_ch @ Feb 18 2008, 19:34) *
Веселей, рабочий класс. (ЦЕ) biggrin.gif
Подробнее, зачем фильтруете.
Долго объяснять. sad.gif Если интересно вот: http://www.gaw.ru/html.cgi/txt/app/micros/msp430/slaa116.htm. Это про MSP430, правда, но разницы нет. Для движка фильтр не нужен, но речь шла, как я понял, не о том.

Цитата(J0hnNick @ Feb 18 2008, 20:47) *
Команды от 485 принимаются. разрядность 128, нужно 4 канала. R-2R это что?
Древний простой ЦАП. Подробности - в гуглях по слову covox Вам не подойдёт - каналов много.
На каждый разряд - одна ножка. Но скорость просто обалдеть. sad.gif
evgeny_ch
Цитата(Alex_Pol @ Feb 18 2008, 23:14) *
Долго объяснять. sad.gif Если интересно вот: http://www.gaw.ru/html.cgi/txt/app/micros/msp430/slaa116.htm. Это про MSP430, правда, но разницы нет. Для движка фильтр не нужен, но речь шла, как я понял, не о том.

Древний простой ЦАП. Подробности - в гуглях по слову covox Вам не подойдёт - каналов много.
На каждый разряд - одна ножка. Но скорость просто обалдеть. sad.gif

Спасибо, если вам затруднительно, может автор поста объяснит, куда совать дальше этот отфильтрованный сигнал с выхода.
Alex_Pol
Цитата(evgeny_ch @ Feb 18 2008, 21:18) *
Спасибо, если вам затруднительно, может автор поста объяснит, куда совать дальше этот отфильтрованный сигнал с выхода.
Дык. Вопрошающий сформулировал проблему не конкретно. Я понял так, что ему нужен аналоговый сигнал для схемы управления приводом. Что за схема - неизвестно. Ау, автор, можно уточнить условие?
J0hnNick
Цитата(Alex_Pol @ Feb 18 2008, 22:25) *
Дык. Вопрошающий сформулировал проблему не конкретно. Я понял так, что ему нужен аналоговый сигнал для схемы управления приводом. Что за схема - неизвестно. Ау, автор, можно уточнить условие?

Хочу сказать всем спасибо большое за ответы!
как я уже сказал, в документации написано - управление с помощью сигнала, модулированного по напряжению. (0-10в). Я так понимаю там внутри аналоговый диммер.
Dog Pawlowa
Цитата(J0hnNick @ Feb 18 2008, 23:59) *
Хочу сказать всем спасибо большое за ответы!
как я уже сказал, в документации написано - управление с помощью сигнала, модулированного по напряжению. (0-10в). Я так понимаю там внутри аналоговый диммер.

Хм, из моего опыта работы с подобными "диммерами"- там стоит полноценный ПИ-регулятор.
Зависит от типа мотора конечно, который Вы не озвучили.
А "0-10V" - это своего рода стандарт для управления. Типа RS-232.
Alex_Pol
Цитата(J0hnNick @ Feb 18 2008, 21:59) *
Я так понимаю там внутри аналоговый диммер.
Понятно. Я как и Dog Pawlowa с такими имел дело. Это были тиристорные привода. По крайней мере входной сигнал был 0-10 вольт. Импользуйте ШИМ с выходным фильтром. Ссылку я давал. Можно ещё вот посмотреть: http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR131.htm. З.Ы. А меги 8 на 4 канала хватит?
J0hnNick
Цитата(Alex_Pol @ Feb 19 2008, 01:12) *
Понятно. Я как и Dog Pawlowa с такими имел дело. Это были тиристорные привода. По крайней мере входной сигнал был 0-10 вольт. Импользуйте ШИМ с выходным фильтром. Ссылку я давал. Можно ещё вот посмотреть: http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR131.htm. З.Ы. А меги 8 на 4 канала хватит?


Спасибо за ссылки. толковые статьи.

В 8меге 2 8-и битных таймера, значит я могу реализовать только 2 канала с разрядностью 256, так?
Я так понял принцип работы - TCNTn увеличивается до совпадения со значением в OCRn, затем сбрасывается и счет повторяется, за счет чего регулируется длительность импульса.
И там еще один 16-и битный таймер. это еще=1 канал, значит на меге8 можно реализовать только 3 канала, правильно?

И еще вопрос-напряжение на выходе ЦАП регулируется от 0 до напряжения питания. а у меги оно 5в. А как получить регулировку от 0 до 10в?
Alex_Pol
Если верить ДШ, Мега16 умеет выдавать 4 канала ШИМ. Именно с ней не работал, потому не вникал. Ещё вариант - 4 отдельностоящих ЦАП. Аналог дивайс их напёк великое множество. Да и всякие Тексасы не отстают. Тогда можно ставить тиньку 2313. Вам же нужно только принять команду по RS485 и выдать управляющие напряжение на привод. Регулировкой будет заниматься сама схема управления двигателем. Я правильно понял? Есть ещё один вариант, но боюсь говорить. sad.gif Тут один обалденно крутой перец столько вони развёл. Вариантов много, на любой вкус и стоимость. Напряжение 0-10 вольт обеспечит операционник I/O rail to rail.
Папа Карло
Цитата(J0hnNick @ Feb 19 2008, 20:09) *
В 8меге 2 8-и битных таймера, значит я могу реализовать только 2 канала с разрядностью 256, так?
Я так понял принцип работы - TCNTn увеличивается до совпадения со значением в OCRn, затем сбрасывается и счет повторяется, за счет чего регулируется длительность импульса.
И там еще один 16-и битный таймер. это еще=1 канал, значит на меге8 можно реализовать только 3 канала, правильно?


в Мега8 3 таймера и только 2 таймера 1-ый и 2-ой имеет ШИМ аппаратный.
1-ый 10 разрядный с 2 каналами и 2-ой 8 разрядный с 2 каналами.

TCNT - это счётчик в ШИМ он скидывается по переполнению.
А вот выходной сигнал сравнивается с пилой получаемой TCNT с регистром OCR и именно OCR регулирует скважность.

Очень хорошо с диаграммами описано в ДШ.

П.С.
Тоесть в мега8 есть 2 двойных ШИМ и того 4.
Alex_Pol
Атмел уверяет, что у меги8 "three PWM channels" Таймер 0 шимовать не умеет. Для него и вывода "выход" нет.
SasaVitebsk
Цитата(Alex_Pol @ Feb 20 2008, 01:26) *
Атмел уверяет, что у меги8 "three PWM channels"

И, правильно. smile.gif
OC1A,OC1B,OC2 (последний 8-бит).
Но есть у нас мега88 такая же по цокалёвке и близкая по стоимости.
OC1A,OC1B,OC2A,OC2B,OC0A,OC0B (4 последних 8-ми битных)
Alex_Pol
То,что мега8 сама по себе не катит уже выяснили. А вариантов - пруд пруди. Автору выбирать. З.Ы. Мегу88 ещё не видел. Ща даташиты качну, почитаю.
VladimirYU
Цитата(Alex_Pol @ Feb 20 2008, 01:26) *
То,что мега8 сама по себе не катит уже выяснили. А вариантов - пруд пруди. Автору выбирать. З.Ы. Мегу88 ещё не видел. Ща даташиты качну, почитаю.

Посмотрите в сторону AT90PWM3 ( лучше с буквой cool.gif. Там есть модуль Power stage controller специально предназначенный для задач управления различными двигателями.
Папа Карло
А ещё есть мега 48 и у неё тоже 6 каналов ШИМ.

Серия 48\88\168 почти как 8-ка тока круче smile.gif
_Pasha
Цитата(Alex_Pol @ Feb 20 2008, 01:26) *
То,что мега8 сама по себе не катит уже выяснили.

laughing.gif
Это ж с какого бодуна не катит ???
Yura_K
Цитата(J0hnNick @ Feb 19 2008, 22:09) *
Спасибо за ссылки. толковые статьи.

В 8меге 2 8-и битных таймера, значит я могу реализовать только 2 канала с разрядностью 256, так?
Я так понял принцип работы - TCNTn увеличивается до совпадения со значением в OCRn, затем сбрасывается и счет повторяется, за счет чего регулируется длительность импульса.
И там еще один 16-и битный таймер. это еще=1 канал, значит на меге8 можно реализовать только 3 канала, правильно?

И еще вопрос-напряжение на выходе ЦАП регулируется от 0 до напряжения питания. а у меги оно 5в. А как получить регулировку от 0 до 10в?

На 16-битном таймере 2 канала, но для движки 8-битной точности вполне хватает.
Вы как на двигатель управление выдаете? Параметры усилителя приведите, какие сигналы на входе точнее. У меня на ШИМ усилители, например, выход открытым коллетором стоит, поэтому no problem. Подаю ШИМ на усилок, через него на движку. Если усилок линейный, то видимо фильтрануть придется, заодно и диапазон сигналов по параметрам усилка сделать.
Alex_Pol
Цитата(_Pasha @ Feb 20 2008, 11:56) *
laughing.gif
Это ж с какого бодуна не катит ???
4 канала с цап на голой меге8 можете организовать?
Qwertty
Цитата(Alex_Pol @ Feb 21 2008, 04:19) *
4 канала с цап на голой меге8 можете организовать?

А что ШИМ бывает только аппаратный? Программный неприменим по религиозным соображениям? Мега 8 потянет столько каналов ШИМ-а, сколько у нее ног GPIO.
J0hnNick
Цитата(Alex_Pol @ Feb 19 2008, 21:54) *
Если верить ДШ, Мега16 умеет выдавать 4 канала ШИМ. Именно с ней не работал, потому не вникал. Ещё вариант - 4 отдельностоящих ЦАП. Аналог дивайс их напёк великое множество. Да и всякие Тексасы не отстают. Тогда можно ставить тиньку 2313. Вам же нужно только принять команду по RS485 и выдать управляющие напряжение на привод. Регулировкой будет заниматься сама схема управления двигателем. Я правильно понял? Есть ещё один вариант, но боюсь говорить. sad.gif Тут один обалденно крутой перец столько вони развёл. Вариантов много, на любой вкус и стоимость. Напряжение 0-10 вольт обеспечит операционник I/O rail to rail.


подскажите 'операционник I/O rail to rail' чтобы повысить с 5 до 10в. нагрузка до 200ma.
Dog Pawlowa
Цитата(J0hnNick @ Feb 24 2008, 16:03) *
подскажите 'операционник I/O rail to rail' чтобы повысить с 5 до 10в. нагрузка до 200ma.

Зачем rail to rail?
Обычно мотор с таким управлением все равно не работает при напряжении управления, близком нулю, и принудительно внутри блокируется. Ну а в плюс - что мешает взять напряжение питания побольше?
И ток нагрузки не завышен? 10 В * 200 мА = 2 Вт. Это такая мощность должна рассеиваться на операционнике в худшем случае. Такие есть, конечно, но все это кажется весьма странным.
J0hnNick
Цитата(Dog Pawlowa @ Feb 24 2008, 15:53) *
Зачем rail to rail?
Обычно мотор с таким управлением все равно не работает при напряжении управления, близком нулю, и принудительно внутри блокируется. Ну а в плюс - что мешает взять напряжение питания побольше?
И ток нагрузки не завышен? 10 В * 200 мА = 2 Вт. Это такая мощность должна рассеиваться на операционнике в худшем случае. Такие есть, конечно, но все это кажется весьма странным.


дело в том, что могут подключаться и другие приборы с таким управлением, например лдс.
а мотор Danfoss АМЕ 01, а ток и правда немного с запасом, реально 100мА.
rail tp rail тут посоветовали, я с таким дела раньше не имел. А питание меги - 5в.
Dog Pawlowa
Цитата(J0hnNick @ Feb 24 2008, 21:39) *
дело в том, что могут подключаться и другие приборы с таким управлением, например лдс.
а мотор Danfoss АМЕ 01, а ток и правда немного с запасом, реально 100мА.
rail tp rail тут посоветовали, я с таким дела раньше не имел. А питание меги - 5в.

У, так Вы пытаетесь систему отопления автоматизировать? Чем не устраивает существующие контроллеры систем отопления?
Вообще-то стандарт 0-10 V предполагает ток 1 мА:
Its simple nature makes it straight forward to understand, implement and diagnose while its low current (typically 1mA) means it can be run along relatively thin cables with little voltage drop.
Мне лень искать и убеждаться, что с 100 мА Вы неправы, очевидно, что это решение неинженерное.
Потому как, если речь идет о таких токах, то предполагается, что сам двигатель будет подключен к такому источнику, а тогда нужно решать вопрос защит.
И вообще, насколько я понимаю, это серво-привод.
Но тема потеряла всякую связь с AVR.
J0hnNick
нашел полезную схему http://www.caxapa.ru/sch/pwm.html
Кто нибудь видел анологичную для 0-10в ?
Erv&Sed
Цитата(J0hnNick @ Mar 7 2008, 10:13) *
нашел полезную схему http://www.caxapa.ru/sch/pwm.html
Кто нибудь видел анологичную для 0-10в ?

Вам просто нужно умножить напряжение на 2, это можно сделать с помощю ОУ, но можете и не мечтать что с помощю ШИМ-а получите предельные значения напряжений (0 В и 5 В).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.