Например TDA7294

Форум РадиоКот • Просмотр темы - Генератор из arduino
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Сб сен 06, 2025 18:38:31

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


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



Начать новую тему Ответить на тему  [ Сообщений: 170 ]    , , , 4, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Генератор из arduino
СообщениеДобавлено: Вс ноя 10, 2024 20:55:41 
Мучитель микросхем
Аватар пользователя

Карма: 1
Рейтинг сообщений: 38
Зарегистрирован: Ср янв 11, 2012 18:20:26
Сообщений: 473
Рейтинг сообщения: 0
Что-то мне взгрустнулось :) решил проверить, как там в atmege8 с ACSR по дефолту:

Код:
   in R21, ACSR
   sts var, R21
....
; тут всякие инициализации..
....
....
   lds R21, var
   rcall PRINT_REGISTR
   rcall OUT_HEX_0

Вот что получилось:

Изображение

5-й бит N/A

Чуда не произошло :dont_know: :)

Добавлено after 31 minute 47 seconds:
ps: Почему-то иногда 4-й бит самопроизвольно устанавливается, рандомно..


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор из arduino
СообщениеДобавлено: Пн ноя 11, 2024 01:19:29 
Вымогатель припоя
Аватар пользователя

Карма: 10
Рейтинг сообщений: 169
Зарегистрирован: Ср июн 29, 2022 16:25:45
Сообщений: 515
Рейтинг сообщения: 1
shonty, все по честному
Bit 4 – ACI: Analog Comparator Interrupt Flag
если выводы МК болтаются в воздухе - то компаратор ловит наводки и кидается туда-сюда рандомно

Добавлено after 1 minute 12 seconds:
Даже если их заземлить, то есть шанс, что одинаковые потенциалы тоже могут вводить компаратор в смущение. Хотя там должен же быть хоть минимальный гистерезис...

_________________
Белая и Пушистая


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор из arduino
СообщениеДобавлено: Пн ноя 11, 2024 04:36:53 
Друг Кота

Карма: 64
Рейтинг сообщений: 1015
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4347
Откуда: Ижевск
Рейтинг сообщения: 0
Just_Fluffy писал(а):
...Хотя там должен же быть хоть минимальный гистерезис...
Гистерезис не заявлен. Есть только Analog Comparator Input Offset Voltage <40mV у mega8A и <20mV у mega8.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор из arduino
СообщениеДобавлено: Пн ноя 11, 2024 10:26:37 
Модератор
Аватар пользователя

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор из arduino
СообщениеДобавлено: Пн ноя 11, 2024 11:21:38 
Мучитель микросхем
Аватар пользователя

Карма: 1
Рейтинг сообщений: 38
Зарегистрирован: Ср янв 11, 2012 18:20:26
Сообщений: 473
Рейтинг сообщения: 0
Starichok51 писал(а):
если выводы МК болтаются в воздухе - то компаратор не используется и его выход ни на что не влияет
В случае эксперимента он как раз по умолчанию включен (бит7=0). И ACSR я считывал в ОЗУ сразу после инициализации стёка. Возможно по этому бит флага прерывания и проскакивает, не часто, но бывает.
Может не на выводы наводки, а ещё какие процессы :dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор из arduino
СообщениеДобавлено: Пн ноя 11, 2024 11:56:22 
Вымогатель припоя
Аватар пользователя

Карма: 10
Рейтинг сообщений: 169
Зарегистрирован: Ср июн 29, 2022 16:25:45
Сообщений: 515
Рейтинг сообщения: 0
Starichok51 писал(а):
если выводы МК болтаются в воздухе - то компаратор не используется и его выход ни на что не влияет.

То, что он не используется - эт понятно. Но как раз его сработка от наводок света Венеры в атмосфере Марса и может давать хаотическое дерганье выхода компаратора. Речь же и шла у shonty про эксперимент.

_________________
Белая и Пушистая


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор из arduino
СообщениеДобавлено: Пн ноя 11, 2024 12:36:55 
Модератор
Аватар пользователя

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

Добавлено after 3 minutes 10 seconds:
я вот в своих проектах не выключаю компаратор. более того, у меня в некоторых проектах на входах компаратора висят кнопки, которые будут переключать компаратор.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор из arduino
СообщениеДобавлено: Пн ноя 11, 2024 12:48:43 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1472
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15144
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Зависит и от программы и от конкретной схемы (и последующей реализации той схемы в железе).
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор из arduino
СообщениеДобавлено: Пн ноя 11, 2024 13:16:46 
Модератор
Аватар пользователя

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор из arduino
СообщениеДобавлено: Пн ноя 11, 2024 13:43:44 
Друг Кота

Карма: 64
Рейтинг сообщений: 1015
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4347
Откуда: Ижевск
Рейтинг сообщения: 2
Кроме тока потребления.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор из arduino
СообщениеДобавлено: Пн ноя 11, 2024 16:10:10 
Модератор
Аватар пользователя

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

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор из arduino
СообщениеДобавлено: Вт авг 05, 2025 16:10:11 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Чт апр 02, 2009 17:46:04
Сообщений: 286
Откуда: Крым
Рейтинг сообщения: 0
Привет, нужен генератор на частоту 25.3 кГц, сваял на аттини25, при помощи визарда CVAVR настроил СТС на частоту вдвое больше, выбрал переключение по совпадению. Но не понял как получить противофазный сигнал на двух выходах OC0A и OC0B. Думал что можно настроить при инициализации один вывод в 1, а второй в 0, но фокус не удался.
Подскажите какой режим лучше использовать для моей цели? Или как получить противофазный сигнал? Сильно глубоко разбираться не охота, друг попросил ультразвуковую пищалку сделать, да и забуду я все это, но отмазаться не получается.

Спойлер#include <tiny25.h>

void main(void)
{

#pragma optsize-
CLKPR=(1<<CLKPCE);
CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0);
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif

// Input/Output Ports initialization
// Port B initialization
// Function: Bit5=In Bit4=In Bit3=In Bit2=In Bit1=Out Bit0=Out
DDRB=(0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (1<<DDB1) | (1<<DDB0);
// State: Bit5=T Bit4=T Bit3=T Bit2=T Bit1=0 Bit0=1
PORTB=(0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (1<<PORTB0);

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 8000,000 kHz
// Mode: CTC top=OCR0A
// OC0A output: Toggle on compare match
// OC0B output: Toggle on compare match
// Timer Period: 9,875 us
// Output Pulse(s):
// OC0A Period: 0,01975 ms Width: 9,875 us
// OC0B Period: 0,01975 ms Width: 9,875 us
TCCR0A=(0<<COM0A1) | (1<<COM0A0) | (0<<COM0B1) | (1<<COM0B0) | (1<<WGM01) | (0<<WGM00);
TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (1<<CS00);
TCNT0=0x00;
OCR0A=0x4E;
OCR0B=0x4E;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFF
// OC1A output: Disconnected
// OC1B output: Disconnected
// Timer1 Overflow Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
PLLCSR=(0<<PCKE) | (0<<PLLE) | (0<<PLOCK);

TCCR1=(0<<CTC1) | (0<<PWM1A) | (0<<COM1A1) | (0<<COM1A0) | (0<<CS13) | (0<<CS12) | (0<<CS11) | (0<<CS10);
GTCCR=(0<<TSM) | (0<<PWM1B) | (0<<COM1B1) | (0<<COM1B0) | (0<<PSR1) | (0<<PSR0);
TCNT1=0x00;
OCR1A=0x00;
OCR1B=0x00;
OCR1C=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=(0<<OCIE1A) | (0<<OCIE1B) | (0<<OCIE0A) | (0<<OCIE0B) | (0<<TOIE1) | (0<<TOIE0);

// External Interrupt(s) initialization
// INT0: Off
// Interrupt on any change on pins PCINT0-5: Off
GIMSK=(0<<INT0) | (0<<PCIE);
MCUCR=(0<<ISC01) | (0<<ISC00);

// USI initialization
// Mode: Disabled
// Clock source: Register & Counter=no clk.
// USI Counter Overflow Interrupt: Off
USICR=(0<<USISIE) | (0<<USIOIE) | (0<<USIWM1) | (0<<USIWM0) | (0<<USICS1) | (0<<USICS0) | (0<<USICLK) | (0<<USITC);

// Analog Comparator initialization
// Analog Comparator: Off
// The Analog Comparator's positive input is
// connected to the AIN0 pin
// The Analog Comparator's negative input is
// connected to the AIN1 pin
ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIS1) | (0<<ACIS0);
ADCSRB=(0<<ACME);
// Digital input buffer on AIN0: On
// Digital input buffer on AIN1: On
DIDR0=(0<<AIN0D) | (0<<AIN1D);

// ADC initialization
// ADC disabled
ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0);

while (1)
{
}
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор из arduino
СообщениеДобавлено: Вт авг 05, 2025 17:04:28 
Модератор
Аватар пользователя

Карма: 153
Рейтинг сообщений: 2922
Зарегистрирован: Сб авг 14, 2010 15:05:51
Сообщений: 18798
Откуда: г. Озерск, Челябинская обл.
Рейтинг сообщения: 0
Медали: 1
Лучший человек Форума 2017 (1)
строку
TCCR0A=(0<<COM0A1) | (1<<COM0A0) | (0<<COM0B1) | (1<<COM0B0) | (1<<WGM01) | (0<<WGM00);
заменить на
TCCR0A=(0<<COM0A1) | (1<<COM0A0) | (1<<COM0B1) | (0<<COM0B0) | (1<<WGM01) | (0<<WGM00);
и выходы будут противофазные.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор из arduino
СообщениеДобавлено: Ср авг 06, 2025 06:55:02 
Встал на лапы

Карма: 2
Рейтинг сообщений: 3
Зарегистрирован: Вс авг 23, 2015 08:14:05
Сообщений: 133
Рейтинг сообщения: 0
взять что-то типа STM32G051C6T6 за 80р на али
там тебе и пару полноценных DAC и куча другой переферии
по DAC-ку stm-ок куча инфы, даже на русском

или не заставляй меня паять и думать ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор из arduino
СообщениеДобавлено: Ср авг 06, 2025 10:41:45 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Чт апр 02, 2009 17:46:04
Сообщений: 286
Откуда: Крым
Рейтинг сообщения: 0
Starichok51, это "Clear OC0B on compare match", т.е. сброс в 0 при совпадении. Выход должен как то устанавливаться, иначе он всегда будет в 0. С ШИМом я еще не разбирался, там есть как я понял возможность сделать выводы противофазными, но не понял (из своих экспериментов) достижима ли нужная мне частота, получалось все время на порядок ниже. В крайнем случае можно инвертором инвертировать :))
Denis82, Али труднодоступно, в Крым они на прямую не доставляют. СТМ не знакомая зараза в отличии от АВР, еще плюсом АВРки под ногами валяются, несколько сотен 25 тинек есть. Думать и паять всегда приветствуется, но сейчас такой период, что не удобно все это (жилище разрушено строителями), а друг наседает и отказать нельзя, да и задача весьма простая, частота + возможно пульсации.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор из arduino
СообщениеДобавлено: Ср авг 06, 2025 11:03:13 
Друг Кота

Карма: 4
Рейтинг сообщений: 74
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8453
Откуда: .ru
Рейтинг сообщения: 0
shev1975 писал(а):
это "Clear OC0B on compare match", т.е. сброс в 0 при совпадении. Выход должен как то устанавливаться, иначе он всегда будет в 0.

если цитируете... то цитируйте до конца))

-"сброс при совпадении и установка при обновлении".
можно в противофазе.
-"установка при совпадении и сброс при обновлении".
Вложение:
Screenshot_1.jpg [25.79 KiB]
Скачиваний: 19

:tea:

p.s.
странные у нас крымчане... никогда не читают до конца))

" Крым наш временно навсегда ! "

(нужное подчеркнуть)
:)))


Вернуться наверх
 
В сети
 Заголовок сообщения: Re: Генератор из arduino
СообщениеДобавлено: Ср авг 06, 2025 11:28:15 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 885
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 6090
Откуда: Minsk
Рейтинг сообщения: 0
По простоте своей - не догоняю: а для пищалки МК обязателен? На однои инверторе ЛА3 совсем не кошерно? Там противофаза сама по себе уже есть.
СпойлерВот для выключателя с задержкой в туалет в коридор думаю: мож всамделе МК вкорячить? Раз такая мода пошла... :shock:

_________________
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор из arduino
СообщениеДобавлено: Ср авг 06, 2025 11:32:57 
Друг Кота

Карма: 4
Рейтинг сообщений: 74
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8453
Откуда: .ru
Рейтинг сообщения: 0
для пищалки хватит двух транзисторов.
или даже одного))
Но !
:roll:
Jack_A писал(а):
а для пищалки МК обязателен?

МК обязателен.
надо управление с телефона / по интернету.
иначе совсем не кошерно.
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор из arduino
СообщениеДобавлено: Ср авг 06, 2025 14:05:47 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Чт апр 02, 2009 17:46:04
Сообщений: 286
Откуда: Крым
Рейтинг сообщения: 0
roman.com, Вы ошибаетесь, в режиме СТС нет такого текста. В Режиме FPWM то ли я не разобрался как выставить нужную мне частоту, то ли не получается.
Jack_A, Возможно захочется реализовать еще какие то режимы, а как проще это сделать если не на МК, тем более у меня их несколько сотен валяется.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Генератор из arduino
СообщениеДобавлено: Ср авг 06, 2025 15:01:10 
Друг Кота

Карма: 4
Рейтинг сообщений: 74
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8453
Откуда: .ru
Рейтинг сообщения: 0
чтобы просто пищало... таймеры не нужны.
достаточно просто включать и выключать любой порт.

Код:
_1:
PORTC.0=1;            // вкл.
delay_ms(1);
PORTC.0=0;            // выкл.
delay_ms(1);
goto _1;         // > _1

:tea:

зачем режим СТС... это переключение пина при переполнение таймера.
он скучный... там только частоту менять можно.
:sleep:

лучше режим FPWM...
там можно:
-менять частоту (ICR).
-менять скважность (OCR).
и всё независимо.
:)
будут дополнительные вау-эффекты))
:music:


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

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


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

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


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

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


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