Например TDA7294

Форум РадиоКот • Просмотр темы - Atmega8 регулировка частоты и амплитуды
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Пн май 06, 2024 04:19:24

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 121 ]    , , , 4, , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Atmega8 регулировка частоты и амплитуды
СообщениеДобавлено: Сб апр 20, 2024 10:18:44 
Держит паяльник хвостом

Карма: 14
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 977
Рейтинг сообщения: 0
у меня майкрософт вижл студио, С++.

Значит предупреждения у тебя включены по дефолту.
Типы данных включаются в stdint.h.
Я специально привёл пример с разными типами.
Обрати внимание на компилятор.
Вложение:
Скриншот 20-04-2024 101139.jpg [59.16 KiB]
Скачиваний: 17


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8 регулировка частоты и амплитуды
СообщениеДобавлено: Сб апр 20, 2024 11:34:16 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2809
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18112
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
OKF, по твоей картинке я все равно ничего не понимаю про твой компилятор.
у меня для разных типов чисел не нужно подключать никакой заголовочный файл, ни для целых, ни для "плавающих".
а если есть в программе математические функции (возведение в степень, синус и т.п.), то для них подключается свой заголовок.
ты мне в личке давал тестовый текст, так там подключен был только stdlib.h, и никаких подключений для типов чисел там нет, и "флотский" тип там работал.

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8 регулировка частоты и амплитуды
СообщениеДобавлено: Сб апр 20, 2024 13:22:24 
Держит паяльник хвостом

Карма: 14
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 977
Рейтинг сообщения: 0
Можно и не подключать. Но тогда только стандартные С++ типы.)
Вложение:
Скриншот 20-04-2024 131315.jpg [50.26 KiB]
Скачиваний: 21


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Atmega8 регулировка частоты и амплитуды
СообщениеДобавлено: Сб апр 20, 2024 13:53:27 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2809
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18112
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
а что для твоего компилятора является стандартными типами, если я вижу, что у тебя все равно подключен заголовок для стандартных типов?

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Особенности хранения литиевых аккумуляторов и батареек

Потеря емкости аккумулятора напрямую зависит от условий хранения и эксплуатации. При неправильном хранении даже самый лучший литиевый источник тока с превосходными характеристиками может не оправдать ожиданий. Технология, основанная на рекомендациях таких известных производителей литиевых источников тока, как компании FANSO и EVE Energy, поможет организовать правильный процесс хранения батареек и аккумуляторов.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Atmega8 регулировка частоты и амплитуды
СообщениеДобавлено: Сб апр 20, 2024 15:06:47 
Держит паяльник хвостом

Карма: 14
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 977
Рейтинг сообщения: 0
Ну ты совсем невнимателен сегодня.) Отключен!


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Atmega8 регулировка частоты и амплитуды
СообщениеДобавлено: Сб апр 20, 2024 15:21:30 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2809
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18112
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
да, прозевал я "отключку".

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8 регулировка частоты и амплитуды
СообщениеДобавлено: Сб апр 20, 2024 22:40:32 
Держит паяльник хвостом

Карма: 14
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 977
Рейтинг сообщения: 0
Есть скетч на pro Mini Atmega168. Может он что подскажет? И второй вопрос: можно ли мою программу (которая на Atmega8) переделать на Atmega168?

Ну вы же знаете. что нет ничего невозможного.) Мега88/168/328 дальнейшее улучшение Мега8. Но это не значит что всё так просто.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8 регулировка частоты и амплитуды
СообщениеДобавлено: Вс апр 21, 2024 07:27:14 
Открыл глаза

Зарегистрирован: Сб фев 02, 2019 17:15:10
Сообщений: 52
Рейтинг сообщения: 0
OKF, Для меня все эти МК непросто. А вы можете?))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8 регулировка частоты и амплитуды
СообщениеДобавлено: Вс апр 21, 2024 09:01:38 
Держит паяльник хвостом

Карма: 14
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 977
Рейтинг сообщения: 0
Просто лень.) Там всё нужно переделывать. А лучше писать с нуля. Да я и брезгую в таком коде ковыряться, не в обиду автору.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8 регулировка частоты и амплитуды
СообщениеДобавлено: Пн апр 22, 2024 20:39:20 
Открыл глаза

Зарегистрирован: Сб фев 02, 2019 17:15:10
Сообщений: 52
Рейтинг сообщения: 0
Starichok51, Исправил везде "t=(uint8_t)(sin(1.57/descr1*i)*Amp)", t объявил uint8_t , ничего не изменилось.
descr1 = (uint16_t)(120 * exp(freq / 341.0)). Поэкспериментировал: 120 заменил на 190 чтобы срезать высокие частоты (столько не нужно), 341 заменил на 600, регулировка стала более плавной. Так можно делать?

Добавлено after 6 minutes 5 seconds:
И почти в самом конце регулятора, чуток не доходя до максимума, какой-то "всплеск" - частота подскакивает почти до максимума, амплитуда тоже. Как будто в резонанс входит, дальше кручу резистор- всё нормализуется и до конца всё нормально.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8 регулировка частоты и амплитуды
СообщениеДобавлено: Пн апр 22, 2024 22:46:52 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2809
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18112
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
да, так можно и даже нужно делать, чтобы управлять максимальной и минимальной частотой.
вернулся я домой из гостей и провел анализ в атмел студио 7.0.
никакого криминала в расчетах, приводящего к подобным сбоям в частоте и амплитуде я не нашел.
то есть, я совершенно не вижу причины скачка частоты и нарушения амплитуды.
поэтому я могу даже допустить появления резонанса механической системы.
но проверить каждое значение freq от 0 до 1023 - это практически не реально.
к тому же, из-за недостатка ОЗУ невозможно создать большие массивы, чтобы по массиву просмотреть все получаемые значения синуса.
посмотрел я экспоненту в массиве из 256 значений (4 варианта freq от 0 до 1023) - всё замечательно.
посмотрел для нескольких конкретных значений переменной descr1 в расчете кусочков синуса - тоже сбоев не нашел.
могу еще проверить через большие массивы в программе для компа, где ограничения размеров массивов практически нет.
если все таки есть такая причина, я думаю, что она должна проявиться и в программе на компе.

НО! нашел одно существенное упрощение в расчетах.
поскольку (1 - k) + k = 1, обе формулы расчета нарастания и спада синуса можно объединить смело. цикл получится такой:
//1 полуволна
for (uint16_t i = (descr1 * (1 - k)); i < (descr1 * (1 - k)) + descr1; i++) {
t=sin(1.5708 * i / descr1) * Amp; // считаем синус...
PWM1(t);
}
фактически это "сумма" обеих формул (нарастание + спад).
по прежнему descr1 * (1 - k) определяет начало синуса, а "длину" кусочка синуса определят величина descr1.
для второй полуволны точно эта же формула, только PWM2(t) вместо PWM1(t).

Добавлено after 3 minutes 53 seconds:
да, ещё я убедился, что в атмел студио можно не делать приведение типов данных, то есть, для t писать (uint8_t) не нужно, и для descr1 писать (uint16_t) тоже не нужно.

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8 регулировка частоты и амплитуды
СообщениеДобавлено: Пн апр 22, 2024 22:51:42 
Друг Кота
Аватар пользователя

Карма: 29
Рейтинг сообщений: 1347
Зарегистрирован: Сб дек 18, 2021 19:25:32
Сообщений: 10647
Рейтинг сообщения: 0
Цитата:
for (uint16_t i = (descr1 * (1 - k)); i < (descr1 * (1 - k)) + descr1; i++) {
t=sin(1.5708 * i / descr1) * Amp; // считаем синус...
PWM1(t);
}


здесь прям просится выкинуть из синуса деление на descr1... хотя, может, мне это лишь кажется.

_________________
добавь radiokot.ru##.tablebg > tbody > tr:has(td>a[href*="?f=17"]) в адблок, сделай форум чище!
"Э-э-э-хей... растёт правосознание!"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8 регулировка частоты и амплитуды
СообщениеДобавлено: Вт апр 23, 2024 15:38:37 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2809
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18112
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 4
Медали: 1
Лучший человек Форума 2017 (1)
выкинуть деление на descr1 вполне можно, так как переменная цикла может быть с плавающей точкой. тогда получится так:
for (float i = 1 - k; i < 2 - k; i += 1.0 / descr1) {
t=sin(1.5708 * i) * Amp; // считаем синус...
PWM1(t);
}
но частота без операции деления при этом немного возрастет, и придется немного увеличить коэффициент в расчете экспоненты.
и еще можно добавить смело знак равенства:
for (float i = 1 - k; i <= 2 - k; i += 1.0 / descr1) {

Добавлено after 2 hours 25 minutes 22 seconds:
и еще у меня есть одно предложение.
при малых значениях freq там получается для descr1 по несколько одинаковых значений. да и вообще не нужно иметь 1024 значения частоты.
я предлагаю число ступенек частоты сократить до 64. это получается так:
int freq = ADCread(7) / 16;
а формула для descr1 получится такая:
descr1 = 190 * exp(freq / 35.0);
при этом частота будет изменяться в 6 раз.

Добавлено after 23 minutes 20 seconds:
Varlakotam, после сокращения числа ступеней частоты я ожидаю, что уйдет тот участок значений descr1, где наблюдается срыв в работе, а после этого участка восстанавливается нормальная работа.
я бы даже сократил число ступеней частоты до 16. я думаю, что этого вполне хватило бы.
тогда будут такие формулы:
int freq = ADCread(7) / 64;
descr1 = 190 * exp(freq / 8.0);
при этом частота будет изменяться в 6,5 раз.

Добавлено after 2 hours 52 minutes 50 seconds:
прозевал я тогда, когда сказал про (1 - k) + k = 1.
там относительно 1 должно быть симметрично.
for (uint16_t i =descr * (1 - k); i <= descr * (1 + k); i++) {
t = sin(1.5708 * i / descr1) * Amp;
PWM1(t);
}
или с плавающей точкой:
for (float i = 1 - k; i <= 1 + k; i += 1.0 / descr1) {
t = sin(1.5708 * i) * Amp;
PWM1(t);
}

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8 регулировка частоты и амплитуды
СообщениеДобавлено: Ср апр 24, 2024 09:52:52 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2809
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18112
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
Varlakotam, замени переменный резистор, который по частоте. к вычислениям претензий нет и быть не может.
там просто могут быть обрывы контакта с ползунком.

Добавлено after 1 hour 2 minutes 44 seconds:
еще поменяй местами провода на краях переменного резистора, тогда у тебя влево до упора будет минимальная частота и с поворотом частота будет расти.
и если там есть обрывы контакта, то сбой частоты должен быть в том же положении резистора.

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8 регулировка частоты и амплитуды
СообщениеДобавлено: Ср апр 24, 2024 16:56:32 
Открыл глаза

Зарегистрирован: Сб фев 02, 2019 17:15:10
Сообщений: 52
Рейтинг сообщения: 0
Starichok51, спасибо! Резистор менял, они у меня даже не паянные, лет 40 лежали без дела. Со стороны железа всё проверено.
На выходных попробую формулы поменять.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8 регулировка частоты и амплитуды
СообщениеДобавлено: Ср апр 24, 2024 18:52:38 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2809
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18112
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
тогда такой срыв мне не понятен. как я уже сказал, к вычислениям (формулам) у меня претензий нет.
а как ты собираешься менять формулы?
сократить число ступенек частоты, как я предложил, ты не пробовал?

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8 регулировка частоты и амплитуды
СообщениеДобавлено: Ср апр 24, 2024 19:00:39 
Открыл глаза

Зарегистрирован: Сб фев 02, 2019 17:15:10
Сообщений: 52
Рейтинг сообщения: 0
Starichok51, именно это и собираюсь сделать- сократить число ступенек

Добавлено after 3 minutes 10 seconds:
поменял на for (float i = 1 - k; i <= 1 + k; i += 1.0 / descr1) {
t = sin(1.5708 * i) * Amp;
PWM1(t);колебания стали "сдвоенными"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8 регулировка частоты и амплитуды
СообщениеДобавлено: Ср апр 24, 2024 19:34:54 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2809
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18112
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
что такое "сдвоенные"?

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8 регулировка частоты и амплитуды
СообщениеДобавлено: Ср апр 24, 2024 19:41:48 
Открыл глаза

Зарегистрирован: Сб фев 02, 2019 17:15:10
Сообщений: 52
Рейтинг сообщения: 0
Было: тык-тык-тык...)))), стало: тык-тык.., тык-тык..., тык-тык)))).

Добавлено after 3 minutes 57 seconds:
Если по аналогии с морзянкой Было т - - - , стало и .., т.е .. .. .. ..


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Atmega8 регулировка частоты и амплитуды
СообщениеДобавлено: Ср апр 24, 2024 20:02:45 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2809
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18112
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
ладно, подождем сокращение числа ступенек.

_________________
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 121 ]    , , , 4, , ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 10


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y