Технический форум
Вернуться   Технический форум > Электроника, самоделки и техника > Форум по электронике > Микропроцессоры


Ответ
 
Опции темы Опции просмотра
Старый 27.07.2010, 03:46   #41 (permalink)
INFERION
Member
 
Аватар для INFERION
 
Регистрация: 23.11.2008
Сообщений: 1,084
Записей в дневнике: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 460
По умолчанию

Да, АЦП меряет по очереди 4 канала. Поэтому частота семплирования на канал всего 12.5кГц, но этого думаю достаточно. Параметры меняются куда медленнее, чем их успевает промерять АЦП. Ведь преобразователь самостоятельно стабилизирует, МК его лишь регулирует. Да и нагрузка и источник питания относительно стабильные...

Какой именно уход в минус? Я не могу представить тут такую ситуацию. Переполнение да, тогда будет держать максимально возможное значение. При минусе скорее всего будет сбрасываться в ноль, но это по месту надо смотреть. Возможно там что-то другое будет предпочтительнее...
INFERION вне форума   Ответить с цитированием
Старый 27.07.2010, 04:19   #42 (permalink)
Long Cat
Banned
 
Регистрация: 01.09.2009
Сообщений: 4,396
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2544
По умолчанию

У меня есть предложение по четырем значениям вычислять скорость и ускорение.
Тогда регулятор будет работать еще точнее.
Поясню - можно будет с большой точностью узнать, что намеряет АЦП на следующем отсчете, и выдать соответствующую поправку.
Long Cat вне форума   Ответить с цитированием
Старый 27.07.2010, 11:10   #43 (permalink)
INFERION
Member
 
Аватар для INFERION
 
Регистрация: 23.11.2008
Сообщений: 1,084
Записей в дневнике: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 460
По умолчанию

По скорости уже реализовано. По ускорению думаю лишнее. Точность от этого только пострадает. Там ведь шум будет. Каждый результат будет отклонятся фиг знает куда и фиг знает насколько от реальной величины. Этому мудрёному алгоритму такое может не понравится, и недостатков будет больше чем преимуществ...

Но на будущее, как именно предлагаешь организовать анализ ускорения? Опиши алгоритм. Вот есть число, и есть несколько предыдущих чисел. Нужно получить число уже с учётом всех поправок, при этом не допустить ошибок переполнения, минуса и т.п. Как это реализуется?
INFERION вне форума   Ответить с цитированием
Старый 27.07.2010, 14:42   #44 (permalink)
Long Cat
Banned
 
Регистрация: 01.09.2009
Сообщений: 4,396
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2544
По умолчанию

Что касается погрешностей - чем больше точек известно, тем меньше погрешность измерения влияет на результат.

Сначала несколько комментариев по тому алгоритму, который уже есть.
Обозначим три последовательных измерения буквами A,B,С.

Примененный алгоритм выглядит как C=2B-A.
(Чтобы узнать будущее значение, удваиваем текущее и вычитаем предыдущее).

Есть вот такая формула (A-2B+C)/h=U``.
Эта формула выражает вторую производную функции во второй точке(в этой точке мы получаем значение B). Из нее как раз и получается имеющийся алгоритм: если положить, что вторая производная равна 0, то как раз и получается С=2B-A.
То есть данный алгоритм будет хорошо работать при линейном характере изменения функции U.

Когда в нем будет уход в минус? При резком броске вниз, т.е когда A>>B, получим уход.

Теперь рассмотрим такую задачу: есть несколько семплов некой величины, нужно узнать последующие.
Задача носит название "задача об экстраполяции функции".
Вкратце, идея состоит в том, чтобы по известным точкам построить некую функцию, а затем вычислить ее значение в неизвестной точке.

Хорошо эта задача решается, если приблизительно известен характер изменения функции, или ее производная.

В простом случае, составляется интерполяционный полином (по четырем - пяти точкам). А затем по этому полиному вычисляется значение в нужной точке.

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

При необходимости можно составить детальный алгоритм.
Long Cat вне форума   Ответить с цитированием
Старый 28.07.2010, 00:42   #45 (permalink)
INFERION
Member
 
Аватар для INFERION
 
Регистрация: 23.11.2008
Сообщений: 1,084
Записей в дневнике: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 460
По умолчанию

Думаю всё это лишнее. Одна только операция деления жрёт сотни тактов, за более сложные алгоритмы уже молчу. Хватит там и примитива. Линейные системы вообще без этих "гаданий" отлично работают и никого своими бросками на динамических нагрузках не беспокоят. А у меня вообще нагрузка почти статична (температурный дрейф и всё)...
INFERION вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 28.07.2010, 02:35   #46 (permalink)
Long Cat
Banned
 
Регистрация: 01.09.2009
Сообщений: 4,396
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2544
По умолчанию

При хорошей численной реализации, деление заменяется на умножение.
Long Cat вне форума   Ответить с цитированием
Старый 14.01.2015, 17:17   #47 (permalink)
dubok963
Member
 
Аватар для dubok963
 
Регистрация: 15.12.2011
Сообщений: 97
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 24
По умолчанию

Всем Привет!, Собираю "MIDI pedal switch controller" на PIC16F877 http://www.electronics.dit.ie/staff....dal.htm
http://s014.radikal.ru/i329/1501/d4/7f3fb60ef405.png фото 1
(прошивка .ASM в архиве. "1")
В схеме есть только MIDI OUT, но нет MIDI IN, а он нужен...


Но есть и другая схема "MIDI channel changer" , то-же на PIC16F877 находящаяся на этом-же сайте http://www.electronics.dit.ie/staff....ger.htm
http://s017.radikal.ru/i430/1501/23/e372e27629dc.png фото 2
(прошивка .ASM в архиве. "2")
В ней есть MIDI IN


Можно ли из второго кода прошивки вырезать кусок кода (касаемо MIDI IN) и вставить его в первый код прошивки???? Т.е получить "MIDI PEDAL" с OUT и IN...

Схема будет иметь такой вид (MIDI IN к 26 ноге МК)
http://s50.radikal.ru/i130/1501/de/408b0012c9d0.png фото 3

помогите пожалуйста....

Архив .rar с прошивкой прикрепил
Вложения
Тип файла: rar Коды .rar (4.8 Кб, 17 просмотров)
dubok963 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 00:27.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.