roboforum.ru

Технический форум по робототехнике.


Помогите с программой "3х фазный ШИМ на ATmega48".

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Помогите с программой "3х фазный ШИМ на ATmega48".

Сообщение neptun19 » 17 дек 2020, 14:18

Всем добра! На "народе" есть статья, "Трехфазный генератор регулируемой частоты" Автор приводит схему, исходник на ассемблере и скомпилированную программу. Но... в исходнике где то ошибка, как и в первой статье автора "Формирователь синусоидального сигнала для питания двигателя переменного тока с регулировкой частоты". Первую я доделал и изготовил в железе. Прекрасно работает, не выключаясь на протяжении нескольких лет. Теперь возникла необходимость в 3х фазах. Адрес исходной программы - http://www.yysup.narod.ru/schem/3fase.html Прикрепленный архив скопирован с "народа".
Помогите, программа не подает признаков жизни. Возможно напутано что то с инициализацией. Как и в первой его программе.
Вложения
3fas_g.rar
(3.98 КиБ) Скачиваний: 0
neptun19
 
Сообщения: 1
Зарегистрирован: 17 дек 2020, 13:39
Откуда: Харьков

Re: Помогите с программой "3х фазный ШИМ на ATmega48".

Сообщение Radist » 02 янв 2021, 21:03

Ковыряться в чужой программе - наверное это никто не любит, проще и быстрее самому написать, надо только суть уловить. Задача (насколько я после праздников понял) - иметь три синусоиды для трехфазного движка. Сдвиг фаз постоянен, 120 градусов, а вот частоту желательно менять, так скорость можно регулировать. Так вот, к идее. Простой способ DDS, прямой цифровой синтез, в интернете есть статья Ридико Лелнида Ивановича, там все разжевано. Сделать из одного генератора три - элементарно.
Аватара пользователя
Radist
 
Сообщения: 2254
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: Помогите с программой "3х фазный ШИМ на ATmega48".

Сообщение Foton-4n » 23 янв 2021, 00:31

Да мне надо собирать драйвер асинхронника так что это про меня. Но надо МК с 2-мя 16 бит таймерами желательно там и напряжение еще надо менять в зависимости от частоты.

Так что ты не можешь уже в отлаженную программу добавить 3 фазы со сдвигом? В чём проблема?
Если наука бессильна значит работает магия!
Поиски лёгкого пути это самый трудный путь!
Ничего не может быть придумано до нас! Никто не даст тебе того что ты хочешь пока сам не сделаешь!
Аватара пользователя
Foton-4n
 
Сообщения: 254
Зарегистрирован: 17 апр 2019, 13:02
Откуда: Мухосранск
прог. языки: Basic, C#

Re: Помогите с программой "3х фазный ШИМ на ATmega48".

Сообщение Seggio » 31 июл 2021, 07:04

PIC24.ru автору осрв напиши
Аватара пользователя
Seggio
 
Сообщения: 20
Зарегистрирован: 30 июл 2021, 08:58

Re: Помогите с программой "3х фазный ШИМ на ATmega48".

Сообщение Seggio » 01 авг 2021, 08:41

Код: Выделить всёРазвернуть
void TASK_ADC(void)
{for(;;);
{aden=1;
ADSC=1;
OS_COND_WAIT(!ADSC);
m_cSpeed=ADCH;
OS_Delay(100mS);}}
Аватара пользователя
Seggio
 
Сообщения: 20
Зарегистрирован: 30 июл 2021, 08:58

Re: Помогите с программой "3х фазный ШИМ на ATmega48".

Сообщение Seggio » 03 авг 2021, 08:31

void Task_F(void){
for(;;){ const char A[15]={125,200,255,200,125,55,0,55,125,200,255,200,125,55};
int i;
for(i;i<9;i++){k=0;
while(k<3){
if(k=0) portd=A[i];
if(k=1) portd=A[i+4];
if(k=2) A[i+6];
portb=pow(2,k);
OS_Delay(m_cSpeed);
k++;}}}
Аватара пользователя
Seggio
 
Сообщения: 20
Зарегистрирован: 30 июл 2021, 08:58

Re: Помогите с программой "3х фазный ШИМ на ATmega48".

Сообщение Seggio » 05 авг 2021, 14:28

Ошибка.Надо PORTD=A[I+6];,а на выход три ЦАП

Добавлено спустя 3 часа 48 минут 8 секунд:
Код: Выделить всёРазвернуть
void Init(void){
TOIEO=1;
CS00=1;
CS02=1;
DDRB=0X07;
DDRD=0XFF;
DDRC=0X00;
ADMUX=0;
}
void interrupt isr(void){
if(TOV0) {
OS_Timer();
TOV0=0;
}//1ms-Fosc=10mhz


Добавлено спустя 1 час 25 минут 23 секунды:
Код: Выделить всёРазвернуть
#include<osa.h>
#include<math.h>
#define ms 1
char m_cSpeed=2;
//здесь 4 подпрограммы;
void main(void){
Init();
OS_Init();
OS_Task_Create(0,Task_ADC);
OS_Task_Create(0,Task_F);
OS_EI();
OS_RUN();
} END

ЦАП на 555ир23, B0-C1,B1-C2

Добавлено спустя 8 минут 41 секунду:
Загрузи с pic24.ru ОСРВ для avr. Установи AVRStudio, winavr. Исправив ошибки откомпилируй, шим немного сложнее, а тут получилось всё на скорую руку
Аватара пользователя
Seggio
 
Сообщения: 20
Зарегистрирован: 30 июл 2021, 08:58


Вернуться в Микроконтроллеры

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

Сейчас этот форум просматривают: Google [Bot] и гости: 6