Цифровой ШИМ

Обсуждаем цифровые устройства...
Аватара пользователя
Migray
Потрогал лапой паяльник
Сообщения: 305
Зарегистрирован: Чт июн 07, 2007 12:05:08
Откуда: Санкт-Петербург, Россия
Контактная информация:

Сообщение Migray »

ploop писал(а):А можно не аппаратный использовать, а программный сделать? Хватит быстродействия для 30 КГц модуляции?
Аппаратный - это 2 счетчика, или один счетчик и 2 регистра сравнения.
В программе задаешь длительность импульса и период.
Потом запускаешь счетчик и он сам формирует сигнал на выходе.
В случае необходимости меняешь состояние регистра, отвечающего за длительность импульса, новое значение.
ploop писал(а):И заодно, что-то не найду никак, АЦП скольки разрядный?
А сколько надо?
Реклама
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

А сколько надо?
По рассчетам 12 хватит. Я нашел уже, у ATmega8 АЦП 10-разрядные, но по-моему их совмесстить можно. Или я ошибаюсь?
Реклама
Аватара пользователя
Migray
Потрогал лапой паяльник
Сообщения: 305
Зарегистрирован: Чт июн 07, 2007 12:05:08
Откуда: Санкт-Петербург, Россия
Контактная информация:

Сообщение Migray »

artemm писал(а):Просто мне надо 4 канала ШИМ с разрешение, ну, хотя бы 12 бит, и так чтобы задал параметры шима и она сама пашет как надо и чтобы интегрировалась к МК более или менее легко
А зачем тебе такое чудо?
Берешь МК с 4 аппаратными ШИМ-таймерами, задал им параметры, и будут пахать.
Интегрировать ничего не надо, производитель МК об этом позаботился :)
Аватара пользователя
Migray
Потрогал лапой паяльник
Сообщения: 305
Зарегистрирован: Чт июн 07, 2007 12:05:08
Откуда: Санкт-Петербург, Россия
Контактная информация:

Сообщение Migray »

ARV писал(а):вот вам краткие ответы :), только сзаду наперед :
1. ATmega8-16AI стоит около 80 рублей
2. В этом МК есть 8 каналов АЦП и до 3х каналов аппаратного ШИМ (до 40 кгц несущая при 8 бит разрешения)
А мне еще говорили что меги - недорогие процы :shock:
Простой uPD78F0500 стоит всего 53 рублика, и при этом 4 канала 8-битного ШИМ, с частотой до 20 МГц.
16-битный таймер правда всего один.
И АЦП естественно есть, 4 канала по 10 бит.
ARV писал(а):а вот то, что подобные МК сумеют обеспечить достаточно хорошую стабилизацию каких-либо параметров, анализируя сигнал ОС и изменяя скважность ШИМ, вызывает некоторые сомнения...
Хорошие МК обеспечивают. Современная силовая электроника на них и держится :)

Например в линейке motor control простенький uPD78F0712 имеет 4 АЦП, два 8-битных и один 16-битный таймеры, плюс спецовый таймерный блок, 6 выходов 10-битного ШИМ-таймера, как раз для 3-фазного моста.
И стоит при этом 124 рублика.
Инвертора на таком строить - самое милое дело.
ploop писал(а):Посмотрел, для управления подойдёт. Но мне посерьёзьней нужно. Немного почитал про МК, в некоторых есть АЦП, а это то, что надо для обратной связи, сначала отдельные АЦП использовать хотел.
Если действительно надо 12-битные АЦП, то лучше использовать внешние. У большинства встроенные не больше 10 бит.
Хотя можно и поискать, встречаются и 12-битные, и даже большей разрядности.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Если действительно надо 12-битные АЦП, то лучше использовать внешние
Что-то не понимаю юмора.. Отделиные АЦП от 10 бит в чип и дип около 300р. а тут (в ATmega к примеру) 8 10-битных АЦП, да и 8-битные есть, не считая всего остального функционала, и всё удовольствие за 80р. Я понимаю, что чип и дип цены гнёт, но там и ATmeg'и дешевле отдельных АЦП. Что это значит? Или я чего не понимаю?
Всмысле, если килограмм одной колбасы стоит дороже килограмма другой, значит первая вкуснее. Тут не может быть такого?
Реклама
Аватара пользователя
Migray
Потрогал лапой паяльник
Сообщения: 305
Зарегистрирован: Чт июн 07, 2007 12:05:08
Откуда: Санкт-Петербург, Россия
Контактная информация:

Сообщение Migray »

У АЦП кроме разрядности есть еще такой параметр как быстродействие.

Кроме всего прочего в большинстве МК реально присутствует один АЦП, а каналы переключаются мультиплексором.
Реклама
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Ясно, спасибо.
Еще вопрос - если использовать отдельные АЦП на оба канала, пусть по 12 бит, это к МК 24 цепи тянуть. На сколько я понимяю, у неё портов столько нет, значит опять использовать внешний мультиплексор... Вот и получится, хотел избавиться от внешней логики, а к ней же и вернулся...
Аватара пользователя
Migray
Потрогал лапой паяльник
Сообщения: 305
Зарегистрирован: Чт июн 07, 2007 12:05:08
Откуда: Санкт-Петербург, Россия
Контактная информация:

Сообщение Migray »

Тут несколько вариантов:
1. Взять МК с большим числом портов в/в. Линейки у всех, практически, производителей это позволяют. В тойже серии 78K0 их столько
2. Взять АЦП с последовательным (I2C, SPI) выходом.
3. Найти МК с нужным набором периферии, но это немного сложнее и наверно дороже.
4. Скорректировать требования к аппаратуре.
С 10-битным АЦП процов много. И ШИМ там хороший.
Есть относительно недорогие, с хорошим набором АЦП, но там 8-битный ШИМ.
Хотя надо будет покопаться в новинках, может что и появилось сверх-интересное.
Аватара пользователя
Yellow Tiger
Сверлит текстолит когтями
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

Migray писал(а):А мне еще говорили что меги - недорогие процы :shock: Простой uPD78F0500 стоит всего 53 рублика, ...
Ну, если поискать, то мегу и дороже можно найти, а так - 43,8рэ, если без изысков, ну, в крайнем случае - 54,63рэ. :)))
Аватара пользователя
ArtemKuchin
Поставщик валерьянки для Кота
Сообщения: 2277
Зарегистрирован: Вс апр 20, 2008 23:34:26
Откуда: Москва
Контактная информация:

Сообщение ArtemKuchin »

Вой вопрос отпал. Пересчитал: 8 бит на канал ШИМ хватает. Ест такая штука atmega88 - у нее ажо 4 каналов., у 32-1 - 4 канала. У других не смотрел.
Есть еще AT90PWM... у них там до 12 каналов на чип аж.
Долой идиотизм!
Аватара пользователя
Yellow Tiger
Сверлит текстолит когтями
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

artemm писал(а):Ест такая штука atmega88 - у нее ажо 4 каналов., ... У других не смотрел.
Нее, у 88 даже лучше - 6 каналов, у других нужно смотреть здесь.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

В тойже серии 78K0 их столько
Посмотрел, есть подходящие, с ШИМ 2х16 бит. Только вот где их приобрести? Ни одной ссылки на магазин не нашел...
У AT90PWM есть 12-разрядный ШИМ, это уже лучше, и в магазинах она есть. Надо пересчитать.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

А что вы думаете на счет мотороловских MC68HC912B32? Там тоже 2х канальный 16-битный ШИМ есть, а вот АЦП опять 10-битный. Но внешний к нему наверное проще будет приспособить, смотрю у неё портов много. Даташит

Или сделать то, что мне нужно на логике (ШИМ/ЦАП/АЦП), а МК использовать для управления и индикации, т.к. кнопок там предполагается много :)
Аватара пользователя
Migray
Потрогал лапой паяльник
Сообщения: 305
Зарегистрирован: Чт июн 07, 2007 12:05:08
Откуда: Санкт-Петербург, Россия
Контактная информация:

Сообщение Migray »

Да, с интересной линейкой 78K0/LE2 накладочка вышла, на складе дистрибьютора не оказалось, только под заказ :(
А так там все есть, АЦП, ШИМ, LCD-драйвер.

Посмотри на uPD78F0535 или на 16-битный uPD78F1142
С ними нет проблем купить, на складах многих фирм присутствуют.


По поводу Мотороллы - вещь хорошая, но я предпочитаю супернадежные процы. И если Мерседес отказался от мотороловских МК в пользу NEC - может не стоит идти в обратном направлении :)
Хотя в силовой электронике они пока оба присутствуют.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

Посмотри на uPD78F0535 или на 16-битный uPD78F1142
Ага, я правильно понял, там ШИМ на 16-разрядных таймерах реализуется? Подойдёт, их там 8 каналов. Буду читать внимательней.
Мерседес отказался от мотороловских МК в пользу NEC
Мерседес уважаю, у них всё по уму. И друзьям можно сказать - сделал БП из комплектующих, одобреных Мерседесом :)))

ЗЫ: Спасибо за ссылки.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

ploop, я ничуть не оспариваю преимущества NEC и т.п., но обращаю ваше внимание на то, что на этом форуме (как, может быть и в других местах) далеко не так много специалистов по этим МК, как по сравнению с AVR. так что выбрав хороший, но непопулярный в "обществе" МК вы рискуете остаться один на один с проблемами...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

ARV, чего я и боюсь, при том опыта никакого.
Но если есть хорошая документация, статьи (желательно на русском, английского не боюсь, но русский воспринимается намного быстрее), эмуляторы, то можно попробовать. Я еще не сделал выбор, просто NEC по характеристикам подходит. Сам хотел бы на AVR, так как информации полно, но не понял одного: можно ли программно там ШИМ реализовать с разрешением 12 бит и более? И найти МК с большим числом портов для внешних АЦП?

За одно, если не затруднит, дайте ссылки на хорошие (по вашему мнению) статьи по программированию МК и софту.

Немного обо мне: радиолюбительством не занимался лет 6-7, поэтому и "выбился из колеи" на уровне годов 2000-ных. Тогда у меня небыло компьютера, и о МК мечтать только можно было.
Увлекаюсь программированием, поэтому не боюсь ассемблера, с Си сложнее, не перевариваю его синтаксис, но если надо - потерплю. Жду советов, с чего мне можно начать?
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

в AVR можно сделать ШИМ от 3 до 16 бит, но надо только помнить, что мастота несущей такого ШИМ будет тем ниже, чем больше разрядность. грубо говоря, тактовая частота, деленная на максимальное значение счетчика ШИМ + 1 и будет частотой несущей ШИМ.

сколько портов ввода-вывода вам надо? atmega8 - это 23 порта (линии), atmega16 - уже 32 линии, atmega128 - вообще 53... мало? в конце концов, можно поставить регистр и расширять "медленные" порты хоть до бесконечности. кстати. это намного выгоднее (по деньгам), нежели погоня за многоногим МК - регистры стоят по 5 рублей, а многоногие МК значительно дороже :)

эмуляторы и т.п. - все, конечно, есть для любых МК, но я не знаю, например, для NEC где, какие, почем и т.д. - и думаю, что тех, кто не знает. гораздо больше, чем тех, кто знает :)

например, непопулярное на этом форуме семейство MCS51, производимое фирмой SiLabs - при цене, близкой к аналогичным по числу выводов AVR, их контроллеры обладают примерно такой же производительностью, но гораздо лучшей периферией, в частности, имеют встроенные ЦАП - может, вы и без ШИМ обойдетесь :) и отладочные средства для них гораздо дешевле, чем фирменные Atmel-овские (скажем, 50$ против 150$ за универсальный программатор-отладчик).

так что думайте, думайте...

P.S. Да, про AVR-овский ШИМ все верно для обычных МК. А есть специальные, со встроенным PLL-генератором - там ШИМ можно получить чуть ли не в сотни кГц, причем разрядность так же "нормальная". Пример - attiny25
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Сообщение ploop »

в AVR можно сделать ШИМ от 3 до 16 бит, но надо только помнить, что мастота несущей такого ШИМ будет тем ниже, чем больше разрядность. грубо говоря, тактовая частота, деленная на максимальное значение счетчика ШИМ + 1 и будет частотой несущей ШИМ.
Блин, про частоту то я и забыл... По моим рассчетам - счетчик ШИМ - 5000. Хоть на чём делай, для 30КГц несущей нужно 150Мгц тактовой. В утиль такие рассчеты! Нужен другой принцип. Если как-нибудь модулирующий сигнал из двух частей сделать, типа "грубо-точно".... т.е. 2 ШИМ на одной несущей... буду думать.
--------------------------
Думал, думал, и вот что надумал:
Вариант 1
2 ШИМ на одной несущей получится вот каким способом (см. граик 1) Допустим у нас есть несущая с длительностью Тн. Тактовый генератор способен дать импульс не короче Тт, а нам по рассчетам нужен длительностью, больше на Тр. Если их чередовать (как показано на графике 2 и 3) после интегрирования получится средняя величина, что и было нужно. Чередовать их можно с любым интервалом.
НО! При таком способе получится дополнительная модуляция несущей более низкой частотой, если влять 30КГц и этот пример - несущая будет промодулирована частотой в 15КГц - слышимый диапазон! Смогут ли это дело подавить выходные фильтры?

Вариант 2
На мой взгляд самый лучший. Не изобретать велосипед. Взять генератор пилообразного напряжения, подать на один вход аналогового компаратора, а на другой подать заданное напряжение с ЦАП. С выхода компаратора имеем нормальный ШИМ сигнал. Так и работает большинство микросхем для ШИМ-преобразователей. Для ОС понадобится 2 16-битных АЦП (на 2 плеча), с помощью МК можно их опрашивать по-очереди и давать нужное значение на внешний ЦАП.
Вложения
graf.gif
(9.96 КБ) 393 скачивания
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

ploop писал(а):Думал, думал, и вот что надумал:
Вариант 1
2 ШИМ на одной несущей получится вот каким способом (см. граик 1) Допустим у нас есть несущая с длительностью Тн. Тактовый генератор способен дать импульс не короче Тт, а нам по рассчетам нужен длительностью, больше на Тр. Если их чередовать (как показано на графике 2 и 3) после интегрирования получится средняя величина, что и было нужно. Чередовать их можно с любым интервалом.
НО! При таком способе получится дополнительная модуляция несущей более низкой частотой, если влять 30КГц и этот пример - несущая будет промодулирована частотой в 15КГц - слышимый диапазон! Смогут ли это дело подавить выходные фильтры?
придумали практически сигма-дельта ЦАП :) если чередовать не 2 частоты, а несколько, т.е. формировать нечто типа белого шума, то все будет как раз хорошо: и фильтры легко подавят, и разрешающая способность станет выше...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Ответить

Вернуться в «Цифровая техника»