Сделал осциллограф дешевле $30
Версия для печати (стр. 1)

Конференция: Конференция iXBT.com (http://forum.ixbt.com/)
Форум: Электронные устройства и компоненты (http://forum.ixbt.com/?id=48)
URL: http://forum.ixbt.com/topic.cgi?id=48:5985

Время GMT +03. Даты в формате dd.mm.yyyy.

Страницы: 1 2 3 4 · далее / все сообщения темы на одной странице

Mr.PG, 08.09.2006 05:41
Помогите, пожалуйста, понять, как правильно применить операционный усилитель для конкретной задачи. Я, увы, любитель-самоучка со стажем в полгода, и четкое понимание аналоговых схем - не моя сильная сторона, хотя, конечно, разумный набор книжек я честно прочитал. Ну, цифровой я человек - голова так устроена

Итак, для начала - общий взгляд на задачу. Посмотрел я вокруг - и увидел, что по каким-то неясным причинам ультра-дешевые осциллографы в мире отсутствуют как класс. Из фабричных - есть простенькие ЖК-модели долларов за 130-150, есть от сотни долларов коробочки для подключения к USB или LPT. Из любительских конструкций - есть много смешных, но ни одного законченного и имеющего разумные характеристики. Под разумными я понимаю примерно те же, что у простеньких фабричных ЖК (похожих на мультиметры), то есть довольно большие сотни честных кило-отсчетов в секунду и аналоговая полоса в районе сотни килогерц (например, Velleman PersonalScope HPS5, BeeTech 33N или BeeTech 70). Это, конечно, не настоящий осциллограф, но для автомобиля или хобби-проектов очень удобный приборчик... См. http://www.chipinfo.ru/dsheets/equipment/pdf/beetech_multimeters.pdf и http://www.izmer-tech.narod.ru/oscil/Hps5_uk.pdf

И захотелось мне сделать такую штуку. Соорудил на скорую руку из того, что оказалось в ящике (см. http://abletools.com/osc1schem.gif http://abletools.com/osc1front.jpg http://abletools.com/osc1back.jpg http://abletools.com/osc1screen.jpg ). Сайт полноценный пока не сделал, но уже скоро - и тексты и фотки уже готовы, осталось только сверстать. Там, само собой, полно проблем, например, кнопки при одновременном нажатии замыкаются накоротко между собой , но оно работает, и работает очень неплохо - точно так, как и должно по даташитам. 300 кило-отсчетов в секунду с весьма сложными триггерами на 8-мегагерцовом ATmega8L-8AI, все ловится, показывается, триггеры сложные работают, все удивительно точно и красиво, только чуток заваленные фронты из-за тормозного ОУ не дают вылезти выше 20-30 килогерц меандра. Если кому-то не лень качать - вот пять мегабайт видео весьма жуткого качества, гордо демонстрирующего супер-автоматическое автоопределение разных сигналов и автоматический подбор для них триггеров: http://abletools.com/oscilloscope.avi Самая дорогая деталь (16.4 доллара) - сам LCD, все остальное в сумме меньше этой цифры Так что в 30 долларов итоговый приборчик укладывается с большим запасом, и удается напихать туда немало очень красивых функций, которых нет у фабричных аналогов. И жрет всего 15mA, так что от батареек будет работать долго - в разы и десятки раз дольше, чем фабричные.

Софта уже 50 килобайт написано (компиляется в 5.8, так что до 8 еще места немало) - и эту штуку даже в нынешнем виде вполне можно использовать как довольно адекватный осциллограф для домашних проектов с микроконтроллерами. Делается оно на коленке, быстро и просто - лазерный утюг и обычный паяльник. Ну, соответственно, захотелось теперь уже по-настоящему сделать вторую версию, с корпусом и разъемами, на ATmega8-16AU (это даст до 600 кило-отсчетов в секунду) и с нормальным ОУ (ad8051AR), у которого очень приятные характеристики при разумной цене.

Среди прочих изменений для второй версии захотелось измерять не только положительные напряжения, но и отрицательные. И вот тут-то я и исчерпал свои знания ОУ, и не только их

Как у меня было раньше? См. схему http://abletools.com/osc1schem.gif - моя земля напрямую соединялась с землей исследуемой схемы (не видно на схеме - это сдублированный земельный пин в разъеме для батарейки), я все входящие сигналы жестко делил на 11, чтобы не морочиться еще и с программируемыми делителями, и с помощью пары диодов (Zener и Shottky) обрезал до диапазона от -0.3V до 4.7V, как гарантированно безопасного. Потом подавал на ОУ - и с помощью коммутатора 74HC4066 программно выбирал нужное усиление, подключая разные резисторы. Результат - значение от 0 до 2.56V, которое я цифрую и показываю.

Что хочется иметь сейчас? В микроконтроллере есть внутренний Vref=2.56V. Нагружать его нельзя - как пишет Атмел в даташите, "Note that Vref is a high impedant source, and only a capacitive load should be connected in a system". Я хочу иметь на осциллографе клипсу, которая подключается к земле исследуемой схемы, и хочу, чтобы сигналы, совпадающие с этой "чужой землей", превращались на входе АЦП (то есть на выходе ОУ) в половину от Vref. Делить сигналы на входе хочется на 20 вместо 10 (чтобы расширить диапазон вдвое - в отрицательную область). Опять же, хочется, как и раньше, чтобы за счет подключения разных резисторов в цепь обратной связи ОУ я мог усиливать эти самые сигналы относительно "чужой земли" от 1 до примерно 250 раз (чтобы 0.1 вольта, поделившись на 20 и умножившись на 250, превращались как раз почти в половину Vref). Само собой, очень хочется избежать дополнительных источников питания, да и вообще обойтись минимумом деталей - это увеличит и цену и, главное, количество проблем у желающих собрать такой прибор.

Пока у меня "моя земля" была соединена с "чужой землей", я еще понимал, что куда. Но здесь - не понимаю. Что относительно чего делить и сдвигать (и на сколько), что с чем соединять, где какие токи потекут, как будет работать ОУ... Объясните, а? Если еще и накидаете на салфетке (или на манжете) какую-нибудь схему - совсем хорошо, а то слов, боюсь, мне не хватит...

Ну, я априори представил себе что-то типа соединения "чужой земли" с половиной Vref и подачи полученного коктейля на отрицательный вход ОУ, но ведь так нифига не capacitive load получается, а вполне resistive - как я иначе половину Vref получу, кроме как деля его резисторами? Опять же, нифига не ясно, какие величины резисторов, и что при этом получится с обратной связью в ОУ. Да и вообще - ощущение, что я не понимаю чего-то жизненно важного, глобального, не оставляет. В принципе, вместо ответа можно и нужно тыкать меня носом в книги, но адресно - Хоровица и Хилла я и так читаю регулярно, пока не помогло

Соответственно, код, разводку плат и прочие радости я выложу, как только странички доверстаю, лицензия - что-то вроде BSD, то есть "делайте все, кто хочет, что хотите".

1. Hrym, 08.09.2006 09:59
отличная штука!
мне бы такой сейчас очень пригодился

2. bodja, 08.09.2006 10:40
Ну Вы народ даете

Вот давно выложен мой проект по осциллографу за 30$
http://forum.roboclub.ru/IPBoard/index.php?showtopic=131&st=0
Там все выше перечисленные проблемы решены +имеем хорошую программную синхронизацию+фильтрация искажений из за дискретности выборок+расписаны исходники.
Короче можно сделать или взять за основу .
Если что будет неясно ,спрашивайте.

3. be_smart, 08.09.2006 12:15
цитата:
Mr.PG:
Помогите, пожалуйста, понять, как правильно применить операционный усилитель для конкретной задачи.

руководство по применению ОУ - pic16f628.narod.ru/z09b.htm

4. urriz, 08.09.2006 13:24
У меня есть что-то подобное на Мега16, только с внешним более быстрым АЦП, частотомером до 2 ГГц, измерителем U,I,R,C,L, генератором на 8 разрядном R-2R ЦАПе (стандартные сигналы и c возможностью записи и воспроизведения внешних), теле/мониторным видео генератором с модулятором с цифровым синтезатором, память на флешке AT45DB161 (2Мб) для снятия протоколов обмена (до 8 цифровых сигналов или 1 аналогового входа), можно контролировать обмен по RS232,485 (modbus),I2C,пультов дист.упр. Пока хватает для большинства применений, добавляю функции по мере необходимости, может потом оформлю и выложу в интернете. Дисплей на меньшее количество точек (МТ-6116).

По применению ОУ есть неплохие книги:
Opamps for everyone : http://focus.ti.com/lit/an/slod006b/slod006b.pdf
Op Amp Applications Handbook : http://www.analog.com/library/analogDialogue/archive…ons_handbook.html
Также много старых книг по ОУ есть на сайте www.umup.narod.ru

Похожие проекты :
www.usb-osc.narod.ru
http://ww1.microchip.com/downloads/en/AppNotes/00689a.pdf
http://www.piclist.com/techref/piclist/weedfreq.htm
www.umup.narod.ru/uniprobe.zip
схема HPS5 : www.umup.narod.ru/hps5.zip

Добавление от 08.09.2006 13:40:

Еще :

Super probe : http://members.cox.net/berniekm/super.html

5. Mr.PG, 08.09.2006 17:07
Спасибо всем - тщательно изучил ссылки, кажется, стало понятнее

2 bodja - похоже, именно такая конструкция входа будет в самый раз, спасибо огромное! Опять же, какая красивая идея халявной (без внешних переключателей) коммутации AC/DC... И печатка как грамотно разведена... Только непонятно - как же в $30 умещается и дисплей 128x64 ценой $28 и АТмега16 (еще $5), не считая мелочевки еще долларов на пять, платы, разъемов, клипс и прочего? Кнопок, опять же, надо добавить для интерфейса. ОУ апгрейдить тоже, кажется, необходимо - со slew rate в 0.3V/us и полосой в 600KHz он загнется до неприличия на сигнале в 10 килогерц (мой нынешний lm324n при 0.5V/us и 1.2MHz скисает до неприличия где-то после 20-30 - и я его поменяю в следующей версии). Это еще пара долларов. В итоге, кажется, общая цена вылезет за $30 раза в полтора...

А можно сразу чуток вопросов?

Первый - жалко терять целых пять миллиампер в делителе, подтягивающем землю к середине. А что будет, если побольше резисторы, чем 470? Что ухудшится?

Второй - почему такой маленький резистор на входе (90K), ведь будет сильное влияние на исследуемую схему? Что ухудшится, если поднять его хотя бы в несколько раз?

И третий: почему так много подстроечных резисторов - вроде, софтом проще и надежнее калибровать?

2 urriz: было бы очень полезно такую штуку оформить и выложить - почему-то все хорошие проекты страдают слабостью софта, а уж такое количество полезных функций, да еще и доведенных до реального устройства, практически не встречается... Было бы особенно интересно посмотреть, как сделан интерфейс к этому всему. Собственно, если меня после завершения "до $30" (забивания 8 килобайт под завязку) не настигнет припадок лени - я подумаю о переходе на какую-нибудь АТмегу пожирнее и дописывании всяких забавных функций... Я попытался на досуге прикинуть, какие фичи можно дописать в такой прибор просто софтом - и список получился в десятки пунктов, жуткое дело

6. urriz, 08.09.2006 19:25
Мегу16 выбрал потому что нужен интерфейс с ЖКИ, SPI, I2C, ЦАП на 8 разрядов, сигналы управления входным делителем и источником опорного напряжения, не хотелось лепить лишних микросхем.
Программа написана на С (WinAVR), дополнительные функции добавлять легко. Сейчас добавляю таймер, счетчик импульсов, термометр на DS18B20 и TMP36. Уже несколько раз прибор пригодился - один раз нужно было выяснить правильность работы программы обмена данными (оказалось, проблема в оборудовании), и раз зафиксировали наличие скачков и пропаданий напряжения в сети (как правило, происходило это ночью), не могли понять причины сбоев в работе аппаратуры.
Но пока это в макетном варианте, нужно будет сделать нормальную плату. Еще нужно решить какие сигналы вывести на внешний разъём, для возможности дальнейшего расширения функций (внешние делители, усилители и т.п.)
Сразу все функции продумать невозможно, поэтому добавляю по мере необходимости.

7. Mr.PG, 08.09.2006 20:54
У меня просто под боком Бурый Медведь - а в нем только ATmega8 А ехать через всю Москву в чип-дип или еще куда-нибудь специально лениво. Вот и решил в качестве первого "прикладного развлечения" подковать блоху.

Кстати, на удивление мощно подковывается - с внешним супер-быстрым АЦП не получится всерьез ловить триггеры, ведь их же надо, если по-хорошему (не просто "больше X" от компаратора, а с произвольным количеством красивых условий), обсчитывать в реальном времени... А так свои 600KSPS у меня, вроде бы, будут, и почти с любыми триггерами (проверяется два условия на каждой стадии, но одно из них, увы, тратится на счетчик для таймаута - так что одно условие типа "сейчас ждем, чтобы стало меньше X", "сейчас - чтобы не меньше Y отсчетов накопилось с предыдущей стадии", "сейчас - чтобы стало больше Z") можно успешно их собирать на такой скорости такт-в-такт. Пре-триггер (можно ждать синхронизации, собирая данные на полной скорости), пост-триггер любой разумной длины, произвольная автоматизация всего этого... И по цене грязи под ногами Самому нравится. Кстати, тоже WinAVR.

Эхх... Добыть бы сравнительно дешевый цветной экранчик с контроллером и разумным интерфейсом - можно было бы без проблем DPO соорудить, даже на той же ATmega8 Ну, с накоплением, плавным изменением цвета... Вроде, в Штатах уже что-то в эту сторону начало появляться (в sparkfun.com, например - за $40 с тач-скрином http://www.sparkfun.com/commerce/product_info.php?products_id=257 или вообще за $20 http://www.sparkfun.com/commerce/product_info.php?products_id=569 ), но где они - и где Москва...

8. Chudik, 08.09.2006 21:44
Mr.PG
с внешним супер-быстрым АЦП не получится всерьез ловить триггеры, ведь их же надо, если по-хорошему (не просто "больше X" от компаратора, а с произвольным количеством красивых условий), обсчитывать в реальном времени...
А для обработки компаратора в реальном времени надо и не процессор использовать

Добавление от 08.09.2006 21:48:

Mr.PG
в sparkfun.com, например - за $40... или вообще за $20
Wow!!! Закинь эти ссылки в Полезные ссылки (http://forum.ixbt.com/topic.cgi?id=48:231)
Впрочем, сам закину.

А вообще посмотри в сторону GameBoy Advanced SP. Конечно, в cумме в $30 не уложиться, но и возможностей побольше открывается

9. urriz, 08.09.2006 22:11
>Кстати, на удивление мощно подковывается - с внешним супер-быстрым АЦП > не получится всерьез ловить триггеры, ведь их же надо, если по-хорошему

Можно ловить отдельным компаратором, включенным перед АЦП, даже внутренним, порог срабатывания задавать ШИМом, нарастание или спад фронта для прерывания выбирать программно.

10. Chudik, 08.09.2006 22:15
urriz
Он хочет не просто по уровню обрабатывать, а по комбинации нескольких событий.

11. bodja, 08.09.2006 22:37
Mr.PG
2 bodja - похоже, именно такая конструкция входа будет в самый раз, спасибо огромное! Опять же, какая красивая идея халявной (без внешних переключателей) коммутации AC/DC... И печатка как грамотно разведена... Только непонятно - как же в $30 умещается и дисплей 128x64 ценой $28 и АТмега16 (еще $5), не считая мелочевки еще долларов на пять, платы, разъемов, клипс и прочего? Кнопок, опять же, надо добавить для интерфейса. ОУ апгрейдить тоже, кажется, необходимо - со slew rate в 0.3V/us и полосой в 600KHz он загнется до неприличия на сигнале в 10 килогерц (мой нынешний lm324n при 0.5V/us и 1.2MHz скисает до неприличия где-то после 20-30 - и я его поменяю в следующей версии). Это еще пара долларов. В итоге, кажется, общая цена вылезет за $30 раза в полтора...

MELT 12864 под заказ в Киеве мне обошелся 21$ (в Москве по идее должно быть дешевле ,все таки Московский завод ),ATmega16 в 4$,ОУ в 0.5, 4052 в 0.3,ST232 - 0.4,всего остального у любого радиолюбителя как гав...
Насчет ОУ выбор был чисто случайным,и в принципе удачным,загибов нет так
как коефициент усиления небольшой,здесь больше сыграло роль Low Power,
что дало возможность питать при 5вольт.


Первый - жалко терять целых пять миллиампер в делителе, подтягивающем землю к середине. А что будет, если побольше резисторы, чем 470? Что ухудшится?

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

Второй - почему такой маленький резистор на входе (90K), ведь будет сильное влияние на исследуемую схему? Что ухудшится, если поднять его хотя бы в несколько раз?

Вообще то у меня на щупе делитель на 10,тоесть можно переключать на
+900кОм,так как мне в основном требуется мерять большие напряжения.
Ну и я практически по работе мало когда меряю настолько слаботочные цепи чтобы 100кОм влияло.
А так можно конечно сохранив деления.

И третий: почему так много подстроечных резисторов - вроде, софтом проще и надежнее калибровать?

1 Контрастность ЖКИ
2 Выставляем центр луча(напряжение относительной земли)
3 Калибруем усиление ОУ
Без усложнения схемы ,чисто программно это не сделать.Ну и нужно только один раз.

12. Mr.PG, 08.09.2006 23:18
Я честно прочел все 105 страниц "не процессоров", как мыльную оперу - нет уж Столько лет у меня не найдется, мне бы по-быстрому, и чтобы весело по дороге было. Так что внутренний неспешный АЦП - самое оно. Следующий очень разумный шаг (по цене и сложности) - наверное, не спартаны с верилогом, а какой-нибудь шустренький гибрид DSP и микроконтроллера. Ну, DSPIC, например - http://www.microchip.com/stellent/idcplg?IdcService=…dDocName=en024663 за 7 долларов предлагает 40 MIPS, 2 кило честной DMA RAM внутри и вполне разумный набор DSP-инструкций, не считая 256K флэша и 32K RAM... Думается, несколько мегагерц можно софтверно потянуть в реальном времени, если аккуратно, и не теряя преимуществ микроконтроллерности. А пока руки дойдут - глядишь, и больше будет...

Gameboy - очень уж интерфейс к нему хлопотный, я про него довольно долго читал, но в итоге сломался. Да и сделано уже - ниша занята, зачем повторять? Если бы мне небольшой осциллограф всерьез был нужен - я бы его, наверное, купил, HPS10 какой-нибудь, например, а не делал бы А вот "технологично и почти бесплатно" - эта ниша пока свободна: кто пишет - не доделывает, кто доделал - не публикует...

Ссылки - так, вроде, спаркфан любому американцу надо знать и так, наравне с маусером и диджикеем, а то и до них - в нем такие забавные штуковины встречаются, что в Москве челюсть на пол падает... Так что, наверное, не надо эти конкретные, а надо сам магазин? Короче, я здесь новичок, так что торжественно доверяю закидывать эти ссылки кому угодно и куда угодно, если они интересны, но сам не буду. Кстати, и моего любимого alldatasheet.com там тоже что-то не видно, а он довольно обширен...

Кстати, я тут с горя порылся в яндексе - и теперь сижу и мучительно размышляю: http://gsmservice.ru/catalogue/index.html?cat=141 - то же самое, что и в спаркфане, или нет? Фотки для нужного дисплея почему-то не выложены, блин, так что и не сравнишь по виду...

А вдруг это именно оно, а? Тогда вся схема умещается не то что в Altoids tin, а в наручные часы Экранчик-то всего дюйм-на-дюйм, цветной, шустрый... Жаль, конечно, подсветка жрет 40-100мА вместо исходных 15, но ради такого дела можно и аккумулятор вместо батарейки воткнуть. Зато какой выпендреж - Digital Phosphor Oscilloscope на запястье, и цена меньше $30...

Кстати, bodja что-то на вопросы пока не откликается - может, кто-нибудь из темы о "настоящем осциллографе" поможет с идеологически верным аналоговым входом для таких частот и уровней? Вам ведь это раз плюнуть - чай, не гигагерцы и не микровольты

13. bodja, 08.09.2006 23:36
Mr.PG
Кстати, bodja что-то на вопросы пока не откликается - может, кто-нибудь из темы о "настоящем осциллографе" поможет с идеологически верным аналоговым входом для таких частот и уровней? Вам ведь это раз плюнуть - чай, не гигагерцы и не микровольты

Читайте выше своего поста.

14. Chudik, 08.09.2006 23:40
Mr.PG
Я честно прочел все 105 страниц "не процессоров", как мыльную оперу - нет уж Столько лет у меня не найдется, мне бы по-быстрому, и чтобы весело по дороге было.
На самом деле я имел ввиду немножко другое. Так сказать, промежуточный вариант: сделать обработку сложного триггера на мелкой CPLD, а АЦП и всё остальное через любой твой любимый микроконтроллер. Правда, для этого лучше использовать внешний АЦП или как-то быстро передавать отсчёты внутреннего АЦП наружу (через DMA, если есть, например). Т.е. сделать этакий сопроцессор триггера запуска.
Впрочем, ты сам говорил с внешним супер-быстрым АЦП не получится всерьез ловить триггеры, ведь их же надо, если по-хорошему (не просто "больше X" от компаратора, а с произвольным количеством красивых условий), обсчитывать в реальном времени...
Т.е. мысль использования внешнего АЦП у тебя уже сквозила

Так что, наверное, не надо эти конкретные, а надо сам магазин?
да, я общую ссылку и закинул, а не только эти конкретные.

alldatasheet.com там тоже что-то не видно
Вроде был.

15. Mr.PG, 08.09.2006 23:58
цитата:
bodja:
MELT 12864 под заказ в Киеве мне обошелся 21$ (в Москве по идее должно быть дешевле ,все таки Московский завод ),ATmega16 в 4$,ОУ в 0.5, 4052 в 0.3,ST232 - 0.4,всего остального у любого радиолюбителя как гав...
Так нечестно Если так - то у меня 16.4 экран, 1.85 атмега, lm324d за 0.12, пару штук 74H4051М96 по 0.15. Так и до $19 не доберусь, пожалуй Но ведь там еще питание, кнопки (минимум центов 7 за штуку, а то и все 30), пищалка за $0.75 и прочая мелкая, но все равно не бесплатная ерунда. Набегает по копеечке... Да и дешевый MELT западникам, наверное, недоступен (да и я не знаю, где его искать) - а обычные, вроде бы, подороже...
цитата:
bodja:
Насчет ОУ выбор был чисто случайным,и в принципе удачным,загибов нет так
как коефициент усиления небольшой,здесь больше сыграло роль Low Power,
что дало возможность питать при 5вольт.
Они есть, их не может не быть. Правда! Ну, slew rate 0.3V/us - это значит, что на выходе от 0 до 5 вольт можно добраться только за 5/0.3=17us. При частоте 200KSPS (один отсчет - 5us) мы видим, что идеальные прямоугольные фронты расползаются до 4 пикселей. И от усиления это не зависит. А это, в свою очередь (ведь меандр имеет два таких прямоугольных фронта), означает, что меандр полностью теряет плоскую верхушку в тот момент, когда на его волну приходится порядка 10 пикселей, а потом начинает еще и амплитуду терять. То есть 20КГц - уже не видно ничего вообще, пила вместо прямоугольников. Да и 15КГц - не прямоугольники, а весьма грустные трапеции... Пока не сделаешь вчетверо медленнее отсчеты - красивые прямоугольники не появятся, а это уже смешные 50KSPS, то есть с немалой натяжкой до 10KHz меандр будет виден условно нормально.

Нет, я понимаю, теорема Котельникова, меандр с бесконечным спектром, с ним нечестно килогерцы считать - но в реальной-то жизни именно килогерцы меандра и являются мерилом истины, а не синус

У меня 300KSPS на 8MHz, ибо пока ATmega8L стоит (правда, 2.56V на выходе ОУ, что чуть легче) - и 0.5V/us у LM324 останавливают всё шоу примерно на 30KHz меандре (как раз последние остатки плоских верхушек исчезают). А могло бы быть и чуть повыше
цитата:
bodja:
Ну и я практически по работе мало когда меряю настолько слаботочные цепи чтобы 100кОм влияло.
Ну, 100 - это ведь как раз pullup у типичного микроконтроллера Не хочу я в него таким же резистором тыкать - может неправильно понять... Хотя бы раз в несколько поболее... Так что у нас просто разные цели.

Спасибо за ответы! Пошел рисовать

Добавление от 09.09.2006 00:17:

цитата:
Chudik:
Mr.PG
Я честно прочел все 105 страниц "не процессоров", как мыльную оперу - нет уж Столько лет у меня не найдется, мне бы по-быстрому, и чтобы весело по дороге было.
На самом деле я имел ввиду немножко другое. Так сказать, промежуточный вариант: сделать обработку сложного триггера на мелкой CPLD, а АЦП и всё остальное через любой твой любимый микроконтроллер. Правда, для этого лучше использовать внешний АЦП или как-то быстро передавать отсчёты внутреннего АЦП наружу (через DMA, если есть, например). Т.е. сделать этакий сопроцессор триггера запуска.
Впрочем, ты сам говорил с внешним супер-быстрым АЦП не получится всерьез ловить триггеры, ведь их же надо, если по-хорошему (не просто "больше X" от компаратора, а с произвольным количеством красивых условий), обсчитывать в реальном времени...
Т.е. мысль использования внешнего АЦП у тебя уже сквозила

Это не у меня - это у urriz так как раз и сделано - внешний АЦП и ATmega16 Но тут засада есть - если уж сделать "бесконечно быстрый" триггер, то захочется и АЦП поставить более шустрый, хотя бы на мегагерцы, а ему сразу памяти внешней подавай - тут одно потянет другое, и вместо двух-трех микросхем мы получим десяток, общей ценой больше сотни. И микроконтроллер, занятый только интерфейсом. Надо как-то себя ограничивать, пожалуй... Хотя, наверное, по характеристикам оно должно быть получше, чем на dsPIC.

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

16. Sergey_G., 09.09.2006 00:17
Mr.PG
Что хочется иметь сейчас? В микроконтроллере есть внутренний Vref=2.56V. Нагружать его нельзя
Сделай так. Возьми копеечный операционник типа TLC081 (10 МГц), его (+) вход соедини с Vref, выход подай на вход АЦП, на (-) подай сигнал через резистор 1 МОм, и еще резистор на 1 МОм между (-) входом и выходом. В результате получишь вход относительно общего провода и выход относительно VRef, с коэффициентом усиления = -1. При этом на входе напряжение может быть двуполяным, однако питание достаточно однополярное.

Добавление от 09.09.2006 00:46:

Да, ошибся немного. VRef надо поделить на 2. Сделать это можно еще одним операционником.

17. bodja, 09.09.2006 00:54
Mr.PG
Они есть, их не может не быть. Правда! Ну, slew rate 0.3V/us - это значит, что на выходе от 0 до 5 вольт можно добраться только за 5/0.3=17us. При частоте 200KSPS (один отсчет - 5us) мы видим, что идеальные прямоугольные фронты расползаются до 4 пикселей.

Не путайте милисекунды с микросекундами,немного разные вещи



При частоте 200KSPS (один отсчет - 5us) мы видим, что идеальные прямоугольные фронты расползаются до 4 пикселей.

У меня такая частота постоянно при любой программной развертке.
Постоянно меряю строчные запускающие импульсы (ремонтом телеков занимаюсь) ,меандр частотой 15.625 Гц ,ничего не расползается и даже
неплохо видно "иголки" при переключении строчного транзистора.

Нет, я понимаю, теорема Котельникова, меандр с бесконечным спектром, с ним нечестно килогерцы считать - но в реальной-то жизни именно килогерцы меандра и являются мерилом истины, а не синус

Думаю теорема Котельникова ,теоремой и останется,ее применение только
замыливает глаза.

Ну, 100 - это ведь как раз pullup у типичного микроконтроллера Не хочу я в него таким же резистором тыкать - может неправильно понять... Хотя бы раз в несколько поболее... Так что у нас просто разные цели.

Между резистором и входом АЦП стоит ОУ
pullup у меня отключены,кроме того если бы и остались ,ОУ все равно качало бы нужное напряжение.



Спасибо за ответы! Пошел рисовать

Пробуйте,нужна будет помощь обращайтесь,так как плотно когдато этим занимался.

18. housemouse, 09.09.2006 02:31
если кого устроит полоса до 20кГц то можно сделать скоп из компа, надо просто скачать spectralab...
А дальше делителями гасить вх.сигнал, это несложно. Но вот обеспечить гальваноразвязку - никак.

19. Mr.PG, 09.09.2006 02:40
цитата:
bodja:
Mr.PG
Они есть, их не может не быть. Правда! Ну, slew rate 0.3V/us - это значит, что на выходе от 0 до 5 вольт можно добраться только за 5/0.3=17us. При частоте 200KSPS (один отсчет - 5us) мы видим, что идеальные прямоугольные фронты расползаются до 4 пикселей.

Не путайте милисекунды с микросекундами,немного разные вещи

А кто это у нас тут путает? У меня, вроде как, все правильно написано - везде _микро_ (буква u, она же "мю"), одна миллионная доля секунды. Откуда тут взяться "милли"? Хотя, конечно, практика - критерий истины, может быть, конкретный ОУ на самом деле в десять раз лучше, чем в даташите?.. А сколько пикселей на экране получается на полную волну (два полупериода) в меандре 15625 Гц? Если не 13 (то есть ровно десять полных волн на экране) - что-то не сходится на тему 200KSPS. А если 13 - то должны быть жутчайшие проблемы с фронтами, если я нигде не обсчитался - но, вроде, цифры несложные Ну да ладно, в конце концов, работает - и ладно.

цитата:
bodja:
Mr.PG
Ну, 100 - это ведь как раз pullup у типичного микроконтроллера Не хочу я в него таким же резистором тыкать - может неправильно понять... Хотя бы раз в несколько поболее... Так что у нас просто разные цели.

Между резистором и входом АЦП стоит ОУ
pullup у меня отключены,кроме того если бы и остались ,ОУ все равно качало бы нужное напряжение.

Не-не-не, я совсем не о том. На входе осциллографа стоит обычный резистивный делитель. То есть через примерно 100KOhm мы тянем ту точку в чужой схеме, которую щупаем, к ее родной земле. Если эта точка - чья-то нога (ох и фрейдизм, однако), и там стоит pullup, который примерно так же вяло тянет в другую сторону, начинается классическая битва - кто кого заборет, слон кита или кит слона. Это неадекватно отражается на поведении ощупываемого - вдруг он кнопку там ждет... Отсюда я делаю вывод, что 100K - мало даже для домашних поделок с микроконтроллерами.

Добавление от 09.09.2006 02:54:

цитата:
Sergey_G.:
Mr.PG
Что хочется иметь сейчас? В микроконтроллере есть внутренний Vref=2.56V. Нагружать его нельзя
Сделай так. Возьми копеечный операционник типа TLC081 (10 МГц), его (+) вход соедини с Vref, выход подай на вход АЦП, на (-) подай сигнал через резистор 1 МОм, и еще резистор на 1 МОм между (-) входом и выходом. В результате получишь вход относительно общего провода и выход относительно VRef, с коэффициентом усиления = -1. При этом на входе напряжение может быть двуполяным, однако питание достаточно однополярное.

Добавление от 09.09.2006 00:46:

Да, ошибся немного. VRef надо поделить на 2. Сделать это можно еще одним операционником.

Угу, я понял суть, спасибо. Если "простой" вариант будет работать плохо - видимо, так и придется делать. Засада в том, что очень уж не хочется добавлять еще корпусных деталей - а тут, как минимум, еще одна микросхема с двумя ОУ внутри появляется. Тут и заметные лишние хлопоты с разводкой (а ее хочется попробовать сделать односторонней), и необходимость покупать, паять... Одна из довольно важных целей - легкость в изготовлении, ведь делать-то будут не особо опытные люди... Но общий принцип - ОУ как буфер для Vref и потом сдвиг через ОУ - спасибо еще раз, осознал.

20. Kotische, 09.09.2006 03:12
Chudik Правда, для этого лучше использовать внешний АЦП или как-то быстро передавать отсчёты внутреннего АЦП наружу (через DMA, если есть, например). Т.е. сделать этакий сопроцессор триггера запуска.
Вариант - вешаем на выходную шину данных АЦП адресную шину статической озушки, прописываем озушку посредством микропроцессора нужной конфигурацией данных, получаем на выходе шины данных озушки N линий компараторов...
А их уже заводить на защелки... и Gate-входы программируемых счетчиков...

21. be_smart, 09.09.2006 03:14
цитата:
housemouse:
если кого устроит полоса до 20кГц ...

Но вот обеспечить гальваноразвязку - никак.

почему ???

22. Chudik, 09.09.2006 03:39
Kotische
Вариант - вешаем на выходную шину данных АЦП адресную шину статической озушки, прописываем озушку посредством микропроцессора нужной конфигурацией данных, получаем на выходе шины данных озушки N линий компараторов...
А их уже заводить на защелки... и Gate-входы программируемых счетчиков...

И что ты получишь? Мало того, что тебе надо прописать кучу состояний (минимум 256), так ещё защёлки заводить, делать какую-то дополнительную логику... При этом физически не сможешь сделать, например, такое: запустить развёртку если напряжение поднялось до 0.5 В, постояло выше этого значения 5 мкс и упало ниже 0.38 В

23. Sergey_G., 09.09.2006 12:36
Mr.PG
Я снова ошибся. Vref надо делить не на 2, а на 4. НО это уже не моя вина - в даташите от AD так было нарисовано.

По поводу деталей- у тебя на схеме их сейчас больше. 1 корпус операционника + 4 резистора - не так уж и много. Делитель лучше делать на реле.
Кроме того, у Atmel есть и более интересные серии процессоров. Например, AT91SAM7S64.
Стоит недорого, имеет АЦП с скоростью 500 к штатно, без разгона, и еще есть PLL и FullSpeed Usb. И 64 к оперативной памяти. Это позволит гнать данные в комп в реальном времени на скорости до 1000к
и не гемороится с хитрыми триггерами и тп.

24. housemouse, 09.09.2006 18:29
be_smart
Но вот обеспечить гальваноразвязку - никак.
почему ???

потому что звукашка на корпусе компа, а на нем потенциал 110 вольт. В принципе бывают звуковые карты с внешним ADC, с них цифровой выход по оптике (toslink) но цены невкусные, как-бы небыло дешевле просто купить скоп в магазине.

25. Mr.PG, 09.09.2006 19:03
Вот что получилось: http://abletools.com/osc2schem.gif - вход по мотивам bodja и программная кнопка питания, чтобы выключался автоматически. Подстроечник около земли ставить не буду, чтобы лишней детали не было - софтом скорректирую ноль, ошибка в пару-тройку пикселей не помешает...

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

Подскажите, кто реально пользуется портативными осциллографами в жизни - на что полезнее всего пустить эти ножки? Многоканальность, ультразвуковой дальномер, логический пробник, LED-стробоскоп для измерения частоты вращения? Еще что-то?

Опять же, мультиметр, вроде бы, логично смотрелся - I,R,L,C, распознавание транзисторов и диодов... Но схема будет совсем неприлично большая, да и код в ATmega8 может не влезть

Добавление от 09.09.2006 19:17:

цитата:
Sergey_G.:
Я снова ошибся. Vref надо делить не на 2, а на 4. НО это уже не моя вина - в даташите от AD так было нарисовано.

По поводу деталей- у тебя на схеме их сейчас больше. 1 корпус операционника + 4 резистора - не так уж и много. Делитель лучше делать на реле.
Кроме того, у Atmel есть и более интересные серии процессоров. Например, AT91SAM7S64.
Стоит недорого, имеет АЦП с скоростью 500 к штатно, без разгона, и еще есть PLL и FullSpeed Usb. И 64 к оперативной памяти. Это позволит гнать данные в комп в реальном времени на скорости до 1000к
и не гемороится с хитрыми триггерами и тп.

Почему на четыре - не понимаю совершенно. Вроде, AD права?

А остальные советы - я понимаю, откуда они взялись, но они решают другую задачу. У меня - как можно проще, дешевле, доступнее детали, меньше ток (ибо батарейки), без особой заботы о точности и шумах (5 бит на экране - смешно). Опять же, никакого писюка - это карманный прибор для визуальной оценки "что же там происходит в этом проводе?".

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

Другой процессор - опять же, очень хорошо, но для других задач. Он в разы дороже, его чуть сложнее купить, распаять, прошить. А у меня - подковывание блохи, чтобы любой продвинутый чайник (ну, прошедший моргание светодиодом на популярном семействе микроконтроллеров - PIC или AVR), когда ему захочется сделать что-то интересное, пошел и без особых хлопот собрал себе из чего угодно на коленке карманный осциллограф с 600KSPS и крутыми фичами за <$30

26. bodja, 10.09.2006 00:36
Mr.PG
А кто это у нас тут путает? У меня, вроде как, все правильно написано - везде _микро_ (буква u, она же "мю"), одна миллионная доля секунды. Откуда тут взяться "милли"?

Да здесь я напутал,пардон,утверждение снимаю.

Хотя, конечно, практика - критерий истины, может быть, конкретный ОУ на самом деле в десять раз лучше, чем в даташите?..

Возможно,к примеру Вы и я использовали АЦП МК с частотой в 4 раза больше документированной и ничего ,работает.

А сколько пикселей на экране получается на полную волну (два полупериода) в меандре 15625 Гц? Если не 13 (то есть ровно десять полных волн на экране) - что-то не сходится на тему 200KSPS.

13.



Вот что получилось:

Получилось неплохо,порадовал операционник.
Сопротивление на выводе АДС7 другой стороной нужно подклчить к относительной земле ,а не к ГНД.

Опорное для АЦП лучше сделать на 5в.Это уменшит вероятность ошибок при преобразовании,хотя я использую в этих 5в диапазон для отображения в 2.5(от 1.25-3.75)

27. Mr.PG, 10.09.2006 03:54
bodja:
Возможно,к примеру Вы и я использовали АЦП МК с частотой в 4 раза больше документированной и ничего ,работает.

Похоже, что не в четыре раза, а пока в двадцать, но в перспективе - в сорок Ну, если даташит внимательно изучить - то Атмел в своем репертуаре (и что бы им не нанять того же человека, что для Микрочипа пишет?): он всерьез гарантирует только диапазон частот клока АЦП, где есть все 10 бит (от 50КГц до 200КГц). То есть максимальная гарантированная скорость оцифровки - 15384KSPS (200K/13).

Но автор на этом не останавливается и делает смелое заявление ровно в одной строке даташита: оказывается, Conversion Time составляет 13-260us. То есть, пересчитывая, получаем, что 77KSPS (на частоте АЦП 1МГц) нам тоже, вроде бы, в каком-то смысле гарантированы. Но в каком именно - нам не рассказывают, видимо, не положено.

А еще этот чудо-автор сообщает, что, вообще-то, конверсия (кроме первой после включения АЦП) занимает ровно 13 тактов АЦП, то есть ровно 26 тактов проца при должной настройке. Так что если вам пофиг количество бит - смело ускоряйте свой АЦП до 4МГц (8/2) или даже до 8МГц (16/2). Наверное, и тут что-то гарантировано...

Впрочем, факты пока за нас Я честно сделал теоретически максимальные 307KSPS для 8МГц, и обязательно попробую удвоить... Хочется верить, что вариант 2 в даташите - самый правильный, и хотя бы бита четыре с половиной там получится. Пока я уверенно утверждаю, что на 307KSPS пять бит есть с запасом, все ровное и красивое. Априори - если 200КГц дают 10 бит, то потеря бит от скорости должна идти пропорционально, значит, делаем в 8/0.2=40 раз быстрее - и 5 с копейками бит будет потеряно. Останется 4 с чем-то - может быть вполне терпимо для наших задач.

Ситуация аналогична той, что с фьюзами осцилляторов для той же атмеги - какой, блин, писатель мог не описать их точное положение для кварца в 16МГц, а соорудить таблицу, где 16МГц вообще не упоминается?

Получилось неплохо,порадовал операционник.
Сопротивление на выводе АДС7 другой стороной нужно подклчить к относительной земле ,а не к ГНД.


Позорно протормозил, ага. Уже поправил. А операционник, пожалуй, несмотря на ту же цену, что и у самой атмеги, $1.8, стоит того даже для супер-дешевого устройства. Если будет все хорошо с АЦП - я смогу неплохо показывать меандр в 120KHz, и это как раз где-то на грани возможностей этого ОУ (дальше у него начинается падение максимального усиления, а значит - никаких разумных измерений на младших диапазонах).

Опорное для АЦП лучше сделать на 5в.Это уменшит вероятность ошибок при преобразовании,хотя я использую в этих 5в диапазон для отображения в 2.5(от 1.25-3.75)

А вот тут я ничего не понимаю. Мне жизненно важно задействовать АЦП по диапазону на полную катушку - я ведь от него получаю из-за скорости минимум полезных бит. Соответственно, я не могу себе позволить терять половину (!) диапазона - это же целый лишний бит, а у меня его почти наверняка не будет. Или как?


О, и еще сразу вопрос задам. Напомню, я дикий чайник, ничего в аналоговой части не понимаю Итак, хочу заодно мультиметр встроить, благо, ноги три-четыре еще довольно легко начистить даже без дополнительных микросхем.

Как померять C - не вопрос, разрядил тестируемый конденсатор до нуля (нога микроконтроллера в ноль на некоторое время), привязал заранее через резистор ее к Vcc, потом перевел эту же самую ногу на вход АЦП - и смотри себе, как конденсатор неспешно заряжается. Как зарядился до заданного уровня - победа, время связано с емкостью линейно. Нужна одна нога и один резистор - и все.

Как померять R - тоже догадываюсь: воткнул его последовательно со своим небольшим, ом на 220, подал известное напряжение на них - и померял падение на своем (оно будет в милливольтах для мегомов, но у меня же отличный готовый усилитель рядом лежит). Да, нелинейно - ну и фиг с ним, посчитать не проблема, зато одним резистором и без лишних ног весь диапазон покрыли от 5R до 5M.

Как померять I - тоже не проблема: пол-ома на несколько ватт, падение на нем - и все хорошо. От единиц миллиампер до пары с лишним ампер. Один резистор и ни одной ноги.

А вот как померять индуктивность в такой же легкой и ненапрягающей манере? Я поискал в большом интернете - и нашел миллион LC-метров, которые считают частоту колебаний в схемке на компараторе. Не хочу - сложно. Нашел одну (http://www.armory.com/~rstevew/Public/TestEquip/IndMeterAdapter.htm), где они подают меандр и усредняют результат. Вроде бы, ближе к делу, меандр - это легко. Но я не нашел ни одного метода, основанного на одиночном переходном процессе (как стандартный для конденсаторов). А сам я, похоже, слаб духом формулы выводить В чем там загвоздка - слишком большие частоты нужны или что-то еще? Как легко померять индуктивность?

28. Chudik, 10.09.2006 05:08
Mr.PG
Слушай, а действительно - почему бы не применить ARM от того же Атмела? И быстрее и встроенный USB есть.

29. Mr.PG, 10.09.2006 06:46
Я же уже несколько раз объяснил выше Ну, танк легко расплющит легковушку, и у него много других плюсов. Но это не повод ездить в булочную именно на танке. Мне просто забавно запихать в очень легкое устройство (по весу, размеру, сложности, деньгам, питанию - всему сразу) как можно больше радостей за счет кода. Это сродни подковыванию блохи или вышиванию бисером. Мне не платят денег за эту разработку, так что вопросы эффективности трудозатрат и быстроты достижения цели не стоят: это чистое, незапятнанное хобби. И не хочу я эту штуку к компьютеру цеплять - зачем ей USB? Опять же, "быстрее" - это плохо, там высокочастотные сложности полезут, а я только по коду специалист, мне с ними скучно и непонятно возиться.

Есть и еще одна причина не делать на чем-то сильно более мощном. Когда очень много свободного места - есть риск никогда не завершить начатое (учитывая, что это хобби, и на него идет не 100% времени). "Вот сейчас еще это доделаю..." А так - как только флэш или процессор закончился, так и пора что-нибудь другое изобрести. Ну, осциллограф - это пятый или шестой мой проект, и мне нравится, когда они не очень крупные.

30. Chudik, 10.09.2006 08:54
Mr.PG
Мне просто забавно запихать в очень легкое устройство (по весу, размеру, сложности, деньгам, питанию - всему сразу) как можно больше радостей
Так ARM7 от Атмела как раз такой и есть
Почитай вот: "Осваиваем AT91SAM7" или "Для тех, кому ресурсов AVR уже не хватает" (http://forum.ixbt.com/topic.cgi?id=48:5248)

31. Sergey_G., 10.09.2006 09:49
Mr.PG
В чем там загвоздка - слишком большие частоты нужны или что-то еще? Как легко померять индуктивность?
Чуть позже кину схему как померять индуктивность с разрешением порядка 50 нГн и выбором предела измерений частотой. И емкость с шагом 0,05 пФ.

Да , AT91SAM7S64 стоит 340 рублей в чип-дипе.

32. Chudik, 10.09.2006 09:54
Sergey_G.
Да , AT91SAM7S64 стоит 340 рублей в чип-дипе.
Чего-то дорого. Tahoe говорил, что за $5-6 можно довольно легко найти.

33. urriz, 10.09.2006 14:08
А у AT91SAM7S64 есть DMA из внешней памяти ?
Если есть, и еще с возможностью тактирования от таймера, получится почти аппаратное решение.

34. Sergey_G., 10.09.2006 14:54
Chudik
Tahoe говорил, что за $5-6 можно довольно легко найти.
Ну не поеду же я Москву искать. Мне удобнее по почте заказать. А так я не спорю, что в чип-дипе цены весьма завышены.

urriz
DMA есть в/из периферию. Но идея - использовать внутренний АЦП. С внешним АЦП - это уже решение другого уровня, которое рациональнее делать на FPGA и с нормальной аналоговой частью. Atmel дает решение типа "собрал на коленке за 5 минут" с весьма скромными характеристиками.

35. be_smart, 10.09.2006 16:09
в efo.ru s128 стоил 7 баксов в розницу.

Добавление от 10.09.2006 16:20:

цитата:
Mr.PG:
я дикий чайник, ничего в аналоговой части не понимаю

Если вам интересното скачайте и почитайте книгу "исскуство схемотехники"
можно найти тут: pic16f628.narod.ru/01.htm

и "применение операционных усилителей"
тут: pic16f628.narod.ru/z09b.htm
там же о фильтрации сигналов перед оцифровкой и о усилении и масштабировании.

36. Mr.PG, 10.09.2006 16:53
(грустно качая головой) АTmega8-16 стоит в розницу в соседнем магазине $1.85 (в три с лишним раза дешевле!). У нее нет вот таких особенностей: http://www.caxapa.ru/echo/arm.html?id=43654&1144562497 Она популярна по самое не балуйся и программатор для нее состоит из четырех резисторов - так что от моей разработки наверняка будет кому-то польза (а обзаводиться комплектом разработчика для ARM ради повторения осциллографа средний чайник точно побоится). К ней столько легального бесплатного ПО и документации, что любой идиот способен ее освоить за день. Она не ест 20 мА, даже если очень голодная.

Опять же, если вдруг захочется поискать экзотику (что вряд ли) - то я, наверное, либо в сторону MSP430 буду глядеть, ибо очень система команд забавная, либо dsPIC щупать, ибо под задачу хорошо подходит, а стоит столько же, как и этот ARM.

цитата:
Sergey_G.:
Mr.PG
В чем там загвоздка - слишком большие частоты нужны или что-то еще? Как легко померять индуктивность?
Чуть позже кину схему как померять индуктивность с разрешением порядка 50 нГн и выбором предела измерений частотой. И емкость с шагом 0,05 пФ.

Только если это та же самая схема, которая использует компаратор и эталонный контур с емкостью и индуктивностью и считает частоту получившихся колебаний, то я ее уже видел очень много раз - ей заполнен весь интернет. Она для моей задачи не годится - велика и сложна... Хотя, конечно, очень точная. Но мне нужно именно грубую оценку минимальными ресурсами (ну, для различения валяющихся на столе компонентов, а не для их измерения). Так что идеально было бы именно формулу для вычисления индуктивности по ее реакции на одиночную ступеньку. Ну, или как та, что я уже приводил - подать меандр и усреднить то, что получится. Ключевое слово - простота.

37. Sergey_G., 10.09.2006 17:49
Mr.PG
эталонный контур с емкостью и индуктивностью и считает частоту получившихся колебаний
Ух как круто. И как там обеспечивать диаппазон измерений порядка 10 000 000? Без аналоговых коммутаторов? И какая там получится частота при индуктивности 0,1 мкГн. В общем дебилизм такой схемы и так ясен.

Мой вариант взят из старого номера Радио и работает куда лучше. Переключение диаппазонов там осуществляется изменением входной частоты (то есть программированием таймера). Измерение результата производится с помощью АЦП или воообще компаратором. Вся схема состоит из генератора частоты, пары резисторов и пары диодов.

38. Sergey_G., 10.09.2006 18:14
Вот схема. Номиналы деталей даны примерно, так как в оригинале схема работала от генератора на 561ЛН1 от напряжения 9В. Измеряемые элементы Cx или Lx подключаются по-очереди. Диоды - маломощные точечные быстрые. Типа BAV99 или КД522. Измеряемое напряжение снимается с резистора R3. Оно имеет отрицательную полярность. Его величина пропорциональна частоте и измеряемой емкости / индуктивности. Твоя задача - подобрать номиналы так, чтобы на R3 было напряжение порядка 0,5 - 1В. Входная частота - от 20 Мгц и ниже (до единиц герц для кондеров в тысячи мкФ). Таким образом, выбор предела измерения осуществляется частотой, что очень хорошо. Сделай шаг частоты в 2 раза, а остаток измеряй с помощью АЦП. Конденсатор С1 - сглаживающий. На низкой частоте пульсации на нем все равно будут. Но можно провести дополнительнуюцифровую фильтрацию уже в МК. Хотя, большие кондеры удобнее мерять другими способами - по форме зарядной траектории. А эта схема хороша тем, что позволяет мерять очень малые значения. Я мерял ей индуктивность рассеяния ВЧ трансформаторов, индуктивность коротких кусков витой пары RJ45 и т.д.

К сообщению приложены файлы: 1.gif, 558x183, 3Кb

39. mChudik, 10.09.2006 18:18
Mr.PG
я, наверное, либо в сторону MSP430 буду глядеть, ибо очень система команд забавная, либо dsPIC щупать, ибо под задачу хорошо подходит, а стоит столько же, как и этот ARM.
Не пей воду из копытца, Ванюша, козлёночком станешь...
Я лично знал человека, который руководил отделом Микрочипа, создававшего этот dsPIC.
Я к тому, что если заниматься дома такими вещами, то делать на том, что наиболее востребовано. Тогда в случае смены работы всегда сможешь использовать накопленный опыт.
Но дело твоё

40. Sergey_G., 10.09.2006 18:19
АTmega8-16 стоит в розницу в соседнем магазине $1.85
Ну, каждому свое. При попытке поставить туда USB, стоимость возрастет до 300 руб. Для ARM программатор вообще не нужен - он шьется по USB. Среда разработки бесплатная.

41. urriz, 10.09.2006 18:22
Там на выходе получается отрицательное напряжение, нужно еще сместить в плюс подтяжкой, и, возможно, использовать внутреннее усиление

Добавление от 10.09.2006 19:01:

Имеется в виду в схеме измерения CL

42. Mr.PG, 10.09.2006 19:14
Sergey_G.: Вот схема.

О, это просто супер-красиво, спасибо огромное! Именно то, что и хотелось. 20МГц я, наверное, не подам, но что-нибудь типа восьми - смогу, fast PWM mode в ATmega8, кажется, может щелкать раз в такт...

А та схема, о которой я говорил - вот такая примерно: http://www.cqham.ru/lc_meter.phtml или http://www.cqham.ru/lcmeter2.htm или http://www.cqham.ru/lcmeter3.htm - они все примерно одинаковые.

43. Leka, 10.09.2006 19:15
Имхо(общие соображения, вникать некогда), на МК(типа АВР) индуктивность можно попробовать измерять, используя только пару ножек и один внешний резистор, измеряя постоянную времени L/R, где R - либо внешний резистор (для больших индуктивностей), либо внутреннее сопротивление ключа (для малых индуктивностей). У "верхнего" ключа должен быть режим работы источником тока - тут надо смотреть даташит на конкретную микросхему. В общем, неплохая задачка, чтобы разобраться, что такое индуктивность .

44. Mr.PG, 10.09.2006 19:29
При попытке поставить туда USB стоимость возрастет на стоимость разъема - она ненулевая, но точно меньше 300 рублей Ибо софтверный USB (не 2.0, конечно) для ATmega8 существует в природе. Но мне USB не надо - устройство автономное - так что и так все довольно неплохо.

2 urriz: У меня, вроде как, уже есть готовые и усилитель и подтяжка Так что можно тупо прицепить к входному каналу - и радоваться, как маленький ребенок. В этом, собственно, особая прелесть - используется уже готовое еще одним красивым методом. А если я накопаю еще один лишний пин на контроллере, чтобы управлять коммутатором (а я его, наверное, накопаю - резервы пока есть), то я смогу иметь 8 входных каналов и повесить весь мультиметр на них, как развесистую клюкву, ничему не мешая.

2mChudik: Да ни за что, превращать хобби в работу - последнее дело. Зарабатываю я совсем другим, и программирование - это грехи молодости, а не источник денег. Вообще, у меня подход достаточно похож на что-то типа журнала Make: берется лежащее под рукой - и из него делается что-то интересное. Не обязательно супер-ценное, но чтобы душу радовало. И процесс здесь даже важнее результата.

45. urriz, 10.09.2006 19:55
Еще интересные ссылки :

http://elm-chan.org/works/cmc/report.html - заряд через резистор, автовыбор предела, меряет от единиц пФ. Можно один вход внутреннего компаратора переключить на мультиплексор АЦП (на аналоговый вход), на другой подать опорное напряжение, использовать таймер 1 capture

http://members.ozemail.com.au/~bobpar/esrmeter.htm - измеритель ESR, тоже нужная штука

46. Leka, 10.09.2006 20:59
Mr.PG
Посмотрел даташит на АТмегу - сопротивления верхних и нижних ключей примерно одинаковые - фокус с измерениями малых индуктивностей не получится. Если устроит измерение индуктивности с шагом ~10мкГн - хватит одной ножки АТмеги(0 внешних деталей). dI/dT=U/L, при dI=25мА, U=2,5В получим: L[мкГн]=100T[мксек].

47. Mr.PG, 10.09.2006 21:36
цитата:
Leka:
У "верхнего" ключа должен быть режим работы источником тока - тут надо смотреть даташит на конкретную микросхему. В общем, неплохая задачка, чтобы разобраться, что такое индуктивность .

Увы, источником тока оно не умеет. Надо городить какую-то обвеску - в итоге, похоже, будет сложнее, чем вышеприведенная схема. А какие там характерные параметры по времени? Ну, с конденсаторами методом RC все просто: одна пикофарада, один мегом - одна микросекунда. Измеримо. Для миллифарады можно снизить порог по напряжению раз в сто, даже не меняя резистора - и получить терпимые десять секунд. Ну, неточно, и фиг с ним - на электролитах все равно цифры пишут крупно и понятно А что будет для RL? Попробовал посмотреть по Хоровицу и Хиллу - не нашел готового ответа. Про индуктивности пара страниц - а затем сразу общий случай.

Нет, базовые-то вещи на интуитивном уровне понятны: Взяли (Vcc)---R---L---(GND), прицепили вольтметр вокруг R и амперметр, подали ступенькой напряжение - и поначалу видим, что ток строго нулевой, а напряжение на R нулевое (все падает на L), потом ток начинает расти, кажется, по логарифму, напряжение на L падать по тому же самому логарифму. А на R оно растет обратно пропорционально тому, что на L. В бесконечности L становится совершенно прозрачной - и в итоге на R мы видим все Vcc. Но я не готов то же самое с цифрами написать Буду искать книжку, где для имбецилов разжевано...

48. Leka, 10.09.2006 22:26
Mr.PG
Взяли (Vcc)---R---L---(GND), ...подали ступенькой напряжение...
Напряжение на L будет спадать по экспоненте(точно по тому же закону, как и напряжение на конденсаторе, разряжающемся на резистор). Прямая аналогия: L/R <--> R*C, ток в L <--> напряжение на C.

Буду искать книжку
Да, с L надо разобраться.

49. Kotische, 10.09.2006 22:42
Mr.PG Но я не готов то же самое с цифрами написать
Главное, что здесь надо знать:

В общем случае:
I = C * dU/dt
U = L * dI/dt

В случае синусоидального сигнала:
XC = 1/( ω * C ) = 1 / ( 2*Pi*f * C) [Ом]
XL = ω * L = 2*Pi*f * L [Ом]

и что
Тау = L/R и Тау = R*C не просто сами по себе, а по уровню 0.1

50. Leka, 10.09.2006 23:01
Kotische
Тау = L/R и Тау = R*C
Как раз сами по себе, входят в формулу ...exp(-t/тау).

51. Kotische, 10.09.2006 23:29
Leka Я про физический смысл, а "...exp(-t/тау)" - это сухая математика...

52. bodja, 10.09.2006 23:37
Mr.PG
Похоже, что не в четыре раза, а пока в двадцать, но в перспективе - в сорок Ну, если даташит внимательно изучить - то Атмел в своем репертуаре (и что бы им не нанять того же человека, что для Микрочипа пишет?): он всерьез гарантирует только диапазон частот клока АЦП, где есть все 10 бит (от 50КГц до 200КГц). То есть максимальная гарантированная скорость оцифровки - 15384KSPS (200K/13).

В МК есть бит ADHSM переключающий АЦП в скоростной режим.
Гаратируется погрешность не более 4 МЗР при 1Мгц тактирования и опорном 4в.

Но автор на этом не останавливается и делает смелое заявление ровно в одной строке даташита: оказывается, Conversion Time составляет 13-260us. То есть, пересчитывая, получаем, что 77KSPS (на частоте АЦП 1МГц) нам тоже, вроде бы, в каком-то смысле гарантированы. Но в каком именно - нам не рассказывают, видимо, не положено.

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

Ситуация аналогична той, что с фьюзами осцилляторов для той же атмеги - какой, блин, писатель мог не описать их точное положение для кварца в 16МГц, а соорудить таблицу, где 16МГц вообще не упоминается?

Если про внутреннее тактирование то 16Мгц у мег и нет.

А вот тут я ничего не понимаю. Мне жизненно важно задействовать АЦП по диапазону на полную катушку - я ведь от него получаю из-за скорости минимум полезных бит. Соответственно, я не могу себе позволить терять половину (!) диапазона - это же целый лишний бит, а у меня его почти наверняка не будет. Или как?

Тут с другим связано,дело в том что у меня ОУ выдает на выходе от 0.6 до
4.4 в,так что полного диапазона не будет,во вторых я использую программную
центровку луча - это дает возможность упрать вниз или вверх луч и наблюдать более широкую амплитуду с положительной или отрицательной постоянной составляющей сигнала.Ну и для отображения по вертикали
у ЖКИ только 64 позиции то есть 6 бит,лишние биты всеравно отбрасываются.



А вот как померять индуктивность в такой же легкой и ненапрягающей манере? Я поискал в большом интернете - и нашел миллион LC-метров, которые считают частоту колебаний в схемке на компараторе. Не хочу - сложно.

Идуктивность я мерял просто подавал 1 на индуктивность , индуктивность с другой стороны присаживал на корпус резистором 220 Ом и там же дожидался
1.
Мерялось грубовато но мне в основном была нужна проверка на межвитковое замыкание трансов и разнокалиберных катушек,показывало железно.
Таже схема использовалась для проверки кондеров,но в основном так же мне нужно было проверить не сколько на емкость ,а сколько на утечку.Неоднократно было такое
что есмкость нормальная по мультиметру а по факту заряд не держит,да что там говорить новые кондеры попадаются такие.Один раз чуть не здох пока раздуплил в чем дело.

Насчет АРМ тоже думал посоветовать,но не благодарное это дело делать
своими ручками платку под шаг 0.4 и дорожкой 0.2 .После пятой попытки у меня терпение закончилось
Был бы шаг хотя бы 0.8 ,уверен что среди радиолюбителей этот камень был бы популярен как миниум раз в 10.

53. Leka, 10.09.2006 23:40
Kotische
Я про физический смысл, а "...exp(-t/тау)" - это сухая математика...
Согласен, но, когда видим 0,05(или 0,95) - "пишем 3*тау в уме", а вот для 0,1(или 0,9)?

Добавление от 10.09.2006 23:48:

bodja
Идуктивность я мерял просто подавал 1 на индуктивность , индуктивность с другой стороны присаживал на корпус резистором 220 Ом и там же дожидался 1.
Зависит от питания, если например 2,7В - ток ограничен ключом на уровне 25мА для АТмеги - резистор не нужен - смотрим время, когда напряжение на L упадет до логического нуля (1В при 2,7В питании).

54. Mr.PG, 11.09.2006 00:05
Гм, а для ESR-метра, кажется, тоже ничего специфичного не нужно. Если на роль источника тока 5mA годится резистор в килоом от той же ноги, что будет и разряжать конденсатор (меряем мы всего десятки ом максимум, а это смешные единицы процентов от задающего ток резистора, так что, кажется, можно ими пренебречь и поправить результат в софте?), то никаких компараторов и серий импульсов не надо, просто включать ногу и сразу мерять полученное напряжение напрямую АЦП, потом выключать ток и неспешно разряжать конденсатор. 26 тактов на 16МГц - это ведь всего 1.6us, то есть первое значение получится в разы быстрее, чем те 8us, которые используются у них...

Если я правильно помню закон Ома, то получим так: падение на тестируемом конденсаторе будет (при его сопротивлении от 0.1 до 100 Ом и токе в 5мА) от 0.0005 до 0.5 вольта. Пропускаем результат через наш усилитель с коэффициентом до 250 - и видим от 0.13В. Неплохо, но маловато - цифра 6 в АЦП, значит, шесть бит точности нам нужно. Значит, придется тормозить АЦП раза в четыре (примерно до исходных 8us) - и получать лишнюю пару бит. Или исходно брать ток 20mA (резистор 250Ом) и обсчитывать заметную нелинейность на конце диапазона - когда тестируются 100Ом, имеем ток уже 14мА, а не 20.

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

(считая на пальцах) Сопротивление, ток, емкость, индуктивность, ESR - каналов пять-шесть будут иметь интересные функции, и еще останутся обычные каналы наружу. И цена этому - всего один пин на управление коммутатором и один пин для подачи тестового сигнала. А неплохо...

55. bodja, 11.09.2006 00:11

Leka
Зависит от питания, если например 2,7В - ток ограничен ключом на уровне 25мА для АТмеги - резистор не нужен - смотрим время, когда напряжение на L упадет до логического нуля (1В при 2,7В питании).

Хороший повод палнуть порты или МК в целом.

56. Mr.PG, 11.09.2006 00:44
bodja:
В МК есть бит ADHSM переключающий АЦП в скоростной режим.
Гаратируется погрешность не более 4 МЗР при 1Мгц тактирования и опорном 4в.


Changes from Rev. 2486K-08/03 to Rev. 2486L-10/03: Removed bit 4, ADHSM, from “Special Function IO Register – SFIOR” on page 58.

Changes from Rev. 2486I-12/02 to Rev. 2486J-02/03: Removed ADHSM completely.

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

Да, еще в одном месте нашел упоминание о 30 с чем-то тысячах сэмплов в секунду на роль максимума. Сказки Шахерезады...

Если про внутреннее тактирование то 16Мгц у мег и нет.

Нет, в даташите это Table 4: Crystal Oscillator Operating Modes, там установки CKOPT и CKSEL3..1 для разных частот и разных конденсаторов. Там _нет_ больше 8МГц - ставь, что хочешь Как я догадываюсь чисто интуитивно, надо всё ставить в единицы - unprogrammed, чтобы на 16 заработало, но это нигде не описано.

Тут с другим связано,дело в том что у меня ОУ выдает на выходе от 0.6 до
4.4 в,так что полного диапазона не будет,во вторых я использую программную
центровку луча - это дает возможность упрать вниз или вверх луч и наблюдать более широкую амплитуду с положительной или отрицательной постоянной составляющей сигнала.Ну и для отображения по вертикали
у ЖКИ только 64 позиции то есть 6 бит,лишние биты всеравно отбрасываются.


Так шесть бит - это очень немного. Если программно показывать любую половину сигнала - то это уже не шесть, а семь бит нужны (ну, 64+64=128). А на 4МГц клока АЦП, вероятно, реальных бит остается всего штук пять, ну, пять с половиной. Если шесть или семь - это просто чудо какое-то, очередное ультра-везение. Надо, кстати, попробовать посмотреть - где там шум. А то я как вывожу на 32 точки - так и вывожу, а надо бы, если по уму, поглядеть, что там шумит в младших битах на деле. Так вот - если диапазон вдвое увеличить (но сигнал при этом подавать не строго 0-Vref, а как и раньше, 0-Vref/2), то от этих пяти бит реально останется четыре - АЦП никогда не будет выдавать значений 0-64 и 192-256, и весь сигнал уляжется в 128 бит, шум при этом займет еще один лишний бит снизу. И, чтобы это скрыть, понадобится ЖК с 16 точками по вертикали

Таже схема использовалась для проверки кондеров,но в основном так же мне нужно было проверить не сколько на емкость ,а сколько на утечку.Неоднократно было такое что есмкость нормальная по мультиметру а по факту заряд не держит,да что там говорить новые кондеры попадаются такие.Один раз чуть не здох пока раздуплил в чем дело.

А какая скорость утечки криминальна? Ну, понятно, померять-то очень просто, а вот что считать хорошим, а что плохим? Просто график разряда в воздухе (ну, через вход мультиметра) показывать - и пусть человек сам его оценивает? Или существуют какие-то таблицы/графики/оценки?

57. bodja, 11.09.2006 01:35
Mr.PG
Нет, в даташите это Table 4: Crystal Oscillator Operating Modes, там установки CKOPT и CKSEL3..1 для разных частот и разных конденсаторов. Там _нет_ больше 8МГц - ставь, что хочешь Как я догадываюсь чисто интуитивно, надо всё ставить в единицы - unprogrammed, чтобы на 16 заработало, но это нигде не описано.

CKOPT=0
CKSEL3..1 =101,110,111

Так шесть бит - это очень немного. Если программно показывать любую половину сигнала - то это уже не шесть, а семь бит нужны (ну, 64+64=128).

Правильный вывод,это как способ используя 64 точки увеличить отображение до 128.


А то я как вывожу на 32 точки - так и вывожу, а надо бы, если по уму, поглядеть, что там шумит в младших битах на деле. Так вот - если диапазон вдвое увеличить (но сигнал при этом подавать не строго 0-Vref, а как и раньше, 0-Vref/2), то от этих пяти бит реально останется четыре - АЦП никогда не будет выдавать значений 0-64 и 192-256, и весь сигнал уляжется в 128 бит, шум при этом займет еще один лишний бит снизу. И, чтобы это скрыть, понадобится ЖК с 16 точками по вертикали

Ну я уже предлагал увеличить Vref до 5в,это делается также само программно как и
2.56,ADHSM и 5в уменшат ошибку.А если не хотите из за того что 128 на 5 программно плохо дялятся,то это и не нужно делать ,я считаю например что каждое
дискретное значение АЦП равно 0.05в,при этом чуть-чуть убрав общий коефициент усиления ОУ для всех диапазонов.Вот Вам и причина наличия калибровочного резистора на ОУ,хотя можно при желании и расчитать.
Чтобы у меня заметно шумело ошибка должна быть более 6МЗР или 3бита,но пока
тьфу-тфу-тьфу ,хотя не исключаю что это может зависеть от кокретного камня.

А какая скорость утечки криминальна? Ну, понятно, померять-то очень просто, а вот что считать хорошим, а что плохим? Просто график разряда в воздухе (ну, через вход мультиметра) показывать - и пусть человек сам его оценивает? Или существуют какие-то таблицы/графики/оценки?

Ну графиков у меня нет никаких,а из собственного опыта скажу,если кондер
теряет за 0.1сек более 10% заряда - это можно считать браком.

58. Mr.PG, 11.09.2006 03:07
bodja:
[/i]CKOPT=0
CKSEL3..1 =101,110,111[/i]

Тьфу, не в ту строчку посмотрел - конечно же, CKOPT=0 - full swing... Но цифры 16 МГц в этой строке нет, как и в остальных

Ну я уже предлагал увеличить Vref до 5в,это делается также само программно как и
2.56,ADHSM и 5в уменшат ошибку.А если не хотите из за того что 128 на 5 программно плохо дялятся,то это и не нужно делать ,я считаю например что каждое
дискретное значение АЦП равно 0.05в,при этом чуть-чуть убрав общий коефициент усиления ОУ для всех диапазонов.Вот Вам и причина наличия калибровочного резистора на ОУ,хотя можно при желании и расчитать.
Чтобы у меня заметно шумело ошибка должна быть более 6МЗР или 3бита,но пока
тьфу-тфу-тьфу ,хотя не исключаю что это может зависеть от кокретного камня.


По битам мне _можно_ верить - это не индуктивности Биты я знаю. У меня две новости: плохая и хорошая. Плохая - я прав, и если бы все было по даташиту, то было бы очень плохо (и нельзя было бы увеличивать Vref, и нельзя было бы показывать половины сигнала - все это увеличивает требования к АЦП). Если надо - я могу попробовать еще раз аккуратно показать, куда деваются биты

Зато хорошая - даташит врет (в хорошую для нас сторону), и очень сильно. Только что посмотрел, как выглядит шум на 307KSPS. Ровные прямые с довольно редкими выбросами на три-четыре единицы (по модулю - то есть до двух в каждую сторону) из 256. Это уже по итогу - с усилением 250, так что шум не только АЦП, но и всего моего входа. То есть я имею где-то 6 живых бит на 307KSPS. С усилением 1 выбросы до 2 точек, то есть 6.5 бит. Браво, Атмел. При этом вполне может оказаться, что какую-то часть гадостей дает усилитель, а не АЦП, плюс моя жутко разведенная плата (см. фотку в первом посте). Тогда в самом АЦП и все 7 могут оказаться, что было бы, конечно, уже совсем чудом, но очень приятным.

А на произвольные коэффициенты я все равно уже делю - у меня калибровка чисто программная, причем кусочно-линейная с произвольным количеством опорных точек в каждом диапазоне, дабы без вопросов использовать сколь угодно кривые железки Софт делается один раз, а покупать компоненты, делать плату и паять придется каждому повторяющему прибор, так что все сложности отправляются прямиком именно в софт, а не в железо. У меня и резисторы пятипроцентные везде, ибо нет под рукой однопроцентных - софт все сожрет и не подавится

Ну графиков у меня нет никаких,а из собственного опыта скажу,если кондер
теряет за 0.1сек более 10% заряда - это можно считать браком.

Так и запишем. Это для электролитов или для "конденсаторов вообще"?

Добавление от 11.09.2006 03:18:

цитата:
bodja:
Leka
Зависит от питания, если например 2,7В - ток ограничен ключом на уровне 25мА для АТмеги - резистор не нужен - смотрим время, когда напряжение на L упадет до логического нуля (1В при 2,7В питании).

Хороший повод палнуть порты или МК в целом.
На пяти вольтах - само собой. А на 2.7 - видимо, выживет, ток там и правда выглядит весьма аккуратно ограниченным - см. Figure 148 и 150 в даташите

59. Tahoe, 11.09.2006 03:51
Mr.PG
Зато хорошая - даташит врет (в хорошую для нас сторону), и очень сильно.
Ты только учитывай, что в АЦП часть тактов отводится под S/H, а другая часть под преобразование. Уменьшая время S/H, ты влезаешь в чисто аналоговую часть MCU. Как оно поведёт себя от экземпляра к экземпляру - никому неизвестно.

Добавление от 11.09.2006 03:54:

Кстати, раз уж разгоняешь АЦП. Имхо имеет смысл стараться использовать ОУ с выходом помощнее, что б имел выходное сопротивление поменьше и успевал накачивать конденсатор S/H за как можно более короткое время.

60. Mr.PG, 11.09.2006 05:00
Я понимаю - и потому и радуюсь, что пока везет (причем, уже двоим). Минимум пару битов нам подкидывают как подарок от фирмы.

И я отчасти и поэтому для второй версии выбрал ОУ с очень, просто супер-высокими характеристиками - AD8051AR. Ну, 145V/us slew rate, 45mA output drive to 0.5V from rails (а в Short circuit - вообще 80-130mA), 50pF capacitive load, 110MHz -3dB bandwidth, 35MHz full power response (2Vp-p)... Зверь машина, оверкилл, и терпимо дешево для таких цифр - $1.8.

А пока у bodja и low-power OP07 справляется, а у меня обычный LM324. Так что все неплохо

61. Tahoe, 11.09.2006 06:37
Mr.PG
потому и радуюсь, что пока везет (причем, уже двоим). Минимум пару битов нам подкидывают как подарок от фирмы
Осталось, для полного счастья, ещё и нелинейности АЦП посмотреть. А вот с этим у Атмела было хреновато, даже в штатных режимах. Имхо ограничения в даташит идут скорее отсюда.

Добавление от 11.09.2006 06:54:

110MHz -3dB bandwidth, 35MHz full power response (2Vp-p)
Имхо крутовато даже. Я так понимаю, ты усиление сделаешь, ну максимум, раз в 3-5. Т.е. тебе мегагерц, эдак, 1-3 должно хватить.
Например AD8531 (http://www.analog.com/ru/prod/0%2C2877%2CAD8531%2C00.html) . Хотя для единичных экземпляров пофиг - баксом больше, баксом меньше. Но у него выход мощный. Не знаю, хватит тебе полосы/усиления или нет. Просто я на AD8532 усилители для наушников люблю делать.

62. bodja, 11.09.2006 15:56
Mr.PG
По битам мне _можно_ верить - это не индуктивности Биты я знаю. У меня две новости: плохая и хорошая. Плохая - я прав, и если бы все было по даташиту, то было бы очень плохо (и нельзя было бы увеличивать Vref, и нельзя было бы показывать половины сигнала - все это увеличивает требования к АЦП). Если надо - я могу попробовать еще раз аккуратно показать, куда деваются биты

Как говорят на Украине - говорили балакали ,сели тай заплакали.

В чем то я Вас не понял,в чем то вы меня.

Не нужно измерять половину опорного,мы естественно безполезно теряем
один старший бит.
При восьмибитном режиме мы получаем 256 значений ,сдвигаем выбрасывая младший бит.Получаем 128.Отсюда и имеем запас погрешности 6 МЗР.
Но так как ОУ на выходе не выдает всего диаппазона,полезными для отображения будем считать к примеру значения от 14 до 144 ,тоесть 100 значений.Вот этих 100 значений мы и используем с помощью центровки для отображения на 64 точки (в моем ЖКИ).
Естественно центровка при этом не перемещается до упора вверх-вниз,но изменив два значения в исходниках можно увеличить ход центровки,или сделать в при доработке программы как
опцию для калибровки под конкретный ОУ с более широким выходом.



Так и запишем. Это для электролитов или для "конденсаторов вообще"?

Для электролитов,керамика как правило подмыкает.

63. Mr.PG, 11.09.2006 18:00
[q]Tahoe:
Осталось, для полного счастья, ещё и нелинейности АЦП посмотреть. А вот с этим у Атмела было хреновато, даже в штатных режимах. Имхо ограничения в даташит идут скорее отсюда.

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

Добавление от 11.09.2006 06:54:

Имхо крутовато даже. Я так понимаю, ты усиление сделаешь, ну максимум, раз в 3-5. Т.е. тебе мегагерц, эдак, 1-3 должно хватить.

Усиление у меня до 250, однако - я сразу на входе безусловно делю на 23, чтобы получить измеримый диапазон примерно -25..+25 и не иметь программируемых делителей. Потом управляю усилением, чтобы получить максимальное разрешение 3mV - вот и нужно около 250. И как максимальный разумно видимый сигнал планируется 120KHz меандр (пять точек на период получается). Собственно, у AD8051AR как раз усиление всего 55dB получается при таких частотах (см. figure 11 в его даташите) - так что идеально подходит.

Добавление от 12.09.2006 01:46:

Вот что получилось после добавления мультиметра (http://abletools.com/osc2schem2.gif ). Перетащил все управление коммутаторами на тот же многострадальный PortD, где живут и кнопки и шина данных LCD. Все равно одновременно выводить на LCD и оцифровывать не получится - скорости не хватит. А по очереди - сколько угодно: и LCD не будет возражать против случайных данных на входе (без Enable его контроллеров), и коммутаторам не вредно пощелкать на досуге лишний раз. Образовалась куча лишних ножек - не придумал пока, куда их деть.

Зато засада подстерегла неожиданно - кончились 250 бесплатных пинов в DipTrace. Соответственно, чтобы сохранить статус "полностью бесплатно-легального", воспроизводимого на коленке и все такое, пришлось удалить три канала, тогда мультиметр влез. Обидно - ужас, но на интерфейс Eagle у меня душевных сил не хватает, а лезть в линуксовые PCB и иже с ними - это, пожалуй, еще грустнее, им даже до Eagle пока как до Луны... Покупать не хочу - получится, что я заставляю всех точно повторять свою схему или тоже покупать конкретный инструмент, как-то нехорошо... Видимо, выкачаю триальную версию того же DipTrace и сделаю отдельную плату со всеми каналами, положу рядом с этой, обгрызенной. Или обижусь на жизнь и приобрету какой-нибудь Digital Pot, управляемый по паре проводов, тогда, наверное, еще один-два канала войдут - хотя, конечно, это противоречит экономному духу проекта

Соответственно, когда дырок стало достаточно много - пришлось задуматься о том, каким будет интерфейс для тестирования деталей. Получилось вот так: http://abletools.com/osc2frontpanel.gif

Если кто-нибудь найдет время и посмотрит схему на предмет общей вменяемости и склонности к пожару - буду очень благодарен.

Среди вопросов, которые хочется задать - можно ли для пущей унификации деталей (чтобы меньше разновидностей пользователю-новичку покупать) прицепить те же двойные диоды Шотки, которые защищают входы, в схему измерения L и C? Ну, вроде как, они достаточно быстрые по даташиту - должно работать?

Правильно ли я подключил 1000uF (плюсом к GNDext) - вроде, раз там отрицательное напряжение получается, то надо именно так?

Логично ли, что я вывожу в виде разъемов для щупов дубликаты почти всего, но не дырок для измерения мелких L и C - ибо это бесполезно, щупы добавят столько, что исходную цифру и не разберешь, да и мерять в схеме их бесполезно...

Наверное, лучше контакты расположить не "по кругу", а просто друг под другом, каждому измерению отдельная пара контактов? Или так удобнее?

64. Mr.PG, 12.09.2006 12:18
Еще хорошо подумал - можно обойти ограничение и заодно упростить себе жизнь в смысле размещения в корпусе: разбить схему на две, в одной - "высокочастотные" вещи: микроконтроллер, LCD, кнопки, ISP-коннектор, пищалка и схема измерения L&C. А в другой - все остальное. Вроде, шесть, что ли, проводов между ними получается - разумное количество. И все эти провода - с достаточно мощными и медленными сигналами. Vcc, GND, GNDext, выход ОУ и два силовых пина на измерялки остального. Все рабочие разъемы - на второй плате, только контактные площадки для L&C на первой. Вроде, вполне адекватно выходит.

65. Chudik, 12.09.2006 19:03
Mr.PG
засада подстерегла неожиданно - кончились 250 бесплатных пинов в DipTrace. Соответственно, чтобы сохранить статус "полностью бесплатно-легального", воспроизводимого на коленке и все такое, пришлось удалить три канала, тогда мультиметр влез. Обидно - ужас, но на интерфейс Eagle у меня душевных сил не хватает, а лезть в линуксовые PCB и иже с ними - это, пожалуй, еще грустнее, им даже до Eagle пока как до Луны...

Попробуй KiCAD (http://www.lis.inpg.fr/realise_au_lis/kicad/) Правда, там управление весьма нетрадиционное Я тоже пытался воспользоваться для одного небольшого проектика легально-бесплатным софтом, но не смог Может у тебя получится? Так-то смотрится хорошо. И новые версии выходят более-менее регулярно. Последняя датирована 28 августа этого года.

66. Mr.PG, 12.09.2006 20:21
Без undo я как-то не готов... Почти к любому интерфейсу можно привыкнуть, даже к Eagle или KICAD, наверное, но вот невозможность исправить случайное изменение убивает KICAD сразу и навсегда. Как там у Сенеки-младшего? Errare humanum est perseverare diabolicum Не хочу perseverare - хочу, если errare, то сразу отменить И библиотеки у него _очень_ маленькие, все руками придется рисовать.

67. Chudik, 12.09.2006 21:16
Mr.PG
невозможность исправить случайное изменение убивает KICAD сразу и навсегда.
Может быть в последнем сделали undo?
Но иделогия явно никсовая
Шуточка такая была ещё: "Введите в командной строке vi своё имя и посмотрите, что получится"

68. chuchxe, 12.09.2006 21:36
советую с EAGLE разобраться - ограничение только на размер платы - довольно большая плата !

69. Mr.PG, 12.09.2006 23:01
KICAD я только что честно выкачал и поглядел. Undo до сих пор нет (зато есть 3D - наверное, авторы думают, что это адекватная замена). А интерфейс, несмотря на странность, оказался где-то в глубине достаточно разумный - для большинства действий есть клавиатурные аналоги, режимы более-менее осмысленные... Но пользоваться все равно не хочется.
Emacs, вроде как, прогрессивнее, vi - пережиток А про командную строку - это не про vi, а про TECO, AFAIK. Ключевые слова - Real Programmers don't use Pascal

Если в DipTrace не получится утоптать (хотя идея с двумя платами мне нравится все больше и больше - хочется сделать что-то вроде "толстого карандаша", и платы могут быть перпендикулярно друг другу)- придется на Eagle, конечно - стандарт de-facto, блин... Но какой же он неудобный - я дня два убил, пытаясь привыкнуть к его интерфейсу, так и бросил в итоге. Нет, я уже более-менее мог на второй день сделать в нем все, что нужно, но удовольствия - никакого...

Добавление от 12.09.2006 23:45:

Гм, попробовал прикинуть внешний вид - получилось что-то вот такого сорта: http://abletools.com/osc2overview.gif Неслабо, но, думаю, реализуемо, если не пытаться сделать уж совсем миниатюрно...

70. bodja, 13.09.2006 00:52
Mr.PG
Если кто-нибудь найдет время и посмотрит схему на предмет общей вменяемости и склонности к пожару - буду очень благодарен.

Диагноз - общая невменяемость

Все цепи,кроме осцилографических кинуть не на относительную землю ,а на ГНД.
Относилельная земля дает смещение ОУ для возможности измерения отрицательных напряжений.Зачем она нужна для проверки того же конденсатора или резистора ,если Вы изначально туда не подаете отрицательных напряжений.Кроме того ключи тряют свою суть быть силовыми так как относительная земля у вас формируется через достаточно высокоомные сопротивления,ток в такой цепи будет очень низким,
и при проверке того же конденсатора порядком 100мкф ,вам прийдется ждать
заряда секунд 10 пока измерите.

А так вроде ничего

Добавление от 13.09.2006 00:56:

Mr.PG
Образовалась куча лишних ножек - не придумал пока, куда их деть.

Генератор тестового видеосигнала (типа сетка) и будет полный фарш.

71. Mr.PG, 13.09.2006 00:59
Спасибо - вовремя

Гм, но у меня же GNDext приходит на ОУ. И я не могу что-то измерить относительно GND - я ее просто не могу подать в качестве входа на тот же самый ОУ... А идти в обход ОУ тоже не могу - там полно очень маленьких вольт, которые необходимо усиливать. Я попал на еще один ОУ для организации полноценной силовой GNDext или есть какой-то выход попроще?

Добавление от 13.09.2006 01:01:

(подумалось) Ножки лишние есть, могу тупо транзистором, когда мне оно нужно, цеплять землю на ОУ, туда же, где и GNDext. Это сработает?

72. bodja, 13.09.2006 01:13
Mr.PG
Гм, но у меня же GNDext приходит на ОУ. И я не могу что-то измерить относительно GND - я ее просто не могу подать в качестве входа на тот же самый ОУ... А идти в обход ОУ тоже не могу - там полно очень маленьких вольт, которые необходимо усиливать. Я попал на еще один ОУ для организации полноценной силовой GNDext или есть какой-то выход попроще?
Добавление от 13.09.2006 01:01:


Для этого есть микросхема 4052 там два ключа на четыре позиции,одним переключаем положительный вход ОУ другим переключаем отрицательный между
ГНДекст и ГНД.

73. Mr.PG, 13.09.2006 01:20
А генератор видео, кажется, чуть больше памяти сожрет, чем останется У меня меньше 2.5 кило флэша пока свободно, а еще нет ни мультиметра, ни интерфейса нормального - только базовые штуки типа вывода текста и рисования графика сигнала. Но я погляжу - шансы все равно есть, а пара ножек найдется Ну, или стробоскоп из яркого светодиода, он же проверялка для динамиков (меандр аудиочастоты), он же подсветка в темноте.

Добавление от 13.09.2006 01:45:

Не хочется еще одну микросхему тыкать - просто ужас... А без этого, кажется, не хватает каналов, даже если ограничить все до упора. Если заменить нынешнюю 4051 на 4052 - получится сделать только четыре канала, а нужно, как минимум, пять - один "настоящий", плюс еще четыре "измерительных" (вроде как, никакие из четырех величин не получится измерить одним и тем же входным каналом). Или я где-то опять ошибаюсь?

Собственно, сейчас посмотрел - нашел еще ошибку: провод от PC2 умудряется грубо замкнуть между собой измерялки ESR и R, хотя планировался только для того, чтобы иногда разряжать на них конденсаторы Придется еще один такой же добавлять, похоже.

А просто транзистором землю к GNDext притягивать, когда надо - сильно плохой путь?

74. Leka, 13.09.2006 01:46
Mr.PG
Гм, попробовал прикинуть внешний вид...
http://www.advancedevices.com/default.htm
Как раз остается развить функцию "осциллограф".

75. Mr.PG, 13.09.2006 02:20
Гм, у них даже было такое желание - развить ее (Trace Mode, график, все дела) - но почему-то не смогли, видимо, на микроконтроллере пожадничали Хотя, конечно, все равно молодцы - за 284 доллара, да серийный агрегат - в наши дни это халява, всего 20 раз от себестоимости Даже, наверное, не 20 раз, а всего 10 - у них точность гарантированная, так что на тридцатку наверняка всякой мелочевки ушло для ее обеспечения...

Кстати - jogdial для их устройства, конечно, хорош, но я бы с удовольствием вместо кучи кнопок поставил один 5-way joystick, как в мобильниках. Тут и габариты, и разводка, и внешний вид... Где их, вообще говоря, берут (в Москве и за рубежом), насколько они дороги и насколько доступны простому радиогубителю?

76. Mr.PG, 13.09.2006 20:49
Уфф, посидел, подумал, порезал пополам - получилось вот так: http://abletools.com/osc3highfreq.gif и http://abletools.com/osc3lowfreq.gif . Сэкономил еще один пин (испытуемые конденсаторы не нужно разряжать отдельным пином, можно "прямо так", через тот же провод, что их и заряжает) - и потратил его на светодиодик. Ну и, опять же, долго пытался понять, зачем нарисовал моно-разъемы, но так и не понял, сделал их стерео: http://abletools.com/osc3overview.gif

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

Кстати, кажется, есть большая засада на тему схемы измерения L&C? С одной стороны, там итог отрицательный, так что измерять его логично от GNDext, а с другой - GNDext не силовая, и, кажется, будут проблемы при измерении - в конце концов, мы пытаемся мерять вокруг 300R, а GNDext обеспечивается тысячами, явно не заработает?.. И что же, елки-палки, с этим делать - мощно тянуть результат к Vcc и потом измерять все-таки относительно GNDext? Эх, плохо быть чайником, и хорошо, что есть, у кого спросить

77. Alexandr Iz, 13.09.2006 21:48
Mr.PG
Кстати, кажется
поставить ОУ в инвертирующем включении с коэф.усиления -0.5. неинвертирующий вход на фантомную землю. выход в ацп, вход на выход схемы измерения LC

78. Kotische, 13.09.2006 21:51
Mr.PG
ОЙ! №1 : показан красной стрелкой.
669x277, 22,0Kb
Ты уверен что в этой схеме будет нормально работать эмитерный повторитель?
Мне так мыслится что там должен быть CMOS выход повторителя или операционника...

ОЙ! №2 : Ну сделай ты нормальный, мощный иточник питания на U/2 и будет тебе счастье...
тебе что, одного операционника на благое дело жалко?

К сообщению приложены файлы: 1.jpg, 669x277, 22Кb

79. urriz, 13.09.2006 22:17
> мся мерять вокруг 300R, а GNDext обеспечивается тысячами, явно не
> заработает?.. И что же, елки-палки, с этим делать - мощно тянуть результат
> к Vcc >и потом измерять все-таки относительно GNDext?

Можно высокоомным делителем : один резистор на выход схемы измерения LC, другой - на + питания, точка соединения - на аналоговый вход

80. bodja, 13.09.2006 23:09
Mr.PG
А генератор видео, кажется, чуть больше памяти сожрет, чем останется У меня меньше 2.5 кило флэша пока свободно, а еще нет ни мультиметра, ни интерфейса нормального - только базовые штуки типа вывода текста и рисования графика сигнала.

У меня занимает 1.6 кило вместе с выводом на ЖКИ.Потребуется три порта.

Не хочется еще одну микросхему тыкать - просто ужас... А без этого, кажется, не хватает каналов, даже если ограничить все до упора. Если заменить нынешнюю 4051 на 4052 - получится сделать только четыре канала, а нужно, как минимум, пять - один "настоящий", плюс еще четыре "измерительных" (вроде как, никакие из четырех величин не получится измерить одним и тем же входным каналом). Или я где-то опять ошибаюсь?

Да я вот все думаю зачем столько всего городить.
Сгоняйте на telepribor.narod.ru там мои ранние разработки ,сможете убедиться
что для конденсаторов ,индуктивностей а тем более сопротивлений можно использовать одну и туже простейшую цепь.Как для начала пойдет,а уже по ходу
совершенствования программы можно будет и улучшить.С первого раза все равно
не удастся построить грамотную схему,тем более если она расчитана на целую кучу разных функций.

И что же, елки-палки, с этим делать - мощно тянуть результат к Vcc и потом измерять все-таки относительно GNDext?

Ну раз уже столько деталей ,то лишнего операционника на формирование GNDext я думаю будет не жалко.

Как уже говорил выше - у меня не хватает знаний, чтобы понять, можно ли тупо притянуть транзистором GNDext к земле - и использовать полученный результат на входе ОУ, так что я пока нарисовал, а если это проблема, то уберу

Можно.

81. Mr.PG, 14.09.2006 00:21
Торжественно уломали Ставлю ОУ для получения мощного варианта Vref. На всякий случай уточню - я правильно понимаю, что от него не нужно вообще ничего, кроме возможности выдать несколько десятков миллиампер, когда попросят - то есть практически любой дешевый сгодится? И еще - его выход я смело цепляю к "внешней земле", выводимой наружу, без дополнительной обвязки? Или там все-таки нужно какую-то защитную цепочку навесить?

2bodja: Зачем три порта? Вроде, двух достаточно, если экономить Во всяком случе, среди найденного много вот такого (см. аттач). А одна и та же простейшая цепь, если я правильно понимаю, просто не потянет нужный диапазон измерений. Он омерзительно широк даже у совсем начинающих любителей.

Спасибо всем - пошел фиксить найденные баги

К сообщению приложены файлы: 1.png, 354x209, 4Кb

82. Kotische, 14.09.2006 00:58
Mr.PG его выход я смело цепляю к "внешней земле", выводимой наружу, без дополнительной обвязки? Или там все-таки нужно какую-то защитную цепочку навесить?
ИМХО, керамические конденсаторы на питание и на землю по ~20 мкФ.
Операционник будет хорошо держать постоянку, в меру своих сил конечно, а вот ВЧ нужно давить кондерами...
Резистор ~5-50 Ом, а то боюсь этой схеме может завыть приспичить...

К сообщению приложены файлы: 1.jpg, 669x277, 13Кb

83. urriz, 14.09.2006 01:59
А зачем там искусственная земля?

84. Mr.PG, 14.09.2006 02:46
Все, поставил. http://abletools.com/osc4highfreq.gif и http://abletools.com/osc4lowfreq.gif Перехожу на Aref=AVcc, воткнул пока такой же ОУ на роль буфера, дал ему на вход через 100K половину Vcc (видимо, здесь где-то уже пора думать о помехах - добавить конденсатор на ножку Aref, как в даташите, на плате разделить цифровую и аналоговую земли, соединив их ровно в одной точке, и давать сюда именно AVcc, а не просто Vcc). Как пишут в умных книжках, чтобы bias current не мешал работе ОУ, поставил 100K и в обратную связь. Полученное на выходе AVcc/2 я торжественно считаю GNDext и использую в хвост и в гриву - для всех измерений.

Однако, я до сих пор не уверен, что делать со схемой для L&C. Извините за тормозизм и отсутствие базовых знаний, но я, хоть и пытался осмыслить, но не понимаю, что будет, если я тупо подам ей меандр с отрицательной половиной (ну, поскольку я ее измеряю от GNDext, то и меандр, вроде как, надо подавать от GNDext до Vcc, а мне нечем - пришлось бы опять городить какие-то хитрости А вот полный, от GND, легко - ножка с выходом таймера справится, тока из нее можно взять довольно много...

Поэтому я почесал репку - и воткнул диод, чтобы меандр был примерно от GNDext, и даже на всякий случай Шоттки, чтобы меандр был от -0.3, а не -0.6 (относительно GNDext, конечно), но уверенности ни малейшей - с диодом оно заработает или нет? А что будет, если диод убрать и подавать 0-GND? Охх... Непростая штука - аналоговая электроника

Добавление от 14.09.2006 02:53:

2 Kotische: керамические - это же, вроде, такие мелкие "капельки", разве они бывают аж на 20uF? Вроде, они где-то до 1uF максимум... Про резистор - понял, добавлю.

2urriz: Чтобы измерять отрицательные напряжения встроенным в микроконтроллер АЦП. Или вопрос о чем-то другом?

85. Tahoe, 14.09.2006 03:34
Mr.PG

4а.Чип конденсаторы 1210 Розн. От 30 От 100 От 500 От 1000 Упак. От 3 кат.
1210 X7R 10% 2,2мкФ 25В шт. 0,3700 0,3400 0,2600 0,2200 0,2000 0,1800
1210 Y5V 20% 10мкФ 16В шт. 0,3000 0,2500 0,2200 0,1800 0,1500 0,1200
1210 Y5V 20% 10мкФ 25В шт. 0,3000 0,2500 0,2000 0,1600 0,1400 0,1000
1210 Y5V 20% 10мкФ 35В шт. 0,5000 0,4500 0,4000 0,3500 0,3000 0,2000
1210 Y5V 20% 22мкФ 10В шт. 0,5000 0,4500 0,4000 0,3500 0,3000 0,2000
http://www.smd.ru/ru/prajs/index.khtml

86. Kotische, 14.09.2006 04:14
Mr.PG
ОЙ! №3 :
Ты не находишь что твоя схема:
437x351, 20,2Kb
немного отличяется от моей:
669x277, 12,8Kb
?

ИМХО, твоя схема представляет собой генератор треугольного сигнала...
и от кондеров в 0.33 мкФ будет не холодно не жарко...
я не просто так, с бодуна, 22 мкФ написал...
а если хочешь ставить керамику на 330 нФ то в паралель ей ставь тантал на 100 мкФ!

керамические - это же, вроде, такие мелкие "капельки", разве они бывают аж на 20uF? Вроде, они где-то до 1uF максимум...
Глянь сюды...
http://www.platan.ru/pdf/ec118.pdf - Даташит
GRM43ER61A476K - http://www.platan.ru/cgi-bin/qwery.pl/id=231330301&a…M43ER61A476K.html
GRM43SR60J107M - http://www.platan.ru/cgi-bin/qwery.pl/id=402935880&a…M43SR60J107M.html - Рекомендую изучить с пристрастием...
http://www.chip-dip.ru/product0/231330301.aspx

К сообщению приложены файлы: 1.jpg, 437x351, 20Кb

87. Kotische, 14.09.2006 04:48
Mr.PG
ОЙ! №4 : А теперь:
155x286, 12,1Kb
я полагаю, Вы собираетесь просто спалить порт процессора, точнее его нижний ключ...

К сообщению приложены файлы: 1.jpg, 155x286, 12Кb

88. MCU Destroyer, 14.09.2006 12:19
На тему осциллографов: http://slil.ru/23119454 (6.4 Мб, есть исходник на асме).

Добавление от 14.09.2006 16:42:

И еще на ту же тему: http://www.chocbar.demon.co.uk/

89. Mr.PG, 14.09.2006 16:47
цитата:
Kotische:
ОЙ! №3 :
Ты не находишь что твоя схема: немного отличяется от моей: ?

ИМХО, твоя схема представляет собой генератор треугольного сигнала...
и от кондеров в 0.33 мкФ будет не холодно не жарко...
я не просто так, с бодуна, 22 мкФ написал...
а если хочешь ставить керамику на 330 нФ то в паралель ей ставь тантал на 100 мкФ!
ОЙ! Нахожу Более того - не поленился, собрал на макетке, ткнул туда щуп от своего же осциллографа первой модели - и увидел воочию, как она генерит

Соответственно, посыпал голову пеплом, осознал, поправил. Заодно по совету urriz перевел L&C-схему на 0-Vcc, и подтянул результат к Vcc - вроде, теперь должно работать. Или еще ожидается много ОЙ? Сейчас схема вот такая: http://abletools.com/osc5lowfreq.gif и http://abletools.com/osc5highfreq.gif

А вот конденсаторы - тема совсем отдельная. Перерыл интернет, посмотрел все приведенные линки (и от Tahoe тоже), результат получается примерно такой: а) такие супер-керамические появились совсем недавно, еще в 98 году керамика была до 100nF - по мнению www.epemag.com/passives.pdf (а Хоровиц и Хилл в 1989 наблюдали до 1uF), б) они стоят, как хороший ОУ - от полудоллара до доллара с лишним, в) они почти наверняка менее распространены, чем традиционные <1uF. Отсюда мораль - использовать их мне не позволяет Заратустра (не тот проект и не те характеристики), если они не являются супер-необходимыми.

Так что, наверное, тантал + обычная мелкая керамика больше похожи на "народный вариант". Но на всякий случай хочу уточнить цифры, которые с большим трудом нашел ровно в одной книге. Обычные электролиты, как пишут все вокруг, для подобных применений подходят плохо. Но цифр не приводит никто. И только в книге Op-Amps for everyone от Texas Instruments (автор - некий Ron Mancini) нашел табличку - примерная оценка максимальных частот, на которых еще работают разные виды конденсаторов. Алюминиевые - 100КГц, танталовые - 1МГц, керамика - 1ГГц. А дальше - график резонансов для двух самых популярных конденсаторов: танталовый 10uF и керамический 10nF. Правильный ли вывод я делаю из этой информации, что при моих смешных потребностях тантал+керамика, само собой, желательны, но, в принципе, для развязки GNDext сработает даже пара из электролита 100uF/10V и керамики 300nF (каковая, похоже, от 100KHz сработает уже достаточно хорошо, чтобы прикрыть ослабший электролит)?

И последнее - я честно вычитал в http://www.national.com/an/AN/AN-20.pdf, что для снижения bias current полезно иметь в обратной связи резистор, равный сопротивлению на входе. Поэтому он там есть. Это правильно? Или это все устарело с аж 1969 года, и нынче все настолько маленькое, что можно забыть и забить?

К сообщению приложены файлы: 1.gif, 640x339, 10Кb

90. Kotische, 14.09.2006 16:54
Mr.PG Алюминиевые - 100КГц,
Ниже 100КГц операционник прикрасно справится, а выше 100КГц от электролитов никакого толку...
Электролиты, для этой задачи - Г...О полное

91. Mr.PG, 14.09.2006 17:01
цитата:
MCU Destroyer:
На тему осциллографов: http://slil.ru/23119454 (6.4 Мб, есть исходник на асме).
И еще на ту же тему: http://www.chocbar.demon.co.uk/

Для полноты картины надо еще накидать ссылок, кроме этих - раз уж я их прошерстил, пусть будут все в одном месте.

Два самых продвинутых в классе "микроконтроллер + LCD" - http://sjeffroy.free.fr/Oscilloscope/oscilloscope.html (хороший законченный проект, только сильно "замороченный", с кучей рассыпухи, и потому не портативный, да и, опять же, микроконтроллер чуть слабоват) и http://www.semifluid.com/PIC18F2550_GLCD_Oscilloscope.php (увы, только "ядро", ему надо еще очень и очень много и железа и кода, чтобы быть полезным, а не только для изучения принципа работы).

Ну, понятно, есть еще большая куча с FPGA - типа http://www.johann-glaser.at/projects/DSO/ или http://area26.no-ip.org/projects/dso, но это другой класс - они не очень интересны, я их даже не коллекционировал. А есть, наоборот, забавные "в старом стиле" - типа http://www.electronic-projects.net/Electronic-Projec…scope/index.shtml

Добавление от 14.09.2006 17:05:

Kotische:Ниже 100КГц операционник прикрасно справится, а выше 100КГц от электролитов никакого толку...
Электролиты, для этой задачи - Г...О полное

А как "на глазок" определять потребное значение керамики? Ну, откуда взялась цифра 20uF?

92. Kotische, 14.09.2006 17:20
Mr.PG Ну, откуда взялась цифра 20uF?
Какое хотим иметь сопротивление источник питания U/2 ? Допустим 1 Ом...
Какая предельная частота операционника? Допустим 1МГц... тогда чтоб нормально работало берем граничную частоту в 10 раз меньше 100 кГц...
Тогда Xc = 1/(2*Пи*F*C) => C = 1/(2*Пи*F*Xc) = 1/(6*100000*1) = 1.6 мкФ
Пардон, видимо один порядок потерялся...

93. Mr.PG, 14.09.2006 17:47
Уфф, спасибо - от сердца отлегло

94. Kotische, 15.09.2006 00:24
Mr.PG
Как тебе такие детальки?
AD5241 http://pdf1.alldatasheet.com/datasheet-pdf/view/97121/AD/AD5241.html
или
AD5245 http://www.analog.com/UploadedFiles/Data_Sheets/479977920AD5245_b.pdf
А если ею, или чем то подобным, усиление регулировать?
Пины процессора освобождаются, и нет гемороя с подбором резисторов, всё калибруется програмно...

95. Mr.PG, 15.09.2006 04:33
Гм, если еще день-другой никто (включая меня) не найдет крупных багов - я, пожалуй, разводить начну А пока странный вопрос задам: увы, FFT и спектрограммы - без шансов, нужна хотя бы ATmega16. А вот FWT (Fast Welsh Tranform) выглядит настолько мелким по коду, что можно попытаться впихнуть Но вот какой смысл его впихивать - это вопрос. Скажите, кто-нибудь видит пользу для нормального человека от чего-то в таком духе - http://instruct1.cit.cornell.edu/courses/ee476/Math/index.html (см. внизу ссылки на картинки спектрограмм разных сигналов)? Если брать, как на тех картинках, только пики и рисовать их в виде спектрограммы - выглядит очень похоже на аналогичные результаты от FFT.

96. Mr.PG, 16.09.2006 02:11
Собрал схему для L&C на макетке. Результаты не очень репрезентативные - макетка пружинная, Wishboard, так что там много паразитных емкостей, которые при довольно длинных проводах с 4МГц могут сильно портить жизнь. Однако, работоспособность просто поразительная, цифры уже сейчас очень впечатляют. Резисторы поставил все 220R, потом поменял тот, на котором измеряем, на 470R. Мерял обычным китайским мультиметром, сигнал давал прямо с ноги контроллера, живущего на той же макетке (таймерный выход для аппаратного PWM). От ноги до измерительной схемы - сантиметров десять провода, висящего в воздухе, извините

Сначала попробовал конденсаторы - под рукой самый мелкий оказался 15пик, уже на 60КГц дал несколько милливольт на выходе. То есть доли пикофарад явно измеримы очень легко, я даже проверять не стал. До миллифарад все отлично масштабируется, и частоты порядка небольших тысяч герц дают вполне себе около вольта-полутора. Выше вольт становится многовато, но, играя частотой, думаю, до сотен микрофарад получится более-менее. Больше - вряд ли, но и не нужно, их все равно правильнее мерять по зарядке, вместе с ESR и утечкой.

С индуктивностями чуть сложнее - у меня их практически нет Нашел одну (choke - маленькая, с ногами, как резистор) на 22uH, дала большие десятки милливольт на 60КГц. Выкопал маленький ферритовый тороид из дохлой энергосберегающей лампочки, на нем три обмотки (2, 4, 8 витков) - даже самая маленькая дает больше. А вот когда намотал на палец девять витков жилкой из витой пары, потребовалось дать 4МГц, чтобы получить где-то 25mV. Короче говоря, все работает просто замечательно даже на коленке, в нормальных условиях можно будет мерять что угодно. И номиналы подходят отлично, ничего менять не нужно.

Добавление от 16.09.2006 06:18:

Kotische:Как тебе такие детальки?

Хорошие детальки. Только я про них уже выше писал - близко к началу четвертой страницы Дословно так: "Видимо, выкачаю триальную версию того же DipTrace и сделаю отдельную плату со всеми каналами, положу рядом с этой, обгрызенной. Или обижусь на жизнь и приобрету какой-нибудь Digital Pot, управляемый по паре проводов, тогда, наверное, еще один-два канала войдут - хотя, конечно, это противоречит экономному духу проекта."

Они стОят в Митраконе от трех до шести долларов за штуку - как микроконтроллер и ОУ вместе взятые И при этом их в наличии нет (как и в чипе-дипе и буром медведе). А заменяющая их 4051 и кучка пятипроцентных резисторов - центов 20 максимум, и везде есть. А заказывать лениво - телодвижений много нужно делать. Опять же, желающим повторить придется тоже заказывать - а можно просто резисторов ткнуть и уже давно пользоваться к тому моменту, как заказ придет

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

Собственно, и вторая версия, которую вы мне тут кучей помогаете спроектировать - это как раз такое исправление и дополнение и есть Ну, нормальный ОУ, вдвое быстрее скорость захвата, мультиметр, корпус, нормальное батарейное питание с программной кнопкой, светодиодик моргающий... Но при этом точность цифр на экране вряд ли выше 10% (места под код с плавающей или даже 32-разрядной арифметикой нет, да и не надо оно для хобби-задач), диапазоны довольно узкие и все такое...

И если кому-то (включая меня) захочется потом еще что-то улучшить - всегда пожалуйста Кто-то сделает третью версию, с продвинутой начинкой, из тех деталей, которые у него есть. Ну, опять же, если найдется кто-то грамотный, вложит немного денег и времени, заменит самые дешевые детали на самые адекватные задаче, да еще и прицепит цветной экранчик от мобильника, то, вероятно, сможет на этом сделать даже небольшой бизнес (аналогичный http://www.usb-osc.narod.ru/ ), продавая прибор себестоимостью 30 долларов за полсотни или сотню, или доблестные китайцы, увидев, что это возможно, выпустят похожий приборчик большой серией И это было бы очень хорошо... Да что там - даже купить оптом деталей, заказать сотню плат, рассовать их в пакеты, выпустить kit и торговать такой штукой на ebay - уже вполне себе неплохо. Вон, что-нибудь в духе http://www.ladyada.net/make/ - http://www.adafruit.com/

Гм, живи я в Штатах - наверное, сам бы занялся, но из России такое нормально не сделать - рассылка практически неосуществима. Поэтому я делаю то, что умею, и что нравится - собираю простые штуки из чего попало и пишу к этому код А дальше улучшать и развивать - пусть это делает тот, кто может и хочет.

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

Добавление от 16.09.2006 06:21:

О, чуть не забыл - бывают ведь еще и ОУ с программируемым коэффициентом усиления Тогда совсем красиво. Ну, или наоборот - взять ATmega постарше, и постараться обойтись ее встроенным усилителем (априори это кажется вполне возможным).

97. Leka, 16.09.2006 10:40
Mr.PG
Собрал схему для L&C на макетке.
Вообще-то я согласен с bodja: Да я вот все думаю зачем столько всего городить ... для конденсаторов ,индуктивностей а тем более сопротивлений можно использовать одну и туже простейшую цепь. Кроме того, желательно иметь только 2 входных контакта на все(RLC&osc) - для "пинцетного" конструктива.

98. chuchxe, 16.09.2006 14:36
вот "пинцет"

К сообщению приложены файлы: 1.gif, 468x60, 10Кb

99. urriz, 16.09.2006 15:31
Для измерения "пинцетным" способом в схеме нужно ограничить вых. напряжение генератора до 0.5В или ниже, чтобы pn переходы полупроводников не открывались

Добавление от 16.09.2006 15:39:

Также можно использовать вых. этого же генератора, например, для наладки усилителей (даже снимать АЧХ - прогонять выход по частоте в нужном диапазоне и измерять аналоговым входом выходной уровень). Диапазон генератора получается приличный - от долей герц до 10 МГц.

Страницы: 1 2 3 4 · далее / все сообщения темы на одной странице


URL: http://forum.ixbt.com/topic.cgi?id=48:5985

Время GMT +03. Даты в формате dd.mm.yyyy.