Генератор 400Гц на Arduino Mega2560

хотел посмотреть возможности DDS синтеза для G431, там DAC можно настроить на 12 бит.
DMA смотрю, если совпадает с другими чипами то надо использовать Channel7 - Stream5 для DAC1.
Live Sinus сделан на STM32F103C8T6 (оригинал), понятно, что делали профессионалы, тогда на лучшем контроллере тоже можно сделать и аналогичное и даже больше )))

Видел как то на рынке продавали преобразователи 50/400. Выглядел как пылесос Вихрь 8А (со свалки :slight_smile: ) По моему, там было механическое преобразование. Может воспользоваться в решении задачи таким девайсом.

И как мне такого монстра запихнуть в вышеописанную коробочку?? :slight_smile:
Да и мощи такой совсем не нужно. Один сельсин (их два в системе) кушает всего 9 Вт.
Это же не двигатель, а система “сельсин-указатель”.

Ну вы же не писали куда вам всё надо засовывать :slight_smile: И о мощности тоже только написали. Тот девайс был довольно мощный.

Гусары, МОЛЧАТЬ!!! :slight_smile:

“Пропал дом!”

1 лайк

Неее… Я пока ещё дорожу здоровьем, своим и окружающих.
А когда оно (здоровье) закончится естественным образом, мне будет не до “мишиных катушек”. :slight_smile:

А как “насечёт”(с) https://aliexpress.ru/item/1005006153542049.html
С небольшой доработкой могёт до 400Гц и драйверы встроенные.

Заманчиво, но… Во-первых:

Модуль EGS002 как раз предназначен для управления этими четырьмя полевыми транзисторами, чтобы получить на выходе чистый синусоидальный сигнал с напряжением 220 вольт и частотой 50 или 60 герц

Во-вторых:

А кто про эту доработку знает? Гугл про это только “намекает”, мол могЁт.
А куда, чего припаять/отпаять не сообщает.
Да и с напряжением не понятно. МогЁт ли он “мои” 45В выдать?
Вообщем, инфы не хватает. А первопроходцем быть, желания уже нет.
Война - дело молодых! :slight_smile:

Антенну вращать дистанционно надо. Угадал?

Схемы есть прямо в даташите на eg8010.

В контексте обсуждаемой задачи - да. А вообще, “коробочка” на фото занимается ещё многим другим.
Такой “многофункциональный комбайн”. :slight_smile:

Гм… Совсем засмущали. :slight_smile: Подумаю ещё, может и рискну.
Если найду инфу, как этот девайс запрограммировать на нужные параметры.

P.S. С частотой понятно. А вот насчёт напруги на выходе? Чем устанавливать?

Крутилкой в обратной связи.

Подскажите, пожалуйста, возможно ли в этом скетче переназначить выход ШИМ? Пины 9 и 10 на 45, 46 Mega 2560?
9 и 10 у меня заняты…
Ну и как пересчитать на 400Гц тоже.

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

Пины 45 46 это таймер5, он 16битный аналогично Таймеру1.
В коде везде где обращение к регистрам Таймера1 - меняете их на таймер5 и все

Гляну на досуге.

Чёт не выходит каменный цветок… :frowning:
Загрузил в свой скетч вот этот код (взят из "ШИМ синус 1000Гц)

// setup
  pinMode(45, OUTPUT);
    pinMode(46, OUTPUT);
    TIMSK5 = 1 << TOIE5;
    OCR5A = OCR5B = 0x73;
    TCNT5 = 0;
    TCCR5A = (1 << COM5A1) | (1 << COM5B1) | (1 << COM5B0) | (1 << WGM50);
    TCCR5B = (1 << WGM52) | (1 << CS50); //Mode5 Fast PWM, 8-bit  TOP 0xFF ; DIV 
// sine table
uint8_t sine_wave[125] = {
    0x80, 0x8D, 0x9A, 0xA6, 0xB2, 0xBE, 0xC9, 0xD3,
    0xDC, 0xE5, 0xEC, 0xF2, 0xF8, 0xFC, 0xFE, 0xFF,
    0xFF, 0xFF, 0xFC, 0xF9, 0xF4, 0xEE, 0xE7, 0xDE,
    0xD5, 0xCB, 0xC0, 0xB5, 0xA9, 0x9D, 0x90, 0x83,
    0x76, 0x6A, 0x5D, 0x51, 0x45, 0x3A, 0x30, 0x26,
    0x1D, 0x16, 0x0F, 0x0A, 0x05, 0x02, 0x00, 0x00,
    0x01, 0x03, 0x06, 0x0B, 0x11, 0x18, 0x1F, 0x28,
    0x32, 0x3D, 0x48, 0x54, 0x60, 0x6D, 0x7A, 0x86,
    0x93, 0xA0, 0xAC, 0xB8, 0xC3, 0xCE, 0xD8, 0xE1,
    0xE8, 0xEF, 0xF5, 0xFA, 0xFD, 0xFF, 0xFF, 0xFF,
    0xFE, 0xFB, 0xF6, 0xF1, 0xEA, 0xE3, 0xDA, 0xD0,
    0xC6, 0xBB, 0xAF, 0xA3, 0x96, 0x8A, 0x7D, 0x70,
    0x63, 0x57, 0x4B, 0x40, 0x35, 0x2B, 0x22, 0x19,
    0x12, 0x0C, 0x07, 0x04, 0x01, 0x00, 0x00, 0x02,
    0x04, 0x08, 0x0E, 0x14, 0x1B, 0x24, 0x2D, 0x37,
    0x42, 0x4E, 0x5A, 0x66, 0x73
};
// ISR Timer 5
ISR (TIMER5_OVF_vect) {
    static uint8_t  n (0);
    OCR5AL = OCR5BL = sine_wave[n++];
    if (n >= 125) n = 0;
}

На выхлопе ослик видит дёрганную картинку с частотой 62.5 КГц
Я где-то накосячил, или…??

А RC цепочку подключали к выходу ??? Без неё синус не увидите …

Не подключал. Да я и не рассчитывал синус увидеть.
Но и без RC цепочки, частота по-любому должна быть не 62 КГц.
Кстати, залил этот код в “чистую” мегу. Получил то же самое…

P.S. Стоп! Походу, я ступил… Скорее всего, я вижу частоту дискретизации.
Надо RC цепочку делать и смотреть уже синус.
Если в курсе, параметры RC цепочки подскажите, пожалуйста.

Заливал. Тоже самое ослик видит. Причина предположительно выше.