задающий генератор 3 фазы

Вопросы от новичков
Ответить
M_A_R_A_T
Рядовой
Сообщения: 85
Зарегистрирован: 03.07.2016{, 13:56}
Репутация: 1
Откуда: астана

задающий генератор 3 фазы

#1

Сообщение M_A_R_A_T » 12.03.2018{, 08:05}

есть вот такой скетч
СпойлерПоказать
long CurInt = 1; //Текущий интервал фаз (в градусах)
long previousMillis = 0; //Предыдущее срабатывания счетчика интервала
long interval = 1; //Интервал в милисекундах (влияет на скорость)
long increment = 1; //шаг увеличения угла
int Phase1,Phase2,Phase3; //Текущее значение уровня фаз
double pi = 3.1415926535; //Можно только гадать что это

//****************************************************************************************************************************

void setup() //Типа инициализация
{
//Открываем аналоговые порты на запись
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);

}

//****************************************************************************************************************************

void Takt() //Тут обработка логичесткового калибровоного такта каждый interval
{
//Гоняем интервал фаз от 0 до 360 (если гонять обратно двигатель будет крутиться обратно)
CurInt=CurInt+increment;
if (CurInt >= 360) CurInt = 0;

//Математика расчета фаз
Phase1 = sin(CurInt*pi/180)*127+128; //Фаза 1 должна описывать траекторию синусойды для достижения максимальной мощьности двигателя
Phase2 = sin((CurInt+120)*pi/180)*127+128; //Фаза 2 находится также как и первая со смещением в 120 градусов
Phase3 = sin((CurInt+240)*pi/180)*127+128; //Фаза 3 находится также как и первая со смещением в 240 градусов или со смещением в 120 градусов от второй

//Записываем
analogWrite(9, Phase1);
analogWrite(10, Phase2);
analogWrite(11, Phase3);


}

//****************************************************************************************************************************

void loop() // тут Физический такт
{
unsigned long currentMillis = millis();
if(currentMillis - previousMillis > interval) {
previousMillis = previousMillis + interval;
Takt();
}
}
как можно его подпилить, что бы получить 50гц? или может посоветуете что другое.

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

задающий генератор 3 фазы

#2

Сообщение pan » 12.03.2018{, 08:17}

ну так переменной interval и подгоняйте под 50гц

M_A_R_A_T
Рядовой
Сообщения: 85
Зарегистрирован: 03.07.2016{, 13:56}
Репутация: 1
Откуда: астана

задающий генератор 3 фазы

#3

Сообщение M_A_R_A_T » 12.03.2018{, 08:45}

частота не меняется, 490гц и ни вперед, ни назад.

Отправлено спустя 5 минут 12 секунд:
интервал здесь получается дает время на шим, время от 1 до 99%

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

задающий генератор 3 фазы

#4

Сообщение pan » 12.03.2018{, 08:57}

M_A_R_A_T писал(а):
12.03.2018{, 08:50}
частота не меняется, 490гц и ни вперед, ни назад.
так это частота шима!

Отправлено спустя 1 минуту 9 секунд:
что у вас на выходе подключено? как вы измеряете?

M_A_R_A_T
Рядовой
Сообщения: 85
Зарегистрирован: 03.07.2016{, 13:56}
Репутация: 1
Откуда: астана

задающий генератор 3 фазы

#5

Сообщение M_A_R_A_T » 12.03.2018{, 09:09}

да, все правильно. надо подключить нагрузку с фильтром. смотрю осцилографом.

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

задающий генератор 3 фазы

#6

Сообщение pan » 12.03.2018{, 09:14}

ну конечно фильтр нужен. иначе кроме шима ни чего не увидите

M_A_R_A_T
Рядовой
Сообщения: 85
Зарегистрирован: 03.07.2016{, 13:56}
Репутация: 1
Откуда: астана

задающий генератор 3 фазы

#7

Сообщение M_A_R_A_T » 12.03.2018{, 16:40}

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

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

задающий генератор 3 фазы

#8

Сообщение pan » 12.03.2018{, 16:51}

частота мала.
и есть готовые микросхемы для генерации синуса. зачем велосипед?))

Аватара пользователя
Nikan
Майор
Сообщения: 1194
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 100
Откуда: москва

задающий генератор 3 фазы

#9

Сообщение Nikan » 12.03.2018{, 16:52}

.
Последний раз редактировалось Nikan 23.03.2023{, 22:09}, всего редактировалось 1 раз.

M_A_R_A_T
Рядовой
Сообщения: 85
Зарегистрирован: 03.07.2016{, 13:56}
Репутация: 1
Откуда: астана

задающий генератор 3 фазы

#10

Сообщение M_A_R_A_T » 13.03.2018{, 11:17}

Nikan писал(а):
12.03.2018{, 16:52}
апупеть
не ругайтесь, это были мысли вслух. а почему нет? одна мега будет заниматься только синусом, переменные ей передавать. другая мега на дисплей и кнопки. при стоимости нано 1.3$ по моему не плохая цена получится.

Отправлено спустя 1 минуту 31 секунду:
pan писал(а):
12.03.2018{, 16:51}
зачем велосипед?))
что есть под рукой, из того и лепим. спасибо за подсказку.

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

задающий генератор 3 фазы

#11

Сообщение pan » 13.03.2018{, 11:27}

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

Аватара пользователя
Nikan
Майор
Сообщения: 1194
Зарегистрирован: 29.12.2016{, 00:49}
Репутация: 100
Откуда: москва

задающий генератор 3 фазы

#12

Сообщение Nikan » 13.03.2018{, 14:30}

.
Последний раз редактировалось Nikan 23.03.2023{, 22:09}, всего редактировалось 1 раз.

M_A_R_A_T
Рядовой
Сообщения: 85
Зарегистрирован: 03.07.2016{, 13:56}
Репутация: 1
Откуда: астана

задающий генератор 3 фазы

#13

Сообщение M_A_R_A_T » 15.03.2018{, 09:51}

спасибо за правильные наставления. для этого и нужны форумы, обсудить и узнать мнение более сведущих людей. :friends:

Ответить

Вернуться в «Начинающим»