Как реализовать аналоговый компаратор 3 канала на STM32F103
Как реализовать аналоговый компаратор 3 канала на STM32F103
Здравствуйте. Есть задача реализовать детектор нуля трех фаз на МК STM32F103C8T6. Реализацию хотел сделать полностью аппаратно. Я настроил Вочдог АЦП на инжектированную группу из трех каналов. Выбрал именно инжектированную группу потому, что у этих каналов есть свои отдельные регистры хранения результата. Срабатывает прерывание по вочдог и я смотрю регистры инжектрованных каналов, в идеале должно быть так, что в двух регистрах должно быть число близкое 4095 а в третьем регистре число близкое к 0. На входы ацп я подаю сгенерированный ШИМ сигнал с другой платы, там на всех каналах высокий уровень и периодические импульсы в 0 сдвинутые между собой на 60град или 3.3мс.
Запускаю преобразование инжектированной группы по таймеру 1 аппаратно. Копирую данные из регистров инжектированных каналов по прерыванию вочдог. Проблемма в том, что результат периодически таков, что во всех трех регистрах данные не удовлетроряющие диапазону Вочдог тоесть например 4001 4000 3894. Или 0 3586 0. В идеале должно быть 0 1 1 или 1 0 1 или 1 1 0. Чтобы я мог понять какая фаза вызвала прерывание. Но результат таков. Помогите, пожалуйста разобраться. Кто имел дело с задачей использования аналогового компаратора для нескольких каналов?
Использую CubeIDE
Запускаю преобразование инжектированной группы по таймеру 1 аппаратно. Копирую данные из регистров инжектированных каналов по прерыванию вочдог. Проблемма в том, что результат периодически таков, что во всех трех регистрах данные не удовлетроряющие диапазону Вочдог тоесть например 4001 4000 3894. Или 0 3586 0. В идеале должно быть 0 1 1 или 1 0 1 или 1 1 0. Чтобы я мог понять какая фаза вызвала прерывание. Но результат таков. Помогите, пожалуйста разобраться. Кто имел дело с задачей использования аналогового компаратора для нескольких каналов?
Использую CubeIDE
- Вложения
-
- Снимок2.PNG
- Это нормальная ситуация
- (193.37 КБ) 489 скачиваний
-
- Снимок.PNG
- Так быть не должно
- (193.99 КБ) 483 скачивания
- Реклама
Re: Как реализовать аналоговый компаратор 3 канала на STM32F
Может проще три аппаратных детектора нуля поставить?
http://img.radiokot.ru/files/20529/1r6lu2clr1.JPG

http://img.radiokot.ru/files/20529/1r6lu2clr1.JPG
Re: Как реализовать аналоговый компаратор 3 канала на STM32F
[uquote="BOB51",url="/forum/viewtopic.php?p=3682396#p3682396"]Может проще три аппаратных детектора нуля поставить?
http://img.radiokot.ru/files/20529/1r6lu2clr1.JPG
[/uquote]
Нельзя поставить. Задача то отследить ноль, чтобы потом с этим что-то делать дальше, а именно открывать тиристоры. Реализация интересует только программная и только на STM32F103
http://img.radiokot.ru/files/20529/1r6lu2clr1.JPG
Нельзя поставить. Задача то отследить ноль, чтобы потом с этим что-то делать дальше, а именно открывать тиристоры. Реализация интересует только программная и только на STM32F103
- ПростоНуб
- Собутыльник Кота
- Сообщения: 2723
- Зарегистрирован: Пт сен 07, 2018 20:20:02
- Откуда: деревня в Тульской губернии
Re: Как реализовать аналоговый компаратор 3 канала на STM32F
Lihodey, проблема в том, что АЦП в МК только один. Просто вход его коммутируем и преобразование можно запустить на каждом из входов. Потому я и поддержал мнение BOB51. Проще поставить, например, один LM324 в качестве трех аппаратных компараторов.
Re: Как реализовать аналоговый компаратор 3 канала на STM32F
[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
Наверное Вы меня не поняли, а я возможно немного выразился неправильно. Аппаратно имеется ввиду периферийно, тоесть средствами МК, а не внешними схемами. Внешняя схема формирования импульса при переходе через ноль к определению этого события в программе не имеет никакого отношения.
Добавлено after 8 minutes 12 seconds:
Re: Как реализовать аналоговый компаратор 3 канала на STM32F103
Прилагаю проект конфигурации CubeMX. Замените расширение файла из .jpg в конце имени файла на .ioc
разрешение запрещено администратором. и не прикладывался файл. Должно получиться MTP-PRA.ioc
- Вложения
-
- MTP-PRA.jpg
- (8.56 КБ) 514 скачиваний
- Реклама
- pasha_zv
- Мучитель микросхем
- Сообщения: 460
- Зарегистрирован: Пт фев 17, 2017 11:18:07
- Откуда: Ставрополь-Донское
Re: Как реализовать аналоговый компаратор 3 канала на STM32F
три оптопары, три диодных моста. чуток сопротов
на выходе получаем ЦИФРОВОЙ сигнал
выплески - твои НУЛИ. их на прерывания.
какой нах АЦП?
на выходе получаем ЦИФРОВОЙ сигнал
выплески - твои НУЛИ. их на прерывания.
какой нах АЦП?
LIVE - EVIL
Re: Как реализовать аналоговый компаратор 3 канала на STM32F
[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
Разобрался. Тему закрыть можно
на выходе получаем ЦИФРОВОЙ сигнал
выплески - твои НУЛИ.
какой нах АЦП?[/uquote]
Складывается впечатление,что вы не в курсе, что такое Вочдог АЦП. АЦП потому что у стм32 нету компаратора на борту. И это типа замена аналог компаратору.
Добавлено after 2 minutes 31 second:
Re: Как реализовать аналоговый компаратор 3 канала на STM32F103
Вопрос по программированию, прекратите лепить в эту тему свои схемы аналоговые с оптронами и прочей лабудой. Внешняяя схема доставляет информацию в МК а уже в МК необходимо эту информацию обработать. Проблема в теме именно в обработке, захвате события когда на ножке происходит отрицательный импульс.
Добавлено after 37 minutes 15 seconds:
Re: Как реализовать аналоговый компаратор 3 канала на STM32F103
Разобрался. Тему закрыть можно
- 240265
- Электрический кот
- Сообщения: 1029
- Зарегистрирован: Сб мар 09, 2013 11:29:22
- Откуда: 40RUS, Жуков
Re: Как реализовать аналоговый компаратор 3 канала на STM32F
У тебя диапазон заряжен 2000-4095 , а ловить хочешь 0 ?
IVL ex UA6PJ
Re: Как реализовать аналоговый компаратор 3 канала на STM32F
[uquote="240265",url="/forum/viewtopic.php?p=3682741#p3682741"]У тебя диапазон заряжен 2000-4095 , а ловить хочешь 0 ?[/uquote]
Да, прерывание происходит именно когда результат выходит за 2000-4095 тоесть меньше 2000. Все получилось уже. Тема не актуальна. Проблема была в восприятии поочередного измерения каналов. Я своими брекпоинтами сам себя запутал. Просто такое нельзя симулировать шагая по брекпоинту. У меня в одном регистре были старые данные а в другом новые. А так данная реализация полностью справляется с определением нуля именно в той фазе которая вызвала прерывание.
Да, прерывание происходит именно когда результат выходит за 2000-4095 тоесть меньше 2000. Все получилось уже. Тема не актуальна. Проблема была в восприятии поочередного измерения каналов. Я своими брекпоинтами сам себя запутал. Просто такое нельзя симулировать шагая по брекпоинту. У меня в одном регистре были старые данные а в другом новые. А так данная реализация полностью справляется с определением нуля именно в той фазе которая вызвала прерывание.
- 240265
- Электрический кот
- Сообщения: 1029
- Зарегистрирован: Сб мар 09, 2013 11:29:22
- Откуда: 40RUS, Жуков
Re: Как реализовать аналоговый компаратор 3 канала на STM32F
Точно , не внимательно прочитал "При его выходе из указанной области будет установлен флаг AWD со всеми вытекающими последствиями."
Добавлено after 2 hours 59 minutes 12 seconds:
Re: Как реализовать аналоговый компаратор 3 канала на STM32F103
http://mycontroller.ru/old_site/stm32-a ... efault.htm
Добавлено after 2 hours 59 minutes 12 seconds:
Re: Как реализовать аналоговый компаратор 3 канала на STM32F103
http://mycontroller.ru/old_site/stm32-a ... efault.htm
IVL ex UA6PJ


