Jump to content
Anonim

Управление Двумя Тиристорами Т50 При Помощи Atmega8

Recommended Posts

Всем доброго времени1 Понадобилось мне с помощью AtMega8 открывать и закрывать два тиристора К50, стоящих в качестве выпрямителя на мощном трансформаторе. У них управляющий ток 300мА, управляющие напряжение 5В. Что бы усилить ток использовал транзистор КТ646. В результате получилось то, что нарисовано на схеме. Когда на микроконтроллере в программе подаю 1 на 23 вывод, там, как и должно быть, 5В. После транзистора около 3В. Этого хватает что бы открыть тирстор, но на выходе мы получаем 10-12В, в то время как при подключении управляющего вывода напрямую на выход, напряжение на выходе около 18В. В чем проблема, и как её решить? Заранее всем спасибо за ответы!

post-163832-0-85026800-1377270438_thumb.jpg

Share this post


Link to post
Share on other sites
Guest Серый

Контроллер наверное готовый взят. Иначе странно, как он вообще работает.

Около 3В относительно чего?

Share this post


Link to post
Share on other sites

У тринисторов напряжение на УЭ прикладывается относительно катода ..У Вас получается относ анода..

А готовую схему с опторазвязкой взять не охота? Их полно в интернете...

ЗЫ Честно говоря не слыхал о использовании тиристоров в таком качестве...Но...

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

Edited by Лалюна

Share this post


Link to post
Share on other sites

Вебинар STM32G0 – новый лидер бюджетных 32-битных микроконтроллеров от STMicroelectronics

Компания Компэл приглашает вас 25 сентября принять участие в вебинаре, который посвящен новому семейству микроконтроллеров STM32G0. Вебинар рассчитан на технических специалистов и тех, кто хорошо знаком с семейством STM32. На вебинаре будут освоены современные методы тестирования производительности микроконтроллеров на примере самых бюджетных 32-битных семейств общего назначения STM32G0 и STM32F0 и проведено их подробное сравнение.

Подробнее

Контролер шил сам. 3В относительно земли на выходе. Готовое брать не хочу, интересно сделать самому.

А можно поподробнее про то как прикладывается напряжение УЭ?

Edited by Anonim

Share this post


Link to post
Share on other sites

Ключ - тоже оптореле (типа МОС...)

Странно что Вы создавая схему, не знаете работу отдельных её элементов..

Включение тиристора

post-145513-0-06103000-1377288938.gif

Это к тому, как внешним напряжением открывать тиристор...

Share this post


Link to post
Share on other sites
                     

Литиевые батарейки Fanso в беспроводных датчиках пожарно-охранной сигнализации

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

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

Лалюна не совсем удачный ссыль...

ТС тиристор токовый прибор...открывается при при определенном токе через УЭ-катод

вы подаете 3в относительно земли и ток проходит по цепи диод(-0,7в) - резистор (-R*I) - УЭ/катод(-0,7в)-нагрузка(Rn*I) - земля....

те сопротивление нагрузки напрямую влияет на ток в цепи УЭ/катод, отсюда ваши танцы с бубном....

или ставьте как говорили ранее оптопару, (так себе...)

или импульсный тр-р и отрытие тиристора делайте импульсами 2-2,5кГц (лучший вариант)

или землю МК переносите на катоды тиристоров... (х.вар)

Share this post


Link to post
Share on other sites

Земля МК само собой связана с землей тиристоров. Оптопары нет, есть герконовое реле, но оно не потянет. Как я понимаю это окрытие делать с такими имульсами в прошивке? как это сделать на баскоме?

Edited by Anonim

Share this post


Link to post
Share on other sites
Лалюна не совсем удачный ссыль...

ИМХО, чем Вам ссыль не угодила ?

Земля МК само собой связана с землей тиристоров

Anonim Если земля тиристоров там где ога указана по схеме, то это не правильно

Про падение напряжения Вам ИМХО правильно написал... 3( да и 5 тоже) вольта маловато для надёжного отпирания тиристора (а зимой и вовсе может не открыться)...Ставьте оптопару в цепь тиристора , там и напряжение не упадёт ниже нормы и ток приличный...

Share this post


Link to post
Share on other sites
Как я понимаю это окрытие делать с такими имульсами в прошивке? как это сделать на баскоме?

конечно в прошивке... мигание светодиодов с заданой частотой вроде как самая вторая прога при изучении МК или нет?

хз, а баском это что :)

ИМХО, чем Вам ссыль не угодила ?

тем что нет примера когда нагрузка находится в цепи катода... этот ссыль ТС не поможет...
Вам ИМХО правильно написал... 3( да и 5 тоже) вольта маловато для надёжного отпирания тиристора (а зимой и вовсе может не открыться).
чушь... я этого не писал.... тиристор отпирается током , а сколько вольт вы через резистор попытаетесь впихнуть , это ваше дело на тиристоре больше 0,7в не будет, это обычный диод в прямом включении...

Share this post


Link to post
Share on other sites
...Про падение напряжения Вам ИМХО правильно написал... 3( да и 5 тоже) вольта маловато для надёжного отпирания...

Что Вы не писали?Про падение напряжения на элементах схемы?

вы подаете 3в относительно земли и ток проходит по цепи диод(-0,7в) - резистор (-R*I) - УЭ/катод(-0,7в)-нагрузка(Rn*I

Здесь везде указано напряжение (и это правильно) , хотя Вы пишите про ток. Про мин. напряжение (3-5в) дописано после ссылки на Ваши слова (это уже мой текст)

Почитайте ка сам параметры открытия тиристоров. Там и ток указан и минимальное напряжение на УЭ тоже.

Да тиристор током отпирается, но если напряжение на УЭ будет меньше напряжения падения на нём, то ток в его цепи не потечёт. Напряжение отпирания тиристора как раз и начинается от 2, 5 Вольт (но не 0,7) в лучшем случае и при отрицательных температурах это напряжение увеличивается...

Так же как и светодиоды..Они тоже током питаются, но меньшее напряжения питания на них подавать - бесполезное занятие

тем что нет примера когда нагрузка находится в цепи катода

Во первых там вообще принцип работы тиристора описан (мне что ещё и вкусняшки из инета выбирать и в ротик вкладывать?)

А во вторых тиристоры можно и развернуть (и нагрузка будет в анодах), пусть на средней точке транса будет плюс, а на анодах тиристора - минус(схемы конечно)

Edited by Лалюна

Share this post


Link to post
Share on other sites

Внесу ясность с питанием. Есть лабораторный БП, он питает микроконтроллер и обвязку. Есть этот трансформатор с тиристорами. Земля с него связана с землей первого блока, от которого питается мк. а если на трансформаторе домотать отдельную обмотку для этого?

Земли БП питающего МК и обвязку и этого трансформатора с тиристорами соединенны. Что если сделать небольшую обмотку на трансформаторе специально на коллектор транзистора?

Share this post


Link to post
Share on other sites
Да тиристор током отпирается, но если напряжение на УЭ будет меньше напряжения падения на нём, то ток в его цепи не потечёт. Напряжение отпирания тиристора как раз и начинается от 2, 5 Вольт (но не 0,7)
вы немного путаете... это напряжение на катоде, необходимое для включения тиристора

Общие параметры тиристоров

1. Напряжение включения — это минимальное анодное напряжение, при котором тиристор переходит во включенное состояние.

2. Прямое напряжение — это прямое падение напряжения при максимальном токе анода.

3. Обратное напряжение — это максимально допустимое напряжение на тиристоре в закрытом состоянии.

4. Максимально допустимый прямой ток — это максимальный ток в открытом состоянии.

5. Обратный ток — ток при максимальной обратном напряжении.

6. Максимальный ток управления электрода

7. Время задержки включения/выключения

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

Share this post


Link to post
Share on other sites

Сейчас нарисовал более читабельную версию схемы + мелкие поправки. Сейчас когда коллектор транзистора(1) подключен к + на выходе(2), на выходе(2) порядка 13В. все значки земля соединены. Когда коллектор транзистора(1) подключен к +5В(питание МК от ЛБП), на выходе(2) порядка 10В. Решится ли это использованием ШИМ

post-163832-0-24030300-1377385760_thumb.jpg

Share this post


Link to post
Share on other sites

Нет, схема какой была такой и осталось ,плюс Вы внесли в неё ошибку (если + на ср. точке транса , то минус -на катодах, а там как раз будет плюс)

Можете попробовать увеличить напряжение на транзисторе , если не хотите не оптопары, ни ИТ ставить...

Да, ИМХО оказался прав на счёт падения на УЭ(я спутал цифры), оно меньше чем я писал, но суть моего текста не намного изменилась от этого (только на величину на которую я ошибся :) ) ..

Share this post


Link to post
Share on other sites
Guest Виталий

Всем доброго времени1 Понадобилось мне с помощью AtMega8 открывать и закрывать два тиристора К50, стоящих в качестве выпрямителя на мощном трансформаторе. У них управляющий ток 300мА, управляющие напряжение 5В. Что бы усилить ток использовал транзистор КТ646. В результате получилось то, что нарисовано на схеме. Когда на микроконтроллере в программе подаю 1 на 23 вывод, там, как и должно быть, 5В. После транзистора около 3В. Этого хватает что бы открыть тирстор, но на выходе мы получаем 10-12В, в то время как при подключении управляющего вывода напрямую на выход, напряжение на выходе около 18В. В чем проблема, и как её решить? Заранее всем спасибо за ответы!

....Скорее всего, что относительно каждой полу-волны питающего напряжения тиристоры открываются позже, чем надо, то есть работают не на полную полу-волну. Причина может быть в управляющем импульсе с микросхемы, который запаздывает по времени. Либо в самой конструкции схемы управления. Ведь диоды, которые стоят в цепи управляющих электродов, тоже не срабатывают мгновенно, у них ведь есть такой параметр, как "прямое отпирающее напряжение".

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 Вячеслав_НС
      помогите разобраться с кодом .(послать значение по шине TWI на ЦАП PCF8591) не работает в протеусе ...
      #define F_CPU 8000000UL 
      #include <stdlib.h>
      #include <avr/io.h>
      #include <util/delay.h>
      //*** ИНИЦИАЛИЗАЦИЯ ШИНЫ TWI ***/
      void TWI_Init(void)
      {
          // Установка тактовой частоты F_scl  = 100 кГц
          TWBR =32;
          TWSR &= (~((1<<TWPS1)|(1<<TWPS0)));
          TWCR |= (1 << TWEN);            // Разрешение работы TWI-модуля
      }

      /*** ЗАПУСК TWI ***/
      void TWI_Start(void)
      {
          TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN);
          while(!(TWCR & (1<<TWINT)));
          TWDR = 1001000; // передача адреса модуля PCF8591 в шину TWI
          TWCR=(1<<TWINT)|(1<<TWEN);
          while(!(TWCR & (1<<TWINT)));
      }
      /*** ОСТАНОВКА TWI ***/
      void TWI_Stop(void)
      {
          TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);
          while(TWCR & (1<<TWSTO));        // Ожидание завершения передачи условия СТОП
      }
      /***ПЕРЕДАЧА ДАННЫХ В TWI***/
      void TWI_WriteByte(uint8_t data)
      {
          TWDR = data;                    // Загрузка данных в TWDR
          TWCR=(1<<TWINT)|(1<<TWEN);
          while(!(TWCR & (1 << TWINT)));    // Ожидание завершения передачи данных
      }
      /*** ПЕРЕДАТЬ ЗНАЧЕНИЕ В PCF8591 ***/
      void PCF8591_get(void)
      {
          TWI_Start();                // Запуск TWI
          TWI_WriteByte(0x40);        //включаем цап
          TWI_WriteByte(100);            // запись в ЦАП значения 100
          TWI_Stop();                    // Остановить TWI
      }            
          int main(void)
      {
          TWI_Init();    
          while (1)
      {
              PCF8591_get;
             _delay_ms(50);
        }
      }
    • By Вячеслав_НС
      Здравствуйте ! подскажите , какую лучше библиотеку использовать (и где ее взять) для управления i2c atmega8 в atmel studio 7  .  задача - управлять atmega8 по i2c ,  цап  PCF8591T .
      понимаю , в интернете много примеров и библиотек , но хотелось бы пример максимально простой и точно рабочий . т.к. пока что все мои попытки не привели к успеху ... то Atmel Studio 7 при компиляции ругается на несуществующий файл ( к примеру - "stream.h") при использовании библиотеки i2c , то еще какие то грабли .
    • 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 Антон Плюшкин
      В общем есть небольшая тривиальная задача - сделать свитюльку. Контроллер управляет светодиодиками, цвета меняются, людишки довольны.
      Схема проста: 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; } Где я накосячил?
      З.Ы.: Замечаний по поводу оптимизации кода, излишних переменных и п.р. прошу не писать - изощряюсь как могу ибо не пойму почему не работает
    • By LegionKC
      Добрый день.
      Экспериментирую с платой TP4056 и MK ATmega8, конкретнее - пытаюсь собрать простенькое зарядное устройство с выводом параметров при зарядке/разрядке на АЦП МК. Для измерения тока нашел ACS712. Думаю, что получится выводить ток при зарядке (т.е. когда идет питание на TP4056 и нагрузка отключена) и при разрядке (питание выключено, нагрузка подключена). Нагрузка - резистор. Возникла проблема с измерением напряжения на АКБ. Вернее, проблема с отсутствием идей как это сделать. Может какую-нибудь схему делителя напряжения нужно сделать? Прошу помочь советом. Схему из пэинта прилагаю.
      Спасибо.
       

×
×
  • Create New...