Форум Микро-Чип

Форум Микро-Чип (http://www.microchip.su/index.php)
-   Своими руками (http://www.microchip.su/forumdisplay.php?f=21)
-   -   USB осциллограф на PIC18F4550 (http://www.microchip.su/showthread.php?t=10440)

Var78 29.05.2011 23:22

Re: USB осциллограф на PIC18F4550
 
radar657 как у тебя с прибором дела обстоят?
Под Linux-ом не пробовал еще,просто не охота ставить только из за этого прибора,но видать придётся.Может и дождемся новый версии под Windows:)

radar657 29.05.2011 23:43

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от Var78 (Сообщение 135933)
radar657 как у тебя с прибором дела обстоят?
Под Linux-ом не пробовал еще,просто не охота ставить только из за этого прибора,но видать придётся.Может и дождемся новый версии под Windows:)

да вот выходные некогда,но на днях переделаю плату и тогда отпишусь что и как и на работе у метрологов побробую через нормальный генератор прогнать

Stanson 30.05.2011 00:46

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от radar657 (Сообщение 133681)
ув.Stanson мне интересно почему прибор живее работает под линуксом чем под виндой?

Не знаю, прибору всё равно какая ОС на компе, соответственно отличия могут быть только в софте. Может софтина под винду иначе рисует. Я сначала рисую всю картинку в памяти а потом её копирую на экран. Первое работает очень быстро, в отличии от рисования на экран сразу, а второе во всех современных видеокартах вообще реализовано аппаратно (операция BitBlt если кому-то это о чём-то говорит).

В последней версии я вообще до 512 отсчётов увеличил размер буфера, соответственно и экран больше, да ещё и послесвечение добавил, для удобства. Скорость не изменилась, как было 20 кадров в секунду (по таймеру раз в 50 мс софтина отрисовывает данные которые сыплет PIC), так и осталось.

Проблема с новой версией в другом - PIC как-то странно себя ведёт в режиме isochronous - тупо постоянно шлёт буфер в шину, и при этом я не получаю прерывания SOF. Поэтому, при некоторых скоростях развёртки на экране видно начало одного цикла сбора данных и конец предыдущего - некрасиво, хотя и не особо мешает. Как придумаю что с этим делать и как сделать красиво - выложу новую развлекуху. :)

Правда придётся попаять, если не хочется прошивку ковырять. Я там добавил нормальный регулятор X offset - с какого-то винта выпаял 8-ми разрядный ЦАП с последовательной шиной и пользую его вместо Vref из PIC. X offset стал как у взрослых - плавненько, а не скачками и на весь диапазон, что неудивительно - у Vref всего 16 градаций, а дармовой ЦАП даёт 256. Стало удобно нуль выставлять.
Можно было бы то же самое через PWM PIC'а сделать, но я из PWM тактовую для АЦП беру, а второго PWM у PIC18F2550 нету. Может быть можно и софтовый PWM как-то впихнуть в прошивку, таймеры вроде есть свободные, но, если честно, просто лень придумывать как это сделать так, чтобы оно не мешало циклу сбора данных.

ЗЫ: Вот кто бы ещё придумал нормальный входной делитель с релюшками... У PIC ещё куча свободных ног - вполне можно релюшками щёлкать из программы, не надо будет ручной переключатель ставить.

FlashBack 30.05.2011 01:05

Re: USB осциллограф на PIC18F4550
 
А зачем релюшки?
MCP6S91 или аналогичное если поставить?

Либо потенциометры цифровые...
Да и ЦАП-ов у микрочипа тож навалом...

Stanson 30.05.2011 01:10

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от FlashBack (Сообщение 135941)
А зачем релюшки?
MCP6S91 или аналогичное если поставить?

Либо потенциометры цифровые...

А как цифровые потенциометры отнесутся, например, к 220В на входе?
Или я отстал от жизни и уже есть ЦП с диапазоном входного +-1000В?

FlashBack 30.05.2011 01:23

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от Stanson (Сообщение 135942)
А как цифровые потенциометры отнесутся, например, к 220В на входе?
Или я отстал от жизни и уже есть ЦП с диапазоном входного +-1000В?

Ну обычно осцилографы расчитанны на 5V/div, т.е. +-30 вольт, далее делается делитель в самом щупе, обычно х10.
А там можно поделить вход обычным делителем, потом его через управляемый ОУ усилить.

Stanson 30.05.2011 01:39

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от FlashBack (Сообщение 135943)
Ну обычно осцилографы расчитанны на 5V/div, т.е. +-30 вольт,

На +- 30 вольт они рассчитаны чтобы нормально _показывать_.
Но вот ни одного осциллографа, который бы умер от случайного импульса вольт так в 500 на любом пределе я не видел.

Зачем делать то, что сдохнет при малейшей ошибке? Ну и вообще, прибор-то предназначен чтобы посмотреть что творится в некоей цепи. Что там твориться на самом деле - обычно не знаешь. Вот он и должен выдерживать любое напряжение на любом пределе.
Даже такой маразм как проверка напряжения тестером перед тем как тыкать осциллографом не поможет - а вдруг там импульсы в 310 В с малюсенькой скважностью?

Цитата:

далее делается делитель в самом щупе, обычно х10.
А там можно поделить вход обычным делителем, потом его через управляемый ОУ усилить.
Можно, конечно, но хочется сделать неубиваемый прибор, а не абы как. Я рассчитывал что напряжение на входе может быть до 1000В. При этом ток через диоды ограничивающие напряжение на входе ОУ, причём на самом мелком пределе будет всего лишь 3 мА, что диодам совсем не навредит. Конечно, если долго держать такое напряжение на входе - начнут греться резисторы, но в здравом уме никто такого делать не будет - обычно ведь ткнул - глянул на экран, линия убежала, значит предел побольше надо поставить или делитель на щупе включить.

FlashBack 30.05.2011 01:46

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от Stanson (Сообщение 135944)
На +- 30 вольт они рассчитаны чтобы нормально _показывать_.
Но вот ни одного осциллографа, который бы умер от случайного импульса вольт так в 500 на любом пределе я не видел.

Первый делитель высокоомный, на выходе стабилитрон.

А дальше управляемый делитель...

Либо вообще проще, верхняя часть делителя пергого фиксированная, внизу потенциометр с защитой от перенапряжения стабилитроном.

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

P.S. От 200 вольт без предделителя у C1-73 выносит вход.... Проверенно лично, пару раз :mad:

Stanson 30.05.2011 02:29

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от FlashBack (Сообщение 135945)
Первый делитель высокоомный, на выходе стабилитрон.

Стабилитроны шумные и ёмкость у них гуляет. Хотя, в принципе, для данной игрушки пойдет.

Цитата:

А дальше управляемый делитель...

Либо вообще проще, верхняя часть делителя пергого фиксированная, внизу потенциометр с защитой от перенапряжения стабилитроном.

Т.е. с точки зрения защиты это решаемо.
А так я не настаиваю... Просто предложил. Мне как то такой вариант больше душу греет чем реле.
Ну почти уговорили.

Ставим предделитель 1:10 с парой стабилитронов включённых навстречу на 5В. От входных ужасов вроде как защищены.

На верхнем пределе получаем из +-50В после делителя безопасные для потенциометра +-5В. На нижнем пределе из +-50мв получаем +-5мв.
Эти +-5мВ надо до +-500мВ (размах от Vcc-2.41 до VCC-1.41) для ЦАП усилить. Придётся ОУ загонять усиление в 100 раз. Полезут шумы с питания и всё такое. Хотя с этим и можно справиться, но вот о макетках и халтурном монтаже придётся забыть. Что не очень здорово, на самом деле, для данной конструкции.

Сходу не соображу на сколько разрядов нужен потенциометр, но надо 3 порядка (50В - 50 мВ) перекрыть, линейный ЦП, как минимум на 10 разрядов понадобится (это, если удастся точно в сетку 1:1000 1:500 1:200 1:100 1:50 1:20 1:10 1:5 1:2 1:1 попадать на 1024 шагах).
Кроме того, нужно чтобы у него входное сопротивление не зависело от "положения", т.е. это должен быть цифровой трёхвыводной резистор, а не просто переменное сопротивление.
Есть такие нынче?

Но у ЦП есть "небольшая" проблема - как частотную компенсацию ему делать? Куда ёмкости ставить? Без ёмкостей будет бяка, даже на такой игрушке.

Хорошо подошёл бы тупой аналоговый коммутатор 10 входов на 1 выход и резисторы, но я не припомню коммутаторов на 10 входов. Обычно либо 8, либо 16. 8 пределов реально не хватает, а 16 - корпус здоровый. Есть ли что-нибудь на 10 входов в мелком корпусе, типа DIP18 ?

Цитата:

P.S. От 200 вольт без предделителя у C1-73 выносит вход.... Проверенно лично, пару раз :mad:
Ну это же не повод делать неправильно...

FlashBack 30.05.2011 02:37

Re: USB осциллограф на PIC18F4550
 
3-х выводные потенциометры есть - например MCP4541.
Да и если что, можно из 2-х двувыводных, сделать один трёхвыводной.
А поставив 2 подряд с повторителем между ними можно получить любое деление с 65535 шагов ;)
Т.е. весь входной каскад - 2 потенциометра в одном корпусе (посмотри на микрочипе, раздел Mixed Signal-potentiometers) ну и какой нибудь шустрый ОУ в промежутке и на выходе. Завязываешь всё это на I2C и делай что хочешь ;)

Либо как вариант потенциометор, следом - управляемый ОУ типа MCP6S91, для случаев низкого сигнала, потенциомерт на максимум, а далее с этим ОУ дотягиваешь...

В общем надо тщательно посчитать какой вариант будет оптимальнее... Да и помех будет куда меньше чем на нескольких реле.

Stanson 30.05.2011 03:47

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от FlashBack (Сообщение 135949)
3-х выводные потенциометры есть - например MCP4541.
Да и если что, можно из 2-х двувыводных, сделать один трёхвыводной.
А поставив 2 подряд с повторителем между ними можно получить любое деление с 65535 шагов ;)
Т.е. весь входной каскад - 2 потенциометра в одном корпусе (посмотри на микрочипе, раздел Mixed Signal-potentiometers) ну и какой нибудь шустрый ОУ в промежутке и на выходе. Завязываешь всё это на I2C и делай что хочешь ;)

Либо как вариант потенциометор, следом - управляемый ОУ типа MCP6S91, для случаев низкого сигнала, потенциомерт на максимум, а далее с этим ОУ дотягиваешь...

В общем надо тщательно посчитать какой вариант будет оптимальнее... Да и помех будет куда меньше чем на нескольких реле.

Хотелось бы обойтись одним корпусом с минимальной обвязкой, это раз. Всё-же это игрушка для начинающих или забава на выходной, а не навороченный прибор, куда можно напихать столько корпусов, сколько требуется.

И что делать с частотной компенсацией? Это два.
Искать ещё и цифровой переменный конденсатор? :)
Есть, конечно, вариант с варикапом управляемым ЦАПом, но, боюсь, сложно будет весь необходимый диапазон перекрыть.

Что насчёт коммутаторов? Мне кажется, это будет проще, даже если коммутатор на 10 позиций будет труднодобываемым. Всегда будет возможность предложить ограничиться 8-ю пределами поставив банальный K561КП1 ( CD4051 )- уж это-то барахло везде есть. У неё даже граничная частота через открытый ключ более чем достаточная для данной поделки - аж 20МГц.

У меня цель данного развлечения - сделать максимально простой прибор из доступных деталек существующих в DIP корпусах,
который, несмотря на свою простоту всё-же годен на что-то большее, чем поделки использующие встроенный АЦП однокристалки или "осциллографы из звуковухи", и даже может реально быть сравнимым по характеристикам с каким-нибудь серийным C1-101 или С1-94.
Так что схема с парой ЦП и доп. ОУ совсем не привлекает.

Stanson 30.05.2011 05:02

Re: USB осциллограф на PIC18F4550
 
Небольшое вспоможение тем, кто пробует повторить мою игрушку, потому как таковых оказывается немало, что для меня весьма удивительно.

Я добавил сюда абзац про то, зачем и как подбирать ёмкости в делителе.

Цитата:

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

1. Поставить конденсатор ёмкостью примерно 1000 пФ параллельно R18.
2. Выбрать самый чувствительный предел, подать на вход прямоугольные импульсы с частотой 1 кГц и размахом в несколько делений шкалы и подобрать конденсатор параллельно R1 так, чтобы прямоугольники на экране выглядели прямоугольниками, без пиков или завалов на фронтах.
3. Повторить операцию для каждого следующего предела, подбирая конденсаторы параллельно каждому резистору делителя соответственно пределу.
4. Повторить процесс с начала, и убедиться, что на всех пределах всё в порядке ( может проявиться ёмкость монтажа конденсаторов ), и, если что-то не так, слегка подкорректировать ёмкости.
По крайней мере, у меня так получилось настроить всё почти идеально.

FlashBack 31.05.2011 01:06

Re: USB осциллограф на PIC18F4550
 
Тогда можно уменьшить размер так:
MAX5481-MAX5484.
10 бит в одном потенциомерте ;)

Либо... Как вариант! Можно таскать Vref-ы у АЦП с помощью 2-х нормальных ЦАП-ов... Хотя, хз конечно что получится и какой ЦАП понадобится для сужения VREF-a настолько чтоб вышлоб маштабирование в 1000 раз...

О! В принципе 16 битный ЦАП, 2 штуки... Например MCP4922. 2 по 12 бит...


Stanson 31.05.2011 01:20

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от FlashBack (Сообщение 136021)
Тогда можно уменьшить размер так:
MAX5481-MAX5484.
10 бит в одном потенциомерте ;)

Это уже интереснее, хотя доступные корпуса не очень радуют. Даже SOIC нету. Мне-то наплевать, я и TQFN феном могу, а что делать основной "целевой аудитории" данного девайса?
Ну да ладно, наверняка и в DIP'е можно найти 10-bit потенциометры, небось у AD что-то есть.

Теперь осталось решить вопрос с частотной компенсацией.
Мне в голову приходит только ЦАП + варикап с диапазоном от 0 до 1000 pf.

FlashBack 31.05.2011 01:22

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от Stanson (Сообщение 136022)
Теперь осталось решить вопрос с частотной компенсацией.
Мне в голову приходит только ЦАП + варикап с диапазоном от 0 до 1000 pf.

Ась? Слушь, у тебя скайпа нет случаем? Если есть, кинь в ЛС.Быстрее сообразим на двоих в реалтайме :D

Stanson 31.05.2011 01:25

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от FlashBack (Сообщение 136023)
Ась? Слушь, у тебя скайпа нет случаем? Если есть, кинь в ЛС.Быстрее сообразим на двоих в реалтайме :D

Нету скайпа. Есть жаббер.

FlashBack 31.05.2011 01:27

Re: USB осциллограф на PIC18F4550
 
Эх... Жаль что нету... может поставишь?

Кстати, глянул, у AD на 10 бит тоже все TSSOP...

P.S. Вообще последнее время всё больше убеждаюсь, что DIP - зло :D Большой, неуклюжий, ещё и дырки под него сверлить...
А под SOIC и TSSOP что лут, что фоторезистом - не проблема, и компактно...

Stanson 31.05.2011 01:41

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от FlashBack (Сообщение 136025)
Эх... Жаль что нету... может поставишь?

Их сборка у меня не работает, а исходников они не дают. Так что не поставлю.

Цитата:

Кстати, глянул, у AD на 10 бит тоже все TSSOP...
Ну можно, в общем-то, 10-bit ЦАП для этого использовать, на Vref подавать исследуемый сигнал, с Vout снимать - тоже работать будет как делитель. ЦАП он же тупо выдаёт заданную цифрой долю от Vref.

Ну а с частотной компенсацией-то как?

FlashBack 31.05.2011 01:54

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от Stanson (Сообщение 136027)
Их сборка у меня не работает, а исходников они не дают. Так что не поставлю.

Хм... Поймаю знакомого любителя линукса... У него вроде есть. У тебя линух какой?

Цитата:

Сообщение от Stanson (Сообщение 136027)

Ну можно, в общем-то, 10-bit ЦАП для этого использовать, на Vref подавать исследуемый сигнал, с Vout снимать - тоже работать будет как делитель. ЦАП он же тупо выдаёт заданную цифрой долю от Vref.

Ну а с частотной компенсацией-то как?

Ну хз как ЦАП себя на высоких частотах будет вести, хз... Надо пробовать.

А что с компенсацией там? Я чёт пропустил этот момент...:o

Stanson 31.05.2011 01:57

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от FlashBack (Сообщение 136025)
P.S. Вообще последнее время всё больше убеждаюсь, что DIP - зло :D Большой, неуклюжий, ещё и дырки под него сверлить...
А под SOIC и TSSOP что лут, что фоторезистом - не проблема, и компактно...

Да мне тоже SOIC и пр. больше нравятся - намазал пасты на плату, расставил детальки, и феном или в печку. Быстро и просто. Но тем, кто с этим проблем не испытывает, нафиг не сдался простенький наколенный USB-осциллограф. Как правило, у тех, кто это умеет, деньги хотя бы на Rigol найдутся без проблем.

Насколько я понимаю, есть 2 категории тех, кто пытается повторить обсуждаемую поделку:

1. Развлекающиеся профессионалы, типа "о, забавная штучка из барахла, которое без дела в столе валяется". Такие соберут из чего угодно и сами напридумывают делителей из того, что есть под рукой. Для них главное - идея, ну и может быть исходники прошивки-софтины, чтоб самим не тратить время на их написание и отладку, а просто подправить за 5 минут под свою обвязку и навороты. Сюда же можно отнести тех, кто собирает эту штуку для решения каких-то своих рабочих задач, типа спектроанализатора или там ещё чего.

2. Начинающие. Денег на нормальный прибор пока нету, а что-то сделать своими руками - хочется. Вот им эти все замечательные SOIC'и и TQFP - как серпом по причинному месту. Человек только паяльник в руках научился держать, ему DIP и макетка с дырками - в самый раз.

Stanson 31.05.2011 02:05

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от FlashBack (Сообщение 136028)
Хм... Поймаю знакомого любителя линукса... У него вроде есть. У тебя линух какой?

Когда-то это была слакварь вперемешку с дебианом.
Теперь это вообще неизвестно что. Вернее, мне-то известно, но вот 99% бинарников собранных кем-то кроме меня да ещё и не на моей системе не работают. В том числе и скайп.

Цитата:

Ну хз как ЦАП себя на высоких частотах будет вести, хз... Надо пробовать.
Да нормально будет. Там обычно тупо R-2R и MOSFET ключики.

Цитата:

А что с компенсацией там? Я чёт пропустил этот момент...:o
Ну это же самое главное в делителе осциллографа. Для постоянки всё хорошо. А для переменки начинает играть роль входная ёмкость усилителя. Вместе с делителем получается ФНЧ - резистор + конденсатор на землю со всемы вытекающими искажениями формы негармонических сигналов типа меандра и пр. Чтобы этот эффект убрать, делают ёмкостной делитель в параллель резистивному, чтобы ёмкость делителя была значительно больше входной ёмкости усилителя, так же, как сопротивление делителя значительно меньше входного сопротивления усилка.

FlashBack 31.05.2011 02:10

Re: USB осциллограф на PIC18F4550
 
Ну... Тогда остаётся комутатор на 8 выводов с потерей 2-х режимов деления...

Либо с добавлением отдельной шкалы... Типа доп-делитель в виде подтяжки из резистора с ключём на землю.

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

Вообще можно просто, взять 10-ток транзисторов (наверное проще N-канальых), и через них подтягивать на землю сигнал через резистор... Но опять таки, что из этого выйдет - хз. Да и входное сопротивление будет меняться.

В общем есть куча вариантов...

majorPAE 31.05.2011 06:32

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от FlashBack (Сообщение 136023)
....Быстрее сообразим на двоих в реалтайме :D

Оптимист... На хоботе тема про самодельный осцилл дешевле $30 14 страниц с 2006 года... :rolleyes:

Stanson 31.05.2011 15:39

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от majorPAE (Сообщение 136034)
Оптимист... На хоботе тема про самодельный осцилл дешевле $30 14 страниц с 2006 года... :rolleyes:

Ну это на хоботе...
А тут давно уже всё придумано и обсуждаются всякие рюшечки, типа электронного аттюнеатора, которые совсем не обязательны.
Можно ещё обсудить подключение дисплейчика от мобильника, управление кнопками, автономную работу и всё такое прочее. :)

Stanson 31.05.2011 15:50

Re: USB осциллограф на PIC18F4550
 
Цитата:

Сообщение от FlashBack (Сообщение 136033)
Ну... Тогда остаётся комутатор на 8 выводов с потерей 2-х режимов деления...

Да, надо будет попробовать такое сделать.

Цитата:

Либо с добавлением отдельной шкалы... Типа доп-делитель в виде подтяжки из резистора с ключём на землю.
Тоже можно, но сопротивление входное не очень хочется менять...
Лучше Ку операционника переключать, хотя бы и релюшкой, чтобы не заморачиваться с транзисторами в цепи ОС. Одну-то герконовую релюшку для этого можно поставить - места много не займёт, доступна, жрёт мало и искажений не вносит.

Цитата:

Просто пытаться засунуть крутые требования, к некрутому прибору исходя из попавших под руку деталей чуток противное занятие...
Ну требования не такие и крутые, просто есть вещи, без которых осциллограф не осциллограф вовсе.
И по-моему, это достаточно интересная задачка - достичь их максимально простым и доступным способом.
Пока, вроде бы, получается.


Часовой пояс GMT +3, время: 20:53.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot