Jump to content
Михаил N

Трехфазный блок питания на АВР

Recommended Posts

Задался целью собрать преобразователь трехфазного напряжения из однофазного. Делать решил на контроллере АтМега88 (я его слепила из того что было). Знаю что готовых решений в сети много, многие из них с различными регулировками и примочками в виде дисплеев, датчиков и т.п. Моей целью было по большей части разобраться с принципом работы самого контроллера и хотя бы немного научится программированию. Генератор реализован на таймерах, задействованы сразу три таймера и все их выхода (OC0A,OC0B, OC1A,OC1B,OC2A,OC2B). Частота и скважность не регулируется но при желании запилить можно. Вот сама работа:

#ifndef MAIN_H_
#define MAIN_H_
#define F_CPU 20000000
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <stdio.h>
#include <stdlib.h>
#endif

void timer_ini(void)
 {
     TCNT0=0;
     TCNT1=85;
     TCNT2=170;
     ASSR |=0x00;
     TIMSK0, TIMSK1,TIMSK2 |=0x00;
     
     TCCR0A =0b11100001;
     TCCR0B =0b00000100; \\ последними тремя цифрами можно настроить нужную частоту
     OCR0A |=(1<<COM0A1),(1<<COM0A1);
     OCR0B |=(1<<COM0B1);
     OCR0B=OCR0A;
     
     TCCR2A =0b11100001;
     TCCR2B =0b00000110 ; \\ последними тремя цифрами можно настроить нужную частоту
     OCR2A |= (1<<COM2A1);
     OCR2B |= (1<<COM2B1),(1<<COM2B0);
     OCR2B=OCR2A;
      
     TCCR1A =0b11100001;
     TCCR1B =0b00000100; \\ последними тремя цифрами можно настроить нужную частоту
     OCR1A |= (1<<COM1A1);
     OCR1B |= (1<<COM1B1),(1<<COM1B0);
     OCR1B=OCR1A;
     
    GTCCR &=~(1<<TSM);
    GTCCR |= (1<<PSRASY);    
 }

void port_ini(void) 
{
       DDRD = 0b01101000;
      PORTD = 0b00000000;
      DDRB = 0b00001110;
      PORTB = 0b00000000;                
}

int main(void)
{
port_ini();
timer_ini();
      
    while(1)
    {
    }
}

Делал в Атмел студио 6.1. Для многих занимающихся этим профессионально может покажется смешным сие творение, но для человека который занимается этим всего неделю думаю весьма не плохо. По факту тут всего лишь настройка таймеров и их сдвиг относительно друг друга. При моделировании в протеусе показала 3 меадра. Рассчитано под схему трехфазного транзисторного моста, с управление последними через драйвера типа IR2110 - 13. Критика приветствуется, помощь в прикручивании сюда регулировки частоты тоже.

Новый рисунок.bmp

Схемы мостов и включения контроллера не привожу, в сети таких схем полно любая схема полумоста собранная 3 раза думаю будет неплохо работать, DIED TIME нет к сожалению, но насколько мне известно у драйверов есть время задержки включения и отключения транзисторов думаю его должно хватить. для совсем привередливых достаточно будет после каждого таймера  добавить строчку:

OСRnA=125; OCRnB=~125; где n - это номер таймера. Может это и не правильно но ступенька появляется и её должно хватить для избежания сквозных токов.

Share this post


Link to post
Share on other sites

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

  • Сообщения

    • @Channel TimeLord Пока такое никто не предлагал, думаю и вам не понравится. Так что сразу не встраивайте в переднюю панель БП, а пока положите сверху линейку ( квадрат, треугольник, круг или еще что ) из светодиодов, посмотрите на информативность этого индикатора, а потом выбросите без потерь для корпуса БП.
    • В одном ИИП попадался вообще полный минимализм. Термистор NTC на 50 Ом, включенный последовательно вентилятору. Сам термистор прижат к радиатору выпрямительных диодов. Работает.
    • Этот загадочный параметр - производительность вентилятора по объёму перекачиваемого воздуха, помноженная на создаваемое им разряжение. Неэлектрическая величина. К потребляемой от сети электрической мощности имеет весьма опосредованное отношение, примерно как зависимость грузоподъемности автомобиля от мощности двигателя.
    • Падает 8,5 Вольт при R44 5КОм При R44 200КОм падает 2,6В, При этом на выходе +16,3 Вольт В моем случае 0,18В, 0,79В, 1,4В при R44 5КОм При R44 200КОм - 0,14В, 0,73В, 1,35В. При этом на выходе +16,3 Вольт   Скорее всего. Был вечер и сетевое напряжение сильно гуляло.   Вы имели ввиду R18? На R17 у меня падает 0,82В при R44 5КОм При R44 200КОм все те же 0,8В. При этом на выходе +16,3 Вольт     А со вторым каналом что посоветуете делать, тоже менять или оставить как есть.
    • Автомобильные ланзароподобные видны сразу с полпинка Парень,который привез этот сабвуфер вчера,пояснил что электрики чего то там баловались с подключением и в итоге саб *упал на колени* Я спросил так может предохранитель помер и все? На что он грустно ответил типа я то себя знаю и предохранителем мол никогда в жизни не обходились))) Вам придется его делать. Смех и только. Ну чего,бум ваять
    • А детишки там на кой по садику слоняются?
    • Думаю на фильтрах, шланге и щётках оставляет. Все они такие, те что бытовые. Жрать киловатты горазды, а вот пыль и другой мусор затягивать, не особо. Я когда этот пылесос лет 5 назад выбирал, то проверил штук 6 разных, единственное в чем ступил, не узнал стоимость расходки)) А так, по эффективности уборки и цене, был лучшим вариантом. У меня у родителей есть пылесос витек, у него потребляемая заявляется под 2 квт, а эффективная, в районе 400вт с копейками. В сравнении с моим, он действительно кажется раза в 2 хуже собирает мусор.
×
×
  • Create New...