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

 
 
> ATMega
Буратино
сообщение May 11 2011, 06:14
Сообщение #1


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

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Работаю с процессором ATMega8. Необходимо на выводы OC1A, OC1B вывести сигнал 125кНz в противофазе.
В режиме CTC (сброс при совпадении) можно переключать в противоположное состояние вывод OC1A и/или OC1B, но получить сигналы на пинах в противофазе никак нельзя. Может быть необходимо ввести обработчик прерывания переполнения и уже в нем инвертировать второй вывод относительно первого? Возможно ли используя режим CTC получить сигнал на указанных выводах в противофазе не используя прерывания, либо же в данном случае правильнее использовать режим Fast PWM?


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dimka76
сообщение May 12 2011, 08:36
Сообщение #2


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



А зачем все эти заморочки с прерываниями. В режиме ШИМ все будет происходить аппаратно и в противофазе.


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
Буратино
сообщение May 13 2011, 07:49
Сообщение #3


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

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Цитата(dimka76 @ May 12 2011, 11:36) *
А зачем все эти заморочки с прерываниями. В режиме ШИМ все будет происходить аппаратно и в противофазе.


На сколько я понял, в режиме Fast PWM, счетчик считает от нуля и до разрядности ШИМ. Для моего кварца максим. чатсота гораздо ниже 125кHz получается. Может быть в других режимах ШИМ можно это сделать, либо Fast PWM настроить на счет не от нуля, но я сделал так как советовал Сергей: в режиме CTC перевернул одну лапу спец. битом и настроил пины соответственно. Все получилось здорово.


У меня такой вопрос: сделал систему на процессоре ATMega8. Все работает так как и планировалось, за исключением одного "но". Дело в том, что рядом с процессором (~13mm) на плате расположено реле, которое коммутирует две настольные лампы, одна из которых VTLAMP3W (содержит две лампы дневного света BLUB 9W G23), другая обычная лампа накаливания на 40W. Время от времени процессор виснетsad.gif

Добавил доп. емкость на вход питания ,отпаял все лишние провода от лап.
зы
Конечно, в реале, реле будет коммутировать совсем не такие токи, но тем не менее нужно попытаться разобраться!


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 13 2011, 08:02
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Буратино @ May 13 2011, 10:49) *
Добавил доп. емкость на вход питания ,отпаял все лишние провода от лап.
зы
Конечно, в реале, реле будет коммутировать совсем не такие токи, но тем не менее нужно попытаться разобраться!
Показывайте схему. Показывайте разводку. Вероятнее всего проблема в неправильной разводке земли, либо в висящем в воздухе без подтяжки входе Reset, либо не на все ноги завели земли/питания.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Буратино
сообщение May 13 2011, 08:32
Сообщение #5


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

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Цитата(Сергей Борщ @ May 13 2011, 11:02) *
Показывайте схему. Показывайте разводку. Вероятнее всего проблема в неправильной разводке земли, либо в висящем в воздухе без подтяжки входе Reset, либо не на все ноги завели земли/питания.


Схема: http://electronix.ru/forum/index.php?act=a...st&id=54636
(В схеме С8 с R12 нужно поменять местами)
Плата:

Все неиспол. выводы сделал выходами и записал туда нули:
Код
void Init_Ports (void) {
    DDRB  = (1<<DDB5)|(1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0);
    PORTB = (1<<PB4)|(1<<PB2);

    DDRC  =  (1<<DDC5)|(1<<DDC4)|(1<<DDC3)|(1<<DDC2)|(1<<DDC0);
    PORTC =  (1<<PC1);

    DDRD  = (1<<DDD7)|(1<<DDD6)|(1<<DDD5)|(1<<DDD4)|(1<<DDD3)|(1<<DDD1)|(1<<DDD0);
    PORTD = (1<<PD2)|(1<<PD1);
}


---
На четвертой картинке "подсветил" именно землю на плате:

---
При этом я обратил внимание, что траблы именно с лампой где стоят дневного типа лампочки.. Сейчас попробую посмотреть на питающее напряжение в моменты вкл/откл такой нагрузки.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение

 


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 13 2011, 10:29
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Буратино @ May 13 2011, 11:32) *
Схема:
У вас AVcc в воздухе. По разводке - c1 далековато от ног процессра. Подключите AVcc, не забудьте на него тоже емкость повесить.

И очень мне не понравилась земля на конденсаторы кварца петлей через всю плату. Ее бы тут же вокруг кварца (вниз по картинке) обвести и максимально близко к земляным ногам процессора на земляную дорожку.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Буратино   ATMega   May 11 2011, 06:14
- - CYD   В книжке написано, что тоглать можно только ОС1А. ...   May 11 2011, 06:28
|- - Буратино   Цитата(CYD @ May 11 2011, 09:28) В книжке...   May 11 2011, 06:32
||- - Sergey_Aleksandrovi4   Ещё как вариант - пересесть с устаревшей восьмёрки...   May 11 2011, 08:23
|- - haker_fox   QUOTE (CYD @ May 11 2011, 15:28) тоглать ...   May 11 2011, 09:34
- - Сергей Борщ   QUOTE (Буратино @ May 11 2011, 09:14) В р...   May 11 2011, 09:18
- - Буратино   Сделал вот так: Кодvoid Init_Timer1 (void...   May 11 2011, 09:53
|- - Палыч   Цитата(Буратино @ May 11 2011, 13:53) Не ...   May 11 2011, 10:09
|- - Буратино   Цитата(Палыч @ May 11 2011, 13:09) Приори...   May 11 2011, 10:27
- - Буратино   ATMega8/8МHz кварц. Подскажите, как получить в мик...   May 12 2011, 06:34
|- - Сергей Борщ   QUOTE (Буратино @ May 12 2011, 09:34) Но ...   May 12 2011, 07:36
||- - Буратино   Цитата(Сергей Борщ @ May 13 2011, 13:29) ...   May 13 2011, 11:13
||- - Сергей Борщ   QUOTE (Буратино @ May 13 2011, 14:13) У м...   May 13 2011, 11:18
|- - dimka76   Цитата(Буратино @ May 13 2011, 11:49) На ...   May 13 2011, 08:20
|- - Клим   Цитата(dimka76 @ May 13 2011, 11:20) Можн...   May 16 2011, 06:24
|- - Буратино   Цитата(Клим @ May 16 2011, 09:24) Самое п...   May 21 2011, 12:02
|- - Сергей Борщ   QUOTE (Буратино @ May 21 2011, 15:02) Сам...   May 21 2011, 21:35
|- - Diusha   Цитата(Буратино @ May 21 2011, 15:02) Все...   May 23 2011, 04:16
- - Буратино   ААААА теперь все работает даже с тремя лампами...   May 13 2011, 11:41
- - Буратино   Цитата(Сергей Борщ @ May 22 2011, 00:35) ...   May 24 2011, 07:56
|- - Sergey_Aleksandrovi4   Цитата(Буратино @ May 24 2011, 11:56) То ...   May 24 2011, 08:47
||- - Bass   Цитата(Sergey_Aleksandrovi4 @ May 24 2011, 15...   May 26 2011, 03:42
||- - demiurg_spb   Цитата(Bass @ May 26 2011, 07:42) Если ис...   May 26 2011, 04:26
|- - Палыч   Цитата(Буратино @ May 24 2011, 11:56) Под...   May 24 2011, 08:49
|- - Сергей Борщ   QUOTE (Буратино @ May 24 2011, 10:56) То ...   May 24 2011, 10:22
- - Буратино   Спасибо!   May 24 2011, 09:12
- - Буратино   Скажите, а вот если я не использую АЦП микроконтро...   Jun 1 2011, 17:23
|- - demiurg_spb   Думаю что да. Входы АЦП-высокоимпедансные и не дол...   Jun 2 2011, 04:11
- - Буратино   Спасибо! И еще один вопросик: вот если для пр...   Jun 2 2011, 06:48
- - demiurg_spb   Если у пищалки высокоимпедансный вход то всё будет...   Jun 2 2011, 07:08
- - Буратино   Цитата(demiurg_spb @ Jun 2 2011, 10:08) Е...   Jun 2 2011, 07:16
- - demiurg_spb   R20 увеличить можно до 4,7К И проверить будет-ли о...   Jun 2 2011, 07:21


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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 17:32
Рейтинг@Mail.ru


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