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

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

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

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

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

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

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

 
Опции темы
Непрочитано 24.09.2010, 17:15  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: ШИМ в АТMega8535

Сообщение от 7Fantomas7 Посмотреть сообщение
Мне очень нужно отчетливо видеть когда начался импульс и когда кончился, в это время не должно выполнятся ничего кроме опроса компаратора. Поэтому прерывания по переднему фронту импульса и по заднему самое оно.
Настроить что бы прерывания от переполнения таймера (того, с которым работает ШИМ модуль) у вас будет срабатывать в начале периода ШИМ, то есть по фронту импульса, а ножку INT0 настроите на спад импульса и получите прерывание по спаду импульса. В обоих прерываниях и будете делать опрос компаратора. И в этих прерываниях запретите отстальные. Здесь же можно переключать каналы АЦП, запускать преобразование АЦП и читать результаты преобразования и помещать их в буферы. Так же в каждом 4 м прерывании (1/33кгц=30микросек*4=120микросек = время таймслота для 1wire) выставлять флаг для обработки 1wire.

Сообщение от 7Fantomas7 Посмотреть сообщение
При ШИМ 31кГц и тактовой 16мГц и скважности 50% Во время пауз предполагается обрабатывать и выводить на 7сегментники усредненый ток и напряжение, также данные тока и напряжения использовать для изменения скважности.
Организуете прерывание от другого таймера с периодом 1-2 милисек (от количества разрядов АЛС) и выводите на АЛС данные,
ввод вывод от 1 до 4 бит 1wire, производите опрос кнопок, обработку буферов измерения АЦП и анализ нажатия, действия по нажатиям кнопок.
Реклама:
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов

Последний раз редактировалось picavr; 24.09.2010 в 17:17.
picavr вне форума  
Непрочитано 24.09.2010, 20:44  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: ШИМ в АТMega8535

kison,
Цитата:
А без разницы 0,99 или 0,01 - пауза между событиями будет небольшой. 0,32мкс или около 5 тактов при 16МГц кварце.
Постойте мы судя по всему говорим об разных паузах.
Или я чегото не так понимаю.
Есть сигнал с шима 31кГц со скважностью 0,5 или 50% кому как нравится. У сигнала есть 2 фронта передний и задний, длительность импульса при скважности 0,5 составляет 32258мкс или 0,000032258 сек. такая же длительность паузы. При изменении ШИМ сигнала скважность стала например 0,1 это значит что пауза пропорционально стала больше. Мне необходимо ловить передний и задний фронта импульса, при этом зная фронта легко знать наступила пауза или наступил импульс. Задним фронтом можно тактировать динамичку, частоты больше чем достаточно, можно запускать опрос кнопок, можно работать по 1wire.
То как же получается без разницы? В одну паузу ШИМа влезет 512 тактов минимум. И этого боюсь что будет слишком мало. Хотя не факт.
picavr,
Цитата:
Организуете прерывание от другого таймера с периодом 1-2 милисек
Как же я могу это сделать? Мне необходимо чтоб чтоб во время когда на выходе ШИМа есть сигнал контролер ничем не занимался кроме опроса компаратора и при наступлении события на компараторе реагировал максимально быстро. В таком случае второй таймер необходимо синхронизировать с работающим ШИМом не только по частоте но и по скважности. А скважность не статическая а динамическая величина.
7Fantomas7 вне форума  
Непрочитано 24.09.2010, 22:27  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: ШИМ в АТMega8535

Сообщение от 7Fantomas7 Посмотреть сообщение
длительность импульса при скважности 0,5 составляет 32258мкс или 0,000032258 сек.
Что то цифры у Вас не сходятся. Причем на три порядка.
А период при частоте 31КГц около 30мкс, и Ваш импульс не может быть длиннее. А при коэффиценте заполнения в 0,5 соответственно он 15мкс или еще короче.
Сообщение от 7Fantomas7 Посмотреть сообщение
При изменении ШИМ сигнала скважность стала например 0,1
Скважность не может быть меньше единицы. Меньше может быть обратная скважности величина - коэффицент заполнения.

Сообщение от 7Fantomas7 Посмотреть сообщение
Мне необходимо ловить передний и задний фронта импульса
Если между ними будет 5 тактов - это нормально? Все успеете?
kison вне форума  
Непрочитано 25.09.2010, 03:04  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: ШИМ в АТMega8535

kison,
Цитата:
А период при частоте 31КГц около 30мкс, и Ваш импульс не может быть длиннее
Да Вы правы не так написал выходит 32мкс
Цитата:
А при коэффиценте заполнения в 0,5 соответственно он 15мкс или еще короче
Да тут протупил действительно, 16мкс максимальная длительность импульсов если точнее 16,129мкс. При скважности 50% это 256 тактов контролера, хоть импульса хоть паузы.
Вышло еще меньше и не успею я за 256 тактов паузы выполнить то что мне необходимо. Ну а длительность импульса от 256 тактов до 5 тактов вполне и устроила бы, хотя нужно бвлобы примерно от 250 и ниже. Очень жаль, а так не хотелось городить отдельный ШИМ.
7Fantomas7 вне форума  
Непрочитано 25.09.2010, 22:27  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: ШИМ в АТMega8535

Добрый вечер всем.
Никто принципиалкой не поделится связки какой нибудь ATMegi и TL494 или UC3825?
Шужно сделать управляемый ШИМ.
7Fantomas7 вне форума  
Непрочитано 25.09.2010, 23:08  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: ШИМ в АТMega8535

А какой в этом смысл? Что таймером ШИМ генерить, что внешней схемой - вычислительные затраты одинаковы. А так связать просто - ЦАП и его выход на ножку 3 TL494. Ноги 2 и 15 на + питания, 1 и 16 на общий. Изменяя напряжение на выходе ЦАП-а и соответственно на 3 ноге TL494 сможете изменять и коэффицент заполнения.
kison вне форума  
Сказали "Спасибо" kison
7Fantomas7 (25.09.2010)
Непрочитано 25.09.2010, 23:50  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: ШИМ в АТMega8535

kison,
Не успеваю таймером. Не хватит контролера чтоб реализовать то что мне нужно. Очень не хотел отдельный ШИМ ладить, но скорость вещь упрямая. Да гдето встречал что ктото собрал на меге16 лабораторный блок питания, но для меня это не то что нужно. Поэтому и родилась идея (хотя я ее слизал) совместить отдельный ШИМ с защитами прочей лабудой с контролером который будет контролировать средний ток и напряжение и соответственно их и регулировать. Таким образом контролер разгружается и молотит все что мне необходимо сам по себе не привязываясь к тактам ШИМа.
7Fantomas7 вне форума  
Непрочитано 26.09.2010, 00:33  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: ШИМ в АТMega8535

Сообщение от 7Fantomas7 Посмотреть сообщение
Таким образом контролер разгружается и молотит все что мне необходимо сам по себе не привязываясь к тактам ШИМа.
Он может и так молотить сам по себе, а ШИМ сам по себе. Что внешний, что внутренний ШИМ сам по себе ресурсы не потребляет. Не привязывайтесь к фронтам внутреннего ШИМа и получите то же, что и с внешним. А управлять внешним через ЦАП или внутренним через регистры тоже почти без разницы.
kison вне форума  
Непрочитано 26.09.2010, 01:50  
7Fantomas7
Почётный гражданин KAZUS.RU
 
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
7Fantomas7 на пути к лучшему
По умолчанию Re: ШИМ в АТMega8535

kison,
Огромное спасибо что пытаетесь помочь но мы друг друга наверное не очень понимаем. Возможно я туплю.

Во время когда на выходе ШИМа уровень высокий и открыты силовые ключи в мосте, мне необходимо контролировать ток в ключах и максимально быстро реагировать на превышение этого тока выключая ШИМ и переводя его выходной сигнал в 0. Таким способом я пытаюсь спасти ключи от выхода из строя при превышении тока выше какогото критического значения. Спасу ли? Не факт, скорей всего не спасу, но попробовать стоит. Тут все просто в круговую опрашиваем компаратор, принимаем решение и нет важности 256 или 5 тактов контролера длительность этого импульса, будет всеголиш разное количество опросов компаратора при этом контролер не должен больше ничем заниматься чтоб реагировать максимально быстро. С этим вроде просто и понятно, но необходимо знать когда выход ШИМа стал высоким и когда стал низким. При этом прерывание это более чем 4 такта.

Пауза, 256 и более тактов. В это время мне необходимо опросить 2 АЦП узнать ток и напряжение, усреднить их значения выполнив математику, сравнить с задаными и принять решение не нужно ли изменить длительность импульса и если нужно то изменить. Еше мне необходимо опросить 2-3 датчика температуры 1wire и принять решение не нагрелось ли чего и если нагрелось то выключить ШИМ. Еще мне нужно опросить некоторое количество кнопок и если хоть одна нажата не включать ШИМ и дальше можно чего угодно делать. Еще мне нужно обновить динамичку. И это все за 256 тактов, конечно может быть и больше но расматриваем наихудший вариант. Да не успею я это на "С" упаковать в эти ресурсы.
Конечно некоторые процесы можно разнести по разным паузам сэкономив таким образом такты все эти процесы в принципе можно сделать сравнительно медленными. Не нужно так часто обновлять динамичку, не очень то нужно и температуру так часто мерять достаточно раз за полсекунды, и опрос кнопок не нужен с частотой 31кГц. Ну АЦП опрашивать нужно постоянно. И я впринципе боюсь что не хватит мне в конечном итоге тактов во время паузы чтоб потянуть такие задачи. И для этого мне необходимо знать когда пауза началась и когда закончилась что в принципе всеравно что знать когда начался и закончился импульс.

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

Последний раз редактировалось 7Fantomas7; 26.09.2010 в 01:53.
7Fantomas7 вне форума  
Непрочитано 26.09.2010, 03:59  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию Re: ШИМ в АТMega8535

Сообщение от 7Fantomas7 Посмотреть сообщение
Во время когда на выходе ШИМа уровень высокий и открыты силовые ключи в мосте, мне необходимо контролировать ток в ключах и максимально быстро реагировать на превышение этого тока выключая ШИМ и переводя его выходной сигнал в 0.
Вообще защита должна быть аппаратной. По току точно. Голым контроллером этого не сделать, а вот введя пару корпусов внешней логики - легко. В любом случае это проще и дешевле, чем ЦАП вводить в схему. И думаю это значительно дешевле, чем даже один комплект силовых ключей.
Если же мгновенная реакция не нужна и время в 1мкс до срабатывания защиты приемлемо, то можно и на встроенном компараторе защиту сделать. У Вас при акрытых ключах компаратор сработать может? Вероятно нет - тока нет и сигнал с датчика тока отсутствует. Так зачем включать защиу при появлении сигнала на выходе ШИМ и отключать в конце импульса? Пусть себе защищает
Но все равно аппаратная защита предпочтительней - она работает независимо от работоспособности контроллера. Представьте ситуацию что у Вас в схеме отвалился резонатор. И вот незадача - в момент когда на выходе ШИМ середина импульса. Компаратор сработал, это тупая железяка, но ... некому "березку заломати" - контроллер в ступоре без тактовых импульсов и отработать защиту не может. Внешняя же защита это отработала бы легко и непринуденно - ток из за насыщения сердечника вырос и внешний компаратор защелкнул внешний же триггер защиты. Ключи спасены, душа в виде дыма из них не вышла
Вообще косой прямоход навевает мысли о сварочнике, больше никуда он по сути и не годится. Вы его и проектируете?
Так что ИМХО правильное решение - внешняя защита. И тогда никаких проблем с быстродействием - и индикацию есть время отработать и кнопки и термометры. Да и с внутренним компаратором как бы тоже время есть, если держать защиту включенной всегда, но я бы стал так делать только в случае если удорожание на 20р сильно критично, а неотработка защиты к совсем уж фатальным последствиям не приводит. Во всех остальных случаях - внешний автономный блок защиты. Его выход можно так же на внешнее прерывание завести.
Сообщение от 7Fantomas7 Посмотреть сообщение
У меня еще есть 128мега ктото говорил что там вроде шим навороченее
Да то же самое там.

Сообщение от 7Fantomas7 Посмотреть сообщение
Пауза, 256 и более тактов. В это время мне необходимо опросить 2 АЦП узнать ток и напряжение,
АЦП в АВР не шустрое. 13 тактов преобразование, но тактов АЦП а не процессора! А тактировать АЦП нужно частотой не выше 200КГц для сохранения 10 битного разрешения или до 1МГц для 8 бит. При такте 200КГц преобразование будет идти 65мкс - два периода ШИМ, при 1МГц - 13мкс, т.е. полпериода. Автоматом каналы АВР переключать не умеет, так что два опроса за период это максимум. Не за время паузы! Но надо ли привязываться к ШИМ-у вообще?
kison вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Посоветуйте ШИМ Easyrider83 Информация по радиокомпонентам 19 04.10.2010 14:13
Проблема с аппаратным ШИМ в мега169 Archer07 Микроконтроллеры, АЦП, память и т.д 3 09.07.2010 15:40
переделка БП на ШИМ 2003 на одно напряжение artem_y Источники питания и свет 9 26.02.2010 23:35
Ищу ШИМ контроллер serb-radio Информация по радиокомпонентам 1 16.02.2010 21:10
Регулятор шим для шд5 Pavelrb Автоматика и аппаратура связи 6 27.12.2008 22:34


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


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