Форум » Измерительные приборы и индикация » Простой метод померить мощность, нужна помощь » Ответить

Простой метод померить мощность, нужна помощь

George: Оригинальная идея вот, вкратце такова: машина стоит на нейтралке, нажимаем педаль в пол и получаем зависимость частоты вращения коленвала от времени. Если теперь из этих данных построить скорость изменения частоты вращения в зависимости от этой частоты, получим график, который по форме похож на график момента. Для точного определения мощи нужна калибровка, но и без нее есть главный плюс-по таким графикам можно сравнивать поведение мотора при настройке, чтобы каждый раз не кататься с секундомером. Еще плюс-очень простая реализация. Понадобится в идеале ноутбук со звуковой картой или цифровой диктофон. Подключаться надо будет через простую схему в цепь зажигания. От нечего делать можно придумать схему, которая будет считать импульсы зажигания по наводкам в бортовой сети. В чем нужна помощь. Надо на что-нибудь записывающее записать образец сигнала. У меня записать не на что. Надо для отладки алгоритма распознавания импульсов. Вот.

Ответов - 60, стр: 1 2 All

Шустрик: Ну и для полноты картины в 4-точечных методах такой шаблон: все 3 точки позади. Как из него сделать шаблон с 3 точками впереди, ты уже знаешь: считать приращения отрицательными. Практика покажет, какой шаблон лучше. f''(t)= [2*(h3+2*h1+2*h2)/(-h1^2*h3-h2*h1*h3+h3*h_1^2-h1^3-2*h1^2*h2-h1*h2^2+2*h_1^2*h1+2*h_1^2*h2-h_1^3)]* f(t-(h1+h2+h3))+ [-2*(h3^2*h1+2*h1^2*h3+2*h2*h1*h3+h1*h2^2+2*h1^2*h2+h1^3-h_1^3)/((h2*h3*h_1^2-h1^3*h3-2*h1^2*h2*h3-h1*h2^2*h3+h1*h3*h_1^2-h1^4-3*h1^3*h2-3*h1^2*h2^2+2*h_1^2*h1^2+4*h_1^2*h1*h2-h_1^3*h1-h1*h2^3+2*h_1^2*h2^2-h_1^3*h2)*h3)] * f(t-(h1+h2))+ [-2*(-h1*h2^2-2*h1^2*h2-h1^3+h_1^3)/(h3*(-h1^4-3*h1^3*h2-2*h1^3*h3+2*h_1^2*h1^2-h3^2*h1^2-4*h1^2*h2*h3-3*h1^2*h2^2+3*h1*h3*h_1^2+4*h_1^2*h1*h2-h_1^3*h1-h1*h2^3-h2*h3^2*h1-2*h1*h2^2*h3+2*h_1^2*h2^2-h_1^3*h2+3*h2*h3*h_1^2+h3^2*h_1^2-h_1^3*h3))]* f(t-h1)+ [-2*(3*h1*h2^2+3*h2*h1*h3+2*h2^3+3*h2^2*h3+h2*h3^2-h1^3+h_1^3)/(6*h1*h_1^2*h2^2-2*h_1^3*h1*h2+6*h1^2*h2*h_1^2+h2*h3^2*h_1^2-h3^2*h1^3-2*h2*h3^2*h1^2-h2^2*h3^2*h1-2*h1^4*h3+3*h2^2*h3*h_1^2-6*h1^3*h2*h3-6*h1^2*h2^2*h3-2*h1*h2^3*h3-h_1^3*h2*h3-h1*h_1^3*h3+6*h2*h1*h3*h_1^2+3*h1^2*h3*h_1^2+h3^2*h_1^2*h1+2*h1^3*h_1^2-h_1^3*h2^2-h_1^3*h1^2-6*h1^3*h2^2-h1^5+2*h2^3*h_1^2-h1*h2^4-4*h1^2*h2^3-4*h1^4*h2)] f(t). Может один из этой пары шаблонов окажется лучше. Короче пробуй на опыте. Хрен знает, какой шаблон будет более удачным - надо пробовать. Я бы начал с 4-точечного шаблона "две позади, одна впереди", потом попробовал бы "две впереди, одна позади", потом "все позади", потом "все впереди". Потом пятиточечный симметричный. Если будет у тебя готовность тестировать, выложу формулы для пятиточечного "три позади, одна впереди" или ещё какого-нибудь. Успехов!

Одинокий Лис: Шустрик А если импульс снимать с коленвала, через отметку с помощью микрика????????

Шустрик: Одинокий Лис отвечу тебе словами самого George: тогда мотор будет требовать подготовки, а плюс этой системы в том, что её не требуется.


Шустрик: чёрт, мне уже самому интересно, какая формула лучше окажется! :)

George: Действительно километраж формул впечатляет =) Буду втыкать Ушёл я так рано потому что в тот же день обещал другу завезти его в большой магазин накупить ерунды к дню варенью, после чего у меня на вечер была назначена встреча в волге, которую никак нельзя было пропустить - и так опоздал.

Шустрик: Формулы на самом деле фигня, идея очень простая. Щас объясню. Давайте строить формулу численного дифференцирования по N точкам, т.е. напишем формулу, ставящую значениям функции в N точках значение её производной (порядка k) в одной из точек. Поскольку дифференцирование - линейная операция, то и формула должна быть линейной. Значит, нужно только найти коэффициенты перед значениями функции. Это просто: разложим все "сдвинутые" функции f(x-h) в ряд Тейлора с центром в x, потом приведём подобные члены и получим, что по сумма значений функции в разных точках какими-то коэффициентами (которые мы и ищем) это сумма её значения в точке x с какием-то коэффициентом, её первой производной в точке x тоже с каким-то коэффициентом и так далее до (N-1)й производной, плюс члены более высокого порядка малости - на них йух положим. Провожу тест: читают ли модераторы этот тред и тематические посты в особенности. Посмотрим, как скоро я получу замечание за мат. Так вот. Теперь подберём коэффициенты перед значениями функции в N точках так, чтобы коэффициенты перед значением функции в точке х и перед её производными всех порядков, кроме k-го, в точке х были равны нулю, а перед k-ой производной в точке х - единице. Задача этого подбора это задача решения системы линейных алгебраических уравнений порядка N. Вот и всё, собственно. Без формул может не очень понятно, но я старался вроде передать идею. Читаем...Вам замечание (+) за мат. Кир. Дата снятия 6 апреля 2007г. Кир молодец Шустрик

Шустрик: George Я тут поговорил с мужиком с кафедры численных методов, он сказал, что лучше всего делать так: построить по всем точкам аппроксимацию кубическим сплайном (т.е. на каждом отрезочке это кубическая функция, на концах совпадают значения и первые производные - как раз 4 коэффициента, чтобы определить кубическую параболу). Взять потом от сплайна вторую производную и её принять за приближённое значение второй производной фазы. Думаю, современные вычислительные пакеты умеют строить споайны, чтобы самому не морочиться писанием проги. Но можно и заморочиться - надо будет видимо решить методом прогонки систему линейных алгебраических уравнений. Сколько там будет ненулевых диагоналей - что-то сходу не соображу, врать не буду. Из предложенных же мной методов по его словам лучше всех четырёхточечный по шаблону "две вперёд, одна назад" и симметричный пятиточечный - эти формулы я уже привёл выше. Так что дерзай :)

George: большое спасибо. действительно в матлабе есть сплайны и они у меня уже работают =))) но это...вот как те полгода тебе было ни до чего так видимо сейчас мне будет =(((

Шустрик: George Короче, я поговорил с завкафедрой вычислительной математики (мехмата МГУ), он посоветовал использовать Б-сплайны, типа они будут ещё лучше. Что это - пока не знаю, но мне это сдавать в этом семестре - узнаю. Он ещё попенял мне на то, что мол на лекции надо ходить И ещё он советовал обратить внимание на сглаживание, фильтр какой-нито устроить. Эти вот Б-сплайны одновременно и сглаживают, он говорил.

Шустрик: George пишет (в самом первом посте): Если теперь из этих данных построить скорость изменения частоты вращения в зависимости от этой частоты, получим график, который по форме похож на график момента. Поэтому первую производную фазы тоже нужно аппроксимировать не по 2 точкам, конечно. Попробуй теми же сплайнами. Т.е. график фазы аппроксимировать сплайнами, и принять за производные фазы производные сплайна. Если же захочешь по точкам, а не сплайнами - напишу формулы. Или сам их выведи (я вкратце объяснял принцип вывода выше), для первой производной даже проще, чем для второй.

George: суммируем. 1.полученный график фазы-сгладить и аппроксимировать куб. сплайном либо аппр. б-сплайном 2. производную этого сплайна принять за производную и опять сгладить или уже не надо? про б-сплайны напиши. в матлабе моем их нет-только кубические Шустрик пишет: Что это - пока не знаю, встречаются две студентки МАИ. Как новости? -спрашивает одна. -да вот, завтра коллоквиум по физике -что это? -пока не знаю, но на всякий случай подмылась

George: p.s. нам точно нужна еще и первая производная график момента-это зависимость производной частоты от самой частоты, которая в свою очередь зависит от времени. как я представляю себе алгоритм 1. Каждый импульс увеличивает значение Ф(t) на 180 градусов (п) График Ф(t) сгладить и аппроксимировать кубическим сплайном, либо аппроксимировать Б-сплайном В качестве фильтра оптимально подходит функция sgolayfilt.m (Savitzky-Golay filtering) с параметрами order=5, frame=11 параметры и тип фильтра я подобрал экспериментально из имеющихся в Матлабе готовых 2.Для последовательных моментов времени t0=t-h_1, t1=t, t2=t+h1, t3=t+h1+h2 можно записать значение второй производной Ф(t) в момент t: Ф''(t) = (2*(2*h1+h2)/((h_1+h1+h2)*(h_1+h1)*h_1)) * f(t-h_1)+ (2*(h_1-2*h1-h2)/(h_1*(h1+h2)*h1)) * f(t)+ (-2*(-h2+h_1-h1)/((h_1+h1)*h1*h2)) * f(t+h1) + (2*(h_1-h1)/(h2*(h1^2+2*h1*h2+h2^2+h_1*h1+h2*h_1))) * f(t+h1+h2). 3. Искомая зависимость - F'(F(t)) = Ф''(Ф'(t)) где F(t)=интеграл(Ф''(t)) что мне бы хотелось чтобы ты, Шустрик, пояснил 1. какой метод интегрирования второй производной выбрать 2. В Матлабе вот что есть по сплайнам: -кубический сглаживающий -кубический интерполирующий -интерполирующий другого порядка -сплайн в Б-форме -нечто непонятное называемое Б-сплайном поинтересуйся у мужика что, с подробностями, он имел в виду Я сейчас использую кубический сглаживающий сплайн.

George: НОВОСТИ!!! Начнём с плохих: 1. Численные формулы Шустрика с точки зрения математики безошибочны, то есть для идеального случая работают правильно. Однако в случае с реальным мотором они не дают никакого выигрыша по снижению шумов (кому интересно - шумы аналогичны джиттеру, без подробностей, кому надо тот понял) 2. С точки зрения ТОЧНОСТИ предложение Шустрика вместо времени и периода использовать время и фазу не дает никакого выигрыша Теперь хорошее: 1. Идея Шустрика с графиком Ф(t) оказалась очень удобной алгоритмически 2. Подсказка Шустрика про сплайны и сглаживание исходной функции, а не производных, тоже оказалась удачной Применив пару не сложных в реализации идей (до которых, правда, надо было додуматься), в итоге я получил довольно сносный, читаемый и повторяемый результат. Результат Обитатели Москвы могут приехать в гости на 5 минут, после чего увидят в инете веселые графики про свой мотор. Жители других городов могут вооружиться паяльником, оторвать от телевизора на ближайшей помойке 5 деталек, собрать из них переходник, после чего проводить замеры с помощью диктофона, MD плеера, ноутбука, компа и т.п., после чего выложить файлы куда-либо и опять же увидеть в инете веселые картинки.

dmitry: Схему в студию!

ЛёхаМобиль: ага, давай схему, а лучше полное описание для тупых, типа взять такие-то детальки, спаять их так-то, скачать прогу, нажать кнопку... Просто чтобы тебя постоянно не долбали с дурацкими вопросами...

Андрей К.: George На волге пока не могу приехать, а для моей 2112 сможешь померять?

George: Даю ссылки 1 вот просто так общий вид чего я глядел по ходу развития проги 2 ваша схема Вход схемы подсоединяется на провод от коммутатора к катушке. Второй вход на землю. Выход схемы миниджеком соединяется со звукозаписывающей аппаратурой, которая способна на частоту дискретизации 44100 Гц, или больше. Конденсаторы лучше взять на помойке: первый 470нФ большой синий плоский прямоугольный от телевизора - на самом деле от 820нФ до 100нФ. Резисторы оттуда же, большой от 1Мом до 470 кОм, маленький раз в 10 меньше. Кондер 100пФ (до 500пФ) берется от старого приемника-красная трубка, или желтый диск, или еще какой-нибудь. С помощью проги увидим форму кривых момента и мощности. Данные будут в единицах углового ускорения коленвала. 12 тоже можно померить. Для начала ндо убедиться что импульсы записываются и похожи на те что по первой ссылке. Потом надо раза 4 на нейтралке дать газ в пол. Если результаты будут похожими то можно переходить к информативной часте-разгону на 2й передаче по прямой. Вот собственно вкратце и все. Мне в основном нужна статистика чтобы доработать метод сглаживания. Напомню что главной проблемой была очень сильная кучерявость получаемых графиков p.s. прога существует в виде скрипта к MATLAB, так что все взаимодействие с ней заключается в высылании мне wav файлов =)))

Андрей К.: Я вообще-то вопрос задал. По поводу этого: George пишет: Обитатели Москвы могут приехать в гости на 5 минут, после чего увидят в инете веселые графики про свой мотор.

George: George пишет: 12 тоже можно померить.

Андрей К.: George Извени, не увидел



полная версия страницы