Выбор микроконтроллера. ШИМ АЦП Прерывание по порту

AVR версия программы

Выбор микроконтроллера. ШИМ АЦП Прерывание по порту

Сообщение shundrov (shundrov) » 15 авг 2021, 21:01

Здравствуйте!
Помогите с выбором оптимального микроконтроллера под мою задачу.
Требуется обработать 2 датчика:
1) Датчик положения коленчатого вала (ДПКВ) Здесь требуется делитель импульсов на 2. Рабочие частоты будут в диапазоне от 50 до 500 Гц, да и то не факт, скорее даже меньше.
2) Датчик температуры охлаждающей жидкости (ДТОЖ) Обычный терморезистор. Его показания надо преобразовать в ШИМ
Сделал набросок на основе примера: viewtopic.php?f=18&t=2213&p=32547&hilit=шим+attiny13#p32547 Но меня сильно напрягает в этом варианте то, что сигнал ДПКВ обрабатывается в программе, а хотелось бы чтоб этот самый сигнал вызывал прерывание по порту с дальнейшей его обработкой
Отсюда вопрос: Можно ли корректней реализовать мои хотелки на этом микроконтроллере, или посоветуйте какой другой, где есть аппаратный ШИМ, АЦП и прерывание по порту. Можно как PIC, так и AVR, желательно в восьми пиновом корпусе
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: shundrov
Имя: shundrov
Практикант
Практикант
Информация о пользователе

Re: Выбор микроконтроллера. ШИМ АЦП Прерывание по порту

Сообщение Вячеслав (Вячеслав) » 16 авг 2021, 04:31

shundrov писал(а):Помогите с выбором оптимального микроконтроллера под мою задачу.

Делаю так: на имеющимся в наличии МК делаю задачу так, чтобы она меня устраивала по решению. Даже, если этот МК с избытком по пинам и функциям. В IDE, что используешь, есть возможность перейти на другой МК с нужными возможностями безболезненно.
Аватар пользователя
Ник: Вячеслав
Имя: Вячеслав
(Саратов)
Гуру
Гуру
Информация о пользователе

Re: Выбор микроконтроллера. ШИМ АЦП Прерывание по порту

Сообщение mim (mim) » 16 авг 2021, 07:38

shundrov писал(а): хотелось бы чтоб этот самый сигнал вызывал прерывание по порту
Что мешает такой хотелке? Определяешь прерывание и переносишь все туда... и смотришь что получилось.
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Выбор микроконтроллера. ШИМ АЦП Прерывание по порту

Сообщение shundrov (shundrov) » 16 авг 2021, 09:31

Не знаю, почему не получалось вчера, ночью спать нужно наверное
Переделал с прерыванием, вроде работает. Можно настроить прерывание так, чтобы оно срабатывало только на начало импульса?
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: shundrov
Имя: shundrov
Практикант
Практикант
Информация о пользователе
Вернуться наверх

Re: Выбор микроконтроллера. ШИМ АЦП Прерывание по порту

Сообщение mim (mim) » 16 авг 2021, 09:48

shundrov писал(а):Можно настроить прерывание так, чтобы оно срабатывало только на начало импульса?

Можно... но другое. На другой ноге INT0. При этом ШИМ вывести на другой порт...

Но, зачем?
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Выбор микроконтроллера. ШИМ АЦП Прерывание по порту

Сообщение Oleg.normalniy (олег) » 06 сен 2021, 10:19

XMEGA и система событий
Ник: Oleg.normalniy
Имя: олег
(тольятти)
Заинтересованный
Заинтересованный
Информация о пользователе
Вернуться наверх

Re: Выбор микроконтроллера. ШИМ АЦП Прерывание по порту

Сообщение shundrov (shundrov) » 16 сен 2021, 15:45

Здравствуйте.
НА фловкод для ПИК был патч, который позволял сделать код меньше. Есть такое для АВР и можно ли его применять в моем случае? Или переделывать на другой микроконтролер? Может можно как-то скромнее сделать, то что у меня получилось
На фото тарировка датчика. Меня интересует диапазон от 40 до 130 градусов
То, что у меня получилось, работает грубо. Надо больше точек, особенно после 80 градусов
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: shundrov
Имя: shundrov
Практикант
Практикант
Информация о пользователе
Вернуться наверх

Re: Выбор микроконтроллера. ШИМ АЦП Прерывание по порту

Сообщение Yushik (Андрей) » 16 сен 2021, 21:15

shundrov писал(а):Здравствуйте.
НА фловкод для ПИК был патч, который позволял сделать код меньше. Есть такое для АВР и можно ли его применять в моем случае? Или переделывать на другой микроконтролер? Может можно как-то скромнее сделать, то что у меня получилось
На фото тарировка датчика. Меня интересует диапазон от 40 до 130 градусов
То, что у меня получилось, работает грубо. Надо больше точек, особенно после 80 градусов

Здравствуйте я подобные патчи для ФК-5 AVR не встречал сэкономить код можно несколькими способами в том числе как вы делаете заменой то что предлагает ФК на СИ вставки. Можно ещё процентов 10 сэкономить если переделать чтение АЦП на прерывание adc conversion complete в последних правках файлов FCD это прерывание есть. В настройках прерывания выставить делитель Fosc, нужный канал. Поскольку вы хотите АЦП считывать в 8 битном режиме для этого нужно, выравнивание выставить на Left Shift, а в обработчике прерывания данные АЦП 8 бит забрать из регистра ADCH и тут же в обработчике эту переменную разделить на 2, также как это сделано у вас в цикле получится такой код:
FCV_PRESCALER=ADCH;
FCV_PRESCALER=FCV_PRESCALER/2;
Если уж совсем не хватает памяти программ тогда берите МК Attiny25\45\85.
Аватар пользователя
Ник: Yushik
Имя: Андрей
(Симферополь)
Гуру
Гуру
Информация о пользователе
Вернуться наверх

Re: Выбор микроконтроллера. ШИМ АЦП Прерывание по порту

Сообщение Taska (Максим) » 17 сен 2021, 08:07

Тебе нужно поставить патч на delay.
Тогда будет такой результат компиляции.
JPG_Screen.jpg
У вас нет доступа для просмотра вложений в этом сообщении.
Аватар пользователя
Ник: Taska
Имя: Максим
(Кривой Рог)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: Выбор микроконтроллера. ШИМ АЦП Прерывание по порту

Сообщение Вячеслав (Вячеслав) » 17 сен 2021, 13:13

shundrov писал(а):Меня интересует диапазон от 40 до 130 градусов
То, что у меня получилось, работает грубо. Надо больше точек, особенно после 80 градусов

Как получишь промежуточные точки? Сам будешь тарировать с точностью 3,5 знака? Интерполятор писать?
Деление на 2,4,8...заменяй смещением << , так оно короче для крохоборов.
Аватар пользователя
Ник: Вячеслав
Имя: Вячеслав
(Саратов)
Гуру
Гуру
Информация о пользователе
Вернуться наверх

След.

Вернуться в Flowcode AVR

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

Пользователь просматривает форум: нет зарегистрированных пользователей