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

 
 
> INT0 в ATMega8, Бред или фантастика ... Или кривые руки
hd44780
сообщение Dec 14 2011, 07:22
Сообщение #1


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

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



По задумке надо мерить этим МК угол сдвига фаз между напряжением и током.
Мега пока работает от внутреннего генератора 8МГц. В будущем, м.б. припаяю кварц на 16МГц. Индикация пока на LCD HD44780, это отладка, в конечном устройстве измеренные частота и угол сдвига фаз должны передаваться в другой МК.

Входной каскад схемы обеспечивает обычные 50Гц синусоиды напряжения и тока, поднятые на 2.5в. Обе синусоиды родом из розетки, токовая синусоида снимается с токового транса с шунтом. Типовая схема короче. Плюс стандартная защита от перенапряжения, чтобы все синусоиды всегда лежали в диапазоне 0..+5в.
Сигнал по напряжению подан на вход внутреннего компаратора меги, сигнал по току на внешний компаратор К554СА3 с типовой обвязкой. Минусовые входы обоих компараторов на средней точке +2.5в. Выход компаратора подключен к INT0 контроллера.
Канал напряжения работает нормально - частота (по прерыванию компаратора) меряется вполне адекватно, слегка гуляет, но, думается, это из-за нестабильностей основного генератора.

С внешним компаратором дело гораздо хуже sad.gif . Сам по себе он работает - на осциллографе вижу чёткие прямоугольные импульсы 50 Гц.

В прошивке написал:

CODE

volatile dword ms1;
// External Interrupt 0 service routine
// Rising edge (0->1) - начало положительной полуволны тока
interrupt [EXT_INT0] void ext_int0_isr(void)
{
ms1++;
} // ext_int0_isr

...........
//////////////
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=0 State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x08;

// Инициализация INT0
// External Interrupt(s) initialization
// INT0: On
// INT0 Mode: Rising Edge
// INT1: Off
GICR|=0x40; // INT0 enable
MCUCR=0x03; // ISC01..00 = 11 - rising edge INT0
GIFR=0x40; // сброс INT0


В главном цикле переменная ms1 просто печатается на дисплей.

Кроме INT0 есть ещё прерывание TC0 с частотой 1 кГц - считает миллисекунды и секунды. Там работает нормально.
Казалось бы, я должен на дисплее увидеть число, увеличивающееся на 50 каждую секунду, но там творится что-то ужасное. Этот ms1 меняется так, как будто там не 50 Гц, а что-то типа 1..10 кГц blink.gif
Я сперва нагрузил в этот INT0 полный алгоритм, так проц вообще почти завис ....

Когда я снимаю нагрузку с ТТ, на выходе компаратора ноль, но число продолжает расти. Только с немного меньшей скоростью (на глаз).
Кто-нибудь знает что это за фигня такая?

С внешними прерываниями я раньше работал всего один раз, делал связку ATMega32+PDIUSBD12D (USB контроллер). PDI-шка висела на INT0. Девайс ожил почти сразу и работал без проблем rolleyes.gif ...
Только там, помнится прерывание было по лог. 1 на входе, а тут по переднему фронту (0->1).

Ради эксперимента завёл тот же токовый сигнал на внутренний компаратор - работает как часы...
Спасибо.

PS. Опять у меня кнопка CODEBOX не фурычит angry.gif ....

Сообщение отредактировал hd44780 - Dec 14 2011, 08:21


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
hd44780
сообщение Dec 14 2011, 18:16
Сообщение #2


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

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Гадский папа ©....
Компаратор то есть. Потыкал осциллом в него ... Когда на ТТ нет нагрузки, на плюсовом входе его появляется средняя точка через резистор защиты 8 кил. На выходе компаратора "осциллографируется" дикий мусор. Осцилл пытается частоту по ходу мерить ... Показывает 100 Гц, хотя там бред откровенный.
Закоротил пинцетом плюсовой вход на минусовой, на выходе нарисовался ноль и счётчик мгновенно остановился.

Хоть XORь его, хоть на INT вешай - какой хрен разница ....

И шо мне с этим делать? менять компаратор? На что? хрень ...

Сообщение отредактировал hd44780 - Dec 14 2011, 18:17


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
domowoj
сообщение Dec 14 2011, 19:35
Сообщение #3


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

Группа: Участник
Сообщений: 1 548
Регистрация: 20-12-07
Из: г.Новосибирск
Пользователь №: 33 486



Цитата(hd44780 @ Dec 15 2011, 01:16) *
И шо мне с этим делать? менять компаратор? На что? хрень ...

Ввести гистерезис, СА3 без него практически применить трудно.
Его преимущество - очень высокая чувствительность,
а оно вам надо?



--------------------
И на камнях растут деревья!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- hd44780   INT0 в ATMega8   Dec 14 2011, 07:22
- - smk   Таймер в 1 кГц у Вас откушает прилично ресурсов пр...   Dec 14 2011, 07:30
- - hd44780   ТС0 сейчас такой: CODE // Timer 0 overflow interr...   Dec 14 2011, 07:57
- - Navovvol   как правило приоритет у INT0 выше чем у таймеров (...   Dec 14 2011, 09:38
- - hd44780   Настройку пинов делал генератор проекта CvAVR. Я е...   Dec 14 2011, 10:27
- - Палыч   Цитата(hd44780 @ Dec 14 2011, 11:22) Этот...   Dec 14 2011, 11:00
|- - hd44780   Цитата(Палыч @ Dec 14 2011, 14:00) Возмож...   Dec 14 2011, 11:22
- - xemul   С каким разрешением Вы предполагаете получать разн...   Dec 14 2011, 12:04
|- - hd44780   Цитата(xemul @ Dec 14 2011, 15:04) С каки...   Dec 14 2011, 13:11
||- - xemul   Цитата(hd44780 @ Dec 14 2011, 17:11) Хоте...   Dec 14 2011, 14:05
||- - hd44780   Цитата(xemul @ Dec 14 2011, 17:05) Самый ...   Dec 14 2011, 14:28
|- - domowoj   Цитата(xemul @ Dec 14 2011, 19:04) С каки...   Dec 14 2011, 16:58
||- - hd44780   Цитата(domowoj @ Dec 14 2011, 22:35) а он...   Dec 15 2011, 07:48
|- - _Pasha   Цитата(hd44780 @ Dec 14 2011, 22:16) Гадс...   Dec 15 2011, 10:10
|- - hd44780   Цитата(_Pasha @ Dec 15 2011, 12:10) кусок...   Dec 15 2011, 11:22
|- - ae_   Цитата(hd44780 @ Dec 15 2011, 20:22) Лови...   Dec 15 2011, 12:07
|- - xemul   Цитата(ae_ @ Dec 15 2011, 16:07) Так у Ва...   Dec 15 2011, 12:11
- - hd44780   DA1.1 - средняя точка. Компараторы я ещё там не на...   Dec 15 2011, 12:21
|- - ae_   Цитата(hd44780 @ Dec 15 2011, 21:21) DA1....   Dec 15 2011, 12:35
|- - hd44780   Цитата(ae_ @ Dec 15 2011, 14:35) Просим. ...   Dec 15 2011, 13:31
|- - ae_   Цитата(hd44780 @ Dec 15 2011, 22:31) Пожа...   Dec 16 2011, 02:45
- - ILYAUL   К155ТЛ2 , если есть возможность добавить корпус пе...   Dec 15 2011, 14:28
- - domowoj   Гистерезис будет работать если буферезировать сигн...   Dec 16 2011, 06:53
- - hd44780   Да, спасибо. Я вчера так и сделал. Резистор 1М по...   Dec 16 2011, 06:58
|- - Сергей Борщ   QUOTE (hd44780 @ Dec 16 2011, 08:58) А за...   Dec 16 2011, 07:18
|- - domowoj   Цитата(hd44780 @ Dec 16 2011, 13:58) Чере...   Dec 16 2011, 09:15
- - hd44780   Спасибо. Добавлю резистор. Мне его не жалко, прост...   Dec 16 2011, 07:48
- - hd44780   1 кил припаял. Повторитель пока не делал. Но есть ...   Dec 16 2011, 16:19
- - domowoj   А без нагрузки его разве можно использовать, идеал...   Dec 16 2011, 16:42
- - hd44780   Не, шунт и пр. там есть. Я имел в виду, что ток в ...   Dec 16 2011, 17:02
- - ILYAUL   Посмотрите рекомендции на стр. 53-55 .   Dec 16 2011, 18:33
- - hd44780   Заменил 1М в обр. связи на резистор порядка 800 ки...   Dec 17 2011, 15:54
- - hd44780   Очередная хрень вылезла ... Ставящая под угрозу вс...   Dec 19 2011, 10:31
|- - Павлик   Компаратор попробуй сменить на LM311, буфер DA1.2 ...   Dec 19 2011, 11:21
|- - ae_   Цитата(hd44780 @ Dec 19 2011, 19:31) Нагр...   Dec 20 2011, 06:41
|- - hd44780   Цитата(ae_ @ Dec 20 2011, 08:41) 20мВ отн...   Dec 20 2011, 07:02
- - hd44780   Спасибо, попробую. Когда найду его ...   Dec 19 2011, 11:45
- - Павлик   Транзисторы советские не отличаются хорошим открыв...   Dec 19 2011, 12:15


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

 


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


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