Страница 1 из 1

реле задержки включения акустики

Добавлено: Вс фев 19, 2012 16:54:48
hatabi4
Добрый день всем. Нужна помощь с atmega8. Собрал схему на TDA7314S и ATmage8 по статье С.Рюмика из журнала Радиохобби 1/2006. Все отлично, но решил немного добавить в нее изменения, а именно реле задержки включения акустики. Сам написал программу под отладочную плату, прошил, не работает( хотя в Proteus-е все нормально) - не открывается транзистор, хотя выход с МК есть. Как заставить его открыться и как тот код вставить в уже готовый из статьи, т.к. там порты сконфигурированы по другому.

Мой код:

Код: Выделить всё

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

void pause (unsigned int n)
{
	unsigned int i;
	for (i=n;i>0;i--);
}


int main(void)
{
	unsigned char n;
	_delay_ms(1000); //1 сек
	DDRD |= _BV(PD1);
	pause(50);
	while(1)
	{
		for(n=0;n<14;n++)
		_delay_ms(1000);
		PORTD=0x02;
	}
}

Re: реле задержки включения акустики

Добавлено: Вс фев 19, 2012 17:02:05
pyzhman
Катушку реле перенести в коллекторню цепь, а эмиттер заземлить.

Re: реле задержки включения акустики

Добавлено: Вс фев 19, 2012 17:13:17
Flasher
1. По твоей схеме:
Перемести реле в коллектор транзистора. Параллельно обмотке реле поставь диод 1n4148 анодом к коллектору транзистора. Сопротивление в базе транзистора увеличь до 1 кОм. Добавь Еще одно сопротивление 4,7 кОм параллельно переходу БЭ транзистора.
2. По программе:
1. Не совсем понятен алгоритм работы твоей программы.
void pause (unsigned int n)
{
unsigned int i;
for (i=n;i>0;i--);
}
Скорее всего убъется насмерть оптимизатором компилятора. Зачем тебе эта функция? Используй встроенные функции паузы.
2.Инициализация портов должна происходить в начале программы.
DDRD |= _BV(PD1);
_delay_ms(1000); //1 сек
3. А зачем бесконечное число раз через каждую секунды включать реле?
while(1)
{
for(n=0;n<14;n++)
_delay_ms(1000);
PORTD=0x02;
}

Re: реле задержки включения акустики

Добавлено: Вс фев 19, 2012 17:31:20
hatabi4
да кстати, что-то я тупанул с эмитторной цепью( сейчас исправлю, перепишу программу и попробую