Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.79/48: Рейтинг темы: голосов - 48, средняя оценка - 4.79
freenomadkz
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 2
1

Attiny13. Реализация ШИМ

28.11.2013, 15:40. Просмотров 8616. Ответов 5
Метки нет (Все метки)

Добрый вечер уважаемые !!
В этой теме прошу о помощи программистовAttiny13/

Просьба не пинать и относится снисходительно к новичку на вашем форуме.

Есть такая проблема: на моей машине mercedes двигатель M102, установлен датчик положения дроссельной заслонки, в простонародий потенциометр напорного диска, напорный диск при потреблений двигателем воздуха отклоняется в зависимости от интенсивности потребления воздуха, напорный диск соединен с осью которая крутит потенциометр (по сути переменный резистор). И все бы хорошо, но со временем, резистивные дорожки стираются, и компьютер машины получает неправильные данные о расходе воздуха и соответственно начинается геморой !!!

Выход из данного положения такой, резистивный элемент выкидывается, к оси на которой раньше были усики потенциометра (которые трут резистивный элемент) клеится магнит, и в корпусе старого датчика устанавливается датчик KMA200 который измеряет угол магнитного поля. в итоге имеем безконтактный датчик.

Но проблема в следующем, я все вышеперечисленное сделал, теперь при отклонений напорного диска, отклоняется магнит перед неподвижным датчиком KMA200 и KMA 200 выдает мне напряжение 1,35 вольт при верхнем положений напорного диска и 1.85 примерно (данные пока сырые, замерял давно уже) при максимальном отклонений напорного диска.

Теперь собственно проблема:
Используя Attiny13 мне надо показания KMA200, на выходе из Attiny13 иметь 0,6 вольт при верхнем положений напорного диска, а при максимальном отклонений должно быть 4,75 вольт. Эти данные использует компьютер моей машины для регулирования работы мотором (такие данные дает новые датчик положения напорного диска).

вся проблема в том что я новичек и с микроконтроллерами только познакомился, как запрограммировать эти функций имею только смутное представление. В моем понимание измерять напряжение с КМА200 надо с помощью АЦП, а выходное напряжение (от 0,6 вольт до 4,75) регулировать с помощью ШИМ, если я неправ поправьте меня.

Кстати выходные данные линейные. (напряжение плавно меняет при отклонений напорного диска)

Собственно просьба показать мне какой должен быть код прошивки. Если кому то что то не понятно, я могу выложить фото.

Собственно я бы не заморачивался что бы изготавливать этот девайс если бы этот датчик продавался, но его нет в продаже у нас в городе (вообще компания BOSCH перестала выпускать эти датчики), то что осталось у продавцов, стойт около 300 долларов, хотя себестоимость этого датчика не более 30 баксов



Данный датчик я уверен облегчит жизнь очень многим мерсоводам, поэтому заранее огромное спасибо за помошь.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2013, 15:40
Ответы с готовыми решениями:

Сбой ШИМ на ATTiny13
Как оно мыслилось: МК выдает ШИМ сигнал с заполнением 10-20-50-100%. Переключение происходит по...

Никак не разберусь с ШИМ на attiny13
Здравствуйте. НАчал разбираться с шим, прочитал несколько раз статью. В целом понятно, но там реч...

Как отладить ШИМ на ATTiny13 эмулятором?
Здравствуйте, Мне необходимо отладить прошивку, которая выводит сигнал на одну из ножек...

Не получается сделать 36кГц шим на ATtiny13
Добрый день. Стыдно, но уже 2 день ломаю голову. Нужно с тиньки выдать сигнал с частотой 36кГц для...

Attiny13+3х канальный програмный шим по сигналу с 3х портов
Доброе утро всем. Пытаюсь повторить сейчас супер-пупер мега таймер...

5
raxp
10200 / 6582 / 493
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
28.11.2013, 16:44 2
http://radioparty.ru/index.php/compo...son8?showall=1
http://easyelectronics.ru/avr-uchebnyj-kurs-ispolzovanie-shim.html
0
freenomadkz
0 / 0 / 0
Регистрация: 28.11.2013
Сообщений: 2
29.11.2013, 00:38  [ТС] 3
огромное спасибо за поддержку, буду курить эти материалы )))

Добавлено через 4 часа 50 минут
с шим более менее понятно, объясните теперь как Attiny13 ,eltn мерить напряжение с КМА200, если я не ошибаюсь вроде как должен использовать АЦП
0
raxp
10200 / 6582 / 493
Регистрация: 28.12.2010
Сообщений: 21,166
Записей в блоге: 1
29.11.2013, 00:58 4
Работа с АЦП на примере ATtiny13
0
Kolbaskin_Kirov
0 / 0 / 0
Регистрация: 24.01.2014
Сообщений: 7
09.02.2014, 10:24 5
Относительно ШИМ в Attiny13. Не понял, как менять скважность. В регистре TCCR0A ставлю Fast_PWM, настраиваю на порт ОС0А ( Clear OC0A on Compare Match - неинвертированный ШИМ на совпадение с OCR0A ). Т.е TCCR0A=0b10000011. Далее TCCR0B=0b00001100 и OCR0A=0b01111111. Порт предварительно настроен на выход. В Протеусе тишина.
Но если настроить этот же порт на "Toggle OC0A on Compare Match", то все работает, но меняется частота, а не скважность.

Добавлено через 10 часов 52 минуты
Снова разобрался сам
Всё работает нормально при установке в ноль бита WGM2 регистра TCCR0B. Хотя вопрос остался : WGM02 = 0: Normal Port Operation, OC0A Disconnected. Получается, что порт отключен... Почему работает-то?!
0
MaslovVG
1022 / 157 / 10
Регистрация: 16.01.2013
Сообщений: 544
09.02.2014, 12:08 6
Данную задачу много проще реализовать с помощью одного операционного усилителя и нескольких резисторов. (ключевое слово сумматор, усилитель).
При использовании Attiny данные с KMA200 Лучше снимать по SPI в цифровой форме. Выводить через ШИМ или ещё проще через дельта-сигма преобразование.

Добавлено через 10 минут
Для дельта-сигма преобразование используем алгортмм.
В ячейке temp храним промежуточные данные.
В ячейке kma200 храним данные получаемые с датчика.
Организуем прерываие по таймеру с достаточно высокой частотой F.
По прерыванию выполняем слеующие действия:

temp = temp + kma200.
если перенос устанвливаем выход в 1 если нет то в 0.
RETI
0
09.02.2014, 12:08
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2014, 12:08

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Реализация ШИМ с таймерами (ASM, Atmega8535)
Здравствуйте. Я впервые имею дело с МК и программированием вообще, поэтому вопросы будут...

ATtiny13. PWM (ШИМ)
прошу знающих пояснить принцип управления аппаратным ШИМом, а именно: 1. как в коде Си это...

[i8051] Реализация ШИМ
К порту P0 микроконтроллера подключена клавиатура. С порта P1.0 выходят сами выходные сигналы....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.