Как реализовать аналоговый компаратор 3 канала на STM32F103

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Открыл глаза
Сообщения: 42
Зарегистрирован: Вс май 26, 2013 12:30:08

Сообщение Lihodey »

Здравствуйте. Есть задача реализовать детектор нуля трех фаз на МК STM32F103C8T6. Реализацию хотел сделать полностью аппаратно. Я настроил Вочдог АЦП на инжектированную группу из трех каналов. Выбрал именно инжектированную группу потому, что у этих каналов есть свои отдельные регистры хранения результата. Срабатывает прерывание по вочдог и я смотрю регистры инжектрованных каналов, в идеале должно быть так, что в двух регистрах должно быть число близкое 4095 а в третьем регистре число близкое к 0. На входы ацп я подаю сгенерированный ШИМ сигнал с другой платы, там на всех каналах высокий уровень и периодические импульсы в 0 сдвинутые между собой на 60град или 3.3мс.
Запускаю преобразование инжектированной группы по таймеру 1 аппаратно. Копирую данные из регистров инжектированных каналов по прерыванию вочдог. Проблемма в том, что результат периодически таков, что во всех трех регистрах данные не удовлетроряющие диапазону Вочдог тоесть например 4001 4000 3894. Или 0 3586 0. В идеале должно быть 0 1 1 или 1 0 1 или 1 1 0. Чтобы я мог понять какая фаза вызвала прерывание. Но результат таков. Помогите, пожалуйста разобраться. Кто имел дело с задачей использования аналогового компаратора для нескольких каналов?
Использую CubeIDE
Вложения
Снимок2.PNG
Это нормальная ситуация
(193.37 КБ) 492 скачивания
Снимок.PNG
Так быть не должно
(193.99 КБ) 486 скачиваний
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15741
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Может проще три аппаратных детектора нуля поставить?
http://img.radiokot.ru/files/20529/1r6lu2clr1.JPG
8)
Реклама
Открыл глаза
Сообщения: 42
Зарегистрирован: Вс май 26, 2013 12:30:08

Сообщение Lihodey »

[uquote="BOB51",url="/forum/viewtopic.php?p=3682396#p3682396"]Может проще три аппаратных детектора нуля поставить?
http://img.radiokot.ru/files/20529/1r6lu2clr1.JPG
8)[/uquote]
Нельзя поставить. Задача то отследить ноль, чтобы потом с этим что-то делать дальше, а именно открывать тиристоры. Реализация интересует только программная и только на STM32F103
Собутыльник Кота
Аватара пользователя
Сообщения: 2723
Зарегистрирован: Пт сен 07, 2018 20:20:02
Откуда: деревня в Тульской губернии

Сообщение ПростоНуб »

Lihodey, проблема в том, что АЦП в МК только один. Просто вход его коммутируем и преобразование можно запустить на каждом из входов. Потому я и поддержал мнение BOB51. Проще поставить, например, один LM324 в качестве трех аппаратных компараторов.
Реклама
Эиком - электронные компоненты и радиодетали
Открыл глаза
Сообщения: 42
Зарегистрирован: Вс май 26, 2013 12:30:08

Сообщение Lihodey »

[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3682407#p3682407"]Lihodey, проблема в том, что АЦП в МК только один. Просто вход его коммутируем и преобразование можно запустить на каждом из входов. Потому я и поддержал мнение BOB51. Проще поставить, например, один LM324 в качестве трех аппаратных компараторов.[/uquote]
Наверное Вы меня не поняли, а я возможно немного выразился неправильно. Аппаратно имеется ввиду периферийно, тоесть средствами МК, а не внешними схемами. Внешняя схема формирования импульса при переходе через ноль к определению этого события в программе не имеет никакого отношения.

Добавлено after 8 minutes 12 seconds:
Re: Как реализовать аналоговый компаратор 3 канала на STM32F103
Прилагаю проект конфигурации CubeMX. Замените расширение файла из .jpg в конце имени файла на .ioc
разрешение запрещено администратором. и не прикладывался файл. Должно получиться MTP-PRA.ioc
Вложения
MTP-PRA.jpg
(8.56 КБ) 516 скачиваний
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 460
Зарегистрирован: Пт фев 17, 2017 11:18:07
Откуда: Ставрополь-Донское

Сообщение pasha_zv »

три оптопары, три диодных моста. чуток сопротов
на выходе получаем ЦИФРОВОЙ сигнал
выплески - твои НУЛИ. их на прерывания.

какой нах АЦП?
LIVE - EVIL
Реклама
Открыл глаза
Сообщения: 42
Зарегистрирован: Вс май 26, 2013 12:30:08

Сообщение Lihodey »

[uquote="pasha_zv",url="/forum/viewtopic.php?p=3682444#p3682444"]три оптопары, три диодных моста. чуток сопротов
на выходе получаем ЦИФРОВОЙ сигнал
выплески - твои НУЛИ.

какой нах АЦП?[/uquote]

Складывается впечатление,что вы не в курсе, что такое Вочдог АЦП. АЦП потому что у стм32 нету компаратора на борту. И это типа замена аналог компаратору.

Добавлено after 2 minutes 31 second:
Re: Как реализовать аналоговый компаратор 3 канала на STM32F103
Вопрос по программированию, прекратите лепить в эту тему свои схемы аналоговые с оптронами и прочей лабудой. Внешняяя схема доставляет информацию в МК а уже в МК необходимо эту информацию обработать. Проблема в теме именно в обработке, захвате события когда на ножке происходит отрицательный импульс.

Добавлено after 37 minutes 15 seconds:
Re: Как реализовать аналоговый компаратор 3 канала на STM32F103
Разобрался. Тему закрыть можно
Электрический кот
Аватара пользователя
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

Сообщение 240265 »

У тебя диапазон заряжен 2000-4095 , а ловить хочешь 0 ?
IVL ex UA6PJ
Открыл глаза
Сообщения: 42
Зарегистрирован: Вс май 26, 2013 12:30:08

Сообщение Lihodey »

[uquote="240265",url="/forum/viewtopic.php?p=3682741#p3682741"]У тебя диапазон заряжен 2000-4095 , а ловить хочешь 0 ?[/uquote]
Да, прерывание происходит именно когда результат выходит за 2000-4095 тоесть меньше 2000. Все получилось уже. Тема не актуальна. Проблема была в восприятии поочередного измерения каналов. Я своими брекпоинтами сам себя запутал. Просто такое нельзя симулировать шагая по брекпоинту. У меня в одном регистре были старые данные а в другом новые. А так данная реализация полностью справляется с определением нуля именно в той фазе которая вызвала прерывание.
Электрический кот
Аватара пользователя
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

Сообщение 240265 »

Точно , не внимательно прочитал "При его выходе из указанной области будет установлен флаг AWD со всеми вытекающими последствиями."

Добавлено after 2 hours 59 minutes 12 seconds:
Re: Как реализовать аналоговый компаратор 3 канала на STM32F103
http://mycontroller.ru/old_site/stm32-a ... efault.htm
IVL ex UA6PJ
Ответить

Вернуться в «ARM»