| Версия для печати (стр. 1) | |
| Конференция: | Конференция iXBT.com (http://forum.ixbt.com/) |
| Форум: | Электронные устройства и компоненты (http://forum.ixbt.com/?id=48) |
| URL: | http://forum.ixbt.com/topic.cgi?id=48:5985 |
| 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 ). Сайт полноценный пока не сделал, но уже скоро - и тексты и фотки уже готовы, осталось только сверстать. Там, само собой, полно проблем, например, кнопки при одновременном нажатии замыкаются накоротко между собой Софта уже 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 |
цитата: руководство по применению ОУ - 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: Еще : |
| 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") можно успешно их собирать на такой скорости такт-в-такт. Пре-триггер (можно ждать синхронизации, собирая данные на полной скорости), пост-триггер любой разумной длины, произвольная автоматизация всего этого... И по цене грязи под ногами Эхх... Добыть бы сравнительно дешевый цветной экранчик с контроллером и разумным интерфейсом - можно было бы без проблем DPO соорудить, даже на той же ATmega8 |
| 8. Chudik, 08.09.2006 21:44 |
Mr.PG с внешним супер-быстрым АЦП не получится всерьез ловить триггеры, ведь их же надо, если по-хорошему (не просто "больше X" от компаратора, а с произвольным количеством красивых условий), обсчитывать в реальном времени... А для обработки компаратора в реальном времени надо и не процессор использовать Добавление от 08.09.2006 21:48: Mr.PG |
| 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 страниц "не процессоров", как мыльную оперу - нет уж Gameboy - очень уж интерфейс к нему хлопотный, я про него довольно долго читал, но в итоге сломался. Да и сделано уже - ниша занята, зачем повторять? Если бы мне небольшой осциллограф всерьез был нужен - я бы его, наверное, купил, HPS10 какой-нибудь, например, а не делал бы Ссылки - так, вроде, спаркфан любому американцу надо знать и так, наравне с маусером и диджикеем, а то и до них - в нем такие забавные штуковины встречаются, что в Москве челюсть на пол падает... Кстати, я тут с горя порылся в яндексе - и теперь сижу и мучительно размышляю: http://gsmservice.ru/catalogue/index.html?cat=141 - то же самое, что и в спаркфане, или нет? Фотки для нужного дисплея почему-то не выложены, блин, так что и не сравнишь по виду... А вдруг это именно оно, а? Тогда вся схема умещается не то что в Altoids tin, а в наручные часы Кстати, bodja что-то на вопросы пока не откликается - может, кто-нибудь из темы о "настоящем осциллографе" поможет с идеологически верным аналоговым входом для таких частот и уровней? Вам ведь это раз плюнуть - чай, не гигагерцы и не микровольты |
| 13. bodja, 08.09.2006 23:36 |
Mr.PG Кстати, bodja что-то на вопросы пока не откликается - может, кто-нибудь из темы о "настоящем осциллографе" поможет с идеологически верным аналоговым входом для таких частот и уровней? Вам ведь это раз плюнуть - чай, не гигагерцы и не микровольты Читайте выше своего поста. |
| 14. Chudik, 08.09.2006 23:40 |
Mr.PG Я честно прочел все 105 страниц "не процессоров", как мыльную оперу - нет уж Столько лет у меня не найдется, мне бы по-быстрому, и чтобы весело по дороге было. Впрочем, ты сам говорил с внешним супер-быстрым АЦП не получится всерьез ловить триггеры, ведь их же надо, если по-хорошему (не просто "больше X" от компаратора, а с произвольным количеством красивых условий), обсчитывать в реальном времени... Т.е. мысль использования внешнего АЦП у тебя уже сквозила Так что, наверное, не надо эти конкретные, а надо сам магазин? да, я общую ссылку и закинул, а не только эти конкретные. alldatasheet.com там тоже что-то не видно Вроде был. |
| 15. Mr.PG, 08.09.2006 23:58 |
цитата:Так нечестно цитата:Они есть, их не может не быть. Правда! Ну, 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 меандре (как раз последние остатки плоских верхушек исчезают). А могло бы быть и чуть повыше цитата:Ну, 100 - это ведь как раз pullup у типичного микроконтроллера Спасибо за ответы! Пошел рисовать Добавление от 09.09.2006 00:17: цитата: Это не у меня - это у urriz так как раз и сделано - внешний АЦП и ATmega16 Вообще, взяли бы доблестные китайцы в руки карандаши - да и сделали бы что-то похожее на тот же 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 |
цитата: А кто это у нас тут путает? цитата: Не-не-не, я совсем не о том. На входе осциллографа стоит обычный резистивный делитель. То есть через примерно 100KOhm мы тянем ту точку в чужой схеме, которую щупаем, к ее родной земле. Если эта точка - чья-то нога (ох и фрейдизм, однако), и там стоит pullup, который примерно так же вяло тянет в другую сторону, начинается классическая битва - кто кого заборет, слон кита или кит слона. Это неадекватно отражается на поведении ощупываемого - вдруг он кнопку там ждет... Отсюда я делаю вывод, что 100K - мало даже для домашних поделок с микроконтроллерами. Добавление от 09.09.2006 02:54: цитата: Угу, я понял суть, спасибо. Если "простой" вариант будет работать плохо - видимо, так и придется делать. Засада в том, что очень уж не хочется добавлять еще корпусных деталей - а тут, как минимум, еще одна микросхема с двумя ОУ внутри появляется. Тут и заметные лишние хлопоты с разводкой (а ее хочется попробовать сделать односторонней), и необходимость покупать, паять... Одна из довольно важных целей - легкость в изготовлении, ведь делать-то будут не особо опытные люди... Но общий принцип - ОУ как буфер для Vref и потом сдвиг через ОУ - спасибо еще раз, осознал. |
| 20. Kotische, 09.09.2006 03:12 |
Chudik Правда, для этого лучше использовать внешний АЦП или как-то быстро передавать отсчёты внутреннего АЦП наружу (через DMA, если есть, например). Т.е. сделать этакий сопроцессор триггера запуска. Вариант - вешаем на выходную шину данных АЦП адресную шину статической озушки, прописываем озушку посредством микропроцессора нужной конфигурацией данных, получаем на выходе шины данных озушки N линий компараторов... А их уже заводить на защелки... и Gate-входы программируемых счетчиков... |
| 21. be_smart, 09.09.2006 03:14 |
цитата: почему ??? |
| 22. Chudik, 09.09.2006 03:39 |
Kotische Вариант - вешаем на выходную шину данных АЦП адресную шину статической озушки, прописываем озушку посредством микропроцессора нужной конфигурацией данных, получаем на выходе шины данных озушки N линий компараторов... А их уже заводить на защелки... и Gate-входы программируемых счетчиков... И что ты получишь? Мало того, что тебе надо прописать кучу состояний (минимум 256), так ещё защёлки заводить, делать какую-то дополнительную логику... |
| 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: цитата: Почему на четыре - не понимаю совершенно. Вроде, 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 раза больше документированной и ничего ,работает. Похоже, что не в четыре раза, а пока в двадцать, но в перспективе - в сорок Но автор на этом не останавливается и делает смелое заявление ровно в одной строке даташита: оказывается, Conversion Time составляет 13-260us. То есть, пересчитывая, получаем, что 77KSPS (на частоте АЦП 1МГц) нам тоже, вроде бы, в каком-то смысле гарантированы. Но в каком именно - нам не рассказывают, видимо, не положено. А еще этот чудо-автор сообщает, что, вообще-то, конверсия (кроме первой после включения АЦП) занимает ровно 13 тактов АЦП, то есть ровно 26 тактов проца при должной настройке. Так что если вам пофиг количество бит - смело ускоряйте свой АЦП до 4МГц (8/2) или даже до 8МГц (16/2). Наверное, и тут что-то гарантировано... Впрочем, факты пока за нас Ситуация аналогична той, что с фьюзами осцилляторов для той же атмеги - какой, блин, писатель мог не описать их точное положение для кварца в 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 |
Я же уже несколько раз объяснил выше Есть и еще одна причина не делать на чем-то сильно более мощном. Когда очень много свободного места - есть риск никогда не завершить начатое (учитывая, что это хобби, и на него идет не 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: цитата: Если вам интересното скачайте и почитайте книгу "исскуство схемотехники" можно найти тут: 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. цитата: Только если это та же самая схема, которая использует компаратор и эталонный контур с емкостью и индуктивностью и считает частоту получившихся колебаний, то я ее уже видел очень много раз - ей заполнен весь интернет. Она для моей задачи не годится - велика и сложна... Хотя, конечно, очень точная. Но мне нужно именно грубую оценку минимальными ресурсами (ну, для различения валяющихся на столе компонентов, а не для их измерения). Так что идеально было бы именно формулу для вычисления индуктивности по ее реакции на одиночную ступеньку. Ну, или как та, что я уже приводил - подать меандр и усреднить то, что получится. Ключевое слово - простота. |
| 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 рублей 2 urriz: У меня, вроде как, уже есть готовые и усилитель и подтяжка 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 |
цитата: Увы, источником тока оно не умеет. Надо городить какую-то обвеску - в итоге, похоже, будет сложнее, чем вышеприведенная схема. А какие там характерные параметры по времени? Ну, с конденсаторами методом RC все просто: одна пикофарада, один мегом - одна микросекунда. Измеримо. Для миллифарады можно снизить порог по напряжению раз в сто, даже не меняя резистора - и получить терпимые десять секунд. Ну, неточно, и фиг с ним - на электролитах все равно цифры пишут крупно и понятно Нет, базовые-то вещи на интуитивном уровне понятны: Взяли (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 |
| 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МГц - ставь, что хочешь Тут с другим связано,дело в том что у меня ОУ выдает на выходе от 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бита,но пока тьфу-тфу-тьфу По битам мне _можно_ верить - это не индуктивности Зато хорошая - даташит врет (в хорошую для нас сторону), и очень сильно. Только что посмотрел, как выглядит шум на 307KSPS. Ровные прямые с довольно редкими выбросами на три-четыре единицы (по модулю - то есть до двух в каждую сторону) из 256. Это уже по итогу - с усилением 250, так что шум не только АЦП, но и всего моего входа. То есть я имею где-то 6 живых бит на 307KSPS. С усилением 1 выбросы до 2 точек, то есть 6.5 бит. Браво, Атмел. При этом вполне может оказаться, что какую-то часть гадостей дает усилитель, а не АЦП, плюс моя жутко разведенная плата (см. фотку в первом посте). Тогда в самом АЦП и все 7 могут оказаться, что было бы, конечно, уже совсем чудом, но очень приятным. А на произвольные коэффициенты я все равно уже делю - у меня калибровка чисто программная, причем кусочно-линейная с произвольным количеством опорных точек в каждом диапазоне, дабы без вопросов использовать сколь угодно кривые железки Ну графиков у меня нет никаких,а из собственного опыта скажу,если кондер теряет за 0.1сек более 10% заряда - это можно считать браком. Так и запишем. Это для электролитов или для "конденсаторов вообще"? Добавление от 11.09.2006 03:18: цитата:На пяти вольтах - само собой. А на 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) |
| 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 его контроллеров), и коммутаторам не вредно пощелкать на досуге лишний раз. Образовалась куча лишних ножек - не придумал пока, куда их деть. |
| 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/) Правда, там управление весьма нетрадиционное |
| 66. Mr.PG, 12.09.2006 20:21 |
Без undo я как-то не готов... Почти к любому интерфейсу можно привыкнуть, даже к Eagle или KICAD, наверное, но вот невозможность исправить случайное изменение убивает KICAD сразу и навсегда. Как там у Сенеки-младшего? Errare humanum est perseverare diabolicum |
| 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 - пережиток Если в 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 |
А генератор видео, кажется, чуть больше памяти сожрет, чем останется Добавление от 13.09.2006 01:45: Не хочется еще одну микросхему тыкать - просто ужас... А без этого, кажется, не хватает каналов, даже если ограничить все до упора. Если заменить нынешнюю 4051 на 4052 - получится сделать только четыре канала, а нужно, как минимум, пять - один "настоящий", плюс еще четыре "измерительных" (вроде как, никакие из четырех величин не получится измерить одним и тем же входным каналом). Или я где-то опять ошибаюсь? |
| 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, график, все дела) - но почему-то не смогли, видимо, на микроконтроллере пожадничали Кстати - 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 : показан красной стрелкой. Ты уверен что в этой схеме будет нормально работать эмитерный повторитель? Мне так мыслится что там должен быть 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 |
Торжественно уломали 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, а мне нечем - пришлось бы опять городить какие-то хитрости Поэтому я почесал репку - и воткнул диод, чтобы меандр был примерно от GNDext, и даже на всякий случай Шоттки, чтобы меандр был от -0.3, а не -0.6 (относительно GNDext, конечно), но уверенности ни малейшей - с диодом оно заработает или нет? А что будет, если диод убрать и подавать 0-GND? Охх... Непростая штука - аналоговая электроника Добавление от 14.09.2006 02:53: 2 Kotische: керамические - это же, вроде, такие мелкие "капельки", разве они бывают аж на 20uF? Вроде, они где-то до 1uF максимум... Про резистор - понял, добавлю. |
| 85. Tahoe, 14.09.2006 03:34 |
Mr.PG http://www.smd.ru/ru/prajs/index.khtml |
| 86. Kotische, 14.09.2006 04:14 |
Mr.PG ОЙ! №3 : Ты не находишь что твоя схема: немного отличяется от моей: ? ИМХО, твоя схема представляет собой генератор треугольного сигнала... и от кондеров в 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 : А теперь: я полагаю, Вы собираетесь просто спалить порт процессора, точнее его нижний ключ... К сообщению приложены файлы: 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 |
цитата:ОЙ! Нахожу Соответственно, посыпал голову пеплом, осознал, поправил. Заодно по совету urriz перевел L&C-схему на 0-Vcc, и подтянул результат к Vcc - вроде, теперь должно работать. Или еще ожидается много ОЙ? А вот конденсаторы - тема совсем отдельная. Перерыл интернет, посмотрел все приведенные линки (и от 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 |
цитата: Для полноты картины надо еще накидать ссылок, кроме этих - раз уж я их прошерстил, пусть будут все в одном месте. Два самых продвинутых в классе "микроконтроллер + 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КГц от электролитов никакого толку... |
| 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 |
Гм, если еще день-другой никто (включая меня) не найдет крупных багов - я, пожалуй, разводить начну |
| 96. Mr.PG, 16.09.2006 02:11 |
Собрал схему для L&C на макетке. Результаты не очень репрезентативные - макетка пружинная, Wishboard, так что там много паразитных емкостей, которые при довольно длинных проводах с 4МГц могут сильно портить жизнь. Однако, работоспособность просто поразительная, цифры уже сейчас очень впечатляют. Резисторы поставил все 220R, потом поменял тот, на котором измеряем, на 470R. Мерял обычным китайским мультиметром, сигнал давал прямо с ноги контроллера, живущего на той же макетке (таймерный выход для аппаратного PWM). От ноги до измерительной схемы - сантиметров десять провода, висящего в воздухе, извините Сначала попробовал конденсаторы - под рукой самый мелкий оказался 15пик, уже на 60КГц дал несколько милливольт на выходе. То есть доли пикофарад явно измеримы очень легко, я даже проверять не стал. До миллифарад все отлично масштабируется, и частоты порядка небольших тысяч герц дают вполне себе около вольта-полутора. Выше вольт становится многовато, но, играя частотой, думаю, до сотен микрофарад получится более-менее. Больше - вряд ли, но и не нужно, их все равно правильнее мерять по зарядке, вместе с ESR и утечкой. С индуктивностями чуть сложнее - у меня их практически нет Добавление от 16.09.2006 06:18: Kotische:Как тебе такие детальки? Добавление от 16.09.2006 06:21: О, чуть не забыл - бывают ведь еще и ОУ с программируемым коэффициентом усиления |
| 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 МГц. |
| 100. Mr.PG, 16.09.2006 18:47 |
Гм... Мне и самому идея "пинцета" нравится, но я не очень хорошо понимаю, как ее увязать с "осциллографом". Ну, короче, давайте я попробую рассказать, что откуда лично для меня возникло, а вы чуть подробнее расскажите, как можно улучшить, упростить и т.п. Итак, первое - "простейшая цепь на все", да еще и с двумя контактами на все (URLC). Я, честно говоря, уверен, что я такую цепь просто не смогу изобрести, чтобы она еще и имела разумный диапазон измерений, полезный для дома, для семьи (U от +-1mV до +-25V, R от 0.1Ohm до 1MOhm, L от 50nH до 10mH, C от 1pF до 10mF). А меньшие диапазоны заставят регулярно лазить за мультиметром. Если кто-то поможет придумать такую схему, причем проще имеющейся и от 0.5V - я всеми конечностями за Дальше - пинцет как подход. Когда его (выше) впервые упомянули - мне очень понравилось. Сразу захотелось так же и сделать. А потом прикинул, какие задачи встречаются лично у меня. Ткнуть в схему щупом и посмотреть, что же сейчас происходит вот на этой ножке, какой сигнал там бегает - вот самая частая задача. Как ее реализовать пинцетом - я вообще не понимаю, землю явно надо цеплять отдельным крокодилом. Одну ногу из пинцета выдергивать, чтобы не касалась всего вокруг? Или как? Пинцетом хорошо измерять радиодетали (в схеме или SMD на столе), но как подружить его с осциллографом? Собственно, именно поэтому я и перенес пинцет в виде контактных площадок на корпус прибора, что не понимаю, как "правильно" вытащить его наружу. И, наконец, генератор как дополнительная функция. Боюсь, что не получится |
| 101. New_LCS, 17.09.2006 19:49 |
chuchxe вот "пинцет" Такую штуку гдето продают? Сколько интересно стоит? |
| 102. Leka, 17.09.2006 20:10 |
| 103. New_LCS, 17.09.2006 20:38 |
цитата: Ну почему же идиота. Есть у меня мост отечественный "слегка переносной" вещь полезная однако - ну а этот за 300 баксов - дороговат ваще-то. |
| 104. Leka, 17.09.2006 21:29 |
Mr.PG "простейшая цепь на все", да еще и с двумя контактами на все (URLC). Замыкаем верхний ключ - закачиваем в индуктивность ток. Если индуктивность большая - ток растет медленно - без проблем оцениваем тау=L/R=L/1кОм. Если индуктивность маленькая - померить не успеем --> замыкаем нижний ключ, размыкаем верхний, и измеряем тау=L/R=L/(Rx+1Ом). Добавив 1 МОм, получим измерения емкости на тех-же контактах. Номиналы условные, схема тоже - можно модифицировать. К сообщению приложены файлы: 1.gif, 166x201, 2Кb |
| 105. Mr.PG, 18.09.2006 02:52 |
Красиво, стильно, но несколько вещей я по-прежнему не понимаю, сорри... Из чего можно соорудить такие "идеальные" ключи, как нижний - быстрые и с нулевым сопротивлением? Всяческие 405* или 4066 имеют сопротивления в десятки ом - и этим гордятся. Релюшки явно не годятся по нескольким причинам сразу... Дальше: пока мы меряем L, C или маленькие R - все логично, мы меряем вольты на испытуемом объекте. Но как только мы хотим померять большие R - не прокатит, надо мерять падение на маленьком Rsense. Не вылезет ли здесь еще кучка ключиков, переконфигурирующих цепь полностью и превращающих ее в сложную паутину? И еще, вроде бы, тут есть проблема: что делать с вольтами. Ну, их же тоже надо измерять тем же щупом - и они могут быть нездорово большими. Электронным ключам, насколько я понимаю, не поздоровится от больших напряжений... Ставить перед этим входом управляемый делитель на latched реле? Или есть какой-то общепринятый способ, которого я не знаю? И, видимо, там не 5V, а 0.5V, да, а еще лучше 0.2, чтобы Шоттки не открывались - иначе какой смысл городить все на одних контактах? А эти 0.2 надо чем-то получить из доступных 5, сохраняя возможность получать довольно большой ток... Очередной ОУ? Еще - очень стремно иметь железку, которая сдохнет при ошибке пользователя. А как защититься от попытки померять "якобы L", когда снаружи приходит вольт двадцать? Ну, включаем нижний ключ - и 1 ом сгорает, и хорошо еще, если только он, а не та схема, которую мы меряли... Я долго и тщательно подумаю, книжки почитаю, но пока количество непонятного меня чуток пугает И еще - кажется, диапазон по индуктивностям будет не особо достаточным. Смотрим на типичные индуктивности, которые нужны "по жизни" - скажем, на рекомендованные для типичного DC-DC: max756. Они в 10-22uH, то есть для их уверенного различения измерять до микрогенри - обязательно, а лучше еще хотя бы один или два порядка вниз, чтобы минимальный запас был... Тау получается совсем грустным даже с одним омом, если его как-то удастся добиться... Значит, какая-то схема типа предложенной urriz - суровая необходимость, и с ней еще одна кучка ключей, которые подсоединяют и отсоединяют ее? Добавление от 18.09.2006 04:29: Почитал http://infoseti.ru/cgi-bin/forum/YaBB.cgi?board=radi…ay;num=1130397116 - тихо офигел |
| 106. Leka, 18.09.2006 11:47 |
Mr.PG Из чего можно соорудить такие "идеальные" ключи, как нижний - быстрые и с нулевым сопротивлением? Полевик. Но как только мы хотим померять большие R - не прокатит, надо мерять падение на маленьком Rsense. На верхнем 1кОм. И еще, вроде бы, тут есть проблема: что делать с вольтами. Ну, их же тоже надо измерять тем же щупом - и они могут быть нездорово большими. Ставить перед этим входом управляемый делитель на latched реле? Или есть какой-то общепринятый способ, которого я не знаю? Есть, конечно, способ, но не уверен, что общепринятый - думать своей головой. чтобы Шоттки не открывались Это для первой итерации вовсе не обязательно. Еще - очень стремно иметь железку, которая сдохнет при ошибке пользователя. Согласен. А как защититься от попытки померять "якобы L", когда снаружи приходит вольт двадцать? 1) Не все сразу, для начала важно разобраться с измерениями, 2) а на омметр 20В подать - никаких проблем? Тау получается совсем грустным даже с одним омом 1мкс - тут важны параметры ОУ + УВХ(устройства выборки-хранения АЦП), если его(АЦП) применять для измерения. Значит, какая-то схема типа предложенной urriz Какая? Имхо, сначала важно хорошо разобраться собственно в возможных способах измерений. Задачка, кстати: как по той-же схеме(без изменений, подключаем Rx+Cx вместо Rx+Lx) ESR мерить, десятки миллиом ? |
| 107. Kotische, 18.09.2006 16:28 |
Leka как по той-же схеме(без изменений, подключаем Rx+Cx вместо Rx+Lx) ESR мерить, десятки миллиом ? Конкретно по той - никак! Более мение корректно можно только мостом померять, да и то полностью балансный перемножитель втыкать желательно.... |
| 108. Leka, 18.09.2006 16:39 |
Kotische Конкретно по той - никак! Пари? |
| 109. Kotische, 18.09.2006 16:51 |
Leka Пари? Нииии.... Баюс-Баюс!... Лучше Вы как "крупный и выдающийся гуру" сами методику озвучте... |
| 110. Leka, 18.09.2006 17:23 |
Kotische сами методику озвучте... Не сразу. |
| 111. Leka, 18.09.2006 19:44 |
Kotische сами методику озвучте... Только результаты симуляции К сообщению приложены файлы: 1.gif, 411x446, 7Кb |
| 112. Mr.PG, 18.09.2006 23:28 |
Leka: > Но как только мы хотим померять большие R - не прокатит, надо мерять падение на маленьком Rsense. На верхнем 1кОм. А чтобы на нем что-то померять, надо добавить еще кучку переключателей, вероятно - мы же меряем от земельки, и это хорошо и правильно, а от него до той земельки еще ползти и ползти... Есть, конечно, способ, но не уверен, что общепринятый - думать своей головой. Вот не чуял бы я, что от чистого сердца написано - решил бы, что наезд 1) Не все сразу, для начала важно разобраться с измерениями, 2) а на омметр 20В подать - никаких проблем? Гм, на омметр заметно сложнее - чисто физически. Если это отдельная пара выводов вместо привычной земли с крокодилом и иглы на корпусе, то тыкать ей в живую схему будут намного реже, чем в варианте совмещенных выводов. Моторный навык не вырабатывается. А если пара контактов на корпусе - вообще безопасность полная Вообще, в качестве следующей итерации, наверное, было бы интересно подумать примерно в такую сторону: конструктив - пинцет, но если решено поработать с землей в виде крокодила, то обе половинки пинцета становятся одним целым в электрическом смысле. Их можно смело сжать до получения одного щупа - и получить вполне удобную штуковину. > Тау получается совсем грустным даже с одним омом 1мкс - тут важны параметры ОУ + УВХ(устройства выборки-хранения АЦП), если его(АЦП) применять для измерения. Формально, конечно, 1мкс как-то измерима. Ну, у той же атмеги8 на 16 МГц sample-and-hold занимает 3 такта процессора, то есть 0.18мкс, и потом измерение - еще 23 такта (всего 1.63мкс). ОУ достаточно быстрый, напряжения, которые мы меряем, достаточно большие - все хорошо... Но ошибка в этой области получается в разы, а не на проценты, и далеко не факт, что вообще получается - софтом компенсировать нечего, все коэффициенты уже нулевые, скорость зашкаливает У вас, железячников, особый склад ума, похож на шахматистов - вы умудряетесь думать о сотне разных последствий от каждого хода |
| 113. Leka, 18.09.2006 23:58 |
Mr.PG Есть, конечно, способ, но не уверен, что общепринятый - думать своей головой. Вот не чуял бы я, что от чистого сердца написано - решил бы, что наезд Конечно же - не наезд измерение - еще 23 такта ... DAC clock тикает независимо Это неважно, важен именно момент одиночной(не авто) выборки. Еще важна постоянная времени зарядки внутреннего конденсатора хранения - по даташиту на Мегу8 может быть до 100кОм*14пФ=1,4мкс - это очень много, и измерить быстрые сигналы не получится. Ну да ладно - более-менее разумный дизайн (ну, не особо элегантный, с кучей разных контактов для разных функций, но рабочий) у меня теперь уже есть, спасибо тем, кто помог - его и реализую, наверное... Конечно. Аппетит приходит во время еды Добавление от 19.09.2006 00:07: Mr.PG |
| 114. Leka, 19.09.2006 00:16 |
| 115. Mr.PG, 19.09.2006 01:58 |
Спасибо - ценная штука, и остроумная. Я правильно понимаю, что мы сначала замыкаем левый ключ, чтобы сигнал не мешал, разряжаем конденсатор нижним ключом ниже нужного нам уровня, потом заряжаем его до нужного напряжения через pullup, измеряя его АЦП, а потом размыкаем левый ключ - и смотрим, что делает сигнал? И что больше одного измерения подряд так делать не стоит - 14pf sample-and-hold тут же подвинут наш "ноль" к случайному числу, да и утечка ненулевая? А что до методов поиска решения... Ну, как я это себе представляю, оно работает так: один из самых эффективных методов изучения любой сложной области - это patterns, готовые решения для типовых проблем. Люди потратили миллионы человеко-часов, чтобы их найти - грех не воспользоваться, заодно удается выяснить, почему они такие. Ну, когда мне надо написать что-то на новом языке программирования, я разыскиваю какой-нибудь cookbook, активно ищу в документации примеры кода для типичных задач. А дальше - те самые кирпичи, из них уже можно строить соборы, по мере необходимости делать новые кирпичи - но уже осознавая, почему они именно такие С конденсатором все не так уж плохо - "до" 100 (точнее 1..100). И рекомендация в тексте: The ADC is optimized for analog signals with an output impedance of approximately 10kOhm or less. If such a source is used, the sampling time will be negligible. Так что в реальности там, скорее всего, внутри ровно килоом или меньше, а остальное они накидывают на остальную цепь. Чаще всего, видимо, и выходит до десяти, а сотня - перестраховка, верхняя граница и т.п.. А "ADC clock тикает независимо" - в смысле, что независимо от главного клока. Он вдвое медленнее - и он не ресетится при начале выборки. Так что одиночная выборка, конечно, занимает 13 ADC-тактов, но это может быть 26 или 27 MCU-тактов. И лишний такт - как раз в начале, _до_ захвата, что добавляет 33% времени. Кстати, еще засада обнаружилась, но уже в знакомой и понятной области. Многоканальность, блин. Очень похоже, что попытка сохранить скорость (то есть четыре канала - ровно вчетверо медленнее, чем один) обречена на провал - нужно писать вручную полированные циклы захвата под кажый вариант (хотя бы 1-2-4 канала), а на это не хватит флэша, они объемные, а тут еще мультиметр... А значит, будет совсем медленно - а такое нафиг надо. Но можно попробовать сделать каналы нечестными - ловить один канал на одном триггере, один на следующем и т.п., то есть каналы - только для периодических сигналов. На это много флэша не надо. Зато удается освободить полностью PORTC от входов, а значит, если будет место под код - можно соорудить логический анализатор на шесть каналов, тоже неплохо |
| 116. Leka, 19.09.2006 11:05 |
Mr.PG правильно понимаю, что ... Да. готовые решения для типовых проблем. Люди потратили миллионы человеко-часов, чтобы их найти - грех не воспользоваться, заодно удается выяснить, почему они такие. ...И часто оказывается - "по историческим причинам", те просто привычка с тех времен, когда процессоры были большими, а лампы - маленькими. Добавление от 19.09.2006 11:08: Многоканальность Добавление от 19.09.2006 11:16: Kotische |
| 117. Mr.PG, 19.09.2006 14:46 |
По меге на канал будет довольно сложно - их же синхронизировать надо до долей микросекунды, а у них много плавающих таймингов (хотя решаемо, конечно - неопределенность старта можно ужать где-то до пары-тройки тактов, если аккуратно)... Хотя сама идея... Все неиспользуемые процы политкорректно спят и электричества не едят... Опять же, одну мегу8 - под генератор аудиочастот (допустив джиттер в пределах 10%, можно софтверно генерить чуть больше 100КГц, больше 10 сэмплов на волну в минимуме, и на дальнем конце иметь градации по 1КГц), одну под логический анализатор с десятками ножек и мегагерцами, одну... Тьфу, блин, искуситель - мне сначала этот приборчик надо закончить, а в медведе как раз 4051 остались только в DIP - придется плату побольше делать... Короче, идею uber-device по цене семечек я воспринял, но на будущее Пока, видимо, сделаю фальшивые каналы или вообще один канал, забью начисто на щупы для измерения радиодеталей - на единственной игле будет только осциллограф, все остальное - на корпусе (заодно и нуль им всем можно устанавливать один раз, а не после каждого изменения положения щупа). А там поглядим... |
| 118. Kotische, 19.09.2006 17:08 |
Leka Скажешь чего-нибудь по поводу измерения ESR? Генератор тока, а после АЦП Фурье-преобразование... |
| 119. Chudik, 19.09.2006 17:18 |
Mr.PG Многоканальность, блин. Очень похоже, что попытка сохранить скорость (то есть четыре канала - ровно вчетверо медленнее, чем один) обречена на провал - нужно писать вручную полированные циклы захвата под кажый вариант (хотя бы 1-2-4 канала) Попытка с самого начала делать все самому с азов обречена на мучительное изобретение огня, колеса, металлургии - только для того, чтобы в итоге соорудить никому не нужный велосипед. Добавление от 19.09.2006 17:21: Leka Добавление от 19.09.2006 17:25: Если, конечно, это не DSPic |
| 120. Leka, 19.09.2006 18:05 |
Kotische Скажешь чего-нибудь по поводу измерения ESR? Генератор тока, а после АЦП Фурье-преобразование... А Фурье-преобразование зачем? Chudik Чем по меге на канал, лучше одну мегу и FPGA. Сразу же проблема асинхронности исчезает. Не верю, что с АВР асинхронность не побороть. Один генератор тактовой на все Меги + программная настройка + забыть про Си. |
| 121. Kotische, 19.09.2006 19:37 |
Leka А Фурье-преобразование зачем? Ступеньку выделять? Или минимум на АЧХ искать? "Это тебе Родной не Земля, это планета Плюк в кентуре, галактика Кин-Дза-Дза в спирали" (С) Вообщето предполагалось мерять фазовые сдвиги спектральных компонент... Кстати, FFT имхо не обязательно, вожно и Уолшем (Сделал осциллограф дешевле $30, #95 (http://forum.ixbt.com/topic.cgi?id=48:5985:95#95) ) обойтись... |
| 122. Mr.PG, 19.09.2006 19:43 |
Chudik:Чем по меге на канал, лучше одну мегу и FPGA. Сразу же проблема асинхронности исчезает. Как вариант, можно использовать DSP. Там, по крайней мере, все тайминги можно учесть до такта. Добавление от 19.09.2006 17:25: Если, конечно, это не DSPic Кстати, про того самого начальника направления в Микрочипе можно было бы и поподробнее рассказать - аудитория заинтригована, но недоумевает А проблема синхронности, на самом деле, совсем не страшная - общаются они честно через прерывания, одна атмега ногу задрала - все остальные очнулись от сна, потом она ногой дернула - и все одновременно вошли в прерывание и запустили сэмплинг. Источников асинхронности два - прерывание ждет окончания текущей команды (а она может быть длинная) и клок DAC тикает асинхронно. Поскольку ждать прерывания они все могут в цикле из коротких команд (1 и 2 такта), то суммарная неопределенность момента старта - две команды. 0.125us, не страшно. И не надо им общего клока, просто кварцы вполне подойдут - за время сэмплирования далеко не разойдутся. |
| 123. Chudik, 19.09.2006 20:58 |
Leka Не верю, что с АВР асинхронность не побороть. Один генератор тактовой на все Меги + программная настройка + забыть про Си. Угу, только есть проблемка, заключаящаяся в недетерменированности отклика такого типа процессоров. Если только не делать один процессор мастер-синхронизатором для остальных. И вообще, мультипроцессорность не отвечает исходной задаче максимально простого устройства. Mr.PG Кстати, про того самого начальника направления в Микрочипе можно было бы и поподробнее рассказать - аудитория заинтригована, но недоумевает А чего про него рассказывать. Был начальником отдела средств разработки (эмуляторы, компиляторы) на ZiLOG. Отличился полным забюрокрачиванием работы своего отдела. Любой дизайн, любое требуемое изменение обрастало ворохом бумаг и не делалось пока все бумаги не прошли положенный цикл с получением всех подписей. После этого разработка закладывалась в план работы отдела и требовала раза в 2 больше времени, чем при нормальном течении дел. После увольнения переехал в Аризону и был принят на Микрочип. Звонил мне и предлагал переехать туда же и работать под его чутким руководством. Мотивировка: "Ты, наверное, слышал, что Микрочип собирается делать dsPIC. Нужен человек, который может вообще выговорить это слово DSP и вообще понимает, что это такое". железка, чуть странноватая угу, одна ширина команд 24 бита многого стоит |
| 124. Leka, 19.09.2006 21:19 |
Chudik угу, одна ширина команд 24 бита многого стоит Ну и о чем говорит длина инструкции? У AD21xx, например, тоже 24х-битные инструкции. Если бы разработчики АВР не ужали код до 16бит (а взяли, допустим, 18) - система команд была бы полностью ортогональной(а так хромает). Мне, например, 36 бит мало для "своего МК" - хотелось бы 40 |
| 125. Chudik, 19.09.2006 21:42 |
Leka У AD21xx, например, тоже 24х-битные инструкции. А кто сказал, что мне нравится AD21xx ? Но у них хоть тактовая частота достойная. |
| 126. Leka, 19.09.2006 21:48 |
Chudik А кто сказал, что мне нравится AD21xx ? Никто и не говорил. Просто не понял, чем именно не понравилась ширина в 24 бита. Только тем, что не кратна 16, или чем другим. |
| 127. Chudik, 19.09.2006 21:56 |
Leka Только тем, что не кратна 16, или чем другим. Угу. При этом данные в памяти программ (разные таблицы) либо надо упаковывать и тратить время на распаковку, либо тратится треть памяти. Понятно, что 24 бита в этом отношении лучше 12-14 бит. Но всё равно неприятно. |
| 128. Leka, 19.09.2006 22:24 |
Chudik Согласен, но смысл "гарвардской" архитектуры как раз в разведении инструкций и данных --> использование памяти программ для данных "нечестно". Имхо. |
| 129. Chudik, 19.09.2006 22:51 |
Leka Ну так обычно таблицы пишутся исходно в память программ, вообще-то |
| 130. Leka, 19.09.2006 23:20 |
Chudik Успел уже все забыть... |
| 131. rx3apf, 21.09.2006 01:46 |
цитата: Дебилизм ясен. Только схемы-ли ? Не обижайся, но прежде чем делать такие заявления, стоило бы ознакомиться со "схемой" и логикой ее функционирования. Просто для сведения - у меня эта "схема" измерительной части (та, что на компараторе) обеспечивает диапазон измерения от долей pF до 10 uF (причем с разрешением на младшем диапазоне 1 fF, и даже с учетом значительного температурного дрейфа даже сотые pF уже вполне можно учитывать) с точностью лучше 1% (реально на эталонных конденсаторах лучше 0.5%). И индуктивность с разрешением 1 nHy на младшем пределе. И учет паразитной емкости катушки (а это уже начиная с единиц mHy заметный фактор). До 100 mHy точность порядка 1%. Да еще и с вынесенным щупом-пинцетом для SMD-компонентов. цитата: А как у этого варианта с точностью (именно точностью, а не разрешающей способностью - с ней-то все ясно и не впечатляет) и линейностью ? А также стабильностью и калибровкой ? У "схемы"-то для калибровки нужен один-единственный эталонный конденсатор... цитата:А в "схеме с компаратором" - прямым измерением частоты и несложной математикой... |
| 132. urriz, 21.09.2006 19:14 |
Может, лучше сделать модульную конструкцию - мозги, питание, индикация, клавиатура - основной модуль, и разнообразные насадки для разных функций. Вывести на разьем питание, аналоговый, частотный входы/выходы, i2c, RX/TX и т.д., а нужные функции - в модулях расширения - LC измеритель частотный/компараторный, частотомер на программируемом делителе, мультиметр с входными делителями и т.п. Сделать в нормальном корпусе или в виде конструктора и продавать как выше названные торгаши. |
| 133. Mr.PG, 21.09.2006 21:19 |
Если это мне совет, то я не осилю Соответственно, идея, безусловно, грамотная, красивая. Наверное, если кто-то возьмется - вполне реально заработать на этом достаточно разумные деньги. Желающие - welcome, код и все остальное, что есть на сегодня, я вот-вот выложу, если оно кому-то поможет, лицензия максимально свободная. Только я бы, пожалуй, если делать это для денег, посоветовал брать не функциональностью (она опасна ценой) и модульностью (она вредна для карманности), а wow-фактором: поставить туда цветной экран от мобильника и написать лишний килобайт кода для DPO-образного вида. Чтобы новые графики накладывались на старые, а старые плавно затухали. И минимальный размер и привлекальный внешний вид (заказной корпус хорошего дизайна). Все - при себестоимости по-прежнему в $30 эта штука легко продастся за 100, 200, 300 - зависит от жадности продающего Кстати, если мне склероз не изменяет, то кое у кого |
| 134. Kotische, 21.09.2006 22:12 |
urriz Может, лучше сделать модульную конструкцию - мозги, питание, индикация, клавиатура - основной модуль, и разнообразные насадки для разных функций. Вывести на разьем питание, аналоговый, частотный входы/выходы, i2c, RX/TX и т.д., а нужные функции - в модулях расширения - LC измеритель частотный/компараторный, частотомер на программируемом делителе, мультиметр с входными делителями и т.п. Сделать в нормальном корпусе или в виде конструктора и продавать как выше названные торгаши. Маленькое замечание: описанный конструктор имеет смысл если софт который этим всем управляет имеет модульную конструкцию, позволяет легко добавлять/убавлять апаратные компоненты, тут глядишь подгребаются драйвера устройств, а там и до полноценной OS недалеко.... А это тянет за кобой более мощный процессор, разработку внутреннего API... Вобщем где мы и где 30 баксов?... |
| 135. urriz, 21.09.2006 22:51 |
Ну, можно записать бут-лоадер и обновлять через последовательный порт. |
| 136. Kotische, 21.09.2006 23:08 |
urriz Это не так важно через какой порт закачивать... важнее ЧТО туда закачивать а закачиваемая программа должна быть легко масштабируемой чтобы не приходилось каждый раз привлекать супер-программиста для модификации прошивки если вдруг приспичит прикрутить ещё одну ацеповину... А сделать 1 универсальную прошивку на все случаи жизни... боюсь могу только ответить: "Плюнь тому в глаза, кто скажет, что можно объять необъятное" (С) Козьма Прутком |
| 137. Mr.PG, 22.09.2006 00:02 |
Если я правильно понял urriz, то он говорил о штуковине для самостоятельной разработки и самостоятельной же продажи, а значит, набор "новых ацеповин" не только невелик, но и полностью известен, объявлен на сайте, отлажен и проверен. И свежая версия софта просто содержит в себе весь код для всех вариантов обвески, ее после выпуска очередной железки однократно дописывает "супер-программист". Ничего необъятного здесь не предполагается - никаких "драйверов", железок от третьих производителей и т.п. |
| 138. 'Vlad', 23.09.2006 00:07 |
Mr.PG Попробовал "оверклокнуть" АЦП у 8-й Меги чтобы посмотреть на достоверность измеренных значений. Выбрал опорное напряжение равным AVCC, т.е. - 5 В, ADCHM=1. Получилось следующее: 4 МГц (8 МГц тактовая у Меги) - 6 бит довольно неплохо выдает во всем диапазоне входных напряжений (можно даже сказать - 7 бит). 6 МГц (12 МГц тактовая у Меги) - почти 6 бит (на некоторых участках - уже не вкладывается в 6 бит). 7,5МГц (15 МГц тактовая у Меги) - уже в 6 бит не вкладывается на многих участках. 8 МГц (16 МГц тактовая у Меги) - не вкладывается и в 5 бит, на отдельных участках от силы 4 бита. 9 и 10 МГц (18 и 20 МГц тактовая у Меги) - АЦП уже не работает. 24 МГц - Мега еще дышит, 25 МГц - пока дышит, 27 МГц - уже потухла. Для сравнения выводил результаты измерений (0-1023) на ЖКИ в 7 строк для всех семи коэффициентов деления (2, 4, 8, 16, 32, 64, 128). При 24 МГц и К=4 АЦП вела подобно как и при 12 МГц и К=2, это показывает, что именно АЦП явился причиной. Вывод: может и можно будет выбрать экземпляр Меги с "оверклокерским" АЦП, который при 8 МГц еще сносно будет функционировать, но, видимо, далеко не каждая Мега готова к такому подвигу. Кроме того, неплохо было бы посмотреть на поведение работы АЦП при реальных граничных температурах. Похоже, врядли 600 KSPS реально достижимы, может 400 или 500 от силы. Да и то - не гарантировано. Есть, правда, 88-я Мега, вроде как более шустрая, может с ней можна выйти на более высокие KSPS-ы, хотя и это не факт, большая шустрота контроллера не означает большей шустроты АЦП, ведь и так он используется в нештатном режиме. |
| 139. Mr.PG, 23.09.2006 01:26 |
Супер-эксперимент, спасибо! А как мерялось (подробности, вероятно, могут оказаться важны)? Как была была собрана схема, что за сигнал, с каким импедансом (вдруг он действительно не успевает зарядить конденсатор sample-and-hold), как это выглядело физически - какое питание, на какой плате собрано (пружинная макетка? пайка? как разведена?), повешен ли конденсатор по даташиту на Aref и т.п. (возможно, там какие-то наводки/помехи на определенных частотах, а не проблемы АЦП?), что за код для измерений и вывода (free-running или нет? чем был занят контроллер, кроме сбора АЦП - не дергал ли ногами попусту?), как выглядели "сырые" результаты, как из полученных цифр считались биты, какой тип и характер ошибок (шум, нелинейность и т.п.)? Ну и, собственно, sanity test на предмет пригодности источника сигнала - при тупом втыкании напрямую коротким проводом в землю и потом в Vcc с хорошей кучкой правильных конденсаторов вокруг и с хорошим питанием какие цифры кажет АЦП на разных скоростях? И, если есть осциллограф, что он там же показывает параллельно (с работающей одновременно схемой на атмеге, конечно)? У меня пока не было времени попробовать разные частоты, да еще, похоже, заболел сегодня (насморк, температура) - так что детали жутко интересны, в ближайшие дни сам не попробую... Впрочем, даже если 6МГц будет пределом (у меня вывод в 32 точки, так что пяти бит хватит) - это все равно 460KSPS, вполне уважаемая цифра. Почти сто килогерц прямоугольника можно показать, а уж аудиочастоты - с запасом Да и некоторые типы "системных" проблем не пугают - нелинейности любого вида лечатся табличками в софте, например... |
| 140. 'Vlad', 23.09.2006 05:35 |
Mr.PG Да ничего заумного, много времени не тратил, просто интересно стало, как будет вести себя АЦП при столь экстремальном "оверклокинге". На макетке стояла Мега8 (обкатываю одно устройство) с внешним кварцем (устанавливал с разными частотами), вот ее и задействовал, вход ADC7, на него подавал постоянное напряжение с регулируемого источника, в программе измерял последовательно с разными коэффициентами деления частоты и результаты (0-1023) выводил на ЖКИ в 7 строк. Изменял напряжение и сравнивал показания при "оверклокнутых" и "неоверклокнутых" коэффициентах. На "неоверклокнутых" показания изменялись одинаково, пропорционально подаваемому напряжению, на сильно "оверклокнутых" - наблюдалась нелинейность, то "опережение", то "отставание", чем выше по частоте АЦП, тем значительнее. Вот и хотел посмотреть, когда АЦП начнет "врать" совсем безобразно. По крайней мере, это уже граница, выше которой ничего хорошего не светит. Все остальные факторы могут только усугублять общую картину. Думаю, разумнее все же навесить внешний довольно шустрый АЦП. Даже в самом простейшем случае возможно получить до 4-8 MSPS (ограничивается контроллером при real-time захвате), 8 MSPS - при 24 МГц тактовой на Меге88 (хотя они идут на 20 МГц, но в Preliminary им указывалось до 24), Мегу8 тоже можно попробовать погнать, все равно - любительская конструкция Как это реализовать с минимальной схемотехникой? Есть простая идея, попробую - расскажу. Самому интересно стало, как сварганить предельно простой по деньго и времязатратам цифровой осциллограф. Тем более, что у меня лежат бросовые комплектующие: ЖКИ от Нокии 3410 (96х65), и АЦП от давно отдавшего богу душу сканера Mustek 97-го года выпуска - ES52068 (8 бит, до 20 MSPS). По свободе на выходных проэкспериментирую, тогда отвечу. |
| 141. urriz, 23.09.2006 11:11 |
> 8 MSPS - при 24 МГц тактовой на Меге88 Интересно, как можно за 3 такта прочитать порт, записать в ОЗУ, изменить счетчик байтов, венутся на начало цикла? И еще нужно как-то запускать преобразование внешнего АЦП. Короче : IN Rd,P --- 1 такт ST X+,Rr --- 2 SUBI Rr,1 --- 1 BRCS loop --- 2 То есть только на чтение и запись байта - 6 тактов А если еще давать старт преобразования, то SBR clock --- 1 CBR clock --- 1 Еще 2, то есть в лучшем случае получается 3 MSPS на 24 МГц. Можно развернуть цикл, без SUBI Rr,1 , BRCS loop - это -3 цикла, получается 4.8 MSPS Также можно взять контроллер с внешней шиной, чтобы автоматически генерировался сигнал чтения (для запуска АЦП), тогда можно исключить SBR,CBR clock - еще -2 такта. |
| 142. Mr.PG, 23.09.2006 16:34 |
Нелинейности - совсем не страшно. Если в эксперименте не было "методических проблем" (типа помех по питанию, наводок на АЦП от самого же контроллера или чего-то еще), и были четыре бита без поправок (то есть 512 находилось в диапазоне от 480 до 544), то уж один-то бит я интерполяцией наиграю легко и непринужденно, а то и все два. И тогда для моего конкретного прибора 600KSPS - в самый раз А ключевая разница здесь - я уже писал выше - в триггерах. Я _могу_ на такой скорости считать сложные многостадийные триггеры, например, ширину импульса или его высоту (у меня после каждого захвата есть пара десятков тактов на вычисления - на два сравнения чего угодно как раз хватает). А если в погоне за скоростью перейти на железный АЦП, этих тактов больше не будет, триггер придется делать аппаратным, а значит - "больше X" или "меньше X". Скучно И, кстати, цену халявного железа _надо_ закладывать в вычисления - у других-то людей его нет... |
| 143. urriz, 23.09.2006 16:51 |
Может, сначала читать все в буфер (например, 256 байт), потом там искать триггер, и отображать график начиная с найденного места. |
| 144. Mr.PG, 23.09.2006 17:35 |
А если триггера там нет? Ну, то есть такой метод, вероятно, пригоден, если нет другого (если микроконтроллер еще намного слабее, чем ATmega8), но использовать его ради ускорения с 600KSPS до 4MSPS - наверное, снизит, а не увеличит потребительские качества прибора. Другой вопрос, что для подавляющего большинства задач "больше X" и "меньше X" - вполне достаточный набор триггеров, а я просто выпендриваюсь Добавление от 23.09.2006 19:06: Да и вообще - уж если АЦП внешний, и триггер ему тоже привешен внешний, то и память ему, пожалуй, идеологичней тоже внешнюю. Какой, собственно, смысл тормозить его контроллером - пины экономить? А решение "все внутри" - это только для звуковых частот, зато здесь оно весьма эффективно. |
| 145. 'Vlad', 24.09.2006 05:06 |
urriz цитата:Дело в том, что иногда шаблонность мышления мешает найти решение. Организовывать цикл можно на более низких скоростях, а на предельной будет вполне приемлимым решением линейный кусок типа повторяющегося фрагмента: IN Rd, P --- 1 такт ST X+, Rd --- 2 такта ... IN Rd, P ST X+, Rd и так - 96 раз для Нокиевского ЖКИ или 128 раз для того, который использует Mr.PG В первом случае расход будет 576 байтов, во втором - 768. Ради получения предельной скорости при аппаратной простоте на такую жертву вполне можно пойти. Для 88-й Меги не так уж и накладно будет. А то, немного больше раскошелившись, можно и 168-ю Мегу для этой цели взять. Относительно тактирования АЦП, в этом случае разумнее всего обеспечить аппаратное тактирование на предельной скорости, в конечном счете это не намного усложнит схему, да и нет никакого криминала в том, что даже на минимальной скорости развертки осциллографа тактировани АЦП будет на фиксированной максимальной, например для приведенного случая достаточно давать деленную на 3 (хотя бы с использованием ТМ2 (74HC74)) тактовую контроллера. Синфазирование при измерении достигается сбросом непосредственно перед измерением счетчика на 3, использовав для сброса одну из свободных линий любого порта Меги. А триггер я сделал бы не программным, а аппаратным (TL319) и только опрашивал бы линию порта, на который подал бы выход с TL319: код: Порог срабатывания задавал бы через один из каналов ШИМ. Получилось бы просто и шустро. |
| 146. urriz, 24.09.2006 06:57 |
>Дело в том, что иногда шаблонность мышления мешает найти решение На счет развертывания цикла я писал. А тактировать можно от выхода таймера |
| 147. Mr.PG, 24.09.2006 08:07 |
Не видеть, что было до триггера - это недостойно мыслящего существа Да, и еще - у меня ради вящей экономии LCD 122x32, никаких 128 |
| 148. 'Vlad', 24.09.2006 08:21 |
urriz цитата:Ну, тогда какие там 4,8 MSPS? 24/3=8. цитата:Если есть свободная нога OC2(PB3), можно, сэкономится один корпус (74нс74). Но с нее можна снимать ШИМ сигнал для управления порогом компаратора. Добавление от 24.09.2006 08:44: Mr.PG цитата:Тогда нужен аппаратный буфер с вытекающим значительным усложнением схемы. Ты же простоты хотел? цитата:Цена Меги88 процентов на 10-15 выше от Меги8, 168-я от силы в 1,5-2 раза дороже, зато флеша в 2 раза больше. цитата:Ага, аж целых 4,3 мА для LM319. А его шустроты вполне хватит - 80 нс. Цена ему - 0,25$. Кроме того он сдвоенный, поэтому один можно применить для автозапуска, а второй для внешнего запуска. |
| 149. Mr.PG, 24.09.2006 09:25 |
В моем нынешнем варианте - буфер не нужен, претриггер доступен в любых условиях. И если от нескольких ценных фич (сложные триггеры, претриггер и еще кучка радостей) приходится отказываться ради увеличения скорости на один порядок, да еще и денег добавлять (АЦП, компараторы, логика триггера (rising/falling), контроллер и т.п.), и плату усложнять, то надо ли оно? Что за реально полезные сигналы живут в этом диапазоне? По цене - ну, понятно, что дело не в деньгах, а в принципе, и мне интересно исследовать локальный (несколько неожиданный) минимум. Внутри смешного ультра-дешевого контроллера живет удивительно симпатичный ADC. Да, его надо аккуратно подпереть софтом со всех сторон, чтобы не упал. Да, у него нет встроенной обвязки для усиления. Да, ножек мало. Да, да, да... Но если железо сделать самым простым, а все сложности упихать в софт - получается удивительно забавная штука. Локальный оптимум. Размер - мелкий (вплоть до карманного). Цена - халявная. Батарейка - вечная. Фич - много Вариант с внешним АЦП - конечно, быстрее на порядок, но он уже не так ресурсо-эффективен: он одновременно дороже, сложнее и слабее по фичам. Мне кажется, следующий реальный оптимум по сумме возможностей - это что-то на DSP, с единицами мегагерц с внешнего АЦП и обработкой в реальном времени. DSP не так уж дороги, хотя и не атмеги, а фич можно, вероятно, много натыкать. Ну и дальше, видимо, какие-то FPGA, но тут мне сложно что-то сказать. Кстати, попробовал атмегу8-16 на предмет построения графиков и шума. Вытравил ей (у меня TQFP) переходничок с ножками a la DIP, припаял, воткнул в пружинную макетку, вывел на LCD, кварц 16МГц, 8МГц АЦП... Шума на 32 точках не видно, меандр прямой и ровный, нелинейности пока не мерял. Условно годится - так что разбираться с цифрами уже буду в "финальном" изделии, когда схему разведу (заодно и ошибки остального железа прибавятся). А насчет LM319 - так ведь выше был написан TL319, он в разы больше кушает |
| 150. 'Vlad', 24.09.2006 09:44 |
Mr.PG Ну, вольному - воля. Если шустрота не нужна, тогда - на внутреннем АЦП. цитата:Очепятка. |
| 151. Mr.PG, 24.09.2006 09:46 |
Мне и правда интересно - какие сигналы живут где-то от 50КГц до 1МГц, и при этом встречаются в повседневной жизни мелкого самодельщика? Может, туда зачем-то обязательно надо стремиться даже в супер-дешевом приборе, а я не знаю? Добавление от 24.09.2006 23:51: Кстати, глянул на http://focus.ti.com/docs/prod/folders/print/tms320f2812.html (в общем и целом, случайный URL - результат 30 секунд поиска в гугле по слову DSP) - и понравилось. 15-20 долларов, 150MHz, 12.5MSPS ADC прямо внутри, причем с двумя S&H (наверное, можно 25 MSPS с интерливом?), вполне себе паяемый вручную LQFP... Надо будет на досуге почитать |
| 152. Leka, 25.09.2006 00:28 |
Mr.PG tms320f2812...случайный URL - результат 30 секунд поиска в гугле по слову DSP http://electronix.ru/forum/index.php?s=30415e0249b13…p;showtopic=20550 |
| 153. Mr.PG, 25.09.2006 02:01 |
Leka Если я правильно прочел между строк, то, кажется, мне сильно повезло в поиске, и я натолкнулся сразу же на идеальное нишевое решение, которому чуток неуютно на родных задачах, зато под осциллограф оно просто идеальное? Ну, там минусы - ровно те, на которые можно плевать с высокой колокольни (все равно на таких скоростях от батареек работать без особых шансов, а критичного кода для ОЗУ в _этой_ задаче нужно немного, влезет без вопросов), а плюсы - ровно те, которые нужны для ультра-дешевого малогабаритного прибора для любительских задач. Достаточно дешево (плюс-минус пять долларов от конкурентов, причем, кажется, скорее минус), весьма быстро, обвязка минимальная - все внутри, и главное - невероятно быстрый для этого класса железок встроенный АЦП, позволяющий очень красиво ловить много каналов (там на тему коммутатора внутри много радостей)... Жаль, сам АЦП всего один, так что 12.5MSPS - это физический предел. Зато 10 бит реальных, 12 номинальных, а скорость абсолютно честно раскидывается до 16(!) каналов аппаратным образом без потерь времени - это очень мило, бело и пушисто. Или, как красивый вариант, всего два канала - тогда у них sample происходит строго одновременно, а потом идет конверсия по очереди. Изображать это все снаружи контроллера я бы не хотел - сложно и дорого |
| 154. 'Vlad', 25.09.2006 02:24 |
Mr.PG Ну, вот. Начав ветку: http://forum.ixbt.com/topic.cgi?id=48:5985 плавно перейдешь в: http://forum.ixbt.com/topic.cgi?id=48:841 |
| 155. Mr.PG, 25.09.2006 02:56 |
Ну, 12.5MSPS - это еще не 500MSPS, как народ замахивается, а всего-то мегагерцовые сигналы, жалкие двадцать раз по сравнению с моими 600KSPS... И я не говорил, что когда-нибудь возьмусь за такую штуковину - я ее и правда несколько побаиваюсь, именно по причине аналоговой части. Но неужели мне никто так и не расскажет, какие полезные сигналы живут от 50KHz до 1MHz? Не жадничайте, право же - из гугля я эту информацию не вытащу, тут только личный опыт нужен Добавление от 25.09.2006 02:58: (перечитал еще раз пару страниц той ветки) А ведь они тоже сначала хотели что-нибудь попроще |
| 156. 'Vlad', 25.09.2006 04:19 |
Mr.PG В даный момент сижу с паяльником - нацепил на Мегу8 АЦП ES52068 и получаю 5 MSPS (20 МГц/4), вроде как уже дышит. цитата:Правда жизни заключается в том, что от 0 и до бесконечности живет такое количество полезных сигналов (а также - бесполезных Как оказалось, подхватил виря. Не компьютерного, а человеческого, респираторного. Поэтому выходные провалялся, проспал, а вот сейчас не спится. Поэтому и решил поэкспериментировать. |
| 157. Mr.PG, 25.09.2006 10:05 |
Поздравляю - цифра внушает А цифра меня интересовала в гораздо более приземленном смысле Если в какой-то момент начать смотреть протоколы или клоки, искать помехи, живущие поверх тех протоколов или клоков, щупать отдельные точки на видео, то сразу захочется иметь настоящий осциллограф, желательно с гигабайтами памяти и гигасэмплами в секунду - мегагерц явно маловат будет Если есть какая-то область деятельности радиолюбителя, где именно такие сигналы и используются, я хочу ее узнать - просто чтобы понимать, насколько она велика. А вирус - это от меня |
| 158. bodja, 26.09.2006 00:31 |
Mr.PG Но неужели мне никто так и не расскажет, какие полезные сигналы живут от 50KHz до 1MHz? Не жадничайте, право же - из гугля я эту информацию не вытащу, тут только личный опыт нужен Я раскажу - практически все полезные сигналы,так как смотрю на экран осциллографа по 8 часов 12 лет. У меня немецкий аналоговый с полосой 40Мгц - так я на нем крайне редко смотрю большие частоты.Разве что кварц померять в работе. Как правило сигналы с частотой более 500кгц переходят в модулированые,и кроме тупого синуса или пилы рассматривать нечего. Смотриш на такой сигнал не как на частоты модуляции,а как на пакеты,а опять же на меньших частотах чтобы пакет влез в экран. Для измерений контроля качества сигнала ,как правило делают специализированные приборы со специфическими для этого сигнала функциями. |
| 159. 'Vlad', 26.09.2006 09:24 |
Mr.PG цитата:Дело в том, что очень плотно заниматься не могу - других дел предостаточно. Поэтому особо на очень скорый результат не рассчитываю. Конечно, любопытно было бы собрать карманный осциллограф, да и небесполезно, но со свободным временем не очень, разве только по выходным. В конечном счете думаю использовать Мегу88 (или Мегу168 если флеша не хватит, хотя, думаю, хватит вполне) на тактовой частоте 24 Мгц. Честных 8 MSPS получится. Пока закажу, чтобы Мегу привезли, да и быстых операционников тоже нужно заказать, потом дальше буду двигаться. Вобще-то над простеньким малогабаритным и малопотребляющим цифровым осциллографом со скромными характеристиками задумывался и раньше, но как-то выходило, что либо с простотой, потреблением и габаритами не совсем ладно, либо уж очень скромные характеристики вырисовывались. Ну, похоже, на какой-то компромисс выбрался, есть шанс до вполне пристойного поделия довести. Кстати, ты писал, что твой ЖКИ стоит около $16. При том, что у него всего 32 строки. Подумай, может обратишь свое внимание на ЖКИ от мобильников, у них поболее пикселов будет. Например мой от Нокии 3410 (96х65) мне достался даром, знакомый, занимающийся ремонтом мобильников принес в качестве презента за одну маленькую услугу. Так вот, ему такие новые обходятся порядка в $5. Есть и с большим числом пикселов, размером побольше, и цветные, но подороже. А как с ними управляться, в и-нете можно поискать, на кое-какие информации вполне достаточно. |
| 160. Mr.PG, 26.09.2006 17:29 |
А по поводу экранчика я уже думаю давно и тщательно Кстати, а является ли то, что предлагают в конце вышеуказанной страницы на gsmservice (оригинал ценой 4.50 вместе с пищалкой и клавишами), тем самым железом? Или там тоже бывает разное? Вроде, на http://serdisplib.sourceforge.net/ser/pcd8544.html об этом не говорят... (прикидывая) А ведь тогда я и в $20 уложусь... А отчетов все равно ждем-с |
| 161. Kotische, 26.09.2006 19:00 |
Mr.PG Боюсь, что при быстром АЦП все-таки может получиться довольно много Sleep-режим! |
| 162. 'Vlad', 26.09.2006 22:41 |
Mr.PG Что касается того ЖКИ, который от Нокии3410, это: LCD Nokia 3410 (http://mp3vkarmane.nm.ru/lcd.html) . Поскольку он совсем не цветной, потребляет совсем мало и вполне нормально обозревается без подсветки. Хотя при желании можно и подсветку поставить. Для работы при пониженной освещенности. Кстати, на указанной странице есть ссылка на дейташит:http://www.semiconductors.philips.com/acrobat_download/datasheets/PCF8812_2.pdf, так на ЖКИ Нокии3410 стоит не совсем тот контроллер, а его клон с уменьшеным до 96 количеством столбцов. Все же остальное - вполне соответствует. В любом случае, максимальный по размеру и количеству пикселов черно-белый ЖКИ от мобильника - самое то для карманного осциллографа, что по габаритам, что по потреблению, что по стоимости. цитата:Все во многом зависит от АЦП. Стремиться выбрать очень шустрый - цена и потребление. Я уже написал про найденный мною компромисс - Мега88, 24 МГц, 8 MSPS max. Имеющийся у меня АЦП мог бы и 20 MSPS, но все тогда растет аппаратно, габаритами и стоимостью, поэтому - 8 Кстати, смотрел дейташиты на веллемановские карманные осциллографы HPS5 (5 MSPS) и HPS10 (10 MSPS), так первый можно превзойти и приблизиться ко второму. Схемотехнически получается даже проще. |
| 163. Mr.PG, 27.09.2006 11:29 |
Ну, в идеале такая машинка должна работать от 9-вольтовой батарейки (чтобы и размер был разумный, и не пришлось заморачиваться с дорогим DC-DC и, заодно, помехами от него). А там хорошо, если есть смешные 600mAh... 20 - микроконтроллер (на 24 МГц и больше сожрет, наверное?), еще в среднем 12 - АЦП... Плюс усилители шустрые по 5 на брата (штуки две-три), итого еще 10мА. Уже 42, не считая подсветки, пищалки, самого экранчика, утечек всяких... То есть рабочее время - часов 12-13 теоретический максимум, 5-6 реалистичная цифра. И это при довольно аккуратной заботе о расходах... Недаром в HPS они используют аккумуляторы, и заряжать их приходится достаточно часто, судя по инструкции... А у меня мечта уложиться в 15, ну, самый максимум - 20 по сумме. Тогда реалистично будет больше 10 часов, а теоретически - за 20. Спать, жалко, контроллеру некогда - постоянно какие-то толстые вычислительные задачи. Но и так, вроде бы, должно неплохо получиться. |
| 164. Kotische, 27.09.2006 12:02 |
Mr.PG Спать, жалко, контроллеру некогда - постоянно какие-то толстые вычислительные задачи. Это простите откуда-же? Единственная задача когда нужно что-бы АЦП постоянно работал - это ожидание тригера с опережением. Не верю, что Вы будете эксплуатировать этоот прибор именно в этом режиме 6 часов подряд... Все остальные задачи вполне обходятся алгоритмом захватили пакет данных - отобразили на экране - спим - спим - спим - .... Глаз человека не воспринимает частоты обновления картинки больше 16 Гц, реально надо чтоб картинка на экране обновлялась в лучшем случае раз 5 в секунду... А насчет толстых вычислениий... ну не надо на нем в 3D-игрушки играть... не для того оно... Причем в sleep модно отправлять не только CPU, но и вся жрущую перефирию, АЦП, операционники, и т.д... |
| 165. Mr.PG, 27.09.2006 13:54 |
Ну, в моем случае (LCD ограничивает) кадров 5-6 в секунду абсолютно точно хватает. Но если у меня нет "настоящего сигнала", а есть постоянное напряжение - я буду сидеть в цикле захвата, ожидая триггера, который не придет никогда, вплоть до таймаута (а таймаут в такой ситуации разумен где-то на секунду-полторы, если юзер не топчет сейчас кнопки). А после собственно захвата идет обработка (я пока не мерял точные цифры, но сравнительно жирненькая), которой я особо горжусь - она отлавливает сигнал, подбирает ему усиление, скорость захвата, параметры триггера... Уже полностью закончена и хорошо работает - самому нравится, а это нечасто бывает Кроме того, будет, если влезет, еще обработка, накапливающая сигнал (a la DPO). В итоге вполне себе 3D-игрушка и получается |
| 166. Kotische, 27.09.2006 15:57 |
Mr.PG Но если у меня нет "настоящего сигнала", а есть постоянное напряжение - я буду сидеть в цикле захвата, ожидая триггера, который не придет никогда, вплоть до таймаута Это НЕ есть нормальный режим работы осцилопробника! Нормальный - это проснулся, померил текущие параметры сигнала, отобразил и заснул дальше... То что Вы предлагаете - сидеть и ждать тригера при постоянке на входе - есть спецрежим! Он при постоянной работе пробника нафиг не нужен!!! И должен включатся когда это реально необходимо нажатием на кнопку, а всё время в этом режиме пробник гонять неумнО! У меня на телефоне извините масса разных режимов работы, и в них во всех разный режим энергопотребления, и я это считаю нормальным... что в режиме разговора телефон жрет больше электричества чем в режиме ожидания... |
| 167. Mr.PG, 27.09.2006 16:46 |
Вот еще Нормальный режим работы - это все-таки "нажал кнопку включения, ткнул в _любую_ точку, удивился картинке на экране" "Спецрежим" - это ждать триггера вечно, пока не придет. Никаких таймаутов. Он, конечно, тоже нужен (настроил его, запустил - и пошел не спеша включать нужное событие), но речь именно о работе по умолчанию. Задача-максимум - чтобы из автоматического режима не было желания выходить в ручные, поскольку все и так работает само собой, автомагически. |
| 168. Mr.PG, 29.09.2006 21:48 |
Продолжаем разговор Однако, генератором надо управлять с основного контроллера, а я ни разу не писал кода ни для SPI, ни для TWI - и хотя там тоже все просто и понятно, но хочется спросить у писавших: для какой из этих двух шин на master-стороне достигается минимум необходимого кода (в байтах), если игнорировать всякие экзотические коды ошибок и т.п., короче, сильно стараться минимизировать объем? И, заодно, если кто-то часто пользуется генератором, подскажите: какие типы сигналов нужны в жизни? И надо ли их обязательно менять "на лету", с минимальным искажением волны, или остановка при смене сигнала, скажем, на сотую долю секунды допустима? |
| 169. 'Vlad', 30.09.2006 20:52 |
Mr.PG Относительно генератора. Если нужен генератор прямоугольных импульсов, рекомендую посмотреть на: Ридико Леонид Иванович. Генератор прямоугольных импульсов на основе AVR (http://telesys.ru/projects/proj072/index.shtml) . Можна взять идею за базовую. Для синусоиды можно глянуть на: Леонид Иванович Ридико. Низкочастотный синусоидальный генератор с шагом сетки 0,01 Гц (http://telesys.ru/projects/proj035/index.shtml) . Конечно, далеко не идеальный вариант, но стоило бы разобраться с идеей. На более современной элементной базе можно было бы сочинить с несколько лучшими параметрами. Относительно генератора сигналов произвольной формы, посмотри на:Александр Волович. Генератор сигналов произвольной формы (http://telesys.ru/projects/proj010/index.shtml) . Опять же, как на идею. Там уже нужно альтеровскую ПЛИСку, но можно поизголявшись обойтись и без оной. В любом случае, нужен относительно быстрый ЦАП. Эти проекты лежат на "телесиськах", но нечто подобное встречал и в других местах. Вобщем: "Ищи и обрящешь"©. |
| 170. Mr.PG, 30.09.2006 22:17 |
С идеей все достаточно легко, она лежит на поверхности, и лучше вряд ли получится. Ну, "лучше", само собой, зависит от критерия оценки, и он у меня такой: "минимум железа, максимум производительности, все тонкости - в софт". И потому я беру самый простой алгоритм: табличка произвольного сигнала в ОЗУ на 256 значений (синус я храню готовым, остальные сигналы экономнее посчитать и положить в табличку на лету), счетчик фазы из трех байт, самый старший из них - индекс в табличке. Еще одно трехбайтовое число - собственно, что мы прибавляем на каждом шагу. Никаких прерываний, жесткий цикл на 8 тактов (у всех в интернете, кого я нашел, на 9 - они хранят все таблички во флэше, а это на такт длиннее) вот такого вида: add r26,r22 adc r27,r23 adc r28,r24 ld __tmp_reg__,y ;обычно здесь используют LPM, но он 3 такта out 0x12,__tmp_reg__ ; в PORTD - значение из таблицы rjmp .-12 Максимальная частота - понятно, вдвое меньше сэмплинга, а он у нас 16МГц/8=2МГц. Так что мегагерцовый меандр таким методом получается. Синус уже весьма прилично различим где-то от 100КГц и ниже (10 точек на волну). Resolution - 0.12Гц, что весьма неплохо. Всего железа - контроллер, лесенка R-2R, усилитель. Цена - меньше 4 долларов. Поскольку в этом контроллере полно памяти и места для кода, то можно, к примеру, через TWI/SPI закачивать в него сигнал, прочитанный "осциллографом", и говорить "а теперь сгенери-ка его", можно модулировать сигнал по частоте на лету с небольшим искажением формы (прерывание изменяет прибавляемое значение), можно отдельно генерить прямоугольные сигналы любого вида с помощью таймера, можно делать много PWM одновременно и т.п. Собственно, именно из-за этого изобилия возможностей я и сомневаюсь - делать ли Так что метод - не проблема, и добиться диапазона, совпадающего с диапазоном осциллографа, достаточно легко. А вот вопросы, описанные выше (какая шина эффективнее, какие сигналы нужны в жизни, нормально ли, что смена одного сигнала на другой - дело не очень быстрое, или надо чем-то жертвовать ради скорости переключения), хотелось бы выяснить. |
| 171. bodja, 30.09.2006 22:44 |
Mr.PG Однако, генератором надо управлять с основного контроллера, а я ни разу не писал кода ни для SPI, ни для TWI - и хотя там тоже все просто и понятно, но хочется спросить у писавших: для какой из этих двух шин на master-стороне достигается минимум необходимого кода (в байтах), если игнорировать всякие экзотические коды ошибок и т.п., короче, сильно стараться минимизировать объем? Если мастера,то код уходит одинаково. Наиболее часто используемый сигнал - это 1 кГц для прозвонки звука. А так использование генетатора произвольного сигнала - редкость,предлагал уже сделать генератор видео - больше толку будет. Или в качестве прибамбаса сделать чтобы приборчик заговорил- сам хочу сделать ,а то вечно один глаз смотрит на прибор ,другой на щуп ,что бы не слетел и микруху не коротнул. |
| 172. Mr.PG, 01.10.2006 00:07 |
Мастера - давить О генераторе видео - помню, и если влезет - то, наверное, сделаю даже в однопроцессорной версии, ибо идея, конечно, хорошая, полезная. Однако, даже я, хоть самому и не надо, вижу пользу от генератора звуковых частот - многие люди увлекаются всякими усилителями и т.п. Наверное, даже больше, чем микроконтроллерами и телесигналами вместе взятыми. Подал сигнал на вход - посмотрел, что получилось на выходе. Хорошо, однако. Автотюнинг, опять же - воткнул генератор на вход, посмотрел, как звучит/выглядит выход, посмеялся над/вместе с владельцем Говорилка - видимо, проще всего спец-микруху типа ISD1416P ($5.6 в буром медведе) http://pdf1.alldatasheet.com/datasheet-pdf/view/8029…ETC/ISD1416P.html . Времени (длины записанного звука) она даст столько же, сколько и eeprom c хитромудрым кодеком для звука типа http://www.romanblack.com/picsound.htm - а кода и хлопот, вероятно, потребует меньше. Но что-то мне подсказывает, что это хорошо для мультиметра - статичные цифры объявлять. А для осциллографа... Да и, опять же, ножек-дорожек прибавляется совершенно нездоровое количество, как такое чудо разводить на коленке для лазерного утюга - не понимаю, не умею, не хочу. |
| 173. 'Vlad', 01.10.2006 01:03 |
Mr.PG Сколько бит ЦАП планируешь? С самопальной R-2R можешь грабли огрести в виде нелинейности и немонотонности. На мой взгляд, недорогим решением было бы использование AD7520 (572ПА1А). У него время устаканивания при 0,05% FSR не более 1мкс. Поэтому и его можно оверклокнуть. |
| 174. Mr.PG, 01.10.2006 02:51 |
'Vlad': Сколько бит ЦАП планируешь? С самопальной R-2R можешь грабли огрести в виде нелинейности и немонотонности. Восемь бит, вестимо - выводить больше потребует лишних тактов, а они в дефиците, выводить меньше было бы странно, если 8 достается нахаляву одной командой. Некий новозеландец http://www.pmb.co.nz/hobbycorner/pages/r2r_dac.htm попробовал R-2R, порисовал графики - и говорит, что хорошо получается Однако в тех, что вижу - типа подачи какого-то непрямоугольного тестового сигнала на вход усилителю или источника медленного клока - точность формы и амплитуды, повидимому, не особо критичны, была бы частота похожей, да еще сигнал условно гладким, не чистым меандром - и ладно А все-таки - какие сигналы полезны для такого устройства? Нужно ли быстро их менять? Про SPI/TWI разберусь сам, но эти вопросы, увы, требуют личного опыта... |
| 175. 'Vlad', 03.10.2006 06:57 |
Mr.PG Кстати, по поводу осциллографа, точнее рисования кривой на экране. Какой алгоритм у тебя реализован? Например, можно для каждого следующего семпла, стартуя с точки, горизонталь которой равна предыдущему семплу, а вертикаль - на единицу большая, проводить вертикальную линию до уровня текущего семпла, то же самое и для последующих семплов. Либо половина линии между уровнями смежных семплов проходит по предыдущей вертикали, вторая - по новой вертикали. Второй вариант должен получаеться вроде как более красивым, хотя и несколько более громоздким. Пока еще выводом на экран не занимался, но продумываю, как грамотнее его организовать. На этой неделе пообещали привезти 88-ю Мегу. Возможно, если время будет, в выходные попробую реализовать 8 MSPS. А то и честных 10 MSPS, если оверклокнуть Мегу до 30 МГц. |
| 176. Mr.PG, 03.10.2006 07:36 |
Насколько я понимаю, две половинки - излишество. Ну, достаточно задать себе вопрос, в какой точке экрана мы "производим измерение" - и ответить на него "ровно на границе между двумя пикселями". Более того - "половинки", если их сделать, приведут к тому, что вертикалей больше не будет как класса - только наклонные линии и закругленные углы. Оно друг другу эквивалентно, конечно - информации не становится ни больше, ни меньше, просто сдвиг на пол-пикселя, но все равно некрасиво А eeprom при желании можно вообще не использовать. Ну, во всяком случае, ничего туда не писать на лету - только как хранилище сохраненных в момент прошивки данных (или он и не читаться рано начинает? тогда вообще без него). Конфигурация, если ее хорошо продумать, может и не сохраняться, почти без неприятностей для пользователя - всегда начало в режиме и с настройками по умолчанию, если сильно надо - несколько пресетов на выбор. Что-то, кстати, никто на идейные вопросы не отвечает, и уже давно - придется принять решение случайным образом Да, а если уж разгонять до 10MSPS - может, заодно и мелкую память прикрутить? |
| 177. 'Vlad', 03.10.2006 08:57 |
Mr.PG цитата:Нет, уж! Вон соседняя ветка Пытаемся сделать осциллограф сами (http://forum.ixbt.com/topic.cgi?id=48:841) уже более трех лет существует, "а воз и ныне там"©. Вот такие пироги. Да и осциллографом буду заниматься неспешно, по мере появления свободного времени, мне спешить некуда, уж очень настоятельной нужды нет, получится быстро сделать - хорошо, не получится - время терпит. |
| 178. bremsstrahlung, 03.10.2006 09:44 |
Можно еще это обсудить http://www.semifluid.com/PIC18F2550_GLCD_Oscilloscope.php Прошу прощения, если было. |
| 179. Mr.PG, 03.10.2006 10:48 |
'Vlad' Я не о том - именно не делать монстров, а сделать примерно то же самое, что в промышленных портативных - HPS10 какой-нибудь. Ловить цифры на лету софтом - какой смысл, если все остальное уже железное, и успевать за ним жутко непросто? Одна микруха памяти и ее обвязка почти не изменит ни одного из тех четырех пунктов, а скорость тут же автоматом подскочит до границы, определяемой АЦП и ОУ на входе. Вроде, 20MSPS - это все еще в пределах разумного для наколенности, хотя и где-то на грани, конечно bremsstrahlung В середине пятой страницы было Француз, упомянутый там же, прошел намного дальше и намного красивее, многоканально, опять же, но и у него неаккуратностей кучка в коде (спокойно проверять кнопки, ожидая прихода триггера для последующего захвата на 666KSPS - ага-ага, как же, как же), и, к сожалению, непортативно вышло - очень уж сложная схема с кучей деталей, DAC внешний... |
| 180. 'Vlad', 03.10.2006 11:46 |
Mr.PG В любом случае для обслуживания ОЗУ нужно соорудить логику обслуживания. Я уже над этим думал. Тут либо альтеровскую мелкосхему использовать, либо кучку рассыпухи, иначе - никак. Есть, правда, некоторая альтернатива, уменьшающая количество рассыпухи, это использование FIFO буфера Am7201, Am7202, Am7204 или чего либо подобного (такое решение встречал). Но это - малореально, по крайней мере для меня, потому как такое еще нужно заиметь не только в виде дейташита. Да и потребляет оно некисло - до 100 мА, больше, чем все остальное вместе взятое. И это всего лишь для удвоения MSPS? Да и 10 их мне вполне будет достаточно. Существует такое понятие - предел разумной достаточности. Из него и исхожу. |
| 181. Mr.PG, 03.10.2006 16:30 |
'Vlad' А велика ли та кучка рассыпухи? Может, все не так и страшно? Лишняя пара-тройка корпусов погоду вряд ли сделают... Добавление от 03.10.2006 16:36: Посмотрел даташит на AM7201-35 - всего 60мА, ничего фатального. Видимо, меньше, чем все остальное вместе взятое |
| 182. Бэтмэн, 03.10.2006 16:56 |
Добрый день, уважаемые. На правах будущего пользователя вношу здоровую критику! Я в данный момент весьма заинтересован в недорогом мобильном осциллографе, т.к. без него я как без рук. В связи с этим хотелось бы выразить своё видение устройства: 1) Экран. Лично мне мобильность не очень важна, важнее наглядность картинки. Поэтому, я бы предпочёл вывод осциллограмм на экран компьютера по USB. Если это проблематично, то на большой LCD экран (монохром). Цена вопроса конечно возрастёт, но что реально можно разглядеть на экранчике мобильника??? 2) Амплитуда. Очень важно иметь возможность наблюдать высоковольтные сигналы (+/- 300-400В ), например, для отлдаки импульсных блоков питания. 3) частотный диапазон. Тут особых пожеланий нет. 4) функциональность/навороты. Наличие дополнительных функций в принципе не возбраняется, однако они не принципиальны. Вспомните басню про лебедя, рака, щуку. Может лучше контроллер нагрузить обработкой осциллограмм, а обвязку расширить в районе входных цепей? |
| 183. Mr.PG, 03.10.2006 18:38 |
Бэтмэн Таких устройств, к счастью, на рынке намного больше - и готовых за деньги и самосборных за цену деталей. Так что (если "недорогой мобильный" и "экран компьютера" друг другу не противоречат - вроде как, даже ноутбук уже тяжеловат, дороговат и великоват) прямая дорога в гугль по словам типа "USB oscilloscope" - выбирать из невероятного изобилия А чтобы не отправлять совсем уж с пустыми руками - ткну на http://www.usb-osc.narod.ru/ (вполне себе разумный вариант, особо ценный для не знающих английского, если таковые будут читать это сообщение). |
| 184. Leka, 03.10.2006 18:55 |
Mr.PG даже ноутбук уже тяжеловат, дороговат и великоват Вариант: автомобильный ТВ с VGA входом. |
| 185. Mr.PG, 03.10.2006 19:19 |
О, сразу как-то забыл - надо еще "основоположника жанра" обозначить - http://bitscope.com, на http://bitscope.com/design/hardware/ вполне себе лежат схемы. Для тех, кто умеет парлевуфрансе, http://kudelsko.free.fr/oscilloscope/sommaire.htm А для тех, кому только для PC и шибко-шибко дешево вплоть до полной бесплатности - http://home.planet.nl/~m.f.hajer/scope2k4.html (пара микросхем, обе можно взять сэмплами). 'Vlad' - кстати, у Bitscope PLD, где вся-вся-вся обвязка внутри, и все счастливы... За все это (триггеры, адреса, страницы - что угодно прячется внутрь) придется отдать 90-120mA (в зависимости от скорости и загрузки), вполне разумная цена. Тем более, что она спит большую часть времени... Есть подозрение, что может быть интересно. Навскидку - пусть все железки одновременно обожрутся и возьмут аж 200mA на 5V, и будут на 20MSPS читать пару килобайт памяти раз десять в секунду (больше 10 герц обновлений LCD не съест никогда из принципа). Итого одну сотую всего времени они будут поглощать электричество - средний ток им будет 2mA Добавление от 03.10.2006 19:22: Leka |
| 186. Leka, 03.10.2006 19:45 |
Mr.PG Да и питание, опять же, такому телевизору надо довольно заметное Сетевой/автомобильный адаптер. Требование к мобильности вовсе не подразумевает отсутствие питания на месте. А чем дешево генерить VGA с достаточным разрешением? Стандарт 640*480 требует 25МГц, но если выводить сдвоенные пиксели(320*480 или 320*240) - получим 12,5МГц - можно попробовать на отдельном МК(про специализированные ИС не знаю). |
| 187. urriz, 03.10.2006 19:49 |
Не знаю как кому (у всех разные потребности), а мне нужен небольшой прибор - заменитель тестера с возможностями осциллографа. Не всегда хочется тащить на себе 5-10 кг осциллограф, иногда автобусом или поездом. Или даже ноутбук. Кстати, я говорил, берите Мегу16, выходов хватит и на генератор, и на управление (коммутаторы можно выбросить) |
| 188. Mr.PG, 03.10.2006 21:23 |
Leka Народ на PIC (!) в Pong и Tetris на телевизорах играет, конечно, и на ATmega тоже, но как-то обидно недоиспользовать дорогой и красивый телевизор, подавая ему только половину точек, причем не цветную urriz Выводов-то на генератор хватит, а процессора? Генератор поедает, просто по природе своей, 100% счетных ресурсов, и очень чувствителен к таймингам - так что неминуемо, независимо от мощности основного uC, должен быть отдельным чипом. И я что-то не вполне понимаю, как это - коммутаторы выбросить? А кто мне будет разные резисторы в цепь обратной связи втыкать - ведь не мега16? И кто будет на вход усилителю подавать разные входные каналы (я же не могу мерять "сырое", что снаружи пришло - оно может быть слабовато)? Короче, надо объяснить - я не понял. Если речь о программируемом ОУ или Digital Pot - оно противоречит "экономичному подходу", да и в ближайшем ко мне медведе не продается. Лениво разыскивать Да и ножек у нее всего на 12, что ли, больше (32 vs 44), а если логические смотреть - то разница еще меньше, то ли 9, то ли 10. Вряд ли на все хватило бы... |
| 189. Leka, 03.10.2006 21:36 |
Mr.PG подавая ему только половину точек, причем не цветную А кто сказал, что не цветную? |
| 190. UserM, 03.10.2006 22:50 |
цитата:http://www.dontronics-shop.com/product.php?productid…at=262&page=1 ![]() Ещё вариант , но дорожею ![]() |
| 191. Kotische, 03.10.2006 22:51 |
Mr.PG сама идея прибора, использующего любой соседний монитор/телевизор вместо встроенного экранчика - красивая. Внушает. А чем можно успеть сгенерить изображение целиком за разумные деньги и с разумными хлопотами - я не знаю. Есть такая книжка - "300 практических советов" - http://publ.lib.ru/ARCHIVES/B/BASTANOV_V._G/ 300_prakticheskih_sovetov. [djv].zip в ней, на странице 92, есть совет №53 "Телевизор в качестве осциллографа" По большому счету - лажа полная, но во первых идея прикольная, а во вторых я его в детстве делал... оно РАБОТАЕТ!!! |
| 192. Mr.PG, 03.10.2006 23:01 |
цитата: Вот этот товарищ уверяет, что это за гранью разумного http://www.ondraszek.ds.polsl.gliwice.pl/~looser/avr/index.php - а он добился максимального от AVR, до него люди типа http://www.serasidis.gr/circuits/colour_bar_gen/colour_bar_gen.htm показывали максимум цветные полоски с огромным трудом. А уж сколько таких же, кто в итоге сломался и сделал черно-белое - смотреть жутко Без оверклокинга туда лазить вообще бессмысленно, да и с ним - далеко не факт... В отличие от телефонного цветного LCD, у которого видеобуфер встроенный, здесь надо для любой точки экрана где-то хранить ее цвет, причем "хранить" настолько хорошо, чтобы успеть вспомнить при выводе А кто, кстати, сказал, что цветную? |
| 193. UserM, 03.10.2006 23:12 |
цитата:ИМХО, имелось ввиду генерирование кмпозитного цветного сигнала PAL. Если использовать внешний кодер PAL, то всё проще. Добавление от 03.10.2006 23:16: Посмотрите проект здесь: |
| 194. Mr.PG, 03.10.2006 23:28 |
UserM Классно, только на эту цену нельзя смотреть - это ведь распродажа, последние экземпляры, на которые скидка жуткая, и когда они закончатся - дизайн будет невозможно повторить. А реальная цена - $50-70, и это уже не особо дешево... Kotische Это 53 и 54 советы? Сильная штука. На эту тему я на пятой странице этой темы прикольный линк приводил - http://www.electronic-projects.net/Electronic-Projec…scope/index.shtml Тоже довольно симпатично, однако. Добавление от 03.10.2006 23:55: UserM |
| 195. Leka, 04.10.2006 00:08 |
Mr.PG А кто, кстати, сказал, что цветную? Очень интересно послушать. Первая пришедшая в голову мысля |
| 196. Mr.PG, 04.10.2006 00:31 |
Leka Мнда, я так привык к цифрам на одном экране с графиком, что о таком режиме как-то протормозил подумать (спохватываясь) А зачем shortint? Байта хватит, ибо нефиг |
| 197. bodja, 04.10.2006 00:32 |
Mr.PG Мастера - давить Экономить здесь вполне безопасно - уж если два контроллера в сантиметре друг от друга и при односторонней передаче нуждаются в полной реализации протокола, то такой протокол нам не нужен Поэтому как раз и хочется понять, где можно больше отрезать без особого вреда. Лениво лазить в детали и того и другого, но, чую, придется - похоже, здесь нет тех, кто уже лазил. Ну так я о чем и говорю.Выбор за вами.Так как и SPI и TWI вролне нормальные шины.Что в одной ,что в другой одинаково. 1 Инициализация 2 Отправляем данные 3 Ждем флага завершения или прервания ,если таковое имеется. Для TWI чуть длиннее получается так как нужно еще старт ,стоп и адресс отправлять.Но зато готовый протокол и два проводка. SPI быстрее ,но нет протокола,три проводка +1 для каждого слейва. Но что-то мне подсказывает, что это хорошо для мультиметра - статичные цифры объявлять. А для осциллографа... Да и, опять же, ножек-дорожек прибавляется совершенно нездоровое количество, как такое чудо разводить на коленке для лазерного утюга - не понимаю, не умею, не хочу. Если я допустим меряю постоянку ,а он мне расказываем про амплитуду в 5вольт или не про то напряжение,то это наводит на определенные мысли. Проводков много не нужно.Я уже себе собрал платку-довесок на ТДА8444 - недорогой ЦАП по И2Ц восем выходов,24256,ТДА7050 -мелкий усилок , хочу еще глянуть ТДА2822 - тоже мелкая и можно регулировать звук. На все 4 проводка -питание и И2Ц - зато сколько выходов,можно и генератор звуковой засандалить. Добавление от 04.10.2006 00:54: Mr.PG |
| 198. Leka, 04.10.2006 00:55 |
Mr.PG А для цифр можно отдельный, чисто текстовый, экран предусмотреть Не обязательно, можно в другой(свободной от графика) половинке экрана попробовать рисовать - фонт только надо набок положить. Добавление от 04.10.2006 00:59: Кроме того, если после меги8 захочется кристалл помощнее - можно будет "примерить" подобный алгоритм. Добавление от 04.10.2006 01:01: Mr.PG |
| 199. Mr.PG, 04.10.2006 09:12 |
bodja Мерять между кадрами - не понимаю. Ну, я никогда с телевизорами дел не имел, но априори - самое интересное для наблюдений в любой схеме происходит именно тогда, когда мы на нее подаем какой-то сигнал, а если "подал сигнал, перестал, померял" - мы будем всегда мерять в "дохлом" состоянии. Нехорошо, наверное? Leka Ага, протормозил - (подсознание взяло 14 байт и поделило на 7 - получилось два байта). Но все равно не понимаю про 14 байт - либо у нас два игрека на каждый график - предыдущая точка и текущая (и мы рисуем отрезками), либо один, текущая точка, и мы рисуем точками (но тогда откуда еще семь байт?). Если игреков для каждого графика используется два, то, наверное, не сортировать надо, отрезки ведь все могут быть расположены произвольным образом, и перекрываться как угодно. Нужно заранее готовить строку, залитую отрезками цветов z1..z7 в правильном порядке, и это, кажется, небыстрое развлечение. Впрочем, наверное, успеть можно Добавление от 04.10.2006 10:04: bodja |
| 200. Leka, 04.10.2006 11:18 |
Mr.PG рисуем точками (но тогда откуда еще семь байт?) Цвет каждой из 7-ми точек, чтобы быстро выводить в порт(без всяких сдвигов и прочее). Лучше, конечно, выводить отрезками. |
| 201. algent, 05.10.2006 23:57 |
Коллеги, если кто собирает ссылки на осциллы, можете добавить в коллекцию ещё одну: http://bortsoff.narod.ru/ 200 MSPS, 8Mb памяти, вывод на экран, USB. Пока правда проблемы с подходящим корпусом, но всё решится.... |
| 202. Mr.PG, 06.10.2006 20:32 |
algent Так, собственно, там осциллографа-то вовсе и нет |
| 203. urriz, 06.10.2006 20:50 |
Может это простой торгаш, зарабатывает на рекламе и перепродаже. |
| 204. Mr.PG, 06.10.2006 21:04 |
Непохоже - скорее, мечта озолотиться на собственной разработке (вон, корпус еще пока, видимо, не найден) и жуткий страх, что "сопрут идею" |
| 205. algent, 06.10.2006 23:56 |
Mr.PG А в чём странность экзешников ? И что плохого в желании заработать ? Аналоги буржуи продают за 40-80 тыс рублей, я думаю просить 8000. Вы же их торгашами не называете, и не ругаете... У меня нет другой профессии, как мне ещё зарабатывать, на дядю надоело работать... Ну правда, что в этом плохого ????? Страха что сопрут нет А по железу, увы все не просто, потребуются годы, чтобы завоевать доверие... urriz Не торгаш, сам разработал. С удовольствием бы продал разработку, но ведь у нас не продашь за нормальные деньги |
| 206. Mr.PG, 07.10.2006 02:04 |
algent Никто особенно не ругает - просто ценность любой странички в интернете, а особенно той, которую зачем-то публикуют на популярных форумах, должна быть выше нуля для посетителей. Иначе это просто обидная потеря времени для кучи народа, который сходит, убедится, плюнет и уйдет. Невежливо. Если нет страха, что сопрут - можно опубликовать, и тогда ссылка резко обретет смысл: можно пойти, посмотреть, поучиться, посоветовать что-нибудь. Есть повод обсуждать в форуме (для чего мы здесь и собрались). А сейчас лежит некий софт, пользы от которого нет, и скриншоты, по сути - просто картинки из ближайшего фотошопа... И что со всем этим делать попавшему на сайт? Да ничего - даже выкачивать незачем. Вот и ругаются люди, что впустую время потратили... Я очень хорошо понимаю urriz, и не очень хорошо algent Да и к исходной теме - _дешевый_ осциллограф на коленке - вроде бы, никакого отношения не видно. |
| 207. algent, 07.10.2006 14:51 |
Mr.PG Да ладно, вы тут наезжаете на участников темы "пытаемся сделать осциллограф сами", обвиняете их в отсутствии результата. А мне обидно, я тоже там чуток поучаствокал, кстати в обсуждении чисто технических вопросов, без рекламы и прочего. Вы же сами дали кучу ссылок на разработки, которые их авторы ПРОДАЮТ, ГДЕ Вы видели исходники например по последней приведённой Вами ссылке ??? А помочь я всегда готов, когда могу и когда бываю в инете. По поводу отсутствия пользы: Увы, железо не продемонстрировать через инет Его надо тяжело и долго тащить к пользователю, и никаких сервисов помогающих этому, к сожалению нет. |
| 208. Kotische, 07.10.2006 17:15 |
algent Увы, железо не продемонстрировать через инет Его надо тяжело и долго тащить к пользователю, и никаких сервисов помогающих этому, к сожалению нет. Отнюдь! Можно выложить схему, крактинки печатных плат и методику настройки... и кто захочет сам соберёт... а вот кому лень самому собирать закажет готовую железку у Вас... а вот делать как делаете Вы - выкладывать абсолютно бесполезную программу (она кстати OpenSource?) и рекламировать кота в мешке - действительно очень некрасиво. Mr.PG algent Здесь открытая конференция, и её тема - как сделать осциллограф самому и дешево... Если смотреть под таким углом то ваш пост мало того что оффтоп, но он ещё и реклама (которая здесь запрещена). Вот если Вы выложете исходники программы и схему девайса... тогда действительно было-бы что обсуждать... а так |
| 209. Mr.PG, 07.10.2006 17:44 |
За других не скажу, но лично я ни в коем разе не наезжаю на участников той самой темы, просто немного смешно выглядит, когда они прячут результаты друг от друга, забывая о том, что Неуловимый Джо, увы, действительно неуловимый "Последних приведенных мной ссылок" было довольно много. Отмотал тему назад, на прошлую страницу - вот три последних ссылки, которые я привел. Настоятельно советую сходить по ним и поискать исходники - они там есть http://www.ondraszek.ds.polsl.gliwice.pl/~looser/avr/index.php http://www.serasidis.gr/circuits/colour_bar_gen/colour_bar_gen.htm И даже знаменитый своей коммерческой направленностью сайт http://www.usb-osc.narod.ru регулярно всплывает именно потому, что там есть и схемы железа и софт к нему. А редкие ссылки на интересные товары, которые приводят разные люди, например, на тот самый пинцет или на генератор видеосигнала, интересны потому, что товар можно использовать как образец для подражания или как готовую деталь за разумные деньги. И, наконец, железо - безусловно, демонстрируется через Интернет: можно выложить схемы, фотографии, методики проверки его точности и их результаты... Но, конечно, если не хочется - никто не заставит. Заранее прошу прощения, если больше не отвечу - ибо какой-то не очень осмысленный разговор выходит. И в любом случае желаю удачи - она явно понадобится... |
| 210. urriz, 07.10.2006 19:59 |
algent А можете огласить (предполагаемую) цену на ваш прибор Экрана там не будет, то есть для автономной работы "в поле" без компьютера он не подходит ? |
| 211. Алексейй, 07.10.2006 20:15 |
Приобрел USB приставку/ссылку дали в теме ,,звуковая плата в качестве сицилографа,, / обошлось чуть больше 2т.р. с пересылкой. Работает. А за 8 ни когда б не взял.Это при том что в кругу колег с паяльниками я бедным не числюсь. А для организации цена вообще не имеет значения-да хоть сто тысяч. |
| 212. algent, 07.10.2006 23:49 |
Гм, вероятно я нифига в жизни не понимаю. Чтож не хотел никого обидеть или чего там ещё, исчезаю. Буду благодарен модеру если он удалит мои посты, сам не умею. |
| 213. Скальпель, 08.10.2006 04:25 |
algent А так везде и всегда - работают в поте лица несколько человек, а остальные нетерпеливо ждут халявы, да ещё подстёгивают работающих укорами (дескать медленно пашете, где результат, чтобы мы нахаляву снимали сливки?). Любая попытка получить за свой труд вознаграждение пресекается лжеморалью. Тихо делайте и продавайте свой прибор, но не здесь |
| 214. UserM, 08.10.2006 13:29 |
Вот ещё ИМХО интересный проект. http://www.mindbend.ro/eoscope/eoscope_en.htm А, если за деньги , то пожалуй здесь. http://etc.sk/products/index.php?lang=eng Добавление от 08.10.2006 13:36: цитата:Не знаю , что за девайс Вы разработали, но толком предложить Вы действительно не умеете, соответственно сильно сомневаюсь что сможете заработать этим себе на хлеб. |
| 215. Vman, 09.10.2006 04:48 |
А вот еще один платный In the same box you get Oscilloscope, Logic analyzer, Spectrum analyzer, Recorder and Logic generator with a lot of potentialities for the affordable price! Вроде полный набор в одном флаконе. http://www.hobbylab.us/USBOscilloscope/Home.htm |
| 216. Mr.PG, 09.10.2006 09:18 |
Это всего лишь дилеры http://www.usb-osc.narod.ru - ничего нового. |
| 217. urriz, 10.10.2006 00:24 |
Вот придумал такой входной усилитель/делитель : http://www.umup.narod.ru/unimes_01/inp_01.png (inp_01 - 793x831, 5,8Kb) Одним коммутатором (тремя выходами контроллера) можно установить коэффициенты деления/усиления 0,001; 0,01; 0,1; 1; 10; 100; 1000; 10000 Без двуполярного питания сложно обойтись (много проблем отпадает), -5В можно сгенерировать таймером контроллера. |
| 218. Mr.PG, 10.10.2006 11:47 |
Красиво, однако. А нет ощущения, что шаг 10 - великоват для реальной жизни? И, опять же, как с пользой применять усиление в 10000 раз? Это же какой ОУ нужен, чтобы разумные частоты так усиливать! Может, как-то чуть иначе с коэффициентами обойтись? |
| 219. DrAG0n, 11.10.2006 13:21 |
1M автоперевод с транслита: в обратнои связи вместе с емкостю ножки зарежет всу полосу пропускания нафиг... До 1 КГц... И второй операзионник можно било би исползоват дла усиления К1554КП11, 2 ноги порта -> 4 значения на один операзионник, 2 на другой... Да ещо можно и вообше без мултиплексора обойтис.... |
| 220. Corvinus, 16.11.2006 10:23 |
Наткнулся на интересную статью в журнале Circuit Cellar. Называется "TV-Based Oscilloscope". На LPC2138 собрана DSO-приставка на 160 kSPS к обыкновенному телевизору. Статью можно посмотреть по адресу http://www.circuitcellar.com/library/print/1106/Momontov-196/index.htm а исходники скачать ftp://ftp.circuitcellar.com/pub/Circuit_Cellar/2006/196/Mamontov-196.zip |
| 221. Шлимазл, 16.11.2006 10:47 |
urriz, надо бы емкостьми обвешать, чтобы АЧХ выравнять. И ещё проблема одна возникает - балансировка ОУ. Mr.PG А нет ощущения, что шаг 10 - великоват для реальной жизни? |
| 222. urriz, 16.11.2006 11:54 |
urriz, надо бы емкостьми обвешать, чтобы АЧХ выравнять. И ещё проблема одна возникает - балансировка ОУ. Это все понятно (практически всюду корректирующие емкости ставят, например во входных делителях осциллографов), это просто приблизительная схема. А нет ощущения, что шаг 10 - великоват для реальной жизни? Никто же не заставляет обязательно делать шаг 10, делайте 2; 5 или что угодно |
| 223. oldFox, 16.11.2006 16:43 |
urriz если на входе 1mOm - согласование с щупом то он вроде бы включается между входом и землей время переключения HC4051 на малых сигналах велико смотреть лучше на что-либо типа ADG709, ADG704 и тд |
| 224. Mr.PG, 21.11.2006 07:52 |
Да-а... До настоящих любителей осциллографов нам всем далеко - люди катодно-лучевые трубки сами делают |
| 225. Jurinick, 25.12.2006 02:37 |
А можно ли рассмотреть С8051F060/061/062 , или это уход от модели ? Переферия богатая , 1 MSPS / 16 bit , если надо - внещняя память , DMA на АЦП . Стоит 13-16$ . |
| 226. ksvs, 26.12.2006 22:05 |
Я думаю,что получить универсально дешевый и хороший прибор не получится.Все зависит от возможностей. Например ,если мне захочется собрать осциллограф,то мне он обойдется почти безденежно(затраты времени отдельной строкой). Подробнее.Купил по случаю АЦП на 100 мегагерц по 2 рубля,память с процессора Pentium 2,сам разработаю и сделаю плату и т.д. А вот кто-то захочет повторить схему...Как Вы думаете - во сколько ему обойдется статическая память на 300мегагерц? |
| 227. urriz, 26.12.2006 23:39 |
А можно ли рассмотреть С8051F060/061/062 , или это уход от модели ? Уже есть на похожем - http://www.usb-osc.narod.ru/,со схемой и прошивкой А вот кто-то захочет повторить схему...Как Вы думаете - во сколько ему обойдется статическая память на 300мегагерц? Ну почему, в продаже можно найти статическую 10нсек память по 2-4$ за 32/64К (AS7c256-10), плюс ПЛИС за 2-5$ (EPM3032,3064), плюс управляющий контроллер за 1,5-2,5$, плюс быстрый АЦП и ОУ - получается осциллограф на 100МГц. Если использовать двойной набор - писать можно поочередно (в интерливе) - уже 200МГц. А что за АЦП у вас за 2 руб, не подскажете? |
| 228. Mr.PG, 28.12.2006 20:27 |
http://www.nbb.cornell.edu/neurobio/land/PROJECTS/VideoScope/ - атмега + вывод на обычный телевизор |
| 229. ksvs, 28.12.2006 22:39 |
urriz Ну почему, в продаже можно найти статическую 10нсек память по 2-4$ за 32/64К (AS7c256-10), плюс ПЛИС за 2-5$ (EPM3032,3064), плюс управляющий контроллер за 1,5-2,5$, плюс быстрый АЦП и ОУ - получается осциллограф на 100МГц. Если использовать двойной набор - писать можно поочередно (в интерливе) - уже 200МГц. А что за АЦП у вас за 2 руб, не подскажете? 10наносекунд это 100мегагерц.А я бы в схему вставил на 3наносекунды. КР1107ПВ3А Может он и не очень хороший,но цена... |
| 230. majorPAE, 29.12.2006 13:23 |
Mr.PG А автор осциллографа на PIC18F2550 (http://www.semifluid.com/?cat=12) явно не стоит на месте! Пишет на С, что облегчает портирование на любой камень. Причем большинство прошивок у него заточено под бутлоадер, так что для повторения даже программатор не нужен. Добавление от 29.12.2006 13:32: У тебя-то проект как поживает? |
| 231. Mr.PG, 29.12.2006 21:02 |
majorPAE У меня бытовые проблемы - здоровье отца. Все лежит в долгом ящике, голова и жизнь заняты другим |
| 232. majorPAE, 30.12.2006 00:10 |
Mr.PG Извини. |
| 233. Аркадия, 09.01.2007 12:10 |
А никто не встречал осциллограф для Pocket PC, что-то в виде щупа, в котором схема, а с покетом сопрягается через SD. Или Infrared. Или bluetooth. ? Последние два варианта позволят и с PC работать, не думая о гальваноразвязке. Покеты всевозможные уже настолько распространены, что в условие задачи - 30$ включаться не обязаны, и эти 30$ можно целиком потратить на сам осцилл, без индикатора, кнопок, большой памяти и сервисной программы. |
| 234. algent, 11.01.2007 18:18 |
А SD это что такое ? К сожалению USB host есть только в моделях от 12 тыс. На прочие интерфейсы (Infrared, bluetooth) не нашёл готовых чипов с их реализацией. Кстати гальваноразвязка не так уж и нужна - я например подав питание на устройство и на осциллограф, смотрю разность потенциалов между землями, - обычно < 0.3 Вольт. Потом просто соединяю земли и работаю.... Или просто питание от батарейки... пс. Если попадется реализация в чипе для Infrared, bluetooth, киньте инфу, плз |
| 235. majorPAE, 11.01.2007 20:35 |
algent А SD это что такое ? |
| 236. Tahoe, 11.01.2007 20:52 |
majorPAE что щуп прикидывается карточкой памяти Только не совсем "карточкой памяти". Спецификация SD ( равно как и MMC ) предусматривает возможность работы не только запоминающих устройств, но и устройств ввода-вывода. |
| 237. Mr.PG, 11.01.2007 21:39 |
Опять же, тормозные они все (возможно, кроме карточек), то есть быстрой памяти локально надо воткнуть, если пытаться повысить характеристики. Да и софт, если это не PC, вероятно, будет с нуля писаться, и работы там немало. Но вообще, конечно, проект был бы красивый, кроме вариантов для Gameboy лично я аналогов не видел пока. |
| 238. Аркадия, 12.01.2007 02:53 |
Tahoe Только не совсем "карточкой памяти". Спецификация SD ( равно как и MMC ) предусматривает возможность работы не только запоминающих устройств, но и устройств ввода-вывода. Именно. Но вариант с SD не самый красивый - слот один, и в нем у всех карточка. Менять их местами - неудобно жутко. Инфраред - неудобно из-за ориентации. Остается блютус, но это тут же съест минимум половину от 30$. Зато представьте - щуп без провода, внутри маленький аккумчик! В лаборатории - льем на десктоп, на выезде - в ноут/покет. В принципе, это уже не просто осцилл, это беспроводный съем данных для различных целей Mr.PG быстрой памяти локально надо воткнуть, если пытаться повысить характеристики. ну так это конечно, даже безотносительно скорости интерфейса - ОСы не реалтаймовые, копить в общей памяти не получится. Да и рассматриваем мы тут не крутой гигасемпловый прибор, а 30$-овый. Кило ОЗУ внутри силабса какого-нибудь вполне хватит. algent На прочие интерфейсы (Infrared, bluetooth) не нашёл готовых чипов с их реализацией. В инфрареде нужен только однодолларовый приемопередатчик (светодиод и фотодиод с усилителем), OBEX придется писать. В блютусе или дешево, но писать HCI, или дороже - готовый модуль с сериалом. Но не все блютусы покетные сериал-профиль имеют, то есть тоже OBEXом гонять придется, вплоть до кидания файлов: команды туда и пачки семплов оттуда. в общем, поиски дали такие результаты: есть программа осциллографа при помощи звукового (микрофонного) входа покета. Полоса еще хуже, чем в бластере десктопа. И далеко не во всех покетах на гнездо наушников выведен микрофонный вход четвертым контактом, хотя сам микрофон есть в каждом покете, и припаяться можно. И есть девайсик в виде PCMCIA, который к покету цепляется через дополнительный PCMCIA адаптер, и в основном является мультиметром, с небольшой частотой семплирования. Жутко дорогой, поскольку от фирмы NI и сопрягается с ихним LABVIEW. Хотя бы что-нибудь одноканальное 8битное на 10-30 МГц семплирования - не нашел ничего. |
| 239. Mr.PG, 12.01.2007 14:53 |
Лично мне кажется, что написанные выше 10-30 MSPS просто не смогут залезть внутрь контроллера с нужной скоростью - он слишком медленный сам по себе. Так что внешняя память понадобится. И тут начинается цепочка: если она уже все равно есть, то грешно не поставить побольше (для цифрового осциллографа память - всегда в большой плюс, и разница в цене не будет заоблачной), а если ее много, то передача ее по медленному каналу становится тормозной и неудобной... Так что лично мне bluetooth все-таки не кажется очень хорошим решением. Кстати, туда же - к неудобствам - аккумулятор... От любого радио он садится достаточно быстро, потребуется подзаряжать его посреди работы, да и вес/размер щупа станет немалым... |
| 240. Аркадия, 12.01.2007 18:10 |
Mr.PG Лично мне кажется, что написанные выше 10-30 MSPS просто не смогут залезть внутрь контроллера с нужной скоростью - он слишком медленный сам по себе. Почему же? Смотрим силабс, для 4х или 8-килобайтной выборки (пойдет в XRAM): m1:sjmp $+2 m2:mov a,P1 movx @r1,a djnz r1,m1 djnz EMI0CN,m2 итого: 3+2+3+3=11 клоков, при 100МГц тактовой - 9млн/сек 8разрядных хапков с внешнего АЦП. Для 255 выборок - всё ещё проще: m1:mov @r0,P1 djnz r0,m1 - 5 клоков! На 100МГц контроллере можем зажевывать в память 8разрядные данные со скоростью 20мегабайт/сек. Дальше передышка (перелили в XRAM), и опять всасываем 255 байт. Но стартуем на клок позже от условия запуска. Получаем более 1000 выборок на 100 мегасамплов/сек стробоскопом, и без всякой Так что внешняя память понадобится. . если она уже все равно есть, то грешно не поставить побольше нет, для 30$-вого решения - никакой внешней памяти. Потому что эта память потянет за собой регистры и счетчики, а это уже - в соседнюю ветку (фантастика - на соседней полке). От любого радио он садится достаточно быстро, тут он скорее сядет от жора проца и АЦП. Но есть вариант: питать от исследуемого устройства / отдельного адаптера / аккума на столе. Нам главное - гальванически отвязаться от кузова компа (и ноуты щиплют тоже нынче). Кстати: от покета мы много не скушаем, так что хоть блютусом, хоть проводом - а осцилл к PocketPC придется питать отдельно. да и вес/размер щупа станет немалым... это уже подробности. Навскидку - в заднем (верхнем) торце щупа разъем, в него вставляем или аккум терпимого веса, или проводок от адаптера 220, или от другого аккума, или от исследуемой схемы... Добавление от 12.01.2007 19:00: Ну и для гурманов - 3 клока на выборку: |
| 241. Mr.PG, 12.01.2007 19:43 |
Грм... Посмотрел сайт силабса - 100 MIPS ведь только у самых жирных. 128 килобайт флэша, все фичи, какие у них бывают и т.п. А не дороговато ли будет? Сколько они будут стоить по одной штуке в Москве, например? Впрочем, в любом случае, 9 MSPS и несколько килобайт захвата - неплохо, конечно. Не 10-30, но весьма симпатично. Кстати, как-то нехорошо, что частота захвата чуток джиттерит - вроде как, там не всегда ровно 11 клоков, а если выравнять ветки по длине - будет уже не 9 MSPS А еще - что-то стало любопытно, где предел скорости захвата, и оказалось все очень неплохо. Даже смешной ATmega8 на штатных 16 MIPS вполне способен делать развернутый цикл из чего-нибудь типа in r20, 0x10 ;1 clock - read from PORTB to r20 st Z+,r20 ;2 clocks - store with address increment и добиваться 16/3=5.33 MSPS Или PIC18F2520 какой-нибудь - MOVFF 0xf81, (_POSTINC0) дает два такта (0xf81 - PORTB, опять же, запись с автоинкрементом адреса). У него 10 MIPS, так что получаем 5 MSPS. А если заглянуть в какой-нибудь шестидолларовый dsPIC типа dsPIC30F5011 с четырьмя килобайтами ОЗУ и 30 MIPS, то там, кажется, вообще можно делать однотактовые MOV'ы с автоинкрементом По энергопотреблению - если умно спать большую часть времени, то даже большие десятки миллиампер активного режима - не так уж страшны для покета. Батарейки у них на сотни и тысячи mAh, так что лишнюю сотню mAh (что эквивалентно нескольким часам аккуратной работы осциллографа), наверное, отдадут без трагедий А вот стробоскоп, вроде как, народом признан не супер-полезным в быту. Самые интересные и частые процессы в наши дни - неповторяющиеся, так что все-таки полезно прикидывать именно "честные" цифры. |
| 242. Аркадия, 12.01.2007 21:30 |
Mr.PG вроде как, там не всегда ровно 11 клоков, а если выравнять ветки по длине я вроде выровнял первым sjmp. Если нет - надо нопчик добавить/убавить. Вроде - убавить, так что не 11 клоков, а 10 полный цикл. Ну а как Вам вообще вариант с тремя циклами? Его можно использовать на самом скоростном диапазончике, платя количеством точек за скорость. И с процем 50 МГц(их больше и дешевле) получим 17мегасамплов/сек прямо и 50 мегасамплов/сек трехпроходным стробоскопом. народом признан не супер-полезным в быту. ну так делается он почти бесплатно (программно), разве что запуск придется компаратором делать из ждущего режима. Но задействовать прерывание компаратора всё равно придется, независимо от стробоскопа, чтобы не вносить в цикл накопления длительную проверку на условие запуска. если умно спать большую часть времени, спать? Ну разве что в выключенном состоянии или после однократной развертки. А в рабочем режиме - непрерывно цифровать и гнать, цифровать и гнать. большие десятки миллиампер активного режима да, действительно - на 50 МГц силабс кушает 12...25 мА. А покет сам по себе (с подсветочкой) - 200-300 мА. наверное, отдадут без трагедий да, действительно. Тогда остается только одно неудобство - SD-слот один, постоянно менять с карточкой - убъется. |
| 243. Mr.PG, 12.01.2007 23:02 |
Если запускать захват просто по прерыванию компаратора - не очень хорошо будет. Весьма полезно знать, что было _до_ триггера, а тут все еще хуже - пока оно сам факт прерывания осознает, пока в обработчик войдет... Там не только до триггера, а там еще немало тактов и после него потеряется. Сигнал будет неприлично обрезанным. Надо бы как-то хитро выкрутиться, даже за счет скорости Спать, безусловно, можно очень много - и это, опять же, выше по треду обсуждалось. Особенно для случая, когда захват быстрый, памяти мало, да еще и канал передачи медленный. Захватили за доли миллисекунды, усыпили АЦП - и потом секунду развлекаемся с передачей. В итоге АЦП спит почти постоянно, сам контроллер, в общем и целом, тоже никуда не торопится - занят обслуживанием неспешной пересылки. И основной потребитель - радио, если оно есть, а вовсе не сам осциллограф. А для тех, кто реально будет использовать покет как осциллограф _постоянно_ (не раз в неделю или месяц, а каждый день), есть модели с двумя слотами для карточек. Редкие, но есть. Да и вообще - бывают люди, которые несколько раз в день карточки тыкают, и на несколько лет слота им хватает. Так что не о чем беспокоиться. Но, в общем и целом, безусловно, идея очень интересная - надеюсь, не останется на уровне идеи, а дойдет до железа и софта |
| 244. Tahoe, 12.01.2007 23:45 |
Главное "неудобство" имхо - кто софт и драйвер под покет писать будет. А что б не морочиться и дурью не маяться, не высчитывать такты в асме, надо брать нормальный проц с DMA. Ибо ставить в устройство, где основная задача перекачка больших массивов, данных проц без DMA - имхо изначальный маразм. Касательно цены, SAM7S64 стОит 200 руб. в розницу. Прочие LPC и ST не сильно отличаются по цене. После этого все аргументы про цену идут лесом. Тот же SAM позволяет сделать вариант на 500 KSPS на внутреннем АЦП, но при этом имеет возможность повесить на DMA внешний АЦП. Ну и, в качестве бонуса, 60 МГц ядро. Если оно тут вообще понадобится, при столь автоматизированной периферии. А, ну да, её ж настроить при включении надо. |
| 245. Mr.PG, 13.01.2007 00:08 |
Как сейчас помню, армы уже где-то выше обсуждали - и время реакции на прерывания у них не только сильно недетерминированное, но еще и гигантское, ибо не для того их делали, а совсем без прерываний оно вряд ли обойдется. Так что все не так уж просто, как кажется - и с ними тоже есть где поизвращаться в прошивке... А удовольствие от подковывания блох - оно даже выше при использовании смешных мелких процов Но, безусловно, софт и драйвер для покета - вопрос главный. Скилл редкий, а писать много придется. Показать первый синус - это где-то 2-3% от полного софта, и редкая птица долетит хотя бы до середины... Open source для такой задачки не прокатит, ибо скилл редкий, да и аудитория не супер-большая, так что компания не соберется. Тут нужен редкий и ценный кадр: знаток и большой энтузиаст в одном флаконе. Одна надежда - вдруг Аркадия как раз он и есть |
| 246. majorPAE, 13.01.2007 00:45 |
All Я это к чему. Есть у меня девайс, еще в 92 году прошлого века сделанный Так у меня там как было сделано: память писалась по кругу, по аппаратному компаратору условия (на ХОR-ах Я конешна ламер, но мож кто просветит из Гуру, в чем я ошибаюсь. Добавление от 13.01.2007 00:58: Кроме того, сколько вертикальных линий на экране Покета реально разглядеть? |
| 247. urriz, 13.01.2007 01:17 |
Аркадия - на счет силабс - уже неоднократно называли готовое решение - http://www.usb-osc.narod.ru - есть и прошивки, и программа на PC, буферизированная/потоковая запись, лог.анализатор и т.д. Недостаток - слабая аналоговая часть. majorPAE - правильно, достаточно нескольких синхронных счетчиков и схемы задания опорной частоты и сравнения адресов. Сам сейчас делаю на EPM3032(3$) и 61256(2$). Контроллер - Mega16, кроме руления ПЛМ еще используется для UIRLCF измерения, металлоискателя. ПЛМ и ОЗУ также можно использовать и как генератор сигналов - контроллером формировать сигнал и заливать в ОЗУ, или брать готовый после измерения, потом в режиме непрерывного чтения выдавать на ЦАП. Для делителя частотомера используется TSA5512, в режиме осциллографа он работает как синтезатор частоты выборок АЦП. Еще вопрос - какие есть дешевые АЦП на 100-200 MSPS ? |
| 248. majorPAE, 13.01.2007 01:41 |
urriz Еще вопрос - какие есть дешевые АЦП на 100-200 MSPS ? Эт не знаю, не смотрел... |
| 249. Аркадия, 13.01.2007 01:42 |
Mr.PG Весьма полезно знать, что было _до_ триггера, а тут все еще хуже - пока оно сам факт прерывания осознает, пока в обработчик войдет... это я знаю. Но, по прерыванию ведь можно не только начать писать в буфер, но и прекратить! Кроме того, на сравнительно медленных развертках (даже вдвое медленнее предела, который мы тут обсудили) мы можем вертеть как хотим, в том числе - триггер по сравнению текущей выборки (и знака разности с предыдущей) с порогом. Но аппаратный запуск (компаратором) нужен обязательно - у него разрешение по времени значительно лучше, чем у ввода от АЦП: время реакции на прерывание (если руками делать, а не всякой фигней страдать типа "сохранения контекста") - максимум 3 машцикла, а если из идла - то один. На 50мгц силабсе это 20 нс. А у программного триггера это будет: 11 клоков на цикл записи, если по кругу - еще 4-6 клоков на перезагрузку ст.байта адреса, и еще клоков 8-12 на опознание направления (фронт/спад) и уровня и перевод цикла в режим дозаписи (или, что быстрее, переход на другой цикл, с бесонечного на конечный вариант цикла). Там не только до триггера, а там еще немало тактов и после него потеряется. даже в самом скорострельном варианте - 3 клока на выборку, теряется максимум одна выборка: прерывание из идла (кварц гудит) - один клок, и прямо в нем можно начать mov 0,P1 mov 1,P1 mov 2,P1. В проце минимум 8кБ флеша, сервиса никакого не надо - всё на хост, поэтому можно писать, не жалея, несколько вариантов и триггера, и предвыборки, и выборки. Надо бы как-то хитро выкрутиться, даже за счет скорости да можно выкрутиться, например - предвыборки ожидания непрерывно по кругу на 5M/c класть в XRAM, а в прерывании компаратора - набить самплами базовое ОЗУ, на 10М/s, остановиться и слить хосту оба ОЗУ, пусть хост разбирается, это ведь он заказал такой режим. усыпили АЦП - и потом секунду развлекаемся с передачей. я под "спать" понял сон и МК, а не только АЦП. есть модели с двумя слотами для карточек. Редкие, но есть. редкие не интересно. Суть идеи в том, что готовый массовый покет по цене близок к отдельному дисплейчику! Плюс там приличный проц, винда, интерфейсы в том числе радио, возможность выйти в инет, легкость смены софта, памяти навалом для хранения больших данных... Tahoe Причём верхняя планка, имхо, очевидна - скорострельность самого SD и скорострельность Покета. да не, при чем тут скорострельность покета - копим самплы у себя в железке, а сливать хосту можно и не в реалтайме. Это в режиме самописца упремся в скорость интерфейса, но какие к черту требования по ВЧ самописцу от девайса за 30$? Мы делаем аналог С1-94! Mr.PG Но, безусловно, софт и драйвер для покета - вопрос главный. а если софт от NI (Labview покетный) присобачить к нашему железу? Десктопный Labview настраивается на левое железо, кажется. http://sine.ni.com/nips/cds/view/p/lang/en/nid/12222 Одна надежда - вдруг Аркадия как раз он и есть не, я такой же языком почесать, как и все тут... Такой проект может возникнуть, но разве что как побочный (тестовый) продукт от какой-то более узкоспециальной и целевооплачиваемой разработки. И вообще, я зашел сюда с вопросом - вдруг есть чего готового, и увлекся обсуждением. |
| URL: | http://forum.ixbt.com/topic.cgi?id=48:5985 |