Принятые соглашения: Черным шрифтом обозначаются общие положения Жирным шрифтом выделяются наиболее важные моменты Синим шрифтом обозначаются различные комментария и описания Ручная калибровка USB-осциллографа ВМ8020 Разархивировать и скопировать файл «калибровка.exe» из архива в ту же папку, где установился дистрибутив (по умолчанию C:\Program Files\USB DiSco). В архиве есть ярлык (путь в нём тоже по умолчанию), если программа установлена с другим путём, то ярлык нужно соответственно отредактировать. Запустить файл калибровки через ярлык (можно и непосредственно, но тогда с расширением: калибровка.exe -clbr). В запустившейся оболочке выбрать пункт «аналоговые сигналы/калибровка». Теория калибровки: Для того чтобы обеспечить точное отображение на экране значений напряжений входного сигнала необходимо произвести калибровку, т.е. подобрать такие мультипликативные Kumn_Ch[X] и аддитивные Zero_Ch[X] коэффициенты, что бы выполнялось условие минимума суммарной относительной погрешности во всем диапазоне. Оболочка получает данные из устройства в виде 10-ти битных чисел Aw (далее идет преобразование в 16-ти битные), после чего для получения значения напряжения производятся следующие вычисления (на основании входной цепи): Uиз = Zero_Ch[X] – Aw * Kumn_Ch[X] где Uиз – величина измеренного напряжения, Вольт Kumn_Ch[X] – мультипликативные калибровочный коэффициент, Вольт / ед. Zero_Ch[X] – аддитивный калибровочный коэффициент, Вольт X – соответствующий подканал. Калибровка происходит следующим образом (все реализовано в файле clbr.pas): 1. Заполняется таблица эталонных (столбец Uэ) и соответствующих им значений измеренных (столбец Uиз) напряжений 2. По заданным на момент калибровки значениям Zero_Ch[X] и Kumn_Ch[X] (изначально, например, для диапазона ±20В Kumn_Ch = 22,8748891964313, а Zero_Ch = 0,00071381527528063) рассчитывается значение Aw. В данном случае Aw это среднее арифметическое всех только что считанных отсчетов, а не значение амплитуды одного отсчета. Вычисление Aw на основании Zero_Ch[X] и Kumn_Ch[X] происходит из-за того, что необходима некоторая изначальная привязка, т.е. что-бы значения на экране при отсутствии калибровки значения были в пределах например ±20В а не 0-1024 ед + проверка калибровки предыдущего подканала этого же диапазона. 3. Далее по всем значениям Aw и Uэ подбираются такие значения Zero_Ch[X] и Kumn_Ch[X] при которых обеспечивается минимальное относительное отклонение Uиз’ (значение Uиз полученное на основании новых коэффициентов) от Uэ по всем точкам. Настройка Кроме калибровки, в окне калибровки можно задать тип и номер прибора, которые сохраняются в энергонезависимой памяти осциллографа вместе с калибровочными коэффициентами при нажатии на кнопку [Write K]. Тип прибора может содержать следующие значения: 0 – урезанная версия осциллографа, только логический анализатор / генератор, т.е. когда не распаянная аналоговая часть 1 – полная новая версия прибора 255 – старя (по другому реализована аппаратная часть) полная версия прибора, используется для совместимости с осциллографами из первой партии. По умолчанию все ячейки энергонезависимой памяти содержат 255. Рекомендуется всегда ставить 1. Номер прибора это просто 16-ти разрядное число (0-65535) которое по замыслу используется для присвоения серийного номера прибора и ни как не влияет на работоспособность прибора. Описание калибровки: В приводимом примере используется: резистивный делитель (10 последовательно спаянных резисторов номиналом 5,1 КОм ± 5%), источник напряжения (используется только два напряжения +10 и + 4 В) и поверочный цифровой вольтметр. В общем случае могут использоваться любые доступные средства позволяющие задать дискретный ряд эталонных напряжений от нижней до верхней границы калибруемого диапазона. Используемые делитель и два дискретных напряжения источника позволяют задать следующие два ряда эталонных напряжений: -10…-2…+2…+10 с шагом 1 В для диапазона ±20В и -2…-0,4…+0,4…+2 с шагом 1 В для диапазона ±2В. Для более мене точной калибровки не обязательно включать значения крайних точек, например ±20В, а также достаточно 6-8 точек на поддиапазон, так как линейность АЦП достаточно хорошая. Приводимая последовательность калибровки не является догмой, но была опробована более чем на полсотни устройств и по мнению автора является одной из оптимальных: 1. Калибровку начинаем с поддиапазона ±20В канала А (далее A 1/20). Для этого на устанавливаем на источнике напряжения 10 В и подключаем резистивный делитель, т.е. обеспечиваем шаг 1 В. 2. Подключаем калибруемый осциллограф к компьютеру, после чего запускаем оболочку с ключом -clbr, например калибровка -clbr. Включаем оба канала, устанавливаем размах ±20В по обеим каналам и период дискретизации например 50 мкс. Открываем окно калибровки, выбрав пункт калибровка в меню аналоговые сигналы. Если оболочка уже была запущена до подключения осциллографа то требуется нажать кнопку [Default K] для установки калибровочных коэффициентов по умолчанию. Это необходимо, для того чтобы привязаться к коэффициентам по умолчанию, т.е. известным, а не тем которые были получены при калибровки предыдущего осциллографа (см. п2 из теории калибровки). 3. В окне калибровке выбираем (•) Канал А, К=1/20 (калибруем канал А поддиапазон ±20В) и открываем файл K=1 шаг 1.txt (по умолчанию находится в СD:\! Soft - все исходники\Project2 - исходникик оболочки\Koef). В данном файле просто задан ряд эталонных напряжений который можно задать и самому и старые коэффициенты, т.е. те на основании которых вычисляется Aw. 4. Подключаем землю канала А на +10 В, а сигнальный провод на 0 В резистивного делителя, т.е. обеспечиваем входное напряжении -10 В. 5. Нажимаем кнопку циклического измерения щелкаем в первой строке столбца Uиз (перевод фокуса ввода). Для того чтобы обозначить начало заполнения таблицы и тем самым заполнять таблицу последовательно нажатием на кнопку [Uconst -> [Uиз]]. 6. Нажимаем на кнопку [Uconst -> [Uиз]], что приводит к установке в строку 1 столбца Uиз значения постоянной составляющей канала А. После чего не останавливая циклическое измерение сигнальный провод канала А переключаем на +1 В, что обеспечиваем входное напряжении -9 В, при условии подключении земли к +10 В. И снова нажимаем на кнопку [Uconst -> [Uиз]] либо на пробел (так как кнопка [Uconst -> [Uиз]] захватила фокус ввода, то нажатие на пробел более удобно чем нажимать на левую кнопку мыши). Затем сигнальный провод канала А переключаем на +2 В и так далее до +8, т.е. до получении входного напряжения -2 (ниже не имеет смысла калибровать так как будет использоваться подканал A 1/2). После чего подключаем землю канала А на 0, а сигнальный провод на +2В, т.е. обеспечиваем входное напряжении +2 В, затем +3 и так до +10В. В результате таблица может выглядеть следующим образом: 7. После заполнения таблицы останавливаем измерение (на самом деле не обязательно, просто увеличивает скорость расчета). Нажимаем на кнопку [>>]. Данная кнопка запускает подпрограмму расчета Aw (столбец А) на основании старых значений коэффициентов, а далее подпрограмму подбора новых значений коэффициентов. После расчета коэффициентов, заполняются столбцы А (значение амплитуды сигнала в ед. полученная на основании старых коэффициентов и Uиз) и столбец Uиз’ (новое значение измеренного напряжения, полученное на основании значения амплитуды и новых коэффициентов). А также строятся графики для измеренного, эталонного и нового измеренного напряжений. В идеале Uиз’ должно совпадать с Uэ, а график должен быть линейно нарастающим, т.е. не должно быть каких либо провалов, т.е. по графику можно быстро оценить правильность калибровки: Если на графике видена явная неравномерность, например для Uэ = - 4В, то следует щелкнуть левой кнопкой мыши над ячейкой столбца Uиз для которого соответствует Uэ = - 4В (обозначать что будем менять значении в ней), установить входного напряжение -4 В, включить циклическое измерение и нажать на кнопку [Uconst -> [Uиз]], т.е. просто перемерить, если несколько таких точек то перемерить во всех. После чего снова остановить изменение и нажать кнопку [>>]. На всякий случай рекомендуется сохранить данные таблицы, значение старых коэффициентов (на основании которых получены новые коэффициенты) и новые коэффициенты в файле, например K=1 шаг 1.txt и папке соответствующей номеру прибора, например [121]. В случае перешивки МК программатором (вся память будет стерта) не придется заново проводить калибровку. Сохранить данные нужно до нажатия на кнопку [<<], чтобы сохранить старые коэффициенты, т.е. на основании которых было рассчитано значение амплитуды Аw. После получения новых значений коэффициентов необходимо их установить, т.е. сделать текущими (используемыми в данный момент - старыми), для этого нужно нажать кнопку [<<]. В данном случае происходит просто замена значений текущих коэффициентов на только, что полученные и установка их в поля старые. Если учесть что входные цепи канала А и B на одно и том же поддиапазоне почти одинаковы, то можно проверить как качество калибровки так и степень соответствия параметров входных цепей (Uиз не должно сильно отличатся от Uэ). Т.е. задать в качестве старых коэффициентов для канала B новые коэфиициенты канала A (которые после нажатия на [<<] стали текущими для канала А), нажатием на кнопку [\/]. Исходя из всего выше описанного последовательность нажатия кнопок для п.7 следующая: 8. После калибровки канала A 1/20 переходим к калибровке канала B 1/20. Для этого выбираем (•) Канал B, К=1/20. При этом старые коэффициенты канала B должны быть раны текущим коэффициентам канала А (после нажатия [\/]). В таблице щелкаем в первой строке столбца Uиз (перевод фокуса ввода) и нажимаем на кнопку [Clr cur] (просто очищаем столбец от предыдущих считанных данных, можно тоже самое сделать отурыв заново файл K=1 шаг 1.txt но при этом старыми коэффициентами канала В станут коэффициенты по умолчанию, т.е. они затрут установленные ранее значения на основании текущих коэффициентов канала А). Затем запускаем циклическое измерение подаем на вход канала В -10, -9…+9, +10, т.е. аналогично заполняем таблицу и останавливаем измерение. После чего нажимаем на [>>], далее при необходимо сохраняем значение таблицы в фале, например K=1 шаг 1b.txt, и нажимаем на кнопку [<<], т.е. выполняем все предыдущие действия. Нажимать на [\/] не нужно так как канала А уже откалиброван ранее, т.е. нет необходимости заменять коэффициенты канала А на новые коэффициенты канала B. 9. Далее калибруем каналы A 1/2 и B 1/2. Для этого устанавливаем напряжение на источнике напряжения равное +4 В. Устанавливаем размах ±2В по обеим каналам. При этом прибор автоматически будет извлекать информацию из каналов АЦП P2.1 и P2.0. Т.е. при размахе выше 2-х Вольт данные в компьютер будут передаваться с P2.3 и P2.2 (коэффициент передачи 1/20), а при размахе равном или ниже 2-х Вольт с P2.1 и P2.0(коэффициент передачи 1/2). Выбираем (•) Канал A, К=1/2. Открываем файл K=10 шаг 0,4.txt, при этом в таблице просто будут заданы новые значения эталонных напряжений. Затем запускаем циклическое измерение подаем на вход канала A -2, -1,6…+1,6, +2, т.е. аналогично заполняем таблицу и останавливаем измерение. После чего по аналогии с каналом A 1/20, нажимаем на [>>], далее при необходимо сохраняем значение таблицы в фале, например K=10 шаг 0,4.txt, и нажимаем на кнопку [<<]. Далее нажимаем на [\/] для передачи текущих коэффициентов канала A 1/2 в канала B 1/2. 10. После калибровки канала A 1/2 переходим к калибровке канала B 1/2. Для этого выбираем (•) Канал B, К=1/2. При этом старые коэффициенты канала B должны быть раны текущим коэффициентам канала А (после нажатия [\/]). В таблице щелкаем в первой строке столбца Uиз (перевод фокуса ввода) и нажимаем на кнопку [Clr cur]. Затем запускаем циклическое измерение подаем на вход канала В -2, -1,6…+1,6, +2, т.е. аналогично заполняем таблицу и останавливаем измерение. После чего нажимаем на [>>], далее при необходимо сохраняем значение таблицы в фале, например K=10 шаг 0,4-b.txt, и нажимаем на кнопку [<<], т.е. выполняем все предыдущие действия. Нажимать на [\/] не нужно так как канала А уже откалиброван ранее, т.е. нет необходимости заменять коэффициенты канала А на новые коэффициенты канала B. 11. После калибровки всех 4-х подканалов (установления их текущих коэффициентов) желательно на всякий случай проверить правильность калибровки. Для этого необходимо запустить циклическое измерение и просто сравнить показания осциллографа с эталонными, если разброс не превышает разумных значений калибровка считывается выполненной и можно записать коэффициенты в прибор. Для этого необходимо нажать на кнопку [Write K]. Обязательно при остановленном процессе измерения !!! Это приведет к записи текущих калибровочных коэффициентов, типа прибора и номера прибора в энергонезависимую память прибора. После чего можно еще раз на всякий случай проверить, записались ли коэффициенты, для этого следует нажать на кнопку циклической записи и если коэффициенты записаны, то кнопка поменяет свое название на Сброс, а данные на экране не будут обновляется (есть глючек в прошивки). После нажатия на кнопку Сброс и последующего запуска циклического измерения (просто перезапустить) все придет в норму.