Перейти к содержанию

Нужна помощь с АTTiny13


Рекомендуемые сообщения

@Microchip Да немного не так. Получается при срабатывании геркона промаргивает один светодиод + один пик, а потом загорается второй диод и горит 20сек. можно и так запрограмировать, даже еще лучше !!! Мне казалось мой алгоритм легче реализовать програмно, но сейчас смотрю и понимаю что не очень то и просто ((

@Viktor26 как только будет программа сразу приступлю к сборке.

Сейчас борюсь с размерами конструкции, три ААА великоваты(((

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

  • Ответов 90
  • Создана
  • Последний ответ

Топ авторов темы

Что если применить вот такую батарейку , долго проживет ?

http://freedelivery.com.ua/elektronika-52/akkumulyatory-i-batarejki-93/5x-batarejka-6v-4lr44-4g13-v4034-px28-28a-464.html

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Емкость раз в десять меньше мизинчиковой. Сколько проживет вопрос сложный. Непонятно сколько раз будет срабатывать сигнализатор.

Нет никакой заслуги тому, кто даёт золото, думая, что даёт камень (Будда)

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Цитата

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

Конечно перестанет. Но для звука использовать можно аппаратно - никаких прерываний, выход прямо на ножку контроллера. А опрос и всё остальное ИМХО в этой задаче всё решается и на простых задержках, даже в таком случае от одного комплекта батарей схема проработает не менее 100 часов(Настроить делитель тактовой частоты на 1.2Мгц или 600кГц - делитель 4 или 8, регистр CLKPR).

Цитата

тогда , остановлюсь на 3 ААА.

Нет причин использовать 3 батарейки, вполне достаточно двух. На трёх батарейках будет не 4.5В а может оказаться 5.4 на свежих, это плохо и не нужно.

Цитата

Сколько проживет вопрос сложный.

Как раз несложный. Если без энергосбережения то часов 10 непрерывно, но тут другая проблема. У батарейки номинальное напряжение 6 вольт, у свежей может запросто быть за 7 вольт! Учитывая её стоимость... слишком невыгодно! Она рассчитана на пульты - отдавать большую мощность(под сотню миливатт) в течение нескольких секунд.

Изменено пользователем Alexeyslav

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Непрерывно она работать не будет или можно прибор выключить  и руками рыбу таскать. На одну рыбалку скорее всего хватит, но как-то маловато, выгода тут только в размерах. Про решение проблемы превышения максимального напряжения МК я уже писал выше. И чем плохи и не нужны 5.4 В?

Два мизинца можно конешно, но придётся выпендрится с питанием всех не красных светодиодов.

Нет никакой заслуги тому, кто даёт золото, думая, что даёт камень (Будда)

Ссылка на комментарий
Поделиться на другие сайты

Возьмите li-ion аккамулютор от старого мобильника или из ноутбука элементы18650 повыдёргивайте и будет вам счастье

А если туда ещё воткнуть тр4056-вообще огонь будет

Не знаеш как? Спроси у Google'а !!!

Ссылка на комментарий
Поделиться на другие сайты

Ему 3шт. ААА слишком много места занимают, а вы советуете 18650 элемент который ещё более неудобен и громоздок. Литиевые батареи заманчиво, но у них жесткие ограничения по рабочей температуре - в мороз нельзя, на летнем пекле тоже кранты придёт аккумулятору. Самые неприхотливые это щелочные батарейки(солевые на морозе кердык) и никель-кадмиевые/металгидридные аккумуляторы. Свинцовые ещё лучше, но 1) морока с зарядкой аккумулятора, 2) из пушки по воробьям(саморазряд наверно больше будет чем потребление схемы), 3) они ещё более тяжелые и громоздкие чем батарейки.

Ссылка на комментарий
Поделиться на другие сайты

Будет, может быть... но то рулетка. Хотя нет, не рулетка. Он поработает... а потом обнаружишь что он почему-то заряд не держит и за неделю сам разряжается. Литиевых аккумуляторов которые работали бы гарантировано ниже нуля градусов не так много, и выше 50(а летом это запросто) их нагревать смертельно - особенно это касается телефонных аккумуляторов, которые рассчитаны на комнатные условия.

Кроме того! Для такого аккумулятора нужна ещё и соответствующая ЗАРЯДКА. Оставишь его без дела на пол года - и он может испортится.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, Геннадий сказал:

Ниже 0 и выше 50-ти Сергей вряд ли будет ловить карпов.:)

Эт точно. Ловить надо в теплые летние деньки, но это уже другая история)))

Подскажите какое падение напряжения будет на выходе, если питание 4.5В ?????

Ссылка на комментарий
Поделиться на другие сайты

Падение напряжения на выходе ЧЕГО?

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

Изменено пользователем Alexeyslav

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Сопротивление резистора

R=(Uпит-Uсв.д.)/Iсв.д., где

Uпит - напряжение питания (max),

Uсв.д. - прямое падение напряжения на светодиоде,

 Iсв.д. - ток светодиода. Максимальный лучше не брать, светодиоду жить будет веселей. Так если максимально допустимый ток светодиода 20 мА, то рассчитывать не более чем 18 мА. Естественно чем меньше ток тем меньше будут кушать батарею, но тусклее светить. Тут надо выбрать золотую середину. 

А вообще большинство сверхярких светодиодов в темноте и при 5...10мА прилично светят.

Изменено пользователем Microchip

Нет никакой заслуги тому, кто даёт золото, думая, что даёт камень (Будда)

Ссылка на комментарий
Поделиться на другие сайты

держите вашу хотелку

Скрытый текст

/*****************************************************
Chip type               : ATtiny13
AVR Core Clock frequency: 9,600000 MHz
Memory model            : Tiny
External RAM size       : 0
Data Stack size         : 16
*****************************************************/

#include <tiny13.h>



#define BATTON_SENSOR  (PINB.0)
#define LED_RED            (PORTB.1)
#define LED_GREEN          (PORTB.2)
#define BIPER            (PORTB.4)

 

void init(void);
void button_test(void);
void generetion_imp_LED(void);



volatile struct flag_type {
  unsigned BUTTON_ON        : 1;
  unsigned BUTTON_ON_old    : 1;
  unsigned START            : 1;
  unsigned FL1MS            : 1;
  unsigned STOP             : 1;
  unsigned LED_ON           : 1;
  unsigned                  : 1;
  unsigned                  : 1;
} flag;


volatile struct batton_type {
  unsigned UP               : 1;
  unsigned DOWN             : 1;
  unsigned SENSOR           : 1;
  unsigned KONCEV           : 1;
  unsigned SWITCH           : 1;
  unsigned                  : 1;
  unsigned                  : 1;
  unsigned                  : 1;
} ;

 union{                      // объединяем(совмещаем в памяти)
  struct batton_type    BIT;  
  unsigned char       byte;                   
 }BUTTON_new,BUTTON_old;

// Timer 0 overflow interrupt service routine
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Reinitialize Timer 0 value
TCNT0=0xF6;
// Place your code here
PORTB^=(1<<3);
 flag.FL1MS=1;

}


// основная программа 
void main(void)
{
   init();

   while(1)
     {
      while(!flag.FL1MS);
       flag.FL1MS=0;
      button_test();
      generetion_imp_LED();
      
     }  
}// end main

//******************************************************
// инициализация МК
//******************************************************
void init(void)
{
 // Declare your local variables here

// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif

PORTB=0x00;
DDRB=0xFE;


TCCR0A=0x00;
TCCR0B=0x05;
TCNT0=0xF6;
OCR0A=0x00;
OCR0B=0x00;

GIMSK=0x00;
MCUCR=0x00;

TIMSK0=0x02;

ACSR=0x80;
ADCSRB=0x00;
DIDR0=0x00;

ADCSRA=0x00;

// Global enable interrupts
#asm("sei") 
} // end init



//****************************************************
// опрос кнопки... 
//******************************************************
void button_test(void)
{ static unsigned char count ;


   if(!BATTON_SENSOR) 
   {BUTTON_new.BIT.SENSOR = 1;}
   else
   {BUTTON_new.BIT.SENSOR = 0;} ;
 

  if(BUTTON_old.byte==BUTTON_new.byte)
      {
        if(count==5)
         {
          flag.BUTTON_ON=BUTTON_new.BIT.SENSOR;     
         }
         else
         {
          count++;
         }
      }
      else
      {
       BUTTON_old.byte=BUTTON_new.byte;
       count=0; 
      }

     
   
}// end button_test





//****************************************************
// мигаем LED 
//******************************************************
void generetion_imp_LED(void)
{ static unsigned int count ;
  static unsigned int counttime ;
  
   if(flag.BUTTON_ON&&!flag.BUTTON_ON_old) 
   {
     count=0;
     counttime=0; 
     LED_RED=0; 
     LED_GREEN=0;
     BIPER=0;
   }  
      if(!flag.BUTTON_ON&&flag.BUTTON_ON_old) 
   {
     count=0;
     counttime=0; 
     LED_RED=0; 
     LED_GREEN=0;
     BIPER=0;
   }  
   flag.BUTTON_ON_old=flag.BUTTON_ON;
   

  if(flag.BUTTON_ON)
      {
        count++; 
        if (count==1)
        {
         if(counttime<40) LED_RED=1; 
         if(counttime<4)  BIPER=1;
        }
        if (count==200) 
        { 
         LED_RED=0;
         BIPER=0;
        } 
        if (count==500)
        {
         count=0;
         counttime++;         
        } 
        if ( counttime>40)counttime=40;
      }
      else
      {
        count++; 
        if ((count==1)&&(counttime<40))
        {
          LED_GREEN=1; 
        }
        if ((count==200)&&(counttime<4))  LED_GREEN=0;
  
        if (count==500)
        {
         count=0;
         counttime++;         
        } 
        if ( counttime>40)
        {
         counttime=40; 
         LED_GREEN=0;
        }  
      } 
     
   
}// end generetion_imp_LED

 

 

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...