Jump to content
Дима46

Блок Управления

Recommended Posts

В общем ситуация такая. Нужно собрать блок управления на замыкание 250 каналов. каждый канал должен замыкаться в определенное время ( настраиваемое индивидуально в диапазоне до 600 секунд) + нужна возможность механического управления ( на случай неисправности блока).

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

Заранее всем спасибо за советы и помощь.

Share this post


Link to post
Share on other sites

Литиевые батарейки Fanso для систем телеметрии и дистанционного контроля

Системы телеметрии находят все более широкое применение во многих отраслях на промышленных и коммунальных объектах. Требования, предъявляемые к условиям эксплуатации приборов телеметрии и, как следствие, источников питания для них, могут быть довольно жесткими. Fanso предоставляет широкую линейку продукции, рассчитанной на различные условия эксплуатации, что позволяет подобрать батарейку для каждого конкретного применения, в том числе и для устройств телеметрии.

Подробнее

Это пульт запуска пиротехники. У нас они конечно же есть. Но ! или механические ( контакты замыкаются вручную, что надежно, но иногда требуется секундная точность), или компьютерные ( иногда глючат в самый неподходящий момент).

В принципе можно сделать несколько блоков с меньшим числом каналов. но все-равно их надо объединять для последовательной работы.

Share this post


Link to post
Share on other sites
                     

Приглашаем на вебинар Решения для построения ультразвуковых счетчиков жидкостей и газов на базе MSP430

Компэл совместно с Texas Instruments 23 октября 2019 приглашают на вебинар, посвященный системам-на-кристалле для построения ультразвуковых расходомеров жидкостей и газов на базе ядра MSP430. Вебинар проводит Йоханн Ципперер – эксперт по ультразвуковым технологиям, непосредственно участвовавший в создании данного решения. На вебинаре компания Texas Instruments представит однокристальное решение, позволяющее создавать точные недорогие счетчики жидкостей и газов.

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

А может быть подойдёт барабан с контактами. Принцип музыкальной шкатулки... В противном случае придётся покупать большое количество реле с транзисторами или 250 реле времени.

Edited by Byjcnhfytw77

Share this post


Link to post
Share on other sites

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

Примерно так выглядят наши пульты.

post-200604-0-56502800-1461241539_thumb.jpg

Share this post


Link to post
Share on other sites

В разделе РАБОТА за Н-е кол-во дензнаков - помогут

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 Olga Kovin
      Диод ДЛ123-320-12. Новые. 2018 г. В наличии:  30шт. Цена: 500р/шт.
      Диод ДЛ123-320-20. Новые. 2013 г. В наличии: 4шт. Цена: 500р/шт.
      Тиристор Т171-320-3-72. Новые. 2018г. В наличии: 4шт. Цена: 700р/шт.
      Саратовская обл. г.Энгельс
      Отправим: почтой, транспортной компанией, в Москву - с курьером.
      Наличный-безналичный расчет
      Контакты: 
      Моб. тел.:+7904-240-51-17.
      E-mail: olgalosewa86@mail.ru




    • By Alexandr Petrenko
      Нужна помощь, так случилось, что я никак не связан с радиотехникой и т.д, но мне нужно сделать перчатку (тема дипломной работы) по видео AlexGyver, которая по сути и есть стробоскопом на базе Arduino nano. И я её кое-как спаял и конечно же она не работает, причины искать нет смысла, потому что может быть всё что угодно. Подскажите мне как можно упростить это устройство чтобы я его смог сделать, что-то проще, желательно схему иначе я не справлюсь.
      Вот то видео:
      https://www.youtube.com/watch?v=rLpn_4ERJXQ
    • 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
    • By weffing
      Продам КТ908А-1 шт., 2Т301Д-140 шт.,РЭС59-7шт., РЭС 9 -1шт,РЭС 6-Т -1шт.,РЭС 6-1 шт., РЭс10- 1 шт.,РЭС 48А-10 шт., РЭС 48 Б-2 шт., РЭС 15-10 шт., 2ТС613 А -13 шт., РЭС-54-6 шт., СП5-39109-9 шт., ТО125-10-7 шт.,РПС32Б-2 шт., Д226-10шт., Sr-25-6 шт., Кондр. 3,3 мкф х50-22 шт., Конд. 100х35-14 шт.,К50-68. Цена договорная!
  • Сообщения

    • Абсолютный, полный аналог искать нет смысла, нужно смотреть, какой функционал используется в исходной схеме и подбирать замену исходя из этого. А в курсе, что под другой МК ещё и прошивку придётся писать с нуля?
    • Окончание попыток сборки "качественных" УНЧ у меня состоялось в тот день, когда стробоскопом осветил этот самый диффузор - полное совпадение с поверхностью воды, которую обдувают вентилятором. И это при синусоидальном токе в обмотке динамика! Теория и математическая модель работы диффузора в корне отличается от практически визуально наблюдаемой картинки. Уважаемые ПРОФИ в области конструирования высококачественных УНЧ, Ваши схемы и электроника создают, вероятно, только электрически качественный ток. А как же конечный результат или цель Ваших конструкций?  Некоторый положительный эффект улучшения качества звука возможен при ЭМОС (электромеханической обратной связи) по сигналу перемещения диффузора названного динамика.   Кроме критики могу добавить следующее, резкое улучшение качества звука у меня получилось при подключении к усилителю маленьких динамиков с диффузором из алюминия диаметром 40-50 мм. Для воспроизведения низких частот желательно соединить их параллельно-последовательно, что даёт возможность согласования по необходимому значению требуемого электрического сопротивления, несколько динамиков на одной плоскости.  
    • Самое интересное - каким боком тут может помочь ардуина?
    • А ссылка, что Бориска дал, действительно хорошая. Буквально каждый узел разобран по косточкам.
    • 5. Две одинокие ромашки на маковом поле. Их УЗД маскируется уровнем всего остального. Ведь фильтрация у шириков тю-тю а они тянут до 16кгц с выраженным пиком 5кгц. 6. При совокупности всех факторов пародия и есть...
    • Перемотал дроссель. литцендрат - провод 0,25мм - 13 жил  -- 21 виток. Всё равно греется.. Когда на выходе на динамики значение переменки превышает 20 вольт - дроссель начинает зудеть.. потиху. на 30 вольтах очень даже ощутимо зудит-пищит.. Максимум показал 34 вольта пока был холодный. Нагрелся - максимум стал 32 вольта с копейками. Когда вход зашунтирован  - на выходе 0,4 вольта постоянки (я так понимаю, что это и есть остаток несущей). Поднимаю громкость - вырастает до 0,6 в гдето, поднимаю до максимума - дроссель начинает зудеть  -  а постоянка резко уходит в минусовые показатели...
    • 1. Для чего снято и выложено подобные демо мы прекрасно понимает...  2. Не имеет значения. Вообще следует головке отдавать тот диапазон, где её ачх максимально линейна, отрезав лишнее. Вам бы справочник по акустике почитать а не форумы...  3. Сможете аргументировать, что групповой излучатель не может состоять из группы разнотипных излучателей/ас? 4. Сколько людей столько мнений. Но держу пари, большинство  категорически против подобных щитов, роликов и мнений их авторов.
  • Покупай!

×
×
  • Create New...