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

Вопросы от новичков
Ответить
M_A_R_A_T
Рядовой
Сообщения: 85
Зарегистрирован: 03 июл 2016, 13:56
Откуда: астана

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

Сообщение M_A_R_A_T »

есть вот такой скетч
[spoiler]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();
}
}[/spoiler]
как можно его подпилить, что бы получить 50гц? или может посоветуете что другое.
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13 апр 2017, 11:57
Имя: noname

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

Сообщение pan »

ну так переменной interval и подгоняйте под 50гц
M_A_R_A_T
Рядовой
Сообщения: 85
Зарегистрирован: 03 июл 2016, 13:56
Откуда: астана

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

Сообщение M_A_R_A_T »

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

Отправлено спустя 5 минут 12 секунд:
интервал здесь получается дает время на шим, время от 1 до 99%
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13 апр 2017, 11:57
Имя: noname

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

Сообщение pan »

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

Отправлено спустя 1 минуту 9 секунд:
что у вас на выходе подключено? как вы измеряете?
M_A_R_A_T
Рядовой
Сообщения: 85
Зарегистрирован: 03 июл 2016, 13:56
Откуда: астана

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

Сообщение M_A_R_A_T »

да, все правильно. надо подключить нагрузку с фильтром. смотрю осцилографом.
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13 апр 2017, 11:57
Имя: noname

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

Сообщение pan »

ну конечно фильтр нужен. иначе кроме шима ни чего не увидите
M_A_R_A_T
Рядовой
Сообщения: 85
Зарегистрирован: 03 июл 2016, 13:56
Откуда: астана

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

Сообщение M_A_R_A_T »

по моему, хороший код. вот если бы его сделать через прерывания, то была бы не плохая основа для частотника.
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13 апр 2017, 11:57
Имя: noname

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

Сообщение pan »

частота мала.
и есть готовые микросхемы для генерации синуса. зачем велосипед?))
Аватара пользователя
Nikan
Майор
Сообщения: 1194
Зарегистрирован: 29 дек 2016, 00:49
Откуда: москва

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

Сообщение Nikan »

.
Последний раз редактировалось Nikan 23 мар 2023, 22:09, всего редактировалось 1 раз.
M_A_R_A_T
Рядовой
Сообщения: 85
Зарегистрирован: 03 июл 2016, 13:56
Откуда: астана

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

Сообщение M_A_R_A_T »

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

Отправлено спустя 1 минуту 31 секунду:
pan писал(а): 12 мар 2018, 16:51 зачем велосипед?))
что есть под рукой, из того и лепим. спасибо за подсказку.
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13 апр 2017, 11:57
Имя: noname

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

Сообщение pan »

мы все тут что-то лепим из того что есть. но 490гц.... это очень мало для частотника.
контроллер, по хорошему, должен заниматься обработкой данных, алгоритма, еще чем-то.
собирать и отправлять данные устройствам которые на "железном уровне" занимаются своим делом.
особенно касаемо высокоскоростных операций .
Аватара пользователя
Nikan
Майор
Сообщения: 1194
Зарегистрирован: 29 дек 2016, 00:49
Откуда: москва

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

Сообщение Nikan »

.
Последний раз редактировалось Nikan 23 мар 2023, 22:09, всего редактировалось 1 раз.
M_A_R_A_T
Рядовой
Сообщения: 85
Зарегистрирован: 03 июл 2016, 13:56
Откуда: астана

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

Сообщение M_A_R_A_T »

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

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость