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
Posted (edited)
В 20.03.2019 в 16:06, shuks сказал:

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

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

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

Edited by E_C_C

Share this post


Link to post
Share on other sites

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

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

Подробнее

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

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

:D

Share this post


Link to post
Share on other sites
                     

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

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

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

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 Максим123456789
      делаю диплом, в схеме у меня микроконтроллер PIC16F688 и мне нужно его заменить на ATmega. Не могу найти похожий
    • By Вячеслав_НС
      Здравствуйте ! подскажите , какую лучше библиотеку использовать (и где ее взять) для управления i2c atmega8 в atmel studio 7  .  задача - управлять atmega8 по i2c ,  цап  PCF8591T .
      понимаю , в интернете много примеров и библиотек , но хотелось бы пример максимально простой и точно рабочий . т.к. пока что все мои попытки не привели к успеху ... то Atmel Studio 7 при компиляции ругается на несуществующий файл ( к примеру - "stream.h") при использовании библиотеки i2c , то еще какие то грабли .
    • By Misereli
      Здравствуйте.
      Хочу сделать свою клавиатуру на микроконтроллере Atmel (например, ATmega8).
      Знаю несколько видов схем: матричная клавиатура и резистивная.
      Реализация матричной клавиатуры требует использования большого количества ног на микроконтроллере .
      Реализация резистивной (в зависимости от напряжения, АЦП определяет какая нажата кнопка) не позволит зажимать сразу несколько клавиш. 

      На форумах "клаводелов" нашел интересную плату (satan gh60), на основе которой собирают клавиатуру. Она работает на atmega32u4, на плате распаяно множество резисторов. Несколько нажатий поддерживает.


      Если кто-то поделится мыслями как она работает, буду очень благодарен, т.к. самому мозгов не хватает 
      Об использовании специализированных МК прошу не упоминать, интересно сделать на ATmega.
       
    • By Антон Плюшкин
      В общем есть небольшая тривиальная задача - сделать свитюльку. Контроллер управляет светодиодиками, цвета меняются, людишки довольны.
      Схема проста: Attiny44a -> 2n3904 x3 -> RGB-светодиод.
      Собрал, протестил, всё норм, но!
      Как только в коде я использую функцию задержки - _delay_ms (util/delay.h) - контроллер повисает!
      #define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> int main(void) { // Input/Output Ports initialization // Port A initialization // Function: Bit7=Out Bit6=Out Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRA=(1<<DDA7) | (1<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0); // State: Bit7=0 Bit6=0 Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0); // Port B initialization // Function: Bit3=In Bit2=Out Bit1=In Bit0=In DDRB=(0<<DDB3) | (1<<DDB2) | (0<<DDB1) | (0<<DDB0); // State: Bit3=T Bit2=0 Bit1=T Bit0=T PORTB=(0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0); // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 16000,000 kHz // Mode: Phase correct PWM top=0xFF // OC0A output: Non-Inverted PWM // OC0B output: Non-Inverted PWM // Timer Period: 0,031875 ms // Output Pulse(s): // OC0A Period: 0,031875 ms Width: 0 us // OC0B Period: 0,031875 ms Width: 0 us TCCR0A=(1<<COM0A1) | (0<<COM0A0) | (1<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (1<<WGM00); TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (1<<CS00); TCNT0=0x00; OCR0A=0x00; OCR0B=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 16000,000 kHz // Mode: Ph. correct PWM top=0x00FF // OC1A output: Non-Inverted PWM // OC1B output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer Period: 0,031875 ms // Output Pulse(s): // OC1A Period: 0,031875 ms Width: 0 us // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=(1<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (1<<WGM10); TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (1<<CS10); TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 0 Interrupt(s) initialization TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (0<<TOIE0); // Timer/Counter 1 Interrupt(s) initialization TIMSK1=(0<<ICIE1) | (0<<OCIE1B) | (0<<OCIE1A) | (0<<TOIE1); // External Interrupt(s) initialization // INT0: Off // Interrupt on any change on pins PCINT0-7: Off // Interrupt on any change on pins PCINT8-11: Off MCUCR=(0<<ISC01) | (0<<ISC00); GIMSK=(0<<INT0) | (0<<PCIE1) | (0<<PCIE0); // USI initialization // Mode: Disabled // Clock source: Register & Counter=no clk. // USI Counter Overflow Interrupt: Off USICR=(0<<USISIE) | (0<<USIOIE) | (0<<USIWM1) | (0<<USIWM0) | (0<<USICS1) | (0<<USICS0) | (0<<USICLK) | (0<<USITC); // Analog Comparator initialization // Analog Comparator: Off // The Analog Comparator's positive input is // connected to the AIN0 pin // The Analog Comparator's negative input is // connected to the AIN1 pin ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0); ADCSRB=(0<<ACME); // Digital input buffer on AIN0: On // Digital input buffer on AIN1: On DIDR0=(0<<ADC1D) | (0<<ADC2D); // ADC initialization // ADC disabled ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0); unsigned char VL_OCR0A = 0, VL_OCR0B = 0, VL_OCR1A = 0; OCR0A = 0; OCR0B = 0; OCR1A = 0; while(1) { _delay_ms( 100 ); VL_OCR0A = VL_OCR0A + 1; VL_OCR0B = VL_OCR0B + 1; VL_OCR1A = VL_OCR1A + 1; if( VL_OCR0A >= 250 ){ VL_OCR0A = 0; } if( VL_OCR0B >= 250 ){ VL_OCR0B = 0; } if( VL_OCR1A >= 250 ){ VL_OCR1A = 0; } OCR0A = VL_OCR0A; OCR0B = VL_OCR0B; OCR1A = VL_OCR1A; } } Т.е. если указать задержку в начале цикла, то светодиод не светится вообще.
      Если задержку убрать - светодиод немного подсвечивает всеми цветами.
      while(1) { _delay_ms( 100 ); // <--- ЗАДЕРЖКА --- VL_OCR0A = VL_OCR0A + 1; VL_OCR0B = VL_OCR0B + 1; VL_OCR1A = VL_OCR1A + 1; if( VL_OCR0A >= 250 ){ VL_OCR0A = 0; } if( VL_OCR0B >= 250 ){ VL_OCR0B = 0; } if( VL_OCR1A >= 250 ){ VL_OCR1A = 0; } OCR0A = VL_OCR0A; OCR0B = VL_OCR0B; OCR1A = VL_OCR1A; } Где я накосячил?
      З.Ы.: Замечаний по поводу оптимизации кода, излишних переменных и п.р. прошу не писать - изощряюсь как могу ибо не пойму почему не работает
  • Сообщения

    • есть источник про звуковые на ферритах? че то гугл....
    • Всем доброго времени суток.  Прошу помочь советом в запуске передатчика . квалифицированных радиоинженеров. В качестве ЗГ и усилителя для раскачки свч модуля Тошиба 35 ватт попытался применить чипы СМТ2119а и SPF5043Z. Предварительно консультировался с профессиональными разработчиками СВЧ техники (по телефону). НО, не повезло. Трансмиттер не заработал, как надо. И не пойму причины. До этого, как-то получалось. Я не инженер, а аматор, особыми знаниями не обладаю, но, наверное, раньше везло.) Размеры  сегмента платы, где расположены ЗГ и СВЧ усилитель  20х5 мм (рисунок платы в прикрепленном файле) Снизу земляной полигон и все земляные цепи «прошиты» большим количеством переходных отверстий, особенно под усилителем. Слева кварц 5х3 мм, затем интегральный передатчик СМТ2119 sot23-6, далее цепи согласования, ну и справа прямо на косом участке земли двумя ножками стоит усилитель SRF5043 sot343 (4 ножки). Слева выше вход этого чипа, справа ниже выход. Цепи питания каскадов разделены. Заменил LC элементы межкаскадного согласования, просто поставил между каскадами ослабляющий аттенюатор – толку нет. Экранировка узла ничего не дала. При вых. мощности ЗГ 7-8 dBm, на антенном  выходе та же мощность 50% от нужной (~18 ватт),  также может заработать и на основной частоте 500+ Мгц и + на двух других более низких частотах, суммарная мощность на выходе возрастает до 20 ватт, но это нестабильная работа. Радиатор горячий, а толку нет.(  При мощности ЗГ +11-12dBм идет возбуд и по всей полосе, шум. Позвонил радиоинженеру в Киев, тот порекомендовал померить выходное ВЧ напряжение с СВЧ усилителя на нагрузке 50 ом. Делаю сейчас ВЧ вольтметр (еще проблема). Но, оно и так видно, что не качественно работает СВЧ усилитель. Раньше получалось раскачать бустерный СВЧ усилитель Toshiba до 35 ватт (для этого на его вход надо подать 75 мВт мщности) более простыми средствами (MRF49XA+BFG67X+2SC3356 и без особых конструкторских требований по СВЧ технике), а сейчас хотел применить более современные радиочипы и – такой облом.(   Я уже подумаю, что ошибся с применением такого широкополосного и мощного (до 180 мВТ на выходе) СВЧ усилителя, но, именно его применить мне порекомендовал спец высокого уровня, инженер-конструктор из НПО « Сатурн, (Киев).   По-этому нуждаюсь в помощи и консультации Гуру в радиоделе.   Девайс, на MRF49XA, нормально работающий, на фото. ЗГ+УВЧ.doc трансмиттер.rar Схема ЗГ+ УВЧ. Transmitter.rar
    • Скажите реально ли этот экран подключить к мультиметру .что бы показывал его показания?  
    • Ты не можешь сказать, улучшается ли экранировка, ибо ты не можешь сказать, на ЧТО реагирует твой говно прибор. А он показывает погоду на Марсе, не более.   Т.е. ты рискнешь утверждать обратное?   Представь себе. Ибо ты давишь хрен знает что, а не излучение магнетрона.   Индикатор поля способен. Вот только у тебя его НЕТ.   О нет. Но по твоей тупейшей логике это значит, что телевизор не менее вреден, чем микроволновка.   Ты не поверишь, но экран никогда не ослабляет излучения в ноль. Поэтому, искать излучение в упор к экрану - бред идиота. Я вот что-то не припомню чтобы в инструкции  на микроволновку было сказано, что ее можно обнимать во время работы. Скорее там сказано, что желательно находиться на N-ом расстоянии до окончания работы. и именно на этом расстоянии требуется производить измерения.   Т.е. ты настолько туп, что не можешь понять того, что стрелка твоего говнометра легко может отклоняться при воздействии поля 50Гц или 50КГц и т.п.? Т.е. ты даже не знаешь, ЧТО он показывает! Зато уже поднимаешь панику. Вот как сделаешь чтобы показометр хотя бы реагировал на частоту строго выше 2ГГц, тогда и поговорим.   Для особо тупых поясню, тут нужен СВЧ диод, а не ВЧ. Ты же даже не ВЧ диод пихнул туда. Это обычный Шоттки, причем НИЗКОЧАСТОТНЫЙ.   Мало того, что это паранойя, так еще и бред идиота, ничего не смыслящего в радиоэлектронике.   Для сравнения ЧЕГО? Погоды на Марсе? Солнечной активности? Ведь даже неизвестно, НА ЧТО реагирует его показометр...
    • Заказывал у Broodio Store пару СИД-матриц теплого белого свечения, 220В 20Вт. Бездрайверных. Получил. Выглядят иначе, чем на фото в Алиэкспресс - интегральные ГСТ в других корпусах и сама матрица больше в поперечнике (>60мм). Зачистил УШМ два старых ребристых радиатора 125х90х45мм, разметил отверстия, припаял проводники, установил клеммник, намазал термопасту, прикрутил матрицу. Матрицу закрыл плафоном от негодной 18Вт лампы (пришлось плафон подрезать). Плафон посадил на автогерметик. Будет освещение для дачи/подсобки. Матрица светит ярко, мерцает (как ЛДС с дроссельным балластом) и греется. Установившаяся температура с таким радиатором - 58Ц при 25Ц окружающей среды. Специально замерил температуру пластиковой оболочки корпуса другой, близкой по мощности 18Вт лампы с полноценным драйвером, в закрытом корпусе, с патроном E27 - ровно 100Ц  Сколько на теплоотводе - один х знает . Это я к тому, что, с 60Ц на подошве радиатора, появляется надежда на срок службы побольше, чем год-два. А может и нет. Посмотрим. 18 × 35.5 - по даташиту. По замерам - 16 х 33 мм. Сам продаван указал 16 х 30 мм. Спасибо, Вы правы. Ничего не стоило заглянуть в даташит. 
    • Это был якобы nichicon fw? Откройте даташит и посмотрите какого размера должны быть настоящие 10000uf16V : https://www.nichicon.co.jp/english/products/pdfs/e-fw.pdf  
    • у Д.Селфа такое пояснение:
×
×
  • Create New...