Jump to content
Bach300

Автоматическое отключение светодиодов с помощью Таймера NE555

Recommended Posts

Здравствуйте! Давно пытаюсь сделать одну схему,но никак не получается,и нигде не могу найти полезной информации. Требуется путём нажатия тактовой кнопки включить 6 обычных Led светодиодов 5 мм,питание 9 вольт,буду делать от батарейки Крона. Задумка такая: светодиоды должны гореть примерно 15-30 секунд и за счёт того что в схеме присутствует Таймер NE555 они должны автоматически отключиться. Знаю что с помощью NE555  это возможно сделать,но не могу найти подобную схему.  Не хочу связываться с реле времени,надо что бы плата была миниатюрной,то есть только с помощью Резисторов,Конденсаторов,транзистора и NE555. У кого какие идеи,может ли кто-нибудь помочь?

Share this post


Link to post
Share on other sites
48 минут назад, Bach300 сказал:

не могу найти подобную схему

Наберите в поиске "одновибратор на NE555"...

Share this post


Link to post
Share on other sites

Спасибо,я почитал про одновибратор на NE555, но там пишется что цикл включения и выключения повторяется,а мне нужно один раз нажать на тактовую кнопку и всё......далее нагрузка сама должна отключиться без моего вмешательства! Вот схема одновибратора. Но разве она подходит для моего случая?

odnovibrator_na_555_tajmere.gif

Share this post


Link to post
Share on other sites

Технология Maxim Integrated nanoPower: когда малый IQ имеет преимущества

При разработке устройств с батарейным питанием важно выбирать компоненты не просто с малым потреблением, но и с предельно малым током покоя. При этом следует обратить внимание на линейку nanoPower производства компании Maxim Integrated. В статье рассмотрено их применение на примере системы датчиков беспроводной оконной сигнализации.

Подробнее

Не устаю поражаться: почему из всего многообразия схем обязательно выберется самая дурная? С того же самого сайта уже более-менее работоспособная:

primery_primeneniya_tajmera_ne555_chast_

Чтобы организовать запуск кнопкой, 2-й вывод подтянуть резистором порядка 10 кОм к питанию, а кнопку с него же - на общую шину.

Еще одна подобная:

brdcixt1x.gif

R2HL1 не нужны. R4 регулирует длительность включенного состояния.

Share this post


Link to post
Share on other sites

Спасибо большое ! Теперь надо разобраться в этих схемах,переварить всё это.....Я эти схемы не раз видел,просто в описании написано.....в общем думал это не для моего случая. Что значит " на общую шину"?  В тактовой кнопке 4 контакта для монтажа в печатную плату. Как эту тактовую кнопку правильно подключить допустим ко второй схеме . Она ставиться там где S1  Сброс-Запуск?

Share this post


Link to post
Share on other sites
                     

Платы Nucleo на базе STM32G0: чего можно добиться с помощью связки Nucleo и Arduino

Платы Nucleo и платы расширения X-NUCLEO от STMicroelectronics можно интегрировать в платформу Arduino с помощью библиотеки STM32duino. Связка плат Nucleo и платформы Arduino, и наличие готовых библиотек – представляет удобный инструмент для создания прототипов и конечных приложений в условиях ограниченного времени. Статья содержит пошаговые инструкции по установке библиотек и запуску примеров для Nucleo.

Подробнее...

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

Общая шина - противоположная шине питания. Если питание плюс, то общая шина - минус. И наоборот (НЕ Ваш случай). .
 

Share this post


Link to post
Share on other sites

Последняя схема вроде для меня попроще,возьмусь за неё. Если я уберу R2HL1 из схемы,то нужно соединять 3 вывод и + питания? Попробую сделать. Уже веру потерял что светодиоды сами отключатся  без кнопки. Вообще эта идея у меня появилась когда я разобрал сушилку для маникюра. Там была небольшая плата,посередине кнопка тактовая,задействованы были : 1 транзистор,1 конденсатор,4 резистора и 1 таймер,ну и ещё предохранитель стоял,всё вроде просто. Но потом когда я выпаял Таймер,скорее всего оказалось что это не NE555!!!  На внешней стороне ничего не было написано,выглядит как 555,ключ имеется,8 выводов,а с другой стороны написано DICB1549,я решил проверить,взял свой новый SMD NE555,припоял-не работает! Переделал всё обратно-Работает! Та схема так и работала,нажимаешь кнопку-светодиоды горят 30 сек,а потом сами гаснут,ничего нажимать не надо. Вот теперь хочу это сделать на NE555,попробую.......500 КОМ это обязательно?  470 КОМ подойдёт,как думаете?

1.jpg

Share this post


Link to post
Share on other sites

А вот и схема которую я сам сделал к самой последней фотке(таймер отключения через 30 сек).Но так и не реализовал её.

2.jpg

Share this post


Link to post
Share on other sites

Повесьте этот ужос в туалете на гвоздик и НИКОГДА к нему больше не возвращайтесь.

 

Share this post


Link to post
Share on other sites

Только там не NE555  скорее всего.Слева вход,справа-выход. Слева ещё предохранитель..... Ладно  Falconist,спасибо,возьмусь за вашу вторую схему,потом отпишусь,наверное до завтра сделаю......

2 минуты назад, Falconist сказал:

Повесьте этот ужос в туалете на гвоздик и НИКОГДА к нему больше не возвращайтесь.

 

Ужас-не ужас ,а та схема то работает как часы!

Share this post


Link to post
Share on other sites
31 минуту назад, Bach300 сказал:

та схема то работает как часы!

@Bach300 дело в том, что работает "ТА" схема, которая собрана на плате, а не "та" которую вы нарисовали и которая действительно работать не может - один транзистор чего стоит :D, да и не 555 это таймер.

Share this post


Link to post
Share on other sites

В общем собрал схему, попробывал и с двумя светодиодами как на схеме, в этом случае путем переключения кнопкой загорается один светодиод, а при нажатии еще раз на кнопку, он тухнет и загорается другой, пробывал как мне посоветовали убрать один светодиод вместе с резистором,тогда он горит и горит.....ничего автоматически не отключается. Резисторы поставил 300, 15 К ,470 М. Конденсатор  220 мф. На одной схеме от пятой ноги указан конденсатор 0.01 , а на другой схеме 0.1. В общем не знаю в чем причина, паял очень аккуратно, использовал для таймера переходник, все компоненты новые. Светодиод не хочет сам отключаться .... пробывал 9 вольт и 8, и 6, и 5 вольт.....

Share this post


Link to post
Share on other sites

http://izobreteniya.net/rele-vremeni-na-555-taymere-svoimi-rukami/

https://www.google.com.ua/search?q=реле+времени+на+ne555&tbm=isch&tbo=u&source=univ&sa=X&ved=0ahUKEwjpjtXM1urSAhVMfxoKHSwBC8sQsAQIIQ&biw=1366&bih=638

номиналы время задающих цепей схемы которую вы собрали рассчитаны на несколько минут(до 10)  https://www.drive2.ru/c/1810003/

попробуйте уменьшить на порядок

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By Андрей яя
      Всем здравствуйте, мне нужно разработать схему,  имеется радиопульт для управления клапаном пульт не оригинальный, поэтому нужно с бубном вокруг него по бегать, у оригинала выход 24 вольта 150 герц, при вращении регулятора меняется скважность, тем самым клапан пропорционально включается и выключается как или остаётся в заданой ему позиции. Клапан потребляет 25-30 ват, когда Машина заведённая там где то 26-28 вольт, у меня не оригинальное устройство и оно выдаёт постоянный вольтаж от 0 до 10 вольт, постоянка, а мне нужно чтоб этот пульт через определенную плату делал мне 24-28 вольт 150 герц с регулировкой скважности на фото 11 вольт на вольтаж сильно не отвлекайтесь, я просто на 12 вольтах проверял работу другого пульта  



    • By IgnatiusF
      Не могу настроить таймер 0 на работу, и даже не получается понять в чем проблема. Делаю в Proteus, так как это быстрее и нагляднее.
      Пробовал и просто по переполнению делать прерывание (WGM[1..0]  00) и по совпадению (WGM[1..0]  10; OCR0A = 0 - 255), однако прерываний нет. Перед циклом ставлю TCNT0 = 0;
      Тактирование выставляю TCCR0B (CS[2..0] 001, 100, 101).
      Прерывания TIMSK0 (OCIE0A, TOIE0) выставляю, не вызываются. Даже принудительным заносом значения в регистр TIFR0 (OCF0A, TOV0).
      Прерывание пытаюсь выполнить таким образом:
      #include <avr/interrupt.h> volatile unsigned int A = 0; ISR(TIMER0_OVF_vect) { A = 1; } ... while(1) { if (A == 1) PORTB |= (1<<0); } Proteus показывает, что вывод настроен как выход, но всегда 0;
      Конкретный код привести не могу, так как у меня не заработало совсем ничего.
      Внизу я сделал вырезку из даташита на ATMEGA328 по 0 таймеру 8-бит, и занес в один PDF файл.
      ATmega328-106-112.pdf
      Прошу помочь разобраться с таймером и прерываниями для него.
    • By mr_smit
      Вынес то что не получается в упрощенной форме в отдельный проект. Среда разработки CooCox 1.7.8, микроконтроллер STM32F103C8T6.
      Нужно раз в ~100 мсек формировать на ножке МК, например,такую последовательность:

      Стартовую длительность формирует таймер, в первом же своем прерывании по совпадению активирует DMA и дальше уже DMA по запросу таймера загружает значение CCR из массива. Что то похожее на управление светодиодами WS2812B. То что я сочинил выдает на пин:

      Но только один раз при первом вызове. При последующих вызовах данные из массива выдаются без первоначальной длительности в 150 мкс.
      Не могу найти ошибку. 
       
      #include <stm32f10x.h> #include <stm32f10x_conf.h> #include <stm32f10x_gpio.h> #include <stm32f10x_rcc.h> #include <stm32f10x_tim.h> #include <stm32f10x_dma.h> GPIO_InitTypeDef PIN; TIM_TimeBaseInitTypeDef TIM_Config; TIM_OCInitTypeDef TIM_OCConfig; DMA_InitTypeDef DMA_Setting; uint8_t Test_Buf[] = {15,30,30,30,15}; void delay_ms(uint32_t ms) { volatile uint32_t nCount; RCC_ClocksTypeDef RCC_Clocks; RCC_GetClocksFreq (&RCC_Clocks); nCount = (RCC_Clocks.HCLK_Frequency/10000)*ms; for (; nCount != 0; nCount--); } void Init_GPIO(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); PIN.GPIO_Pin = GPIO_Pin_11; // PA11 -> TIM1 Channel4 PIN.GPIO_Mode = GPIO_Mode_AF_PP; PIN.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &PIN); } void Init_TIM_Transmit(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); TIM_TimeBaseStructInit(&TIM_Config); // настройки по дефолту TIM_Config.TIM_Prescaler = 72-1; // Запускаем таймер на тактовой частоте 1 MHz (72000000/(72-1)) TIM_Config.TIM_Period = 150-1; // Период - 150 мкс TIM_Config.TIM_ClockDivision = 0; // частоту дополнительно не делим TIM_Config.TIM_CounterMode = TIM_CounterMode_Up; // считаем вверх TIM_TimeBaseInit(TIM1, &TIM_Config); // Инициализируем TIM1 TIM_OCStructInit(&TIM_OCConfig); // настройки по дефолту TIM_OCConfig.TIM_OCMode = TIM_OCMode_PWM1; // Конфигурируем как ШИМ (выравнивание по границе) TIM_OCConfig.TIM_OutputState = TIM_OutputState_Enable; // Включаем выход TIM_OCConfig.TIM_Pulse = 0; // CCR до старта пока нулевой TIM_OCConfig.TIM_OCPolarity = TIM_OCPolarity_High; // Полярность TIM_OCConfig.TIM_OCIdleState = TIM_OCIdleState_Reset; // состояние выхода по совпадению CCR (сброс) TIM_OC4Init(TIM1, &TIM_OCConfig); // Инициализируем 4-й выход таймера, это PA11 TIM_ARRPreloadConfig(TIM1,ENABLE); // Предзагрузка периода (ARR) TIM_OC4PreloadConfig(TIM1, TIM_OCPreload_Enable); // Предзагрузка длины импульса CCR 4-го канала // (даем досчитать до конца и только потом значение меняется на новое) TIM_DMACmd(TIM1,TIM_DMA_CC4,DISABLE); // выключаем пока запрос к DMA от таймера TIM1 по достижении CCR) TIM_CtrlPWMOutputs(TIM1, ENABLE); // включаем выходы (это только для TIM1) TIM_CCxCmd(TIM1,TIM_Channel_4,TIM_CCx_Enable); // разрешаем таймеру управлять выводом PA11 TIM_ITConfig(TIM1, TIM_IT_CC4, DISABLE); // запрещаем пока таймеру генерировать прерывание по совпадению NVIC_EnableIRQ(TIM1_CC_IRQn); // разрешаем прерывания TIM_Cmd(TIM1, DISABLE); // Выключаем таймер (пока ждем) } void TIM1_CC_IRQHandler(void) // прошло 130 мкс { if (TIM_GetITStatus(TIM1, TIM_IT_CC4) != RESET) { // по совпадению TIM_ClearITPendingBit(TIM1,TIM_IT_CC4); // сбрасываем флаг прерывания TIM1 по совпадению } NVIC_EnableIRQ(TIM1_CC_IRQn); // выключаем прерывания от таймера TIM_ITConfig(TIM1, TIM_IT_CC4, DISABLE); // TIM1->ARR = 40-1; // устанавливаем период 40 мкс TIM1->CCR4 = Test_Buf[0]; // ширину из массива для следующего импульса DMA1_Channel4->CNDTR = 4; // длина данных для DMA на 1 меньше т.к. уже установили выше 1 элемент TIM_DMACmd(TIM1,TIM_DMA_CC4,ENABLE); // разрешаем таймеру делать запрос к DMA по совпадению CCR DMA_Cmd(DMA1_Channel4, ENABLE); // включаем DMA } void Init_DMA(void) { RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); // включаем тактирование DMA1 DMA_Setting.DMA_PeripheralBaseAddr = (uint32_t) &TIM1->CCR4; // куда копировать DMA_Setting.DMA_MemoryBaseAddr = (uint32_t) &Test_Buf[1]; // что копировать DMA_Setting.DMA_DIR = DMA_DIR_PeripheralDST; // копируем в периферию (Peripheral Destination, точка назначения - периферия) DMA_Setting.DMA_BufferSize = 0; // количество передаваемых данных DMA_Setting.DMA_PeripheralInc = DMA_PeripheralInc_Disable; // адрес периферии постоянный DMA_Setting.DMA_MemoryInc = DMA_MemoryInc_Enable; // адрес в памяти увеличиваем DMA_Setting.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; // периферия 16 бит DMA_Setting.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte; // массив 8 бит DMA_Setting.DMA_Mode = DMA_Mode_Normal; // режим обычный DMA_Setting.DMA_Priority = DMA_Priority_Medium; // приоритет средний DMA_Setting.DMA_M2M = DMA_M2M_Disable; // MemoryToMemory откл. DMA_Init(DMA1_Channel4, &DMA_Setting); // TIM1_CH4 относится к 4-му каналу DMA1 DMA_ITConfig(DMA1_Channel4, DMA_IT_TC, ENABLE); // настраиваем прерывание по окончанию передачи NVIC_EnableIRQ(DMA1_Channel4_IRQn); // включаем прерывания от 4-го канала DMA1 DMA_Cmd(DMA1_Channel4, DISABLE); // пока выключаем 4-ый канал DMA1 } void DMA1_Channel4_IRQHandler(void) // закончили передавать { if (DMA_GetITStatus(DMA1_IT_TC4) != RESET) { // по совпадению DMA_ClearITPendingBit(DMA1_IT_TC4); // сбрасываем флаг прерывания DMA1 Channel4 transfer complete } if (TIM_GetITStatus(TIM1, TIM_IT_CC4) != RESET) { // по совпадению TIM_ClearITPendingBit(TIM1,TIM_IT_CC4); // сбрасываем флаг прерывания TIM1 на всякий случай } TIM1->ARR = 150-1; // вновь настраиваем на период 150 мкс TIM1->CCR4 = 0; // и ждем следующею передачу TIM1->CNT = 0; // TIM_DMACmd(TIM1,TIM_DMA_CC4,DISABLE); // всё выключаем DMA_Cmd(DMA1_Channel4, DISABLE); // TIM_Cmd(TIM1, DISABLE); // TIM_ITConfig(TIM1, TIM_IT_CC4, DISABLE); // TIM_CCxCmd(TIM1,TIM_Channel_4,TIM_CCx_Disable); } int main(void) { Init_GPIO(); Init_TIM_Transmit(); Init_DMA(); delay_ms(1000); while(1) { TIM1->CCR4 = 130-1; // до включения линия удерживается в 0 (CCR=0) TIM_ITConfig(TIM1, TIM_IT_CC4, ENABLE); TIM_CCxCmd(TIM1,TIM_Channel_4,TIM_CCx_Enable); TIM_Cmd(TIM1, ENABLE); delay_ms(100); } }  
      TEST_TIM_DMA.zip
    • Guest Алексей
      By Guest Алексей
      Добрый день.
      Помогите пожалуйста.
      Никак не могу найти простую схему, что не впишу все одно получаю таймер на отключение или через кнопку...
      Делаю инкубатор для яиц, яйца нужно поворачивать 2-3 раза в сутки, у меня есть суточный таймер но у него минимум 1 минута, а мой механизм за 1 минуту прокрутит яйца 4 раза, нужно сделать примерно 15 сек.
      Как правильно называется такой таймер, или дайте схему.
      Спасибо.
    • Guest Руслан
      By Guest Руслан
      Добрый день всем! Столкнулся с такой проблемой. Купил несколько китайских реле времени, но они по питанию на 220 В. Теперь хочу их переделать на 24В переменку, возможно кто-то уже имел дело с такой задачей... Тип таймеров AH2-Y. 
×
×
  • Create New...