реклама на сайте
подробности

 
 
> 2 кан. АЦП + 2 канала ШИМ (Fast PWM) на tyny13 такое возможно?, Может ли работать ШИМ (в режиме Fast PWM) сразу по двум каналам?
Genri
сообщение Nov 29 2010, 18:24
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 28-04-05
Пользователь №: 4 598



Я полный чайник в программировании МК, это мой первый проект на avr, поэтому просьба сильно ногами не пинать.
Пытаюсь решить задачу на tyny13.
Задача:
Организовать 2 канала АЦП (8 разрядов) независимо управляющих 2-мя каналами ШИМ (желательно Fast PWM).
Алгоритм работы такой- устройство поочередно оценивает каждый входной канал и в зависимости от уровня сигнала управляет скважностью соответствующего канала ШИМ.
На входы АЦП планирую подавать аудиосигнал.
Проверяю проект в Протеусе, он показывает что работает только один канал ШИМ (OC0A).
Своим г#внокодом вас грузить не буду только задам вопросы.
Вопросы:
1.Поддерживает ли tyny13 Fast PWM по двум каналам одновременно?
2. Если нет то каким образом можно решить поставленную задачу?
3.Можно ли не использовать делитель тактового сигнала если я использую 8 разрядов АЦП?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Xenia
сообщение Nov 29 2010, 19:28
Сообщение #2


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(Genri @ Nov 29 2010, 21:24) *
1.Поддерживает ли tiny13 Fast PWM по двум каналам одновременно?

У нее же всего один таймер, поэтому на разных каналах можно только скважность разную установить, но частоту на каналах разной не сделаешь.

Цитата(Genri @ Nov 29 2010, 21:24) *
2. Если нет то каким образом можно решить поставленную задачу?

Взять контроллер, у которого 2 или больше таймеров.

Цитата(Genri @ Nov 29 2010, 21:24) *
3.Можно ли не использовать делитель тактового сигнала если я использую 8 разрядов АЦП?

А что мешает использовать все разряды? В крайнем случае можно сдвинуть число вправо на 2 разряда - вот и останется 8 бит (старших).
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 30 2010, 06:47
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(Xenia @ Nov 29 2010, 22:28) *
У нее же всего один таймер, поэтому на разных каналах можно только скважность разную установить, но частоту на каналах разной не сделаешь.

Автору, как я понял, это и не требуется.

Цитата(Xenia @ Nov 29 2010, 22:28) *
Взять контроллер, у которого 2 или больше таймеров.

Записывать значения в регистры OCR0A и OCR0B и получать два сигнала с разной скважностью.

Цитата(Xenia @ Nov 29 2010, 22:28) *
А что мешает использовать все разряды? В крайнем случае можно сдвинуть число вправо на 2 разряда - вот и останется 8 бит (старших).

Если поставить бит ADLAR в регистре ADMUX то ничего сдвигать не нужно - старшие 8 бит будут в ADCH. В этом случае разрешается читать только ADCH, а ADCL игнорировать.

Вот только назначение устройства не очень понято - нужно аналоговый сигнал преобразовывать в ШИМ? А потом? Фильтровать будешь?

Цитата(Genri @ Nov 30 2010, 00:03) *
Кроме сильно ограниченных знаний и навыков ничто не мешает использовать все 10 разрядов АЦП

Я полагаю, мешать может лишь разрядность таймера smile.gif
Go to the top of the page
 
+Quote Post
Genri
сообщение Nov 30 2010, 07:47
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 28-04-05
Пользователь №: 4 598



Цитата(777777 @ Nov 30 2010, 09:47) *
Автору, как я понял, это и не требуется.


Записывать значения в регистры OCR0A и OCR0B и получать два сигнала с разной скважностью.


Если поставить бит ADLAR в регистре ADMUX то ничего сдвигать не нужно - старшие 8 бит будут в ADCH. В этом случае разрешается читать только ADCH, а ADCL игнорировать.

Вот только назначение устройства не очень понято - нужно аналоговый сигнал преобразовывать в ШИМ? А потом? Фильтровать будешь?


Я полагаю, мешать может лишь разрядность таймера smile.gif

Делаю все как вы сказали то есть записываю поочередно значения ADCH в регистры OCR0A и OCR0B (бит ADLAR установлен).
Назначение устройства примитивное к выходам ШИМ подключаю аналоговые (стрелочные) индикаторы, поэтому думаю что фильтровать ничего не надо.
Go to the top of the page
 
+Quote Post
777777
сообщение Nov 30 2010, 08:25
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(Genri @ Nov 30 2010, 10:47) *
Делаю все как вы сказали то есть записываю поочередно значения ADCH в регистры OCR0A и OCR0B (бит ADLAR установлен).
Назначение устройства примитивное к выходам ШИМ подключаю аналоговые (стрелочные) индикаторы, поэтому думаю что фильтровать ничего не надо.

А зачем тогда вообще контроллер? Почему бы не подключить индикаторы сразу к аналоговым сигналам которые ты оцифровываешь?

ЗЫ. У стрелочных индикаторов есть индуктивность, поэтому если подавать на них импульсное напряжение, то к ним еще диод нужен.
Go to the top of the page
 
+Quote Post
Genri
сообщение Nov 30 2010, 08:52
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 28-04-05
Пользователь №: 4 598



Цитата(777777 @ Nov 30 2010, 11:25) *
А зачем тогда вообще контроллер? Почему бы не подключить индикаторы сразу к аналоговым сигналам которые ты оцифровываешь?

ЗЫ. У стрелочных индикаторов есть индуктивность, поэтому если подавать на них импульсное напряжение, то к ним еще диод нужен.

Подключить индикаторы к аналоговым сигналам напрямую так это слишком просто и неинтересно.... А тут хочется хоть немного разобраться с АВРми, да плюс еще на свободные выводы tiny в перспективе пару аналоговых датчиков температуры повесить.
С диодом проще будет разобраться smile.gif
Go to the top of the page
 
+Quote Post
aspID
сообщение Dec 1 2010, 15:08
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 343
Регистрация: 24-01-07
Из: Новосибирск
Пользователь №: 24 714



Цитата(Genri @ Nov 30 2010, 14:52) *
С диодом проще будет разобраться  smile.gif


Мне кажется, Вы не поняли, о чем Вам говорили. У стрелочных индикаторов существует назовем ее в данном случае "паразитная" индуктивность. Чтобы с ней бороться - следует включить в схему диод
Go to the top of the page
 
+Quote Post
Genri
сообщение Dec 2 2010, 08:38
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 29
Регистрация: 28-04-05
Пользователь №: 4 598



Цитата(aspID @ Dec 1 2010, 19:08) *
Мне кажется, Вы не поняли, о чем Вам говорили. У стрелочных индикаторов существует назовем ее в данном случае "паразитная" индуктивность. Чтобы с ней бороться - следует включить в схему диод


Да вы действительно правильно заметили я не о том подумал.
Видимо имелось ввиду включение диода в обратном направлении параллельно катушке, аналогично диод включаются при подключении обмотки реле.
Если не ошибаюсь поможет не спалить выходы МК. Теперь правильно понял? smile.gif
Go to the top of the page
 
+Quote Post
aspID
сообщение Dec 2 2010, 13:11
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 343
Регистрация: 24-01-07
Из: Новосибирск
Пользователь №: 24 714



Цитата(Genri @ Dec 2 2010, 14:38) *
Теперь правильно понял?  smile.gif


Да, именно так
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Genri   2 кан. АЦП + 2 канала ШИМ (Fast PWM) на tyny13 такое возможно?   Nov 29 2010, 18:24
- - ARV   1. поддерживает 2. см. п.1 3. делитель тактового с...   Nov 29 2010, 19:14
|- - Genri   Цитата(ARV @ Nov 29 2010, 22:14) 1. подде...   Nov 29 2010, 21:03
- - Genri   Есть еще один вопрос к экспертам. Пытаюсь эмулиров...   Nov 30 2010, 10:45
- - Genri   Не могу заставить работать выход OC0B в режиме Fas...   Dec 7 2010, 10:06
|- - Палыч   Цитата(Genri @ Dec 7 2010, 13:06) Не могу...   Dec 7 2010, 12:14
|- - Genri   Цитата(Палыч @ Dec 7 2010, 15:14) Вы не з...   Dec 7 2010, 12:26
|- - Палыч   Регистры таймера настроить? Как-то так: КодTCCR0A=...   Dec 7 2010, 13:29
|- - Genri   Цитата(Палыч @ Dec 7 2010, 16:29) Регистр...   Dec 8 2010, 07:20
|- - Палыч   Цитата(Genri @ Dec 8 2010, 10:20) Правда ...   Dec 8 2010, 08:27
- - Genri   Еще раз спасибо за пояснения.   Dec 8 2010, 13:24


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th June 2025 - 10:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01462 секунд с 7
ELECTRONIX ©2004-2016