Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 20.10.2015, 21:45  
xoxa
Временная регистрация
 
Регистрация: 19.03.2006
Сообщений: 63
Сказал спасибо: 1
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
xoxa на пути к лучшему
По умолчанию 0-10V 10 каналов

Надо сгородить схему

10 выходов 0-10V для управления заслонками. Нагрузка 10 ma на выход.

Места в корпусе мало. 10 PWM выходов нет.

Есть I2C, SPI и тп. Процессор STM32.

Какие компоненты можно применить под задачу ? Весь gaw.ru уже излазил.
Реклама:
xoxa вне форума  
Непрочитано 20.10.2015, 22:10  
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: 0-10V 10 каналов

Софтовый PWM, ЦАП 10-12-канальный типа http://www.analog.com/en/parametrics...7=8&p4656=8|40 или подобные.
Да и сам STM32, если покопаться, с большим числом DAC-ов...

Последний раз редактировалось NewWriter; 20.10.2015 в 22:16.
NewWriter вне форума  
Непрочитано 20.10.2015, 22:23  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: 0-10V 10 каналов

Какой софтовый PWM? Зачем DAC? Там куча таймеров с PWM. На них и делать. С фильтрами и усилителями.
Easyrider83 вне форума  
Непрочитано 20.10.2015, 22:46  
Alex9797
Почётный гражданин KAZUS.RU
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
Alex9797 на пути к лучшему
По умолчанию Re: 0-10V 10 каналов

Сообщение от xoxa Посмотреть сообщение
Надо сгородить схему
Для этой задачи схема не потребуется. Только процессор, и простейшие RC фильтры, в количестве 10 штук. В остальном же все решение задачи чисто программное. И совсем несложное.
Фактически это будет многоканальный программный ШИМ.

Выделяем в памяти 11 однобайтовых регистров под счетчики. 10 счетчиков будут формировать длительность рабочего импульса по каждому выходу, а 11-й счетчик будет задавать период ШИМ.
Еще 10 байт - для хранения чисел, пропорциональных заданному выходному напряжению по каждому каналу.
Настраиваем какой-нибудь таймер на генерацию прерываний, с некоторым периодом, о котором позже.

В основной программе после начальной инициализации обнуляем счетчик периода ШИМ, устанавливаем значения регистров-задатчиков (кнопками, или из ЕЕПРОМ), после чего переписываем значения задатчиков в соответствующие счетчики ШИМ. Затем устанавливаем в единицу те выходы ШИМ, чьи счетчики имеют ненулевое значение. После этого разрешаем прерывания таймера.

Обработка прерывания от этого таймера:
1. декремент счетчика периода ШИМ.
2. если получился ноль - переход на 9.
3. если не ноль, поочередно обрабатываем каждый из остальных 10 счетчиков:
4. если счетчик равен нулю - установить ноль на этом выходе ШИМ (даже если он уже в нуле, это не помешает), и перейти к следующему счетчику
5. если не равен нулю - декремент
6. если после этого счетчик не равен нулю - перейти к следующему счетчику
7. если получился ноль - установить ноль на этом выходе, и перейти к следующему счетчику
8. обработан последний счетчик - выход из прерывания
9. переписываем значения задатчиков в соответствующие счетчики ШИМ
10. устанавливаем в единицу те выходы ШИМ, чьи счетчики имеют ненулевое значение.
11. Выходим из прерывания.

Таким образом длительность единицы на каждом выходе будет пропорциональна числовому значению начальной установки своего счетчика. Остается только интегрировать эти импульсы, и масштабировать результат, чтобы вписаться в диапазон 0...10 вольт.

Теперь по поводу периода прерываний. Его выбирают из такого расчета, чтобы 256 таких периодов соответствовали желаемому периоду ШИМ.

Вроде все самое главное описал.
Alex9797 вне форума  
Сказали "Спасибо" Alex9797
Foto-Remont (21.10.2015)
Непрочитано 20.10.2015, 23:00  
alex_markin
Частый гость
 
Регистрация: 26.12.2008
Сообщений: 33
Сказал спасибо: 2
Сказали Спасибо 11 раз(а) в 6 сообщении(ях)
alex_markin на пути к лучшему
По умолчанию Re: 0-10V 10 каналов

Сделать DAC из ШИМ - дело конечно самое экономичное. Но такие DAC как раз отличаются тем что они относительно медленно устанавливаются. Заслонка - звучит как штука небыстрая, но черт его знает. Перед тем как давать советы пусть лучше топикстартер прояснит про тайминг требования.
alex_markin вне форума  
Непрочитано 20.10.2015, 23:09  
Alex9797
Почётный гражданин KAZUS.RU
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
Alex9797 на пути к лучшему
По умолчанию Re: 0-10V 10 каналов

Сообщение от alex_markin Посмотреть сообщение
Заслонка - звучит как штука небыстрая, но черт его знает.
Вот именно. Даже очень небыстрая, сравнивая со скоростью установки выходного напряжения ШИМ. А если в аварийных случаях надо максимально быстро - так можно напрямую, минуя фильтры, подать на вход привода заслонки ноль или 10 вольт, смотря в какую сторону ее надо крутить.

А для 10 каналов софтового ШИМ, 32-й СТМ может запросто, не напрягаясь, обеспечить частоту ШИМ пару десятков килогерц, чего с запасом хватит для любой задвижки.
Alex9797 вне форума  
Непрочитано 20.10.2015, 23:11  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: 0-10V 10 каналов

Еще раз спрошу - зачем нужен софтовый шим в десяток килогерц, если есть хардварный в сотню?
Easyrider83 вне форума  
Непрочитано 20.10.2015, 23:19  
Alex9797
Почётный гражданин KAZUS.RU
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
Alex9797 на пути к лучшему
По умолчанию Re: 0-10V 10 каналов

Сообщение от Easyrider83 Посмотреть сообщение
если есть хардварный в сотню?
Ну, и куда эту сотню засунуть? Не в коня корм. Из пушки по воробьям. При той скорости задвижки даже килогерца хватит.
Кроме того, сколько бы ни было
Сообщение от Easyrider83 Посмотреть сообщение
Там куча таймеров с PWM.
, нечего ими разбрасываться почем зря. Тем более, что требуемое количество ШИМ довольно большое - 10 штук. А таймеры могут пригодиться и еще куда-нибудь.

Да и чем еще заняться этому процу? Гонять по кругу, в ожидании нажатия какой-нить кнопки?
Alex9797 вне форума  
Непрочитано 20.10.2015, 23:24  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: 0-10V 10 каналов

Чем выше частота шим, тем проще нужен фильтр. Так что да, чем выше - тем лучше.
Использовать такой камень без операционки - довольно глупо. Так что таймеры не нужны, все возьмет на себя ось.
Easyrider83 вне форума  
Непрочитано 20.10.2015, 23:41  
Alex9797
Почётный гражданин KAZUS.RU
 
Аватар для Alex9797
 
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
Alex9797 на пути к лучшему
По умолчанию Re: 0-10V 10 каналов

Сообщение от Easyrider83 Посмотреть сообщение
Чем выше частота шим, тем проще нужен фильтр. Так что да, чем выше - тем лучше.
И с этим не соглашусь. Вернее, не на все 100%. Да, фильтр проще. Но требования к ключам повышаются с ростом частоты. Ненулевая длительность фронтов при переключении при росте частоты все более ухудшает точностные параметры ШИМ. Особенно на краях диапазона, когда ширина импульсов становится соизмеримой с длительностью фронтов.
Так что рост улучшения имеет свой максимум, на некоторой частоте. И она далеко не сотня килогерц, а на порядок меньше.

Но, я соглашусь с полезностью высоких частот ШИМ, только в том случае, когда у нас есть цепь обратной связи с выхода. Это касается в первую очередь импульсных источников питания. Да, там увеличение частоты позволяет резко уменьшить габариты, за счет уменьшения сердечников дросселей и трансов. Да и фильтрующие емкости тоже уменьшаются. А точность обеспечивается обратной связью.

В нашем же случае обратной связи с выхода нет, и быть не может. Мы задаем коэффициент заполнения ШИМ 20% - и на выходе напряжение должно быть равно 20% от максимального. Задаем 1% - и надеемся, что на выходе тоже будет 1%.
Alex9797 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
STM32F051x6 - переключение каналов ADC kvark85 ARM 5 14.10.2013 15:33
Пауза при переключении каналов 4051 pifa TTL и CMOS логика 16 05.04.2011 18:54
Телевизор GoldStar CK-21A80 уплывают настройки каналов uldin_v Видеотехника 0 20.05.2008 08:05
зачем PIC-ам много каналов АЦП? stri Микроконтроллеры, АЦП, память и т.д 3 01.11.2007 12:32
PIC16F877A pawelk Микроконтроллеры, АЦП, память и т.д 17 28.05.2005 23:54


Часовой пояс GMT +4, время: 21:51.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot