Осцилограф раскритикуйте
- Войдите на сайт для отправки комментариев
Вводная - USB осцилограф на 20 Мгц у меня есть, требуется именно портативный, причем такой чтобы спалить было не жалко. Увы прецендент уже есть...
Техническое задание:- осцилограф по дешевле и проще - в жертву готов принести точность.
По форуму нашол:
http://arduino.ru/forum/proekty/vyzhimaem-maksimum-usb-ostsillograf-na-arduino - но не портативный, да еще и USB.
http://arduino.ru/forum/proekty/pultoskop-na-arduino-27mgts - Пульпоскоп, только скетча толком нет + экран совершенно непонятный.
http://arduino.ru/forum/proekty/mini-ostsillograf-arduino-na-lcd-5110 - лучшее из найденного, с экраном тоже не все понятно, но пока лучшее из найденного.
Чего не нашол так это примеров с использованием LCD12864 - даже примеров рисования нет :(
Собственно по чем нужна критика - моих способностей гарантированно хватит прикрутить вместо штатного АЦП микроконтролера вот такое чудо:
http://www.payatel.ru/185-shema-prostogo-preobrazovatel-acp-cap.html - земенить чтение данных АЦП на чтение порта и изменить задержку много ума не нужно.
Теперь собственно по чем нужна критика:
Да я понимаю что разрадность такого АЦП всего 4 бита, согласен что для звука совершенно не годится - но мне этот пробник-осцилограф нужен для цифры. Есть или нет сигнал, тут важнее частота выборки, форма дело десятое.
Возможность сделать опторазвязку как в драйверах ЧПУ
На вскидку без проблем получается минимум два канала по 4 бит(хватит одной микросхеммы 74НС244 - очень дешовая), при этом никто не мешает сохранить возможность использования АЦП микроконтролера - выводов хватает.
У меняч получается слишком много плюсов и есть большое подозрение что прозевал жирнейший минус - просветите пожайлуста.
Посмотрите здесь http://tomeko.net/reviews/avr_nano/ и вокруг. Я вот этим пользуюсь http://tomeko.net/miniscope_v2c/index.php?lang=en для разных мелких дел два канала с приличным разрешением.
....
http://arduino.ru/forum/proekty/pultoskop-na-arduino-27mgts - Пульпоскоп, только скетча толком нет + экран совершенно непонятный.
К вам подходит выражение "смотрю в книгу-вижу фигу"
....
Собственно по чем нужна критика - моих способностей гарантированно хватит прикрутить вместо штатного АЦП микроконтролера вот такое чудо:
http://www.payatel.ru/185-shema-prostogo-preobrazovatel-acp-cap.html - земенить чтение данных АЦП на чтение порта и изменить задержку много ума не нужно.
Теперь собственно по чем нужна критика:
Да я понимаю что разрадность такого АЦП всего 4 бита, согласен что для звука совершенно не годится - но мне этот пробник-осцилограф нужен для цифры.
Эта конструкция не даст 4бит АЦП.
Возможно вам подойдет такой приборчик?
USB осцирограф есть, хоть то что на нем заявленно 20 МГц лажа, но явно покруче будет чем то что предлагаете.
Пульпоскоп видел, сегодня на видео от автора наткнулся - завтра закажу экран на Алиэкспресе. В нем меня больше всего именно экран и смущает - На том же Алиекспресе есть LCD12864, да на 3$ дороже, но размер...
Подробнее "не даст 4 бит" можно - я со своими делитанскими знаниями вижу в ней две проблеммы:
1. Высокое опорное напряжение(от 4-х вольт) - для малых входных сигналов совсем не подходит, мне для цифры. На худой случай потом можно маштабирующий операционик прикрутить.
2. При чтении микроконтролер может схватить промежуточное состояние(переключения при измерениях) - плата за простоту...
USB осцирограф есть, хоть то что на нем заявленно 20 МГц лажа, но явно покруче будет чем то что предлагаете.
Пульпоскоп видел, сегодня на видео от автора наткнулся - завтра закажу экран на Алиэкспресе. В нем меня больше всего именно экран и смущает - На том же Алиекспресе есть LCD12864, да на 3$ дороже, но размер...
Подробнее "не даст 4 бит" можно - я со своими делитанскими знаниями вижу в ней две проблеммы:
1. Высокое опорное напряжение(от 4-х вольт) - для малых входных сигналов совсем не подходит, мне для цифры. На худой случай потом можно маштабирующий операционик прикрутить.
2. При чтении микроконтролер может схватить промежуточное состояние(переключения при измерениях) - плата за простоту...
Для 4 бит АЦП нужно намного больше компараторов чем в вашей схеме.
Все АЦП параллельного типа очень быстрые потому что сигнал одновременно проходит через сотни компараторов затем через шифратор выдается значение в виде числа.
Мне замысел ваш понятен, но компараторов нужно много, столько портов нет в Ардуино.
Вы описывате класический паралельный АЦП - ну эго нафиг, там на одних компаратаорах в трубу вылететь можно, этот АЦП больше напоминает АЦП дельта, только ПРЕДЕЛЬНО упрощенный.
Это как раз 4-х битный АЦП, просто он построен по весьма хитрому принципу - этот же принцип сильно ограничивает максимальную разрядность. Кроме того резисторы (27 кОм) нужно подбирать в зависимости от напряжения переключения в логическую еденицу конкретной микросхеммы!!!!
Поясняю - дело в инвертировании сигнала логическими элементами микросхеммы.
Пример работы первого разряда - допущения: сопротивление источника сигнала равно нулю, сопротивление входов микросхеммы бесконечности. Напряжение питания 10В, напряжение логической еденицы на выходе микросхеммы 10В, напряжение логического нула на выходе микросхеммы 0В, напряжение переключения на логическую еденицу 5В.
Начальный момент времени - на всех входах микросхеммы уровень сигнала меньше логической единицы, соответственно на выходе инвертора логическая еденица(10В). Сигнал на входе АЦП равен нулю, на вход младшего разряда напряжение поступает через делитель: сигнал 27кОм - 31,6кОм(логические еденицы с выходов микросхеммы через паралельные резисторы 56, 110, 220 кОм). Получается что при входаящем сигнале АЦП равном нулю на логическом входе первого элемента уже 4,6В - логическая еденица на выходе старших разрядов подтягивает к логической еденице вход младшего разряда. Как только появится хотя бы слабый сигнал на входе АЦП напряжение на входе первого разряда подымится и логический элемент переключится...
На ыходе АЦП сигнал изменился с 1111 на 1110.
При увеличении входного сигнала поведение второго разряда АЦП аналогично, только там делитель из трех элементов 27 кОм сигнал - 37 кОм(резисторы 56 и 110 кОм со старших разрядов).
На выходе АЦП КРАТКОВРЕМЕННО появился сигнал 1100. ЭТО ГЛАВНЫЙ НЕДОСТАТОК ТАКОГО АЦП, и чем больше разрядов, тем больше вероятность считать на истиный, а промежуточный сигнал!!!!!!!!!!!!!
Самое вкусное в работе этого АЦП начитается в тот момент когда происходит переключение второго разряда АЦП - теперь вместо того чтобы подтягивать вход младшего разряда к логической еденице он тянет его к логическому нулю. Причем поскольку это происходит через резистор 56 кОм влияние второго разряда на первый будет наибольшим!!!
Младший разряд переключается и сигнал на выходе становится 1101.
Если сигнал на входе АЦП увеличится еще больше он передавит противодействие второго разряда и сигнал на выходе станет равным 1100.
Получается что когда сигнала на входе АЦП нет старшие разряды тянут входа младших разрядов к логической еденице, а при сигнале большом входном сигнале младшие разряды начинают тянуть входа старших к уровню логической еденицы.
По идее использование в данной схемме 4-х канального компаратора позволит регулировать напряжение переключения в логическую еденицу, но цифровые микросхеммы гораздо доступнее...
Сегодня с утра удавил лень и выполнил практическую работу по измерениям скорости, в сравнении учавствовали:
http://srukami.inf.ua/pultoscop_v25110.html - наверное самое быстрое и известное решение на Ардуино PULTOSCOPE.
И мой кусок кода фактически состоящий из куска кода PULTOSCOPE, этой публикации http://robotosha.ru/arduino/digitalwrite-optimizing-arduino.html и кусочка справочной информации с этого сайта http://arduino.ru/Tutorial/Upravlenie_portami_cherez_registry.
Цель - понять сколько семплов сможет сделать Ардуино с внешним АЦП.
Предельная скорость оцифровки PULTOSCOPE фактически ограничивается скоростью выполнения этого куска кода:
Куски PORTD = B00000100; и PORTD = B00000000; нужны для измерения скорости в цикле, погрешность вызываемую выполнением этих частей кода буду определять расчетным путем позже.
Мой кусок кода:
Отличие только в том что идет чтение регистра порта, соответственно не нужно давать АЦП время на преобразование.
Результаты:
PULTOSCOPE
Мой код чтение данных порта в масив:
Результат для Arduino Nano 3.0 16 МГц - с внутренего АЦП можно снять не более 309 тысяч выборок в секунду, с внешнего 941 тысячу выборок. Но для того что бы осцилограф мог считать частоту выборок в код были внесенны два баластных куска которуе сьедают 8 тактов процесора в каждом цикле. После перерасчета получается что теоретическая скорость с внутреним АЦП 365 тысяч выборок в секунду и 1777 тысяч выборок для внешненего АЦП.
Полученные расчетные данные несколько расходятся с теми что видел в интернете когда искал информацию по осцилографу - если не изменяет автор PULTOSCOPE заявлял про 300 тысяч выборок, но не известно как он считал, да и 100% уверенности в своих расчетах нет. В любом случае ошибка не превышает 20%.
Выводы:
1. При минимальной переделке кода даже без разгона микроконтролера можно получить более милиона выборок в секунду, с разгоном более 2-х милионов.
2. В оригинальном скетче PULTOSCOPE линиии порта А вообще не используются, а это 6 бит.
3. При одном милионе выборок даже если на каждый период синусоиды брать 20 точек - это просмотр в приличном качестве сигналов в 50 кГц.
4. Возникает проблемма - в описании на даннный АЦП http://www.payatel.ru/185-shema-prostogo-preobrazovatel-acp-cap.html встречал упоминание что частота обработки сигнала ограничивается примерно 1 Мгц, можно конечно сделать 6 компараторов(две микросхеммы по 4 ОУ в каждой), просто дешево(1,8$ Arduino, 1,8$ за экран и 2$ на все остальное - кроме акумулятора и корпуса), но всего 6 уровней...
5. Товарищи практики главный вопрос ДЕШЕВЫЙ и ДОСТУПНЫЙ АЦП - что можете посоветовать? И насколько актуальна осцилограмма разрядностью 3 бита?
Зря время потратили, хотя не зря!
Самообразование это важнейшая вещь.!
---Максимальная скорость АЦП Пультоскопа без разгона 327 000 +/-5% готов подтвердить эксперементально!
--в соседней ветке на внешенем недорогом АЦП достигли скорости 4 000 000
Уже писал в начале темы - чтобы если сгорел не было жалко, на данный момент стоимость всей начинки которая может сгореть: 1,8$ Arduino, 1,8$ за экран и 2$ на все остальное. Что бы сгорел корпус и акумулятор я даже не знаю куда это воткнуть нужно...
А у автора соседней ветки поручается 19$ - 3.5$ на корпус. акумулятор зарядка = 15$... :( а нужен он такой если есть:
http://kazus.ru/forums/showthread.php?t=112797&page=6 по цене 25-30$ - да дороже, но это законченное и укомплектованное изделие которое нужно только спаять, и дисплей там получше будет, да к тому же микроконтролер Ардуино совместимый. А внешний вид готового изделия - небо и земля.
Кроме того не согласен с расценками на АЦП, я сам пытался найти в продаже 8 битный быстродействующий АЦП, сначала по Кривому Рогу, потом по Украине, потом по Алиэкспресс - лучшее что нашел 11,5$ за 5 шт.
Так что пока ваш PULTOSCOPE гораздо привлекательнее по стоимости комплектующих, а если удастся прикрутить к нему простенький 4-х битный АЦП на логической микросхемме то по цене конкурентов у него вообще не будет, недостаток в виде маленького экрана можно пережить.
В качестве самооправдания за то что никак не могу заставить себя писать скет тестера сделал еще одну лабораторную - четырех битный АЦП на микросхемме К561ЛА7, для скептиков снято видео.
Собирал по схеме из этого сайта - http://radiostorage.net/?area=news/1034 в первой ссылке в процесе сборки обнаруженна лажа.
https://youtu.be/hQSRuiiewPs напряжение питания микросхеммы 9В, первый светодиод включается при напряжении чуть более 1В, значение 1111 инициируется при напряжении примерно 8,5В. Есть проблеммы с четкостью срабатывания первого разряда - грешу на контакты макетки.
Первоисточник по данной схеме - Рюмик С.М. 1000 и одна микроконтроллерная схема.
Чего не нашол так это примеров с использованием LCD12864 - даже примеров рисования нет :(
осциллограф от VirtOs первые страницы,там и скетч есть
В качестве самооправдания за то что никак не могу заставить себя писать скет тестера сделал еще одну лабораторную - четырех битный АЦП на микросхемме К561ЛА7, для скептиков снято видео.
Собирал по схеме из этого сайта - http://radiostorage.net/?area=news/1034 в первой ссылке в процесе сборки обнаруженна лажа.
https://youtu.be/hQSRuiiewPs напряжение питания микросхеммы 9В, первый светодиод включается при напряжении чуть более 1В, значение 1111 инициируется при напряжении примерно 8,5В. Есть проблеммы с четкостью срабатывания первого разряда - грешу на контакты макетки.
Первоисточник по данной схеме - Рюмик С.М. 1000 и одна микроконтроллерная схема.
Видео просмотрел.
Но это всего 2бита
Для того чтоб было 4бита нужно 15 компараторов.
Один бит это 0 или 1.
2 бита это уже - 00, 01, 10, 11.
Внимательно смотрите видео - это 4 логических элемента, но не 4 компаратора. Количество возможных комбинаций 16.
Мой кусок кода:
Не занимайтесь изобретением велосипедов. Вечный цикл изображается так:
В отличии от вашего изобретения, тут никаких дополнительных действий, кроме бесконечного исполнения кода внутри цикла не производится.
AS31979
Так слишком медленно
Нужно напрямую в память писать, так быстрее в 5раз
Проект накрылся медным тазом.
Сделать АЦП на логических элементах можно, НО есть ДВА ньюанса...
Напряжение логической еденицы должно составлять 50% он напряжения питания,а напряжение выхода должно быть близким к напряжению питания. Другой вариант - напряжение логической еденицы должно составлять 50% от напряжения выхода.
В той микрухе что мне досталась при питании 9В напряжение логической единицы на входе равно 5,2В, а напряжение выхода чуть больше 7,7В. Как результат коду 1110 соответствует не 0,6В, а почти 3В. Значению 0000 теоретически соответствует 9,8В. Поскольку подавать на вход микросхеммы напряжение больше напряжения питания чревато поучаем вместо диапазона 0 - 15, диапазон измерения 0 - 13, который ко всему прочему смещен относительно нуля.
Если использовать вместо цифровой микросхеммы недорогой счетверенный операционный усилитель например LM324 вылазит другая проблемма - граничная частота усиления. Рассматриваемый АЦП фактически является последовательным, для выполнения преобразования сигнал должен последовательно пройти через все 4-ре элемента. Соответственно минимальная частота усилительных элементав АЦП должна быть минимум в 4-ре раза больше частоты входного сигнала.
Вся подлянка в том что у недорогих и широкодоступных операционных исилителей граничная частота 1 - 1,3 МГц, итог частота входного сигнала не доложна превышать 250 кГц для АЦП на LM324. Если брать более дорогое операционные усилители теряется весь смысл этой затеи.
Кто знает НЕДОРОГОЙ и РАСПРОСТРАНЕННЫЙ операционный усилитель с частотой от 10 МГц????????????
.......
Кто знает НЕДОРОГОЙ и РАСПРОСТРАНЕННЫЙ операционный усилитель с частотой от 10 МГц????????????
Быстрые ОУ стоят дороже чем парралельный АЦП.
Конец пред последнего абзаца "теряется весь смысл этой затеи."
Сам прекрасно понимаю - АЦП 8bit 20МГц стоит 5$(с доставкой с г. Харьков "Космодром"). Меня смущает не цена, а необходимость заказывать 1 микросхемму черте от куда...
Ну надеятся ведь не вредно?
А обычно нужные микрухи у вас прямо с потолка падают? Можно и не за $5 и не из Харькова:
Примерно в тех же краях и ОУ скорострельные обитают.
Огромное спасибо за ссылку, я тоже искал на Алиэкспресс, но такая цена мне попадалась только в партиях из 10 шт.