Jump to content
Guest Алексей

Нужно - включаем питание 5в, диод горит 15сек после тухнет

Recommended Posts

Guest Алексей

Добрый день.

Помогите пожалуйста.

Никак не могу найти простую схему, что не впишу все одно получаю таймер на отключение или через кнопку...

Делаю инкубатор для яиц, яйца нужно поворачивать 2-3 раза в сутки, у меня есть суточный таймер но у него минимум 1 минута, а мой механизм за 1 минуту прокрутит яйца 4 раза, нужно сделать примерно 15 сек.

Как правильно называется такой таймер, или дайте схему.

Спасибо.

Share this post


Link to post
Share on other sites

Можно собрать на транзисторах, микросхеме, и на микроконтроллере. Помогу, заходите в личку.

Edited by Гар

Share this post


Link to post
Share on other sites

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

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

Подробнее

Не совсем понятно, нужно самому включать? или чтоб включалось каждые 15 секунд? если самому то вот

555.GIF

Share this post


Link to post
Share on other sites
12 часа назад, Добрый дядя сказал:

лоток с яйцами нужно поворачивать не по времени а по концевым выключателям.

хорошая идея, но прийдетса на яйцо клееть металические пластины ддля индуктивного датчика))))

Share this post


Link to post
Share on other sites
                     

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

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

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

Что за чушь? Концевые выключатели ставятся на ЛОТОК.

Share this post


Link to post
Share on other sites

Если я правильно понял, Ваш суточный таймер выдает минимальную длительность выходного сигнала 1 мин., а Вам нужно 15 сек.?

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

Share this post


Link to post
Share on other sites

Так для этого таймер уже есть: 

21 час назад, Гость Алексей сказал:

яйца нужно поворачивать 2-3 раза в сутки, у меня есть суточный таймер

Кстати, за счет чего осуществляется переворот - кривошипно-шатунным механизмом при вращении электродвигателя в одну и ту же сторону или же реверсом двигателя?

Share this post


Link to post
Share on other sites

Очевидно, поворачивать не переворачивать. Итого от точки А до диаметрально противоположной. Но это мои догадки.

Share this post


Link to post
Share on other sites
23 часа назад, Гость Алексей сказал:

мой механизм за 1 минуту прокрутит яйца 4 раза

Не проще ли сделать, чтобы механизм вращался просто в 4 раза медленнее? Так оно и для яиц полезнее. :)

Share this post


Link to post
Share on other sites

Когда был пацаном, знакомый покойного бати работал зав. районным инкубатором. Был у него на экскурсии, видел эти огроменные шкафы с яйцами и цыплятами. Так вот, лотки там в процессе инкубации были наклонены под углом 45° от горизонтали, а "переворот" заключался в том, что они наклонялись на те же 45° в другую сторону.

Вот мне и интересно, как именно это происходит в инкубаторе ТС.

Share this post


Link to post
Share on other sites
Posted (edited)
В 28.02.2019 в 17:57, Гость Алексей сказал:

или дайте схему.

можно попробовать так

 

 

ф2.jpg

Edited by proba

Share this post


Link to post
Share on other sites

И мотор будет вращаться только в одном направлении...

Я ведь не зря просил описать конструкцию механизма поворота лотков.

Share this post


Link to post
Share on other sites
В 28.02.2019 в 15:57, Гость Алексей сказал:

а мой механизм за 1 минуту прокрутит яйца 4 раза, нужно сделать примерно 15 сек.

Как правильно называется такой таймер, или дайте схему.

этот таймер называется: реле " звезда-треугольник"

в гугле как грязи

Share this post


Link to post
Share on other sites
В 28.02.2019 в 15:57, Гость Алексей сказал:

Делаю инкубатор для яиц, яйца нужно поворачивать 2-3 раза в сутки, у меня есть суточный таймер но у него минимум 1 минута, а мой механизм за 1 минуту прокрутит яйца 4 раза, нужно сделать примерно 15 сек.

Как правильно называется такой таймер, или дайте схему.

Спасибо.

Цикличный таймер. Делаете расчет под свой привод

 

Циклический таймер.zip

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. 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 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 Руслан
      Добрый день всем! Столкнулся с такой проблемой. Купил несколько китайских реле времени, но они по питанию на 220 В. Теперь хочу их переделать на 24В переменку, возможно кто-то уже имел дело с такой задачей... Тип таймеров AH2-Y. 
    • By pingyini
      Всем доброго времени суток. Решил я сделать "умную" электронную сигарету на arduino. Концепция заключается в кнопочном управлении мощностью посредством ШИМ, наличии экрана, и некоторыми защитами в виде ограничения максимального времени нажатия и уход камня в сон (режим пониженного энергопотребления) после N секунд простоя.
      Вводные: по нажатию кнопки запускается ШИМ и управляет полевиком, но в целях защиты я хочу ограничить время выполнения кода до 7 секунд(что бы при случайном зажатии кнопки в кармане не получить травматическую ампутацию конечностей)

      Проблема пришла откуда не ждали - обработка нажатой основной кнопки срабатывает как попало. Нажимая кнопку обработчик может сработать сразу и отработает как по маслу, а может и через 5 нажатий не сработать вовсе.  Проверял в живую на Arduino UNO, Pro Mini (328е Меги) и в Proteus'е. Симптомы одни и те же.  Проблема очевидно в коде но я в упор не вижу в чем может быть загвоздка. Уровень у меня "штота умею" поэтому не судите строго. 
       
      #define pwmPin 5 #define buttonStart 3 #define maxOnTime 7000 //максимальное время выполнения условия нажатой кнопки #define RED_LED 7 #define GREEN_LED 8 int power = 150; //boolean StartState; boolean StartStateFlag; //Флаг кнопки Старт unsigned long pressTime; void setup() { pinMode(pwmPin, OUTPUT); pinMode(buttonStart, INPUT); pinMode(RED_LED, OUTPUT); pinMode(GREEN_LED, OUTPUT); Serial.begin(9600); //чисто для отладки } void loop() { if (digitalRead(buttonStart) && StartStateFlag && ((millis() - pressTime) <= maxOnTime)) { // (1) если кнопка старт нажата И была отпущена И нажата менее 7 секунд выполняем: analogWrite(pwmPin, power); //запуск ШИМ Serial.println("PWM_ON"); digitalWrite(GREEN_LED, HIGH); digitalWrite(RED_LED, LOW); } else { // (2) иначе StartStateFlag = false; // кнопка небыла отпущена analogWrite(pwmPin, 0); digitalWrite(GREEN_LED, LOW); Serial.println("PWM_OFF"); pressTime = millis(); } if (!digitalRead(buttonStart)) { //(3) если кнопка не нажата analogWrite(pwmPin, 0); //остановка ШИМ Serial.println("PWM_OFF"); digitalWrite(RED_LED, HIGH); StartStateFlag = true; //была отпущена и можно входить в условие с нажатой кнопкой (1) } } И файлы: сам скетч, .elf и .hex для шПротеуса и проект Протеус.
      P. S. ШИМ в Протеусе не работает в принципе, в железе все ОК 
      BUTTON_TEST.ino
      BUTTON_TEST.ino.eightanaloginputs.hex
      BUTTON_TEST.ino.elf
      BUTTON_TEST.ino.with_bootloader.eightanaloginputs.hex
      ButtonTest.pdsprj
    • By Hadja
      Доброго времени суток.
      Помогите отремонтировать электронный таймер электроплиты Kaiser.
      После мойки плиты таймер перестал подавать признаки жизни.
      При включении в сеть срабатывают реле и всё.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                



  • Сообщения

    • @Garik069rus Схема питания микросхемы и индикатора выглядит примерно так. Берёте Datasheet на микросхему и подаёте соответственные напряжения на эти точки. Трансформатор имеет две независимые обмотки. Одна для питания микросхемы. Вторая, со средней точкой для питания нити накала индикатора. Ну где - то так. Запустите часы, должен запуститься и приёмник, если вторичные цепи и микросхема не пострадала при сгорании трансформатора.
    • Ты нарушил последовательность действий) 1) Припаиваешь конденсатор К ВЫХОДУ TP4056. Не к двигателю. Судя по тому, что ты подключаешь под напряжением, и подключаешь разряженный конденсатор (нарушаешь все инструкции), сработает защита от КЗ. 2) Вставляешь зарядку для зарядки конденсатора и соответственно выходу платы из защиты (стандартная процедура для выхода из защиты во всех общих случаях). Достаёшь зарядку. 3) Нажимаешь кнопку. Если ты не выполнил правильно последовательность, то работать и не должно было.   А если сильно напрягает то, что при перегрузке для выхода из защиты нужно ставить на зарядку, можно сделать автоматический выход из защиты - поставить резистор между B- и OUT-. А лучше, что логичнее  - выкинуть защиту\закоротить B- и OUT-. Ты это сам сделаешь, когда поймёшь, что при малейшей нагрузке срабатывает защита. У тебя и так механическая кнопка, она не требует защиты.
    • Поддельные моторы. Моторолла стала ONSEMI в 2000 году и маркировка была другой и корпусов как у правого у ней не было никогда, когда она была мотороллой   Слева правильная моторолла 
    • На фотке были мотороллеры, четко помню. Вот эти хорошие, бета очень линейная до 5 Ампер.
    • Здрасти. Эт снова я. Малая обновка. в УНЧ 50 8 были заменены дубовые транзюки П308М, на 2N5551. На одном выходе была постоянка 30мв, на другом было все в порядке - 8мв. Потому что на том на котором было 8мв, я ранее корректировал резисторы R5(3.9к) и R8(3.9к) до 4.7к. А на том канале на котором было 30мв, был скорректирован только R5. Добил еще и R8 и стало на выходе 12мв. На этом можно успокоиться. Также запаял помехогасящий конденсатор на первичную обмотку транса от возможных помех в сети.  Есть идея скорректировать резисторы рядом с выходными транзюками 1Ом 0,5 Вт до 0.33Ом. Говорят положительно сказывается на динамике и низких.  А так осталось привести макинтош в божеский вид. Отшкурить, залакировать (возможно покрасить). Также надо бы как то изготовить пластиковые кнопки для рычажков преда моно/стерео и тонкомпенсации + крутилку записи (хотя там оно отключено, но для эстетики надо). Есть друг занимающийся 3д печатью, думаю к нему обратиться с этой задачей.
    • У тебя хоть иногда возникают свои собственные мысли, чтобы подобные выводы делать? - или только умеешь повторять как попугай, патриот ты наш ?  Где это я об этом написал? Отсебячину несёшь. Если бы не любил жить, где родился, тогда бы давно отсюда сдристнул. А так буду по возможности очищать свою страну от воров, бандитов, убийц и другой твари.   
    • Вообще-то это не коммутатор, а 4-х канальный аудиопроцессор. Китайский аналог процессора TDA7313D. Выпускаются аналоги: PT7313, PT2313L, SC2313. CSC2313... На казусе я когда-то писал об этих микросхемах. Да и в интернете на профильных сайтах неоднократно упоминаются эти микросхемы при ремонте аудиоаппаратуры, в основном автомагнетол.
×
×
  • Create New...