Например TDA7294

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





Текущее время: Вт июл 01, 2025 23:07:58

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


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



Начать новую тему Ответить на тему  [ Сообщений: 94 ]    , , , , 5
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Прошу совета у знатоков!
СообщениеДобавлено: Чт июн 12, 2025 13:03:29 
Это не хвост, это антенна
Аватар пользователя

Карма: 15
Рейтинг сообщений: 212
Зарегистрирован: Пт дек 10, 2021 12:48:46
Сообщений: 1452
Откуда: Тюмень
Рейтинг сообщения: 0
но в данном случае мне интересны подходы к решению. Даже, пожалуй, больше, чем само решение. Я пытаюсь разобраться- "как оно работает".

С какой целью вы интересуетесь алгоритмом программы? Если вас всё устраивает в данном алгоритме. Я думал вам нужен именно девайс, который сделал и забыл...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прошу совета у знатоков!
СообщениеДобавлено: Чт июн 12, 2025 16:27:36 
Друг Кота
Аватар пользователя

Карма: 4
Рейтинг сообщений: 328
Зарегистрирован: Ср мар 31, 2010 09:33:22
Сообщений: 4470
Откуда: Владивосток
Рейтинг сообщения: 0
Вариант на счетчиках решил не развивать. Тоже- ушла эпоха.


VNS писал(а):
Я думал вам нужен именно девайс, который сделал и забыл...


Пришла эпоха хакинга и дизассемблинга :)

А посетители темы ловятся как наивные . Ведь о таких задачах на титульных страницах не пишут .

_________________
«Когда у общества нет цветовой дифференциации штанов, то нет цели!»

- Позвольте-с вас спросить, почему от вас так отвратительно пахнет?
- Ну, что ж, пахнет... известно. По специальности. Вчера котов душили, душили. (с)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прошу совета у знатоков!
СообщениеДобавлено: Чт июн 12, 2025 17:59:52 
Друг Кота
Аватар пользователя

Карма: 94
Рейтинг сообщений: 1466
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15058
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Скорее просто вариант посмотреть как пишутся программы.
Или недостаток учебников по соответствующей теме.
Алгоритмы простые и общеизвестные и подгоняются под соответствующий вид/тип МК и применяемый компилятор (среду разработки).
Там заметно проще свою программу написать.
8)
Чего там секретить то?
Частотомер, периодомер, измеритель длительности интервала - выбираем и смотрим, что подходит.
:sleep:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прошу совета у знатоков!
СообщениеДобавлено: Вс июн 15, 2025 02:46:24 
Первый раз сказал Мяу!

Зарегистрирован: Пт апр 18, 2025 17:13:54
Сообщений: 31
Рейтинг сообщения: 0
но в данном случае мне интересны подходы к решению. Даже, пожалуй, больше, чем само решение. Я пытаюсь разобраться- "как оно работает".

С какой целью вы интересуетесь алгоритмом программы? Если вас всё устраивает в данном алгоритме. Я думал вам нужен именно девайс, который сделал и забыл...



Интересуюсь потому, что например, генератор- в Вашем варианте, он- не отключаем.
Наверняка, кому-то такой вариант подойдет, но я бы у себя отключил.
Дергать занятого человека: включи мне то, отключи мне это- как-то не совсем удобно.
И так чувствую себя неловко...
А алгоритм и код- можно было бы понять и как работает, и подогнать под себя.
Лучше объяснить не умею...


Вернуться наверх
 
Выбираем индустриальные и медицинские источники питания MEAN WELL в открытом исполнении

Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Прошу совета у знатоков!
СообщениеДобавлено: Вс июн 15, 2025 03:49:06 
Это не хвост, это антенна
Аватар пользователя

Карма: 15
Рейтинг сообщений: 212
Зарегистрирован: Пт дек 10, 2021 12:48:46
Сообщений: 1452
Откуда: Тюмень
Рейтинг сообщения: 0
Не пойму чем мешает встроенный в алгоритм генератор. Если он не нужен, то можно его и не использовать. Он ведь на основную задачу (определения входной частоты) не влияет.

Но раз хочется написать свой вариант, то данная задача проста как гвоздь. То есть, за одну секунду необходимо посчитать количество импульсов. Если количество импульсов меньше установленного значения, то светодиод отключаем, а если равно или больше установленного значения, светодиод включаем. И такой подсчёт производим каждую секунду – всё.
Задействовать для отсчёта нужного интервала времени, можно как встроенный счётчик, так и сторожевой таймер (это кому как предпочтительней). А подсчёт входных импульсов можно производить по внешнему прерыванию. Вот собственно и всё.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прошу совета у знатоков!
СообщениеДобавлено: Вс июн 15, 2025 08:06:31 
Друг Кота
Аватар пользователя

Карма: 94
Рейтинг сообщений: 1466
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15058
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Генератор временных интервалов основной элемент что в частотомере, что в периодомере.
В первом случае генерируется измерительное окно заданной длительности и считается количество попавших в то окно импульсов.
Во втором генерируются импульсы заданной длительности и подсчитывается их количество в искомом периоде, который определяется длительностью периода входного импульса.
Какой вариант удобнее использовать определяем по соотношению периодов искомых импульсов и измерительного окна.
Ну и сам МК без генератора не работоспособен - это одна из его основных составляющих.
8)


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Прошу совета у знатоков!
СообщениеДобавлено: Вс июн 15, 2025 12:59:49 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 878
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 6011
Откуда: Minsk
Рейтинг сообщения: 0
генерируются импульсы заданной длительности

... заданной частоты

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прошу совета у знатоков!
СообщениеДобавлено: Вс июн 15, 2025 21:27:12 
Первый раз сказал Мяу!

Зарегистрирован: Пт апр 18, 2025 17:13:54
Сообщений: 31
Рейтинг сообщения: 0
Не пойму чем мешает встроенный в алгоритм генератор. Если он не нужен, то можно его и не использовать. Он ведь на основную задачу (определения входной частоты) не влияет.

Но раз хочется написать свой вариант, то данная задача проста как гвоздь. То есть, за одну секунду необходимо посчитать количество импульсов. Если количество импульсов меньше установленного значения, то светодиод отключаем, а если равно или больше установленного значения, светодиод включаем. И такой подсчёт производим каждую секунду – всё.
Задействовать для отсчёта нужного интервала времени, можно как встроенный счётчик, так и сторожевой таймер (это кому как предпочтительней). А подсчёт входных импульсов можно производить по внешнему прерыванию. Вот собственно и всё.


:)) Послушайте, товарищ VNS... Алгоритм подсчета и так понятен- не нужно так разжевывать, будто для тупых... На логике я же как-то справился, а там принцип тот же- но не устроила громоздкость и... вот новость- архаичность. Захотелось современности и новизны.
Я Вас не принуждал клепать проекты, рисовать рисунки, но, если уж Вы напряглись и ворвались в тему- вот я самый умный и быстрый, вот как я умею, то выложите, уж- ВСЁ, а не только никому не интересный хекс. Компилировать умеют, уже наверное, и в 5 классе...
Уверен, и другим читателям было бы интересен ваш ход мысли и изящность написания программы- на чем бы вы там не писали. Можно было бы поспорить, или бесспорно согласится- это жизня.
А вы- такое чувство, будто с врагами общаетесь, а не с единомышлениками...
Конечно я дойду до написания того, что мне нужно. Потрачу времени больше, но сделаю- как хочется.
Вам- всего наилучшего.

Добавлено after 10 minutes 2 seconds:
Ну и сам МК без генератора не работоспособен - это одна из его основных составляющих.
8)


Там, в проекте, специально на отдельную ногу выведен "генератор импульсов"- якобы, для проверки "порога срабатывания". В принципе не понятно кому он может понадобится, и, главное зачем- когда программно заложенно- зажигать светодиод после 27 импульсов. Или, что: программа может сбиться и начать считать не 27 а 37 импульсов?
И он (этот генератор)- не отключается. Он, либо генерит чаще, либо- реже.
Грубо говоря, "маслает" бесполезный генератор, жрет ресурсы МК и он там, в натуре нафиг не нужен, но- такова точка зрения автора.
Выложить исходник он не желает, посему там нечего и обсуждать- фтопку. Почитаю разных учебников- сам напишу...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прошу совета у знатоков!
СообщениеДобавлено: Вс июн 15, 2025 21:50:08 
Это не хвост, это антенна
Аватар пользователя

Карма: 15
Рейтинг сообщений: 212
Зарегистрирован: Пт дек 10, 2021 12:48:46
Сообщений: 1452
Откуда: Тюмень
Рейтинг сообщения: 0
Я Вас не принуждал клепать проекты, рисовать рисунки

Признаю свою ошибку… более для вас такую глупость не совершу. :))

Цитата:
а не только никому не интересный хекс.

Убрал чтобы более вас не раздражать. :tea:


Последний раз редактировалось VNS Пн июн 16, 2025 13:53:50, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прошу совета у знатоков!
СообщениеДобавлено: Вс июн 15, 2025 21:53:39 
Мучитель микросхем

Карма: 1
Рейтинг сообщений: 70
Зарегистрирован: Пт ноя 22, 2024 14:08:43
Сообщений: 483
Рейтинг сообщения: 0
Dmitrudo
вы немного не правы....
VNS решил вашу просьбу и всё, более ничего он вам не обязан...хотите написать своё, так тогда не стоило и тему заводить...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прошу совета у знатоков!
СообщениеДобавлено: Пн июн 16, 2025 16:04:05 
Друг Кота
Аватар пользователя

Карма: 4
Рейтинг сообщений: 328
Зарегистрирован: Ср мар 31, 2010 09:33:22
Сообщений: 4470
Откуда: Владивосток
Рейтинг сообщения: 0
подгоняются под соответствующий вид/тип МК и применяемый компилятор (среду разработки).

Никаких пердуин а иделать все на перемычках и диодах - https://www.youtube.com/watch?v=w_zn9ekvhNA

_________________
«Когда у общества нет цветовой дифференциации штанов, то нет цели!»

- Позвольте-с вас спросить, почему от вас так отвратительно пахнет?
- Ну, что ж, пахнет... известно. По специальности. Вчера котов душили, душили. (с)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прошу совета у знатоков!
СообщениеДобавлено: Пн июн 16, 2025 23:51:11 
Друг Кота

Карма: 31
Рейтинг сообщений: 812
Зарегистрирован: Пт сен 10, 2021 15:19:36
Сообщений: 5450
Откуда: Протвино
Рейтинг сообщения: 0
незаметил вопроса,
воттак удобно чистить после дизассемблера от адреса и кода слева

Цитата:
avr-objdump -D -m avr Count2.hex | sed 's/^.\+:\+\s[0-9,a-f, ]\+//'



а вывод - в ассемблер (или в gcc c директивой asm {...} , но там несколько нюансов, в паре слов не рассказать)


Спойлерfile format ihex


Disassembly of section .sec1:

00000000 <.sec1>:
rjmp .+18 ; 0x14
rjmp .+136 ; 0x8c
reti
reti
reti
reti
rjmp .+60 ; 0x4a
reti
reti
reti
ldi r16, 0x9F ; 159
out 0x3d, r16 ; 61
ldi r16, 0x19 ; 25
out 0x17, r16 ; 23
sbi 0x18, 1 ; 24
ldi r18, 0x00 ; 0
ldi r19, 0x00 ; 0
ldi r22, 0x00 ; 0
ldi r16, 0x02 ; 2
out 0x2f, r16 ; 47
ldi r16, 0x05 ; 5
out 0x33, r16 ; 51
ldi r16, 0x04 ; 4
out 0x39, r16 ; 57
ldi r16, 0xEA ; 234
out 0x36, r16 ; 54
ldi r16, 0x02 ; 2
out 0x35, r16 ; 53
ldi r16, 0x40 ; 64
out 0x3a, r16 ; 58
out 0x3b, r16 ; 59
sei
rcall .+54 ; 0x78
sbi 0x18, 0 ; 24
rcall .+50 ; 0x78
cbi 0x18, 0 ; 24
rjmp .-10 ; 0x40
push r16
push r17
in r16, 0x3f ; 63
push r16
inc r22
cpi r22, 0x05 ; 5
brcs .+22 ; 0x6e
ldi r22, 0x00 ; 0
ldi r16, 0x1E ; 30
cp r16, r18
brcs .+6 ; 0x66
cbi 0x18, 4 ; 24
cbi 0x18, 3 ; 24
rjmp .+4 ; 0x6a
sbi 0x18, 4 ; 24
sbi 0x18, 3 ; 24
ldi r18, 0x00 ; 0
andi r19, 0xFE ; 254
pop r16
out 0x3f, r16 ; 63
pop r17
pop r16
reti
ldi r20, 0x3C ; 60
push r20
nop
nop
dec r20
brne .-8 ; 0x7c
pop r20
dec r20
brne .-16 ; 0x7a
ret
push r16
push r17
in r16, 0x3f ; 63
push r16
cpi r18, 0xFF ; 255
breq .+14 ; 0xa6
sbrc r19, 0
rjmp .+8 ; 0xa4
ori r19, 0x01 ; 1
ldi r16, 0x00 ; 0
out 0x32, r16 ; 50
ldi r22, 0x00 ; 0
inc r18
pop r16
out 0x3f, r16 ; 63
pop r17
pop r16
reti


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прошу совета у знатоков!
СообщениеДобавлено: Чт июн 19, 2025 20:17:04 
Первый раз сказал Мяу!

Зарегистрирован: Пт апр 18, 2025 17:13:54
Сообщений: 31
Рейтинг сообщения: 0
Dmitrudo
вы немного не правы....
VNS решил вашу просьбу и всё, более ничего он вам не обязан...хотите написать своё, так тогда не стоило и тему заводить...


Если Вы отмотаете в начало, то легко убедитесь, что у меня никаких просьб не было, кроме одной: получить совет- на какой элементной базе собрать свою поделку.
Но, уж если так вышло, что товарищ сам по собственной воле решил показать свои способности, то, лично мне, был бы интересен исходник с каментами- что там, к чему и для чего. Но встретил непонимание и даже упреки, мол: чем вам ТО ЧТО ЕСТЬ не нравиться? Пытался объясниться, но снова не был понят.
В итоге, да- "писал свое".


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Прошу совета у знатоков!
СообщениеДобавлено: Пт июн 27, 2025 23:57:39 
Первый раз сказал Мяу!

Зарегистрирован: Пт апр 18, 2025 17:13:54
Сообщений: 31
Рейтинг сообщения: 0
Продолжая, и заканчивая тему...
Не удовлетворившись ограниченным предложением пришлось код писать самому.
С помошью ИИ, было опробовано 27 вариантов кода, из которых удовлетворил последний- будучи переделанным из моргалки светодиодом- в счетчик импульсов. https://arduinodiy.wordpress.com/2015/0 ... -attiny13/

ИИ помощник- тот еще "помощник". Почти всегда пускал по ложному пути и всегда за ним приходилось "подчищать". Всегда норовил подсунуть "не то". В общем, это был ценный опыт. Но, научился хотя бы ориентироваться в Си. ИИ охотно объяснял непонятные моменты и давал много попутной информации, получить которую где-либо в другом месте я бы не смог. Для написания текста решил использовать Микрочип Студию- продвинутая штука, конечно. В тоже время, Ардуино ИДЕ показался громоздким.

Что хотелось бы отметить.., реализовать свою "хотелку" и использовать WDT в качестве источника прерываний 1 Гц- так и не удалось. В сети не очень много инфы на эту тему, а та что есть- у меня не сработала. Но, учитывая мой "богатый опыт" это и не удивительно, но зацепило. Буду пробовать еще.

В итоге использовал классику- прерывания на порту INT0 и таймер- для генерации секундных интервалов.
Все оказалось просто. По ходу дела скорректировал свои требования. Итак...
Схема выдает лог1 на Вых при 27 импульсах в секунду на Входе.
Лог0 на Вых появляется при снижении частоты на Входе ниже 10 Гц. Все работает.

Спойлер#include <avr/io.h> // Библиотека для работы с регистрами ввода-вывода AVR
#include <avr/interrupt.h> // Библиотека для работы с прерываниями
volatile uint8_t timer_count = 0;// Cчетчик времени
volatile uint8_t pulse_count = 0;// Cчетчик импульсов

// Обработчик прерывания по изменению состояния на порту PB1
ISR(INT0_vect) {
pulse_count++; // Увеличиваем счетчик при каждом прерывании
}

// Обработчик прерывания таймера TIMER0
ISR(TIM0_OVF_vect) {
if (++timer_count > 4) { // Прерывание примерно 4,6 раз за 1 сек
if (pulse_count > 29) { // Число импульсов необходимо подбирать
PORTB |= (1 << PB3) | (1 << PB4); // Устанавливаем лог 1 на PB3 и PB4
} else if (pulse_count < 10) {
PORTB &= ~((1 << PB3) | (1 << PB4)); // Устанавливаем лог 0 на PB3 и PB4
}
timer_count = 0; // Сбросить счетчик
pulse_count = 0; // Сбрасываем счетчик импульсов
}
}

void setup() {

cli(); // Отключить прерывания

DDRB = (1<<PB3) | (1<<PB4); // Настроить PB3 и PB4 как выход

// Настройка таймера
TCCR0B |= (1<<CS02) | (1<<CS00); // Предделитель 1/1024
TIMSK0 |= (1<<TOIE0); // Включить прерывание по переполнению таймера

// Настройка INT0 (PB1) для внешнего прерывания
GIMSK |= (1 << INT0); // Разрешаем внешнее прерывание INT0
MCUCR |= (1 << ISC01); // Срабатывание на спаде (INT0)

sei(); //Включить прерывания
}
void loop() {
// Все выполняется в прерываниях
}
int main(void) {
setup();
while (1) {
loop();
}
}





Схема была впихнута в корпус обычного 12V автомобильного реле.
Изображение Изображение Изображение Изображение Изображение


Всем спасибо за помощь в поиске пути! Удачи!


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

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


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

Сейчас этот форум просматривают: aleksey_1184 и гости: 13


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

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


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