Например TDA7294

Форум РадиоКот • Просмотр темы - Самопроизвольное срабатывание схемы на МК
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Ср апр 26, 2017 18:40:01



Часовой пояс: UTC + 3 часа [ Летнее время ]

Лабаз У Кота. Там столько вкусного!




Начать новую тему Ответить на тему  [ Сообщений: 16 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Самопроизвольное срабатывание схемы на МК
СообщениеДобавлено: Чт янв 12, 2017 13:01:31 
Родился

Зарегистрирован: Чт янв 12, 2017 12:06:01
Сообщений: 4
Рейтинг сообщения: 0
Здравствуйте. Я собрал вот такое простенькое устройство на attiny2313:
Изображение
Питается вся схема от usb-зарядки т.е. примерно 5В. Еще на схеме не нарисовано, но между землей и питанием стоит 2 конденсатора на 100мФ и 0,1мФ и стабилитрон на 5,6в. И еще ножка reset МК подключена к питанию через резистор 1кОм.
Прошивка в МК простейшая, буквально несколько строк: МК в бесконечном цикле ждет нажатия первой кнопки, после этого на определенное время (зависящее от положения остальных трех кнопок) подает питание на транзистор т.е. замыкает реле, затем ждет отпускания первой кнопки и все сначала.

Проблема вот какая: схема периодически срабатывает самопроизвольно как будто бы была нажата первая кнопка, т.е. реле замыкается на нужное время без нажатия этой самой первой кнопки :(
Рядом с этой схемой стоят другие (электрически никак не связанные с этой), с реле и на переменном токе, и у меня возникло предположение, что, может быть, там какие-нибудь наводки или помехи появляются в проводах, идущих от МК к кнопкам? Но в соседних устройствах токи текут всего несколько ампер, особых наводок или помех вроде быть недолжно, темболее подтяжки у кнопок итак небольшие - 1кОм. Попробовал емкость, параллельную кнопке увеличить на несколько мФ - толку нет. Пробовал БП поменять - тоже не помогло.

В чем может быть дело?


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Самопроизвольное срабатывание схемы на МК
СообщениеДобавлено: Чт янв 12, 2017 14:04:27 
Опытный кот
Аватар пользователя

Карма: 16
Зарегистрирован: Ср янв 29, 2014 09:41:31
Сообщений: 715
Откуда: Баку
Рейтинг сообщения: 0
iavn325 писал(а):
В чем может быть дело?

Например в коде.

Еще можете попробовать базу к земле притянуть.

_________________
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Просто Жук.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Самопроизвольное срабатывание схемы на МК
СообщениеДобавлено: Чт янв 12, 2017 14:50:14 
Говорящий с текстолитом
Аватар пользователя

Карма: 21
Зарегистрирован: Сб май 14, 2011 22:16:04
Сообщений: 1632
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Zhuk72 писал(а):
Еще можете попробовать базу к земле притянуть.
Не даст это ничего.

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

На какой-нибудь порт повесьте светодиод. Который будет включаться при старте мк на некоторое время. Начнет мигать, значит МК перезапускается.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Самопроизвольное срабатывание схемы на МК
СообщениеДобавлено: Чт янв 12, 2017 15:12:37 
Друг Кота
Аватар пользователя

Карма: 48
Зарегистрирован: Вс июл 12, 2009 20:15:29
Сообщений: 6163
Откуда: Ижевск
Рейтинг сообщения: 0
Код сюда.

_________________
Docendo discimus


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: Самопроизвольное срабатывание схемы на МК
СообщениеДобавлено: Чт янв 12, 2017 15:16:32 
Друг Кота
Аватар пользователя

Карма: 61
Зарегистрирован: Вт мар 16, 2010 23:02:27
Сообщений: 5851
Откуда: ДОНЕЦК (ЮГО-ВОСТОК ua/DPR)
Рейтинг сообщения: 0
ИСКЛЮЧИТЕЛЬНО ВЫБРАННЫЙ АЛГОРИТМ ПРОГРАММЫ.
8)
Как оччень слабая варианта - монтаж "клубком паутины" - но... нормальна прожка и в таком случае вытянет ситуацию.
:roll:


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Самопроизвольное срабатывание схемы на МК
СообщениеДобавлено: Чт янв 12, 2017 16:26:55 
Говорящий с текстолитом
Аватар пользователя

Карма: 21
Зарегистрирован: Сб май 14, 2011 22:16:04
Сообщений: 1632
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
BOB51 писал(а):
но... нормальна прожка и в таком случае вытянет ситуацию.
Я не соглашусь с Вами. Клубок проводов или длинная линия, может дать очень сильную наводку, особенно находясь возле силового оборудования или искрящего (пускатели например). Эта наводка уйдет через защитные диоды портов в питание МК, что может привезти к чему угодно.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Самопроизвольное срабатывание схемы на МК
СообщениеДобавлено: Чт янв 12, 2017 16:30:53 
Опытный кот
Аватар пользователя

Карма: 16
Зарегистрирован: Ср янв 29, 2014 09:41:31
Сообщений: 715
Откуда: Баку
Рейтинг сообщения: 0
Сейчас появится автор, скажет "извините, я все напутал, все работает нормально" 8)

_________________
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Просто Жук.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Самопроизвольное срабатывание схемы на МК
СообщениеДобавлено: Чт янв 12, 2017 16:38:52 
Говорящий с текстолитом
Аватар пользователя

Карма: 21
Зарегистрирован: Сб май 14, 2011 22:16:04
Сообщений: 1632
Откуда: г. Чайковский
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Или не появится совсем.

_________________
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Самопроизвольное срабатывание схемы на МК
СообщениеДобавлено: Пт янв 13, 2017 07:33:27 
Родился

Зарегистрирован: Чт янв 12, 2017 12:06:01
Сообщений: 4
Рейтинг сообщения: 0
в симуляции ложных срабатываний нет,
код вот:
procedure portinit;
begin
DDRD:=%01000010;
PORTD:=%00111100;
end;

procedure ExtIntInit;
begin
MCUCR:=%00000010;
GIMSK:=%01000000;
end;

procedure start; iv IVT_ADDR_INT0; //прерывание по нажатию первой кнопки
begin
if (PIND3_bit=0) or (PIND4_bit=0) or (PIND5_bit=0) then //если какойто тумблер замкнут т.е. если время выставлено
begin
PORTD1_bit:=1;
if (PIND3_bit=0) then Delay_ms(50);
if (PIND4_bit=0) then Delay_ms(100);
if (PIND5_bit=0) then Delay_ms(150);
PORTD1_bit:=0;
end;
while PIND2_bit=0 do begin end; //ждем отпускания кнопки старта прерывания
Delay_ms(80); //пауза для устранения дребезга контактов кнопки
EIFR.6:=1;
end;

begin
{ Main program }
Delay_ms(20);
portinit;
ExtIntInit;
Delay_ms(65);
EIFR.6:=1;
SREG_I_bit:=1;
while true do begin end;
end.


Врятли МК перезагружается - ложные срабатывания происходят как будто бы нажалась первая кнопка, а после перезагрузки этого быть не должно.

Попробую седне поставить резистор последовательно с конденсатором параллельно контактам реле - нашел щас в гугле что комуто от глюков МК это помогло


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Самопроизвольное срабатывание схемы на МК
СообщениеДобавлено: Пт янв 13, 2017 08:00:04 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 91
Зарегистрирован: Чт дек 28, 2006 09:19:56
Сообщений: 10175
Откуда: Новочеркасск
Рейтинг сообщения: 3
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
можете снова закидать меня тапками, но я снова повторю то же самое, что и 100500 раз говорил: практически всегда при работе с кнопками ПРЕРЫВАНИЯ НЕ НУЖНЫ. вангую, что проблема именно в этом: в обработчике прерывания кнопки не предпринято никаких мер по определению длительности "нажатия" главной кнопки - даже если там появится какая-то помеха в виде нолика длительностью 1 мкс, прерывание отработает.

если бы обработка кнопки делалась методом опроса, никаких проблем бы не было - короткие "нажатия" просто игнорировались бы. сделать такой фильтр можно и в обработчике прерываний, но, имхо, это называется "создать себе проблему и героически ее преодолеть".

_________________
на Си можно написать: main(_,l)char**l;{6*putchar(--_%20?_+_/21&56>_?strchr(1[l],_^"pt`u}rxf~c{wk~zyHHOJ]QULGQ[Z"[_/2])?111:46:32:10)^_&&main(2+_,l);} и это не будет ошибкой


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: Самопроизвольное срабатывание схемы на МК
СообщениеДобавлено: Пт янв 13, 2017 08:24:12 
Родился

Зарегистрирован: Чт янв 12, 2017 12:06:01
Сообщений: 4
Рейтинг сообщения: 0
ARV писал(а):
можете снова закидать меня тапками, но я снова повторю то же самое, что и 100500 раз говорил: практически всегда при работе с кнопками ПРЕРЫВАНИЯ НЕ НУЖНЫ. вангую, что проблема именно в этом: в обработчике прерывания кнопки не предпринято никаких мер по определению длительности "нажатия" главной кнопки - даже если там появится какая-то помеха в виде нолика длительностью 1 мкс, прерывание отработает.

если бы обработка кнопки делалась методом опроса, никаких проблем бы не было - короткие "нажатия" просто игнорировались бы. сделать такой фильтр можно и в обработчике прерываний, но, имхо, это называется "создать себе проблему и героически ее преодолеть".


если не ошибаюсь изменить нужно программу примерно так:
Код:
procedure portinit;
begin
 DDRD:=%01000010;
 PORTD:=%00111100;
end;

procedure relay;
begin
 if (PIND3_bit=0) or (PIND4_bit=0) or (PIND5_bit=0) then //если какойто тумблер замкнут т.е. если время выставлено
 begin
 PORTD1_bit:=1;
 if (PIND3_bit=0) then Delay_ms(50);
 if (PIND4_bit=0) then Delay_ms(100);
 if (PIND5_bit=0) then Delay_ms(150);
 PORTD1_bit:=0;
 end;
 while PIND2_bit=0 do begin end; //ждем отпускания кнопки старта
 Delay_ms(80); //пауза для устранения дребезга контактов кнопки
end;


begin
{ Main program }
 Delay_ms(20);
 portinit;
 Delay_ms(65);

 while true do
  begin
    if PIND2_bit=0 then //если кнопка нажата
    begin
    delay_ms(сколькото для игнорирования коротких "нажатий"/помех);
    if PIND2_bit=0 then relay; //если все еще нажата то делать что надо
    end; 
 end;
end.

какое примерно время можно выбрать для этого игнорирования? желательно как можно меньше т.к. реагировать на нажатие нужно быстро


Последний раз редактировалось aen Пт янв 13, 2017 13:37:34, всего редактировалось 1 раз.
Нарушение Правил форума п. 2.7


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Самопроизвольное срабатывание схемы на МК
СообщениеДобавлено: Пт янв 13, 2017 08:31:07 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 91
Зарегистрирован: Чт дек 28, 2006 09:19:56
Сообщений: 10175
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
iavn325 писал(а):
реагировать на нажатие нужно быстро
говорят, Брюс Ли мог наносить рукой 3 удара в секунду... т.е. скорость его мышечной деятельности была порядка 150 мс... (удар = движение туда-сюда). как бы это фантастический результат. вам надо быстрее реагировать?

поставьте себе четкую задачу.

_________________
на Си можно написать: main(_,l)char**l;{6*putchar(--_%20?_+_/21&56>_?strchr(1[l],_^"pt`u}rxf~c{wk~zyHHOJ]QULGQ[Z"[_/2])?111:46:32:10)^_&&main(2+_,l);} и это не будет ошибкой


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: Самопроизвольное срабатывание схемы на МК
СообщениеДобавлено: Пт янв 13, 2017 08:34:05 
Друг Кота
Аватар пользователя

Карма: 48
Зарегистрирован: Вс июл 12, 2009 20:15:29
Сообщений: 6163
Откуда: Ижевск
Рейтинг сообщения: 0
Прошивайте и пробуйте.

_________________
Docendo discimus


Вернуться наверх
 Профиль WWW  
 
Не в сети
 Заголовок сообщения: Re: Самопроизвольное срабатывание схемы на МК
СообщениеДобавлено: Пт янв 13, 2017 13:07:59 
Родился

Зарегистрирован: Чт янв 12, 2017 12:06:01
Сообщений: 4
Рейтинг сообщения: 0
ARV писал(а):
iavn325 писал(а):
реагировать на нажатие нужно быстро
говорят, Брюс Ли мог наносить рукой 3 удара в секунду... т.е. скорость его мышечной деятельности была порядка 150 мс... (удар = движение туда-сюда). как бы это фантастический результат. вам надо быстрее реагировать?

поставьте себе четкую задачу.


просто в перспективе там вместо кнопки может быть подключено другое устройство, присылающее сигнал. попробую вначале поставить пару мс

Добавлено after 4 hours 27 minutes 59 seconds:
Вобщем проверка зажатости кнопки в 2мс отсеила эти помехи (или что там это было) и все стало как надо, ложных срабатываний больше нет. Всем спасибо! :))


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Самопроизвольное срабатывание схемы на МК
СообщениеДобавлено: Вс янв 15, 2017 13:20:07 
Друг Кота
Аватар пользователя

Карма: 43
Зарегистрирован: Вт апр 24, 2007 08:45:40
Сообщений: 3754
Откуда: Minsk
Рейтинг сообщения: 0
iavn325 писал(а):
помехи появляются в проводах, идущих от МК к кнопкам? Но в соседних устройствах токи текут всего несколько ампер

Конечно - пустяк. Вот если бы килоАмперы ! :shock: :)

_________________
Изображение


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Самопроизвольное срабатывание схемы на МК
СообщениеДобавлено: Вс фев 26, 2017 16:07:11 
Опытный кот

Зарегистрирован: Пн ноя 16, 2009 00:13:59
Сообщений: 725
Откуда: Харьков
Рейтинг сообщения: 0
Цитата:
практически всегда при работе с кнопками ПРЕРЫВАНИЯ НЕ НУЖНЫ. вангую, что проблема именно в этом: в обработчике прерывания кнопки не предпринято никаких мер по определению длительности "нажатия" главной кнопки - даже если там появится какая-то помеха в виде нолика длительностью 1 мкс, прерывание отработает.

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

_________________
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 16 ] 



Часовой пояс: UTC + 3 часа [ Летнее время ]

Лабаз У Кота. Там столько вкусного!


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y