Михаил N

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

2 posts in this topic

Задался целью собрать преобразователь трехфазного напряжения из однофазного. Делать решил на контроллере АтМега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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Сообщения

    • Думаю, что нет. Потому как геноцид - истребление отдельных групп населения или целых народов по политическим, расовым, национальным, этническим или религиозным мотивам. А в нашем случае мотивации нет. Никакой. По крайней мере, я её не вижу. Они рубят сук, на котором сидят. Вот как только ваши стрельнут, так и объявит. Но ваши не стрельнут....
    • Это информационная война, в которой, надеюсь, мы, народ, победим!
    • Ещё добавлю.  При соединении земли УМ с корпусом усилителя точку заземления я подбирал. Ищется она довольно просто. В земляную точку УМ  паяем провод, я паял 1,5см^2 сантиметров 20. Второй конец зачищал и пробовал подключать в разных местах корпуса рукой ,,на лету,, при этом наблюдал изменение шума в каналах. В итоге найдя место на корпусе с наименьшим шумом, туда прикрутил этот провод. В УМ РГ выкручиваем на максимум. Появляется шум. В моём случае в одном канале шум был немного сильнее чем во втором. Вместо АС если друг боитесь можно подключить наушники дешевые через добавочный резистор - и в путь :).  Вот ещё чтоб шум был поболее вход ум к источнику не подключать. 
    • Стиль подачи до жути дебильный и режущий слух. Хочется вырвать ему язык и промыть в ацетоне. Тесты...А что тесты? Есть два лагеря, одни слышат разницу и верят в ее наличие, другие не слышат и не верят. Это как УМЗЧ с ОООС и без нее, вечный холивар. Вот еще три страницы тестов от Аудиокиллера. https://www.google.com/url?sa=t&source=web&rct=j&url=http://www.electroclub.info/other/conders1.htm&ved=2ahUKEwjhrfThx6riAhWnxaYKHTaQD6gQFjAAegQICBAC&usg=AOvVaw2CkSMS2eBns9a1PAy-a2yE&cshid=1558371055433 А чтобы не было мучительно больно за бесцельно потраченные баппки, выше я уже предложил альтернативу: интегратор. По измерениям с качественным АЦП, имеющем 0.0001% собственной искажухи, искажений от интегратора не выявлено. Получаем УПТ без головной боли о том, какой конденсатор лучше, и без сомнений в нижней граничной частоте воспроизводимого сигнала.
    • Война это, как есть война. Подожди, наш Вован военное положение обьявит, тогда завертится карусель. Он может .
    • К сожалению, дано. То, что есть сейчас. Ни мира, ни войны.
    • Разве не подходит под геноцид, то, что со времён путинга уже примерно столько же пострадало? Банально погибло?