Страница 2 из 3

Re: Управление реле на ATmega8

Добавлено: Чт окт 25, 2012 08:21:07
korsaj
Ой-ёй-ёй... Сделаешь добро людям а в ответ - не то.. А головой подумать, прежде чем писать?

Вот хорошие мысли:
GP1 писал(а):а нужен ли здесь МК? :shock: 8 кнопок и 6 диодов - все что нужно для реализации
А ваш самый лучший ответ:
Iazzz писал(а):если бы я знал как это сделать..)
Держите, опять протеус. И попробуйте только сказать что вам надо 2 реле одновременно включить - пойдете физику учить!

Re: Управление реле на ATmega8

Добавлено: Чт окт 25, 2012 19:04:35
Iazzz
Спасибо ОГРОМНОЕ! :) всё супер :music: Вот начертил схему непосредственного управления реле через ULN2803 (можно в принципе и 2003 поставить): запараллелил входы и подключил выходы через резистор к реле...
Схема http://s018.radikal.ru/i507/1210/b5/ed0ffa9d9a22.jpg
Собственно вопрос такой: можно так подключить выходы, как на схеме? Не сгорят ли транзисторы в микросхеме?
P.S.: 17, 18 и 19 выводы контроллера это соответственно выходы 6, 7 и 8 кнопок.

Re: Управление реле на ATmega8

Добавлено: Чт окт 25, 2012 19:43:39
korsaj
нет вложения..

Re: Управление реле на ATmega8

Добавлено: Чт окт 25, 2012 19:45:04
Iazzz

Re: Управление реле на ATmega8

Добавлено: Чт окт 25, 2012 19:56:20
korsaj
Не так. Сопротивления выкиньте, они не нужны. УЛН2803 - на выходе имеет транзистор с открытым коллектором.
http://www.ecawa.asn.au/home/jfuller/sio5works.htm
Этого достаточно. Не забудьте подключить вывод 10 к + питания. Рисуйте схему в протеусе - будет красивее.

Re: Управление реле на ATmega8

Добавлено: Чт окт 25, 2012 20:18:38
Iazzz
По идее надо только убрать резисторы и подключить 10 вывод микры к +12в, а остальное можно оставить?

Re: Управление реле на ATmega8

Добавлено: Чт окт 25, 2012 22:02:27
Iazzz
Поставил, смоделировал... не фурычит - светодиоды на выходе не горят, но загораются синие квадратики в нужных местах (наверное, единственный плюс) светодиоды справа налево: 1й,2й...5й - поставил вместо реле, почитал, что диод не потребляет ток в протеусе и поэтому зашунтировал резистором на 100 Ом.
Почитал статьи о моделировании ULN в таких схемах - делаю всё также, но работать отказывается.
Последние шаги практически остались... Файлик ReleOnOff222 называется..

Re: Управление реле на ATmega8

Добавлено: Чт окт 25, 2012 22:05:11
C@at
korsaj писал(а):Ой-ёй-ёй...
...Держите, опять протеус. И попробуйте только сказать .....
Вот упорный :))) или я еще не понял и пишу не про ту степь, если RESET программируем как вход, контроллер можно будет несколько раз прошивать обыкновенным программатором?

Re: Управление реле на ATmega8

Добавлено: Пт окт 26, 2012 14:02:54
vitalik_1984
Iazzz писал(а):залил картинку http://s018.radikal.ru/i507/1210/b5/ed0ffa9d9a22.jpg
Че это у вас за паутина снизу от ULN? НИЧЕГО этого не нужно просто напрямую идет к реле и все не нужно ничего вместе делать пять выходов пять реле, зачем две микросборки тратить?
А двойным включением управляет Мк хоть все сразу можно включить.Блин из такой элементарной задачи сделали коллоквиум.:)))
Ой-ёй-ёй... Сделаешь добро людям а в ответ - не то.. А головой подумать, прежде чем писать?
А вы как думали? Взявшись за гуж не говори, что не дюж.
korsaj писал(а):И попробуйте только сказать что вам надо 2 реле одновременно включить
Кто сказал, что нельзя одновременно включить?Где схема в виде картинки. я до сих пор не увидел что вы там предлагаете. На телефоне протеус не запускается.:)))

Re: Управление реле на ATmega8

Добавлено: Пт окт 26, 2012 19:23:29
Iazzz
По идее - мне и надо как раз одновременно релешки включать при нажатии на 6, 7 или 8 кнопку, а СУ я сделал такой: с выхода контроллера на вход УЛН подается напряжение, в итоге реле включается, аналогично происходит и при переключении других кнопок, но 2-ю УЛН я поставил для как раз специально для 6, 7 и 8 кнопки: запаралелил 2 входа для каждой релешки, отсюда и паутина снизу))

vitalik_1984, тык в прошивке написано так, что переключаются светодиоды между собой, т.е. нажимаю на первую кнопку - включается первый светодиод, нажимаю 2-ю: 1й выключается и включается 2й и т.д., а при нажатии 6 кнопки (а также 7 или 8 ) просто включается только 6-й (или 7й, 8й в зависимоти от нажимаемой кнопки), т.е. просто реализован свитч, а хотелось бы чтобы при нажатии 6-й кнопки одновременно загорались 1 и 3 лампа (они же реле), при 7-й: 1я и 4я лампы, при 8й: 2я и 4я лампы. Вот такая тема...

Re: Управление реле на ATmega8

Добавлено: Пт окт 26, 2012 21:49:19
C@at
Iazzz писал(а):хотелось бы чтобы при нажатии 6-й кнопки одновременно загорались 1 и 3 лампа (они же реле), при 7-й: 1я и 4я лампы, при 8й: 2я и 4я лампы. Вот такая тема..
Если бы такое было возможно :dont_know:
НО если вам удастся раздобыть где нибудь signal diod 1N4148 в количестве 10 штук, то это будет осуществимо!
Проект в протеусе приложил...

Re: Управление реле на ATmega8

Добавлено: Пт окт 26, 2012 22:31:22
Iazzz
Ура! Все работает! Найти 1N4148 не проблема, на радиорынке их куча!))
СПАСИБО ОГРОМНОЕ! :)

Смоделировал всё, как хотел, вот посмотрите, что вышло:

Re: Управление реле на ATmega8

Добавлено: Сб окт 27, 2012 00:36:59
Iazzz
Почитал некоторые статьи об управлении реле и решил подключить непосредственно реле к контроллеру таким образом:

Re: Управление реле на ATmega8

Добавлено: Сб окт 27, 2012 01:42:57
vitalik_1984
C@at писал(а):
Iazzz писал(а):хотелось бы чтобы при нажатии 6-й кнопки одновременно загорались 1 и 3 лампа (они же реле), при 7-й: 1я и 4я лампы, при 8й: 2я и 4я лампы. Вот такая тема..
Если бы такое было возможно :dont_know:
НО если вам удастся раздобыть где нибудь signal diod 1N4148 в количестве 10 штук, то это будет осуществимо!
Проект в протеусе приложил...
Блин, представьте себе человека, который калькулятором забивает гвозди в счеты.
Тут похожая ситуация, сколько таких диодов внутри контроллера, а вы их снаружи пихаете!
Забудьте про эту чертову неправильную схему с 8 светодиодами.Есть пять реле их нужно включить в нужном порядке.Контроль можно потом сделать.
программа проста

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

 temp=pind ;
switch (temp){
         case (1<<pind0): portb =(1<<relay1);break;
//////////тут все для каждого реле повторяется
         case (1<< pind7): portb =(1<<relay4)|(1<<relay5);break;//эврика!!!! два реле включили
 
Iazzz, про транзисторы я уже говорил, что можно сделать, но к вашей схеме нужно еще шунтирующий диод параллельно реле добавить(конечно не так, чтобы сразу при включении был бабах:))))

Re: Управление реле на ATmega8

Добавлено: Сб окт 27, 2012 03:09:12
C@at
Диоды к существующей программе (схеме) , для топикстартера темы , програмировать он не умеет, в схемотехнике то должен уметь разбираться, просто исходим из того что есть, и модернизируем диодами, цена которых копейки (извиняйте кто не понял сарказм предыдущего сообщения)..
Эту схему сделал бы на свой лад , на меге 8 и с "цыферами"... мне кажется так и покрасивей....
Код таким вот образом
Спойлер

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

 #include <mega8.h>
#include <delay.h>

  flash unsigned char led[11]={ 
  0b10000000,
  0b00000110, 0b01011011,
  0b01001111, 0b01100110,
  0b01101101, 0b01111101,
  0b00000111, 0b01111111, 
  0b01101111, 0b00111111};                              // Массив "led" во flash-памяти,   
   flash unsigned char pind[11]={ 
  0b10000000,
  0b00000010, 0b00000100,
  0b00001000, 0b00010000,
  0b00100000, 0b00001010,
  0b00010010, 0b00010100, 
  0b00000000, 0b00000000};                              // Массив "pind" во flash-памяти,
unsigned char i=0;                                             //  переменная 
      void main(void)
      {
      PORTB=0b11111111;                                   // Port B initialization
       DDRB=0b00000000;                                 
      PORTC=0b01000000;                                   // Port C initialization
       DDRC=0b00111111;
      PORTD=0b00000000;                                   // Port D initialization
       DDRD=0b011111111;

      while (1)
          {  
            PORTD=led[i]; 
            PORTC= pind[i];   
                  if (PINB.0==0) i=1;
                  if (PINB.1==0) i=2;
                  if (PINB.2==0) i=3;
                  if (PINB.3==0) i=4;
                  if (PINB.4==0) i=5;
                  if (PINB.5==0) i=6;
                  if (PINB.6==0) i=7;
                  if (PINB.7==0) i=8;    
                  delay_ms(50);
          };      
          }

Схема в протеусе.

Kn_8.rar
(13.39 КБ) 367 скачиваний
vitalik_1984 интересно ознакомиться с вашим вариантом кода, для управления .

Re: Управление реле на ATmega8

Добавлено: Сб окт 27, 2012 12:20:34
Iazzz
Очень интересный вариант! и без лишних элементов :)
Я так понял, сегмент с общим катодом?

Re: Управление реле на ATmega8

Добавлено: Сб окт 27, 2012 14:06:55
vitalik_1984
Вот это другое дело (сужу по коду пока что с телефона сижу). Киньте схему картинкой?
Но реле то все равно нужно через "драйвер" пускать - хотя бы диод в параллель если реле пять вольт.

Re: Управление реле на ATmega8

Добавлено: Сб окт 27, 2012 14:38:57
Iazzz
Вот:http://s015.radikal.ru/i332/1210/95/b3d4494ce92f.jpg
реле буду пускать через ULN...

Re: Управление реле на ATmega8

Добавлено: Сб окт 27, 2012 14:51:34
vitalik_1984
VCC от ULN на плюс питания не забудьте, это ведь индуктивная нагрузка.

Re: Управление реле на ATmega8

Добавлено: Сб окт 27, 2012 15:08:32
Iazzz
Ну да, на 10 ногу... В ближайшее время всё прошью, соберу и выложу фото :)