Например TDA7294

Форум РадиоКот • Просмотр темы - ATMEGA8A. Две кнопки, два реле. На катушках реле меандр. ???
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пт дек 12, 2025 23:33:01

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: ATMEGA8A. Две кнопки, два реле. На катушках реле меандр. ???
СообщениеДобавлено: Ср ноя 02, 2022 17:21:40 
Родился

Зарегистрирован: Ср ноя 02, 2022 16:20:28
Сообщений: 1
Рейтинг сообщения: 0
Возникла необходимость перепрошить контроллер газировального аппарата. Старая слетела. Опыт программирования AVR минимален. Поизучал немного, и взялся. И сразу затыка. Написал на СИ прг.- две кнопки управляют двумя реле (через оптопары). При проверке осциллографом на катушках реле (или на входах оптопары) МЕАНДР. Это вместо высокого уровня.
Вложение:
Seturator.txt [730 байт]
Скачиваний: 68

Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATMEGA8A. Две кнопки, два реле. На катушках реле меандр.
СообщениеДобавлено: Ср ноя 02, 2022 19:22:36 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 885
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 6192
Откуда: Minsk
Рейтинг сообщения: 0
А что должно быть? К этому сумбуру как-бы исходника надо бы приложить свою хотелку. Я так понимаю: нажали одну кнопку - сработало реле, налило воды. А выключать? Вроде должно по таймеру? Где он? Где задержка?
Типичная ошибка новичка: "Я написал фигню, а она не робить. Почему?" А как должна? Где расписан алгоритм?

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATMEGA8A. Две кнопки, два реле. На катушках реле меандр.
СообщениеДобавлено: Ср ноя 02, 2022 19:39:36 
Друг Кота

Карма: 67
Рейтинг сообщений: 1964
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 0
Наверное, микроконтроллер постоянно ресетится по ватчдогу или ещё какой-то причине


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATMEGA8A. Две кнопки, два реле. На катушках реле меандр.
СообщениеДобавлено: Ср ноя 02, 2022 19:41:00 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 139
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1480
Рейтинг сообщения: 0
Спойлер
Код:
//==================
#define KEY_1_PIN  PIND
#define KEY_1      0

#define KEY_2_PIN  PIND
#define KEY_2      1

#define OUT_1_PORT PORTC
#define OUT_1_DDR  DDRC
#define OUT_1      0

#define OUT_2_PORT PORTC
#define OUT_2_DDR  DDRC
#define OUT_2      1
//==================

//==================
#define set_bit(reg, bit)  reg |= (1<<(bit))    // Установка бита.
#define clr_bit(reg, bit)   reg &= (~(1<<(bit))) // Сброс бита.
#define switch_bit(reg, bit)  reg ^= (1<<(bit)) // Переключение бита.
//----------
#define check_bit(reg, bit) (reg & (1<<bit))    // Проверка бита.
//==================

//==================
#define check_key_1() (!(check_bit (KEY_1_PIN, KEY_1))) // Low level
#define check_key_2() (!(check_bit (KEY_2_PIN, KEY_2))) // Low level
//==================

//==================
#define __out_1_on()  clr_bit (OUT_1_PORT, OUT_1) // Low level
#define __out_1_off() set_bit (OUT_1_PORT, OUT_1) // High level

#define __out_2_on()  clr_bit (OUT_2_PORT, OUT_2) // Low level
#define __out_2_off() set_bit (OUT_2_PORT, OUT_2) // High level
//==================

//==================
void out_1_on (void);
void out_1_off (void);

void out_2_on (void);
void out_2_off (void);
//==================

//==================
void out_1_on (void)
{
   __out_1_on ();
}

void out_1_off (void)
{
   __out_1_off ();
}

void out_2_on (void)
{
   __out_2_on ();
}

void out_2_off (void)
{
   __out_2_off ();
}
//==================

int main(void)
{
// IO init
   set_bit (OUT_1_PORT, OUT_1); // Логика управления отрицательная,
   set_bit (OUT_2_PORT, OUT_2); // то есть, активный логический 0. Поэтому сразу выставляем 1.

// Важно. Если логика отрицательная, порты выставлять в 1 в первую очередь. Если сначала выставить DDRx, то нижние ключи выдадут кратковременный 0. Поэтому, сначала PORTx. Так верхние ключи сразу выдадут 1.

   set_bit (OUT_1_DDR, OUT_1); // Out_1. Выход.
   set_bit (OUT_2_DDR, OUT_2); // Out_2. Выход.
   
   while (1)
   {
      if (check_key_1 ()) // проверка кн. "газ вода
         out_1_on ();     // вкл. клапан "газ.вода"
      else
         out_1_off ();    // выкл. клапан "газ.вода"

      if (check_key_2 ()) // проверка кн. "хол. вода"
         out_1_on ();     // вкл. клапан "хол.вода"            
      else
         out_1_off ();     // выкл. клапан "хол.вода"            
   }
}


Последний раз редактировалось Demiurg Ср ноя 02, 2022 22:44:30, всего редактировалось 4 раз(а).

Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: ATMEGA8A. Две кнопки, два реле. На катушках реле меандр.
СообщениеДобавлено: Ср ноя 02, 2022 19:44:52 
Друг Кота

Карма: 67
Рейтинг сообщений: 1964
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 12867
Рейтинг сообщения: 0
Alax2, и выключение инверсией - это странно и ненадежно и неправильно. Потому что невозможно гарантировать, в каком действительно было состоянии, проверки-то нет.

Добавлено after 54 seconds:
Re: ATMEGA8A. Две кнопки, два реле. На катушках реле меандр. ???
вот у Demiurg выключение однозначное.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATMEGA8A. Две кнопки, два реле. На катушках реле меандр.
СообщениеДобавлено: Ср ноя 02, 2022 21:23:59 
Вымогатель припоя

Зарегистрирован: Ср дек 19, 2012 12:16:22
Сообщений: 567
Рейтинг сообщения: 0
Вы проверяете две кнопки, но включаете одну и туже катушку. Когда кнопка первая нажата то реле включается, а при проверке на вторую кнопку - -выключается. У вас опечатка банальная из-за копипаста


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATMEGA8A. Две кнопки, два реле. На катушках реле меандр.
СообщениеДобавлено: Ср ноя 02, 2022 21:51:35 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 885
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 6192
Откуда: Minsk
Рейтинг сообщения: 0
Тогда зачем второе реле, если на первом 2 кнопки - это ПУСК и СТОП ? И вообще - нафиг тут МК? Одного таймера - больше чем достаточно.
Что-то тут недоговорено. Вспоминаю соотв. эпизод из "Особенностей национальной рыбалки" :)

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATMEGA8A. Две кнопки, два реле. На катушках реле меандр.
СообщениеДобавлено: Ср ноя 02, 2022 22:12:19 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 139
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1480
Рейтинг сообщения: 0
alex1126 Нет. ТС не разобрался с битовыми операциями.
Код:
    PORTC^=(1<<PC0);                   // вкл. клапан "газ.вода" // Инверсия. XOR
    }
        else
        {
        PORTC|=(1<<PC0);                   // выкл. клапан "газ.вода"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATMEGA8A. Две кнопки, два реле. На катушках реле меандр.
СообщениеДобавлено: Ср ноя 02, 2022 22:35:48 
Вымогатель припоя

Зарегистрирован: Ср дек 19, 2012 12:16:22
Сообщений: 567
Рейтинг сообщения: 0
ааааа, я не тот исходник смотрел :) но в нем тоже ошибка :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATMEGA8A. Две кнопки, два реле. На катушках реле меандр.
СообщениеДобавлено: Чт ноя 17, 2022 20:57:25 
Это не хвост, это антенна
Аватар пользователя

Карма: 6
Рейтинг сообщений: 43
Зарегистрирован: Пт ноя 27, 2009 19:47:13
Сообщений: 1314
Откуда: Казань
Рейтинг сообщения: 0
Возникла необходимость перепрошить контроллер газировального аппарата. Старая слетела. Опыт программирования AVR минимален. Поизучал немного, и взялся. И сразу затыка. Написал на СИ прг.- две кнопки управляют двумя реле (через оптопары). При проверке осциллографом на катушках реле (или на входах оптопары) МЕАНДР. Это вместо высокого уровня.
Вложение:
Seturator.txt

Изображение

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: ATMEGA8A. Две кнопки, два реле. На катушках реле меандр.
СообщениеДобавлено: Чт ноя 17, 2022 21:09:23 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 139
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1480
Рейтинг сообщения: 0
Уже решено. Тс применял неправильные битовые операции.


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

Часовой пояс: UTC + 3 часа


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

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


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

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


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