Найдено 37 результатов

vk_31
Чт май 10, 2018 08:39:29
Форум: Теория
Тема: Всё про операционный усилитель.
Ответы: 1588
Просмотры: 528737

Re: Всё про операционный усилитель.

[uquote="mickbell",url="/forum/viewtopic.php?p=3372201#p3372201"]Я склоняюсь к тому, что это защита. Вопрос только, от чего. С учётом того, что терморезистор NTC, уточним алгоритм работы. Высокий выход первого ОУ, подаваясь через диод на задатчик температуры, заставляет второй ОУ выключить нагрев ...
vk_31
Вт май 08, 2018 18:11:09
Форум: Теория
Тема: Всё про операционный усилитель.
Ответы: 1588
Просмотры: 528737

Re: Всё про операционный усилитель.

[uquote="mickbell",url="/forum/viewtopic.php?p=3371992#p3371992"]Сначала я подумал про ПИ-регулятор, но как-то не очень на него похоже: ёмкость для него маловата.[/uquote]
Терморезистор NTC. Вот его приблизительные характеристики:
5 град. C - 22k
10 - 18k
20 -12k
30 - 8k
40 - 6k
Возможнос ввел в ...
vk_31
Вт май 08, 2018 13:49:35
Форум: Теория
Тема: Всё про операционный усилитель.
Ответы: 1588
Просмотры: 528737

Re: Всё про операционный усилитель.

Добрый день.
Помогите разобраться в принципе работы регулятора теплого пола
Вот схема:
http://img.radiokot.ru/files/116002/thumbnail/1kt41knzkk.JPG

RV1 - терморезитор теплого пола
D3 - реле, включающее цепь нагрева

Если я правильно понял, схема работает на основе сравнения напряжений с датчика ...
vk_31
Ср ноя 30, 2016 11:42:28
Форум: AVR
Тема: Пробема с прерываниями
Ответы: 40
Просмотры: 6502

Re: Пробема с прерываниями

Ну вот у меня есть версия 3.12, там для проца atmega169p EIMSK->PCIE0 = 6, а для проца atmega169pa отсылает к библе "mega329p_bits.h", там EIMSK->PCIE0 = 4.
Так что вероятно, если правильно выбран проц, то работало бы правильно.

Или неправильно Вас понял?
Да, вы все верно говорите. Ошибка была ...
vk_31
Ср ноя 30, 2016 10:38:13
Форум: AVR
Тема: Пробема с прерываниями
Ответы: 40
Просмотры: 6502

Re: Пробема с прерываниями

Vov123 писал(а):Вероятно неплохо в будущем проверять на другом компиляторе, к примеру, на CVAVR?
Скорее всего не поможет. Разница же была в #define PCIE, а значит компилироваться будет в любом случае.
vk_31
Ср ноя 30, 2016 06:19:06
Форум: AVR
Тема: Пробема с прерываниями
Ответы: 40
Просмотры: 6502

Re: Пробема с прерываниями

Спасибо всем за помощь! Все оказалось как обычно просто: существует какая-то разница между контроллерами atmega169pa-au толи в версиях, то ли просто у меня маркировка неправильная стояла. В общем даташит МК atmega169p(v) отличается от atmega169pa. Пока что я нашел различия в бите, EIMSK, а именно: в ...
vk_31
Пн ноя 28, 2016 18:41:46
Форум: AVR
Тема: Пробема с прерываниями
Ответы: 40
Просмотры: 6502

Re: Пробема с прерываниями

Может он у Вас из-за большой нагруженности на плате проседает по питанию и в момент нажатия кнопки происходит рестарт.
Было бы заметно, светодиод бы гас (он зажигается при опросе кнопки в цикле), но не происходит этого. Вообще никакой реакции по прерыванию(
Может попробовать сделать по этим ...
vk_31
Пн ноя 28, 2016 10:50:10
Форум: AVR
Тема: Пробема с прерываниями
Ответы: 40
Просмотры: 6502

Re: Пробема с прерываниями

Можно попробовать позамыкать перемычкой вместо кнопки и контакта энкодера. Из опыта, не следует полностью доверять встроенной подтяжке. Контакт, подтянутый резистором 1к работает гораздо лучше.
Пробовал устанавливать маску прерываний на все пины порта E и замыкать их перемычкой - прерывания не ...
vk_31
Пн ноя 28, 2016 08:09:08
Форум: AVR
Тема: Пробема с прерываниями
Ответы: 40
Просмотры: 6502

Re: Пробема с прерываниями

akl, залил Вашу прошивку - по нажатию на PE6 загорается или гаснет светодиод на PB6, а на PB0 реакции нет. При нажатии на PE3 ничего не происходит. Если я правильно понял Ваш код, то обрабатывается только опрос кнопок в цикле?
Vov123, Вы тоже думаете дело в этом? Я выкладывал плату, взглягите если ...
vk_31
Вс ноя 27, 2016 22:05:49
Форум: AVR
Тема: Пробема с прерываниями
Ответы: 40
Просмотры: 6502

Re: Пробема с прерываниями

По дизассемблеру Atmel Studio также не записывает биты PCIF1,0 в регистре EIMSK командой out. Работают только битовые операции типа
sbi EIMSK,PCIE0 ; Установить бит PCIE0 в регистре EIMSK в 1.
sbi EIMSK,PCIE1 ; -//-

А как должно быть в идеале и в чем разница между sbi и out кроме увеличения ...
vk_31
Вс ноя 27, 2016 19:54:36
Форум: AVR
Тема: Пробема с прерываниями
Ответы: 40
Просмотры: 6502

Re: Пробема с прерываниями

Согласуется. В коде (в последней его версии, с которой выполнен дизассемблер) по вектору прерывания PCINT0 выполняется установка единицы на порты PB0 и PB6, а по PCINT1 и INT0 выполняется инверсия порта PB6
vk_31
Вс ноя 27, 2016 19:23:24
Форум: AVR
Тема: Пробема с прерываниями
Ответы: 40
Просмотры: 6502

Re: Пробема с прерываниями

По дизассемблеру выполняются следующие действия на векторах:
ISR(PCINT0_vect) { - выполняет PORTB = (1<<PB0|1<<PB6) (если правильно записал на Си - PB0 и PB6 в 1)
ISR(PCINT1_vect) { - выполняет PORTB ^= (1<<PB6) (инверсия вывода PORTB,6. Причем читается почему-то PORTB а не PINB)
ISR(INT0_vect ...
vk_31
Вс ноя 27, 2016 17:19:07
Форум: AVR
Тема: Пробема с прерываниями
Ответы: 40
Просмотры: 6502

Re: Пробема с прерываниями

Попробуйте сделать ассемблерную вставку
ldi r16,(1<<PCIE0)
;sts EIMSK,r16
out EIMSK,r16
Я пишу в WinAVR. Посмотрел его дизассемблер - присвоение идет out'ом

EIMSK = (1<<PCIE0) | (1<<PCIE1) | (1<<INT0); // включение прерываний PCINT7..0
a6: 81 ec ldi r24, 0xC1 ; 193
a8: 8d bb out 0x1d ...
vk_31
Вс ноя 27, 2016 16:55:53
Форум: AVR
Тема: Пробема с прерываниями
Ответы: 40
Просмотры: 6502

Re: Пробема с прерываниями

Добавил прерывания на INT0 и PCINT1 чтобы исключить неправильную адресацию

EICRA = (1<<ISC00); //Any logical change on INT0 generates an interrupt request.
PCMSK0 = (1<<PCINT3) | (1<<PCINT6); //PE3 и PE6
PCMSK1 = (1<<PCINT13); //PB5

EIMSK = (1<<PCIE0) | (1<<PCIE1) | (1<<INT0);

ISR(PCINT1_vect ...
vk_31
Вс ноя 27, 2016 14:50:02
Форум: AVR
Тема: Пробема с прерываниями
Ответы: 40
Просмотры: 6502

Re: Пробема с прерываниями

Выполните тест, зажигая светодиод при первом же попадании в прерывание. Таким образом проверите их отработку.
Вы имеете ввиду сделать так:

ISR(PCINT0_vect) {
PORTB |= (1<<PB6);
PORTB |= (1<<PB0);
}

Тоже результата нет.

Все больше и больше склоняюсь с тому, что есть ошибки в разводке платы ...
vk_31
Вс ноя 27, 2016 12:06:21
Форум: AVR
Тема: Пробема с прерываниями
Ответы: 40
Просмотры: 6502

Re: Пробема с прерываниями

dr.doc писал(а):When the BOOTRST Fuse is unprogrammed
0x1C04 jmp PCINT0 ; PCINT0 Handler Читайте внимательно datasheet на странице 48 и 268.
Запрограммировал BOOTRST Fuse, HIGH Fuse стал 0xD8, ситуация не изменилась. Или я Вас неправильно понял?
vk_31
Вс ноя 27, 2016 09:18:42
Форум: AVR
Тема: Пробема с прерываниями
Ответы: 40
Просмотры: 6502

Re: Пробема с прерываниями

PCMSK0 = (1<<PCINT3) | (1<<PCINT6); //маска прерываний на порт E
EIFR = (1<<PCIF0);
Не помогло(

У меня был регулятор теплого пола с дисплеем на этом МК и я его прошивал - прерывания срабатывали. А развел свою плату, так все работает кроме прерываний PCINT

Уже грешу на разводку платы, хотя она и ...
vk_31
Сб ноя 26, 2016 19:22:21
Форум: AVR
Тема: Пробема с прерываниями
Ответы: 40
Просмотры: 6502

Re: Пробема с прерываниями

Долго не отвечал, т.к. ждал новый камень

Отключи fuse JTAG.
Отключил, без изменений все.

Сейчас такой код залит в МК:

#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>

int main (void)
{

DDRB |= (1<<PB0) | (1<<PB6); // Порт B на выход
PORTB = 0x00;

DDRE &= ~((1<<PE3 ...
vk_31
Вт окт 18, 2016 16:24:10
Форум: AVR
Тема: Пробема с прерываниями
Ответы: 40
Просмотры: 6502

Re: Пробема с прерываниями

Z_h_e писал(а):Тоже такая мысль в голову пришла. Глянул ДШ, он там на порте F висит. Вроде как не при делах.

vk_31, попробуйте прерывание с других пинов запустить. Может стоит глянуть в дезассемблере вектора прерываний :dont_know: .
На все портах E одинакова ситуация(
Дизассемблер попробую посмотреть
vk_31
Вт окт 18, 2016 13:37:02
Форум: AVR
Тема: Пробема с прерываниями
Ответы: 40
Просмотры: 6502

Re: Пробема с прерываниями

Когда ничего не работает, то начинать надо сначала:
1) проверить наличие питания.
2) помигать светодиодом без всяких кнопок (я вместо этого обычно таймер на выход включаю и звук слушаю, за одно можно системную частоту проверить) а то вдруг генератор не завёлся.
3) проверять уже программу, вставляя ...

Перейти к расширенному поиску