Jump to content
shuks

детектор короткого замыкания на avr/arduino

Recommended Posts

Добрый день!

От товарища поступила просьба собрать на ардуино (либо изготовить плату на avr) детектор короткого замыкания.

Есть у него на производстве ряд БП 12в 2квт и десяток потребителей на каждом, таких блоков порядка сотни, и поступила "хотелка" навесить на каждый БП ардуину (питание будет отдельное независимое) которая будет посылать по wifi уведомление когда будет возникать КЗ в блоке/потребителе (важна возможность определения именно КЗ).

Опыта нет, первое что пришло в голову это:

1) мониторить потерю напряжения 12в на БП (при КЗ блок уходит в защиту)

2) при потере напряжения 12в подавать напряжение 3.3в от питания МК с управлением через ключ от ножки МК на "+" питания БП и переход на пп.3

3) ноль от БП подключить к АЦП МК и замерять: если 0в то все норм и КЗ нет (поломка блока без КЗ либо отключение от сети 220в), если на АЦП будет 3.3в то имеем КЗ и отправляем уведомление.

Т.к. опыта схемотехники почти нет, прошу помощи по схеме в даже в мелочах

 

Share this post


Link to post
Share on other sites
В 20.03.2019 в 16:06, shuks сказал:

1) мониторить потерю напряжения 12в на БП (при КЗ блок уходит в защиту

Мониторить ток потребления и напряжение. При кз ток стремится к бесконечности, напряжение стремится к нулю . Зафиксирован всплеск тока, при просадке напряжения, значит все , есть КЗ.

БП отключается при кз или переходит в режим токоограничения ?

Edited by E_C_C

Share this post


Link to post
Share on other sites

Вебинар «Экосистема MEAN WELL. Решения для любых задач электропитания» (20.05.2021)

Приглашаем 20 мая на вебинар, посвященный линейке поставок компании MEAN WELL и ее подходу к производству источников питания — как экосистемы продукции и услуг, которая позволяет подобрать оптимальный источник питания для любых задач электропитания. Рассмотрим весь спектр выпускаемой продукции MEAN WELL в области AC/DC-, DC/DC- и DC/AC-преобразователей с подробным разбором интересных и уникальных новинок, их применении и многое другое.

Подробнее

@E_C_C , дайте этой теме спокойно погрузиться в ил истории..:)


"Я не знаю какой там коэффициент, я просто паять умею. "

Share this post


Link to post
Share on other sites

Барьерные силовые клеммы от Degson – расширение складского ассортимента Компэл

Обновленная линейка барьерных клеммных блоков Degson, поступивших на склад Компэл, содержит широкий ряд клемм, подходящих для соединения проводников различного сечения (от 22AWG до 10AWG). Барьерные клеммные колодки сочетают в себе удобство, простоту и надежность соединения. Это достигается за счет ответственного производства и использования высококачественных материалов. Винтовые клеммные блоки барьерного типа Degson предназначены в первую очередь для коммутации в сильноточных цепях, например, в распределительных и измерительных системах.

Подробнее

16 минут назад, Dr. West сказал:

@E_C_C , дайте этой теме спокойно погрузиться в ил истории..:)

:D

Share this post


Link to post
Share on other sites

Материалы вебинара «Решения Analog Devices для гальванической изоляции. Обзор технологий и новинок»

Опубликованы материалы вебинара, посвященного решениям Analog Devices для гальванической изоляции. На вебинаре рассказали о: технологии гальванической изоляции iCoupler, цифровых изоляторах, технологии isoPower, гальванически изолированных интерфейсах (RS-485, CAN, USB, I2C, LVDS) и многом другом. Материалы вебинара будут интересны разработчикам промышленной автоматики и медицинской техники.

Подробнее

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...

  • Сообщения

    • Чет не сильно похоже на фелярную намотку.!
    • @Nikol@i_  Да ТВ придумали на западе, как и спутниковое ТВ и сотовый телефон и даже магнитофон.
    • ТС похоже сильно не одинок, ибо есть предложение на спрос: https://www.ebay.com/itm/222361245953?epid=1561617310&hash=item33c5c35901:g:mJgAAOSwUrJZ0H-d https://www.ebay.com/itm/263328463918?hash=item3d4f997c2e:g:O-YAAOSwn25aDhgB
    • Спутниковое телевидение частный случай.То-есть человек в условном Норильске получает сигнал с ретранслятора на который сигнал приходит со спутника это не спутниковое телевидение? Да реализовано по другому. Что касается пользы- нужно быть специалистом в этой области и знать какие эксперименты они проводили для того, что-бы делать выводы. Вроде польза насосной, которая стоит за городом и говно качает нулевая, самотёком-же уходит, польза для гражданина нулевая а деньги берут.
    • Кто то азот в шины закачивает , кто то пружины на чепырках режет ))))))))))) А вот ему хочется чё бы на предохранителе было написано -"маде ин жапан" ))) Если есть бараны - то и будут парикмахеры ! )))
    • Как вариант 1. Реализовать в прошивке МК внешний канал связи с ПК (хотябы USART), внутри программы все переменные перевести в целочисленный формат, и объединить в запись/структуру. Если прошивка на С++ то я бы реализовать целый класс, по поводу PID, который в себе содержал бы методы для вычислений регулируемой величины, методы сохранение параметров во внешнюю память FM25, и методы для передачи и приема параметров через внешний канал связи. Если все это делать на чистом С, то надо делать рассыпуху всех этих методов, в которые передавать структуру исходных данных, либо которые будут работать с глобально оъявленым экземпляров этой структуры. 2. Со стороны ПК создать программу на например Delphi, для работы с последовательным портом, которой можно будет не только изменять нужные параметры а полностью контролировать МК в режиме реального времени.  3. Игратся с параметрами виртуально в либо LabView, либо Matlab либо Maple, либо в свое программе на ПК, оптимизируя их так как надо, а потом коннектимся и переконфигурируем параметры внутри МК и гуляем!
    • @Myls, попробуй ещё эмиттерные резисторы силовых транзисторов на обрыв проверить. После замыкания они вполне могли пострадать.
  • Similar Content

    • By dima040891
      Приветсвую!
      Кто ни будь работал с микросхемой STLED316S?  Это драйвер семисегментонго индикатора.
      Можете привести минимальный кусок кода который выводит любую цифру на дисплей. Из документации не пойму как с ней работать...
      На форумах инфы почти нет. Из того что есть тоже толку мало. Буду рад любой инфе по этой микросхеме.

      Ещё правильно же понимаю биты по SPI передаются младшим вперёд, а такты нужно передавать инверсные?

      В качестве МК применяю STM32.
    • By Teo74
      Есть проект состоящий из Atmega 8, Uart, и lcd Nokia 5110.Проблема лишь в том что дисплей 5110 очень маленький, так как показания нужно читать с расстояния 3-6 метров. В интернете нашёл 7 дюймовый TFT дисплей  но не понимаю как его использовать в моём проекте. В протеус его нет, библиотек для него тоже не нашёл. Если я правильно понял, у этого дисплея есть свой контролер STM32, но как совместить с Atmega 8? Как симулировать в протеус?
    • By sunjob
      добрый день
      проект v-usb
      выкус из спецификации/инета/форумов:
      - реализация не полностью соответствует стандарту
      - работа на 100% не гарантируется
      - питание по USB / с компа может провалиться до 4-4.5В (а F_CPU идет в "притирочку" ...)  :))
      у всех рекомендованных схем подключения (3 шт) имеются те или иные очевидные минусы.



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


       
      достаем помидоры, баркова, мысли, высказываемся (заранее благодарен)
      tag: v-usb, usb, avr, atmega328p, avr-gcc, linux/mac-osx
      NO atmega32u4, NO arduino pro micro etc...

    • By Ivarrr
      Помогите понять где ошибка... не получается реализовать попеременный опрос 2ух каналов АЦП. Данные с одного канала должны передаваться на первый индикатор как напряжение, а со второго, соответственно на второй индикатор как сила тока.
       
      #define F_CPU 8000000U
      #include <avr/io.h>
      #include <avr/interrupt.h>
      #include <stdlib.h>
      #include <util/delay.h>
      #define INDICATOR PORTD
      #define RANK PORTB
      unsigned int UR1=0, UR2=0, UR3=0, UR4=0; //переменные для деления на разряды значения напряжения
      unsigned int IR1=0, IR2=0, IR3=0, IR4=0; //переменные для деления на разряды значения силы тока
      int GainControl=1;
      int current_ch=0;
      float I, U;
      unsigned char voltage, current;
      unsigned int NUMS [10] = {0b11000000, 0b11111001, 0b10100100, 0b10110000, 0b10011001, 0b10010010, 0b10000010, 0b11111000, 0b10000000, 0b10010000}; // от 0 до 9
      int main(void)
      {
          DDRB=0xFF; PORTB=0x00; //ножки порта B для разряда
          DDRC=0x00; PORTC=0x00; //ножки порта C для АЦП
          DDRD=0xFF; PORTD=0xFF; //ножки порта D для индикаторов
          
          TCCR0 |= (1<<CS01); TCCR0 &= ~((1<<CS00) | (1<<CS02)); //настройка частоты таймера f/8
          TIMSK |= (1<<TOIE0); //разрешение прерываний по переполнению таймера
          TCNT0=0; // обнуление счетчика
          
          ADCSRA |= ((1<<ADEN) | (1<<ADSC) | (1<<ADPS2)); // запуск АЦП, запуск преобразования, предделитель 16
          ADCSRA &= ~((1<<ADFR) | (1<<ADIF) | (1<<ADPS1) | (1<<ADPS0)); // режим преобразвания прерывестый, флаг перобразования опущен, предделитель 16
          ADMUX |= ((1<<REFS0) | (1<<REFS1)); //источник опорного напряжения 2.56В
          ADMUX &= ~((1<<ADLAR) | (1<<MUX0) | (1<<MUX1) | (1<< MUX2) | (1<<MUX3)); // направление записи, измерительная ножка ADC0;
          
          sei(); // вкл прерывания
          while (1) 
          {
              if (ADCSRA & (1<<ADIF))
              {
                          U_Convert((U*5.00/1024)*100);
                          I_convert((I*5.00/1024)*100);
              }
          }
      }
      void U_Convert (unsigned int U_num)  //деление на разряды напряжения
      {
          UR1=U_num/100;
          UR2=U_num%100/10;
          UR3=U_num%10;
      }
      void I_convert (unsigned int I_num) //деление на разряды тока
      {    IR1=I_num/100;
          IR2=I_num%100/10;
          IR3=I_num%10;
      }
      ISR (TIMER0_OVF_vect)
      {        
          if (GainControl == 1) {INDICATOR = 0b11111110; RANK = NUMS[UR1];} //отображение 1ого разряда напряжения
          if (GainControl == 2) {INDICATOR = 0b11111101; RANK = NUMS[UR2];} //отображение 2ого разряда напряжения
          if (GainControl == 3) {INDICATOR = 0b11111011; RANK = NUMS[UR3];} //отображение 3ого разряда напряжения    
          if (GainControl == 4) {INDICATOR = 0b11110111; RANK = NUMS[IR1];} //отображение 1ого разряды силы тока
          if (GainControl == 5) {INDICATOR = 0b11101111; RANK = NUMS[IR2];} //отображение 2ого разряды силы тока
          if (GainControl == 6) {INDICATOR = 0b11011111; RANK = NUMS[IR3];} //отображение 3ого разряды силы тока
          GainControl++;
          if (GainControl > 6) GainControl=0; //  мониторинг переменной для управления затворами    
      }
      ISR (ADC_vect) 
      {
          if (current_ch == 0)
            {
                U = ADC;
                voltage = (U*2.56/1024)*100;
                ADMUX |= (1<<MUX0);
                current_ch = 1;
                ADCSRA |= (1<<ADSC);
            }
            else
            {
                I = ADC;
                current = (I*2.56/1024)*100;
                ADMUX &= ~(1<<MUX0);
                current_ch = 0;
                ADCSRA |= (1<<ADSC);
            }
      }
    • By SVETs
      Добрый день!
      Уже неделю мучаюсь с питанием привода кассетника в комбайне LOEWE (схемы прилагаю).
      Началось все с того что подарили мне данный комбайн в полу-работающем состоянии. После 20 минут первого прослушивания кассеты - перестал крутиться мотор (не было звука при его включении), тюнер работал ок.
      А так как все равно надо бы проверить конденсаторы - решил его вскрыть.
      После замены лопнувшего пассика,  конденсаторов, чистки реостатов и восстановления (скорее укрепления) нескольких дорожек - запускаю: тюнер работает но с большим фоном на колонках, при включении кассетника - запахло жареным.
      А сжарился мост D1704 на плате  "Endstufe" стр. 18-19, заменил его на новый (1.5А)
      Позже понял что это не имело отношения к включению кассетника так как при отсоединенном штекере Y7 все ок (напряжения на Y17 как на схеме).
      Но вот при втыкании Y7 происходит короткое замыкание Y17:3 и Y17:4. Так как втыкая Y7 - подключается масса на Y7:5 и Y7:4 (на плате "Vorvenstarker" стр. 14-15). 
      При остоединении Y17 - все работает как надо, но без кассетника. Подключая - летят искры, лампочки затухают, увеличивается фон динамиков и греется новый мост.
      И не могу понять как это может работать, если Y17:4 подключается к массе при втыкании Y7, a  Y17:3 подключается к массе на плате "Motorsteuerung".
      Помогите! Уже совсем идеи заканчиваются и руки опускаются.
      PS. Нету лишних подключений к массе, все подключено по схеме, на плате "Endstufe" новый диод зенера D1701 на 16В, переходы транзистора Т1711 в порядке, лампочка V1701 звонится.
      PPS. Если не подключать BU2 к "Kassetenelektonik", и Y7 к "Endstufe" - те не давать основную массу на Y17:4 - мотор крутится и реагирует на кнопки.
      PPPS. ПДФ сжатый, так как тут ограничение на файл, если нужно - могу отправить более "четкую" версию.
      sdk 804_compressed.pdf
×
×
  • Create New...