Пультоскоп на Arduino 27МГц!!!
- Войдите на сайт для отправки комментариев
Всем привет коллеги и тем кто просто мимо проходил!
Решил создать отдельную тему по осциллографическому пробнику Пультоскоп.
Так как собираюсь выложить его предфинальную версию, чтоб сделать на Arduino еще более быстрый пробник нужно уже прикручивать внешний АЦП, этого делать не буду так как ужу до меня все сделано, в проекте под названием « Хамелион»
Первая версия прибора была очень медленной так как АЦП работал под настройками IDE Arduino командой analogRead. Использование ускоряющих библиотек не слишком улучшало результат.
Вторая версия прибора уже имеет максимально возможную скорость АЦП+сам микроконтроллер разогнан до 27МГц.
Что получилось видно на видео. Будут дополнительные вопросы отвечу.
Так как собираюсь выложить его предфинальную версию, чтоб сделать на Arduino еще более быстрый пробник нужно уже прикручивать внешний АЦП, этого делать не буду так как ужу до меня все сделано, в проекте под названием « Хамелион»
Мне ваш проект очень нравится,в первую очередь доступностью комплектующих,чем "хамелеон" не похвалится (особенно дисплей не достать),ну и на сегодняшний день,проект хамелеона не развивается,так что вас прошу не останавливатся,а продолжать развивать свой проект,сам жду модули ардуино и дисплей с китая и обьязательно повторю ваш осциллограф.
Вторая версия прибора уже имеет максимально возможную скорость АЦП+сам микроконтроллер разогнан до 27МГц.
Пультоскоп v2 видео №2
Здорово! Видно не вооруженным глазом изменения! Возможно немного нужно шкалу поправить временную, погрешность измерений частоты почти 10% получается. Хотя это не критично для данного прибора, так как изначально это не измерительный прибор, а помошник, позволяющий увидеть сигнал и его форму.
Очень интересный проект.
Когда можно будет посмотреть код?
Очень интересный проект.
Когда можно будет посмотреть код?
Там же под видео вторым есть ссылка на проект. Я правда не качал еще ничего.
Очень интересный проект.
Когда можно будет посмотреть код?
Там же под видео вторым есть ссылка на проект. Я правда не качал еще ничего.
Спасибо. - Был не внимательный.
Поискал на ALI такой дисплей. Там их целый зоопарк. Тип контроллера почти нигде не указан, да и может отличатся. Если кто брал именно такой дисплей, дайте ссылу - не хочется ошибится.
какая классная разработка! автору - спасибо.
но вопрос с индикатором открыт - можно ли подробнее?
Здорово! Видно не вооруженным глазом изменения! Возможно немного нужно шкалу поправить временную, погрешность измерений частоты почти 10% получается. Хотя это не критично для данного прибора, так как изначально это не измерительный прибор, а помошник, позволяющий увидеть сигнал и его форму.
Привет. Погрешность получается значительно меньше!
Я сигнал подавал своим генератором в котором есть погрешность в выдаваемой частоте.
На данную ошибку указал dimax, видео писал раньше.((
Пока нет возможности отснять видео с тестами на эталонном приборе.
какая классная разработка! автору - спасибо.
но вопрос с индикатором открыт - можно ли подробнее?
Привет. Уточните что за индикатор, не совсем понял вопроса?
Замечательный проект!
P.S. Ув. bodriy2014, есть желание написать статью о приборе для сайта?
Мне ваш проект очень нравится,в первую очередь доступностью комплектующих,чем "хамелеон" не похвалится (особенно дисплей не достать),ну и на сегодняшний день,проект хамелеона не развивается,так что вас прошу не останавливатся,а продолжать развивать свой проект,сам жду модули ардуино и дисплей с китая и обьязательно повторю ваш осциллограф.
Привет. Хочу чтоб проэкт так и оставался из двух деталей Дуни и дисплея.
Если буду дополнять внешними АЦП и предусилителями это уже не формат ардуино.
Есть еще одна возможность в разы увеличить скорость измерения повторяющихся сигналов до 5Мгц, для этого нужно применить метод стробоскопирования, я с наскока пробовал внедрить, но не удалось добиться запуска АЦП с одинаковым временным интервалом по спаду или фронту.
Возможно кто подскажет из спецов как это осуществить.!!!
Замечательный проект!
P.S. Ув. bodriy2014, есть желание написать статью о приборе для сайта?
Привет. Что за сайт и какой формат статьи?
revlerik Кстати про Хамелион, я уже купил дисплей и все детали, жду пока приедет зоводская печатка буду собирать, хочу снять все подробно.
bodriy2014, Здравствуйте! По последнему пультлскопу,можно выложить схему подключения-электрическую имею ввиду. За ранее спасибо!
cilentlekx Привет.В архиве с скетчем есть текстовый файл там указано к каким пинам ардуино я что подключил. Если не разберетесь пишите нарисую схему.
На этот сайт, формат - примерно как http://arduino.ru/forum/proekty/kontrol-vlazhnosti-podvala-arduino-pro-mini . Собственно, могу помочь с правкой шапки этой темы в том числе.
какая классная разработка! автору - спасибо.
но вопрос с индикатором открыт - можно ли подробнее?
Привет. Уточните что за индикатор, не совсем понял вопроса?
собсно вопрос какбэ из двух частей: можно ли от Нокии5110? а то слежу за развитием и заказал такой, вот-вот прийти должен :)
если "нет", то можно конкретнее про тот, который применён в разработке?
и ещё, конечно Дуня и индикатор это круто, но если добавив один операционник станет точнее... почему б не поступить так? проект не станет сложнее, но выиграет в функционале.
имхо.
bodriy2014, как всегда на высоте! Думаю, следует добавить вывод частоты, может на месте вольтажа (смена показаний раз в 2-3 секунды: напряжение/частота) или при зажатии кнопки +/- в режиме паузы. Там, как понимаю, кода на 2-3 строки, а польза будет большая. Также хотел увидеть версию на нокиевском экране. Или она уже не входит в планы? Какая максимальная "воспринимаемая" частота получилась?
На этот сайт, формат - примерно как http://arduino.ru/forum/proekty/kontrol-vlazhnosti-podvala-arduino-pro-mini . Собственно, могу помочь с правкой шапки этой темы в том числе.
Я за.
Думаю прибор будет доступнее для повторения если оформить как следует.
детли може обговорить в переписке srukamiua@gmail.com
собсно вопрос какбэ из двух частей: можно ли от Нокии5110? а то слежу за развитием и заказал такой, вот-вот прийти должен :)
если "нет", то можно конкретнее про тот, который применён в разработке?
и ещё, конечно Дуня и индикатор это круто, но если добавив один операционник станет точнее... почему б не поступить так? проект не станет сложнее, но выиграет в функционале.
имхо.
---О моем экранчике все сказанно в скетче, TFT 2.4дюйма контроллер SPFD5408 более подробно не скажешь.
В принципе могу сделать на любом экране хоть на ламповом телевизоре!) но только если он у меня есть чтоб сразу отлаживать.
--Экранчиков от 5110 у меня много, и для народа он доступен в выковыривании)) и покупке.
Выпущу прошивку и под него, но после этой.
--На счет АЦП не согласен, нет готового шилда в продаже а как люди будут платы тарвить и SMD паять если сам принцып ардуино подразумевает КУПИЛ-ВОТКНУЛ-ЗАЛИЛ-РАБОТАЕТ!!!
Okmor Привет.
Как успехи по поиску недорогого АЦП?
Я заказал себе для Хемелиона AD9280ARSZ , но с начала поганаяю его с ардуиной посмотрю что удастся выжать, я более дешевого и относительно быстрго АЦП не нашел, если что нарыли поделитесь.
И еще вопрос если смотрели мой код, не появилось идей как в одно и тоже время после прохождения сигнала запускать АЦП, если получится реализую стробо-замер сигнала что позволит в разы поднять измеряемую частоту.
Okmor Привет.
Как успехи по поиску недорогого АЦП?
Я заказал себе для Хемелиона AD9280ARSZ , но с начала поганаяю его с ардуиной посмотрю что удастся выжать, я более дешевого и относительно быстрго АЦП не нашел, если что нарыли поделитесь.
И еще вопрос если смотрели мой код, не появилось идей как в одно и тоже время после прохождения сигнала запускать АЦП, если получится реализую стробо-замер сигнала что позволит в разы поднять измеряемую частоту.
С проектом пока никак. - Пока нету времени.
Я не спец по микроконтроллерах, но скорость оцифровки сигнала без поднятия частоты ядра, поднять не удастся.
Я заметил такую картину, что при приближении к граничной частоте АЦП сглаживает фронты. Вертикальные линии становятся положистыми. Также на высоких частотах занижется амплитуда сигнала.
Можно детализировать стробоскопический способ измерения, а то я не до конца понял.
И еще вопрос если смотрели мой код, не появилось идей как в одно и тоже время после прохождения сигнала запускать АЦП, если получится реализую стробо-замер сигнала что позволит в разы поднять измеряемую частоту.
Что вы имеете ввиду?
После прохождения какого сигнала?
---О моем экранчике все сказанно в скетче, TFT 2.4дюйма контроллер SPFD5408 более подробно не скажешь.
В принципе могу сделать на любом экране хоть на ламповом телевизоре!) но только если он у меня есть чтоб сразу отлаживать.
--Экранчиков от 5110 у меня много, и для народа он доступен в выковыривании)) и покупке.
Выпущу прошивку и под него, но после этой.
ясно, буду ждать реализации на 5110 :)
bodriy2014, не увидел ответ. Какая сейчас максимальная частота, которую он может более-менее корректно отобразить на экране?
Jtest Привет
Вот скрин сигнала 50К-2Вольта-скважность 120.
расчет
сам замер
bodriy2014, если не ошибаюсь в первой версии прибора результат был лучше в 2,5 раза. Или что-то путаю?
Jtest Пересмотрел видео первого прибора, действительно там отобразился сигнал 137КГц, просмотрю код отвечу почему так.
bodriy2014, если не ошибаюсь в первой версии прибора результат был лучше в 2,5 раза. Или что-то путаю?
Озадачили вы меня, собрал быстро старый пультоскоп, подключил его и новый вариант к генератору сигналов.
На 25КГц на старом уже ничего не рассмотреть!((
Фото ниже кликабельны чтоб рассмотрели сами.
Нашел в закромах тот драйвер для светодиода (137КГц) что был в первом видео и подключил к нему оба прибора.И опять первый вариант померял частоту и показывает сигнал, а новый оказался беспомощен хотя он быстрее! Казалось бы парадокс, но это легко обьяснить стробирующим эфектом который получился случайно и позволил отобразить хоть как-то сигнал превышающий скорость АЦП.
О стробирующем ефекте готовлю котроткий но ясный ролик, чтоб всем было ясно что я имею ввиду.
Фото кликабельны!
25kHz на старом не видно, по причине того, что отображение не подстроено потенциометром? "стробирующим эфектом", а что если его использовать в новом приборе?
25kHz на старом не видно, по причине того, что отображение не подстроено потенциометром? "стробирующим эфектом", а что если его использовать в новом приборе?
Крутил потенциометр, они или мельтишит в кучке или вот так столбиками.Я распечатывал буфер в ком порт и смотрел на него, там мало точек для построения кривой сигнала.
Если в новом приборе применить стробо эфект, будем смотреть сигналы до 500КГц!!!
Так в чем загвоздка? Если получилось в первой верссии, то почему этот же эффект не использовать в последующей? Или там вышло случайно и причина его возникновения не ясна? (я не придераюсь, интересно понять)
Так в чем загвоздка? Если получилось в первой верссии, то почему этот же эффект не использовать в последующей? Или там вышло случайно и причина его возникновения не ясна? (я не придераюсь, интересно понять)
Получилось случайно.
Причина возникновения яснее не куда.
Не использовал в новой версии только по тому что знать и ситуации и контролировать ее это разные вещи.
Вот например на 505КГц вроде-бы есть картинка но это ничего не значит, просто я крутил частоту на генераторе пока замеры АЦП не наложились как в стробоскопе.
bodriy2014, расскажите наконец про стробирующий эфект, а то уснуть не смогу.
Или ссылку какуюто дайте.
bodriy2014, расскажите наконец про стробирующий эфект, а то уснуть не смогу.
Или ссылку какуюто дайте.
Счас посмотрю сколько рендерится будет если долго, то напишу текстом.
bodriy2014, расскажите наконец про стробирующий эфект, а то уснуть не смогу.
Или ссылку какуюто дайте.
Стробирующий ефект видео 5мин.
Прошу подумать, как начинать работу АЦП на максимальной скорости в одинаковом месте ростущего фронта или спадающего, не важно. Сможем стартовать в одинаковом месте, а дальше задержки добавить и штук десять буферов это несложно.
bodriy2014, смысл понятен, доходчево. А частоту такого сигнала дуина может посчитать, не отображая его на экране? Я к чему веду:
Jtest Привет.
Частоту можно считать тремя способами-програмно, апаратно и ручками и у каждого метода свои есть недостатки.
Переключение между режимами вычисление единичный до 25КГц и повторяющийся сигнал можно реализовать програмно как вы описали но можно и просто выбирать на экране.
А вот насчет вычислений стробо там вы слишком упростили. В цыкле будем наполнять массивы значениями АЦП после каждого массива делать отступ.И только после этого в цыкле склеивать все массивы в один и выводить.
Будет 10шт или более byte массивов стробо и один склеенный.
Пока проблемма старта АЦП в одном и том же месте сигналла!(
Упростил, это понятно. Я образно, проговариваю, как вижу.
Массив - это сильно затормозит вывод, плюс, под него нужна память. Он буде лишним. Я бы сделал так:
Вместо занесения каждого элемента в массив, в этот момент выводить значение сразу на экран, с учетом отступа и задержки. Вот и весь эффект. Главное добиться максимально точного программного подсчета частоты, т.к. от нее будут "плясать" последующие расчеты отступа и задержки. Задержку вывода точек (str_eff_delay) посчитать можно просто. Подобрать такое значение, чтобы на экране выводилось 2-3 пика графика. Тогда она будет зависить, скорее всего, не от частоты, как я писал выше, а от развертки.
Что касается отступа (j), то тут нужен перебор (forech) массива времени, чтоб "выхватывать" значения (допустим, переменная point) для построения графика. Т.е. первая точка строится с отступом по времени 0 ОТ НАЧАЛА ПОЛУЧЕНИЯ СИГНАЛА, вторая (от начала построения второго сигнала)0+k (k-рассчетная задержка от начала получения сигнала в миллисекундах), третья (от третьего сигнала)0+k+k и т.д. На практике, я вижу это так: запускается обработка сигнала (не вывод на экран, а только получения), начинаяется перебор времени, в момент достижения определенного значения "j", мы получаем данные "point[0]", выводим на экран первую точку. Когда j = 0+k, выводим point[1], соединяем point[1] и point[0] прямой. Когда j = 0+k+k, выводим point[2], соединяем point[2] и point[1] прямой. И так до конца "i".
Это вме мои мысли по этому поводу.
Пока проблемма старта АЦП в одном и том же месте сигналла!(
Можно компаратор задействовать. Пока с компаратора единица -цифруем. Когда ноль -перевариваем нацифрованное :)
Можно компаратор задействовать. Пока с компаратора единица -цифруем. Когда ноль -перевариваем нацифрованное :)
Привет.
Стартовать с компаратора, но после старта его нужно отключать так как пока ноль МК не успевает все обработать и вывести особенно когда сигнал быстрый.
С наскока у меня не получилось добиться того что хотел. Возможно я просто не умею правильно "готовить" эти кампараторы!)
Упростил, это понятно. Я образно, проговариваю, как вижу.
Массив - это сильно затормозит вывод, плюс, под него нужна память. Он буде лишним. Я бы сделал так:
Вместо занесения каждого элемента в массив, в этот момент выводить значение сразу на экран, с учетом отступа и задержки. Вот и весь эффект.....
Поле этих строк все зрая. Так как не понимаете о каких скоростях идет речь.
Чтоб добиться на частоте Ардуино 16Мгц скорости АЦП 300КГц приходится останавливать буквально все и ниделать ничего кроме получения данных АЦП.Дажае если добавить строку вида i++; это уже значительно тормозит и мы теряем скорость замера.
АЦП (+делитель) делает первый замер за 25тактов процессора а каждый последующий за 13, я даже отбрасываю первый замер так как он делается на более мелкой скорости. А если мы будем мерять выводить что-то считать то упадем в скорости до 50-100КГЦ.
bodriy2014, я не спорю. Программированим МК с нуля не занимался, только правками, тонкостей не знаю. Просто высказал свои предположения в получении результата.
"Чтоб добиться на частоте Ардуино 16Мгц скорости АЦП 300КГц приходится останавливать буквально все" - Но если это сделать, то как вывести необходимый результат? Замкнутый круг. Нужно чем-то жертвовать и делать максимально быструю обработку данных (хорошенько продумать каждый шаг, узнать как можно его оптимизировать). Если на такой скорости не получаем желаемого, предполагаю, что лучше иметь обработку сигнала в 100кГц, чем иметь 25кГц и неконтролируемый самопроизвольный стробоскоп. Тем более, что есть опыт разгона дуины, может порог получится увеличить до 200кГц, что, в свою очередь, довольно неплохой результат. С учетом того, что это будет контролируемое четкое отображение сигнала, с возможностью изменения его построения.
П.С. пришла в голову мысль, незнаю, на сколько она правильная и "реализабельная")). Если взять две дуины, она получает сигнал и отсеивает какую-то часть (не делай никаких расчетов, чтоб не тормозить процесс), передает второй дуине остаток (1/10, 1/100 и т.д.). А вторая дуина, уже обрабатывает полученное, со всеми расчетами и выводит на экран. При этом сохраняется поддерживаемая концепция: купил, запрограммировал, соединил. (без пайки и травления).
Jtest Та прошивка что я выложил уже работает на скорости АЦП 300КГц а у меня 600КГц так как я разогнал МК.
Замкнутого цыкла не получится, я на максимальной скорости набиваю буфер данными а дальше имея этот буфер вывожу на экран все считаю что нужно и только когад все сделал снова набираю буфер.
Человек разницы не заметит наберу я один буфер или 10.
Буфер из 1300 значений набирается за 0,0039 секунды.
Вообщем об этом не стоит переживать.
Кстати увидел у местного перекупа такой экземпляр наверное на 72МГц наворотить больше можно!)
Куплю для пробы и посмотрю что получится.
STM32 видел в Китае, в 3 раза дешевле, говорят вещь хорошая. Только у перекупа не точная информация. Ядро STM32F103CBT6 (правильно STM32F103C8T6) в разы уступает описываемым продавцом характеристикам http://lib.chipdip.ru/235/DOC000235733.pdf (страница 7). Плюс на STM32 уже море готовых решений, и это отступление от темы (как я думаю).
Что на счет двух дуин, как я писал? Не реально?
Куплю для пробы и посмотрю что получится.
Получиться может сильно круче. МК маппла имеет два АЦП с частотой выборки до 1 миллиона семплов в секунду каждый. Эти АЦП умеют работать в интерливе с одним и тем же входным сигналом, т.е. подключаются попеременно, пока один цифрует, другой снимает пробу и наоборот. В результате общая частота семплирования суммируется и достигает до 2 миллионов семплов в секунду. Причем, результаты оцифровки могут складываться в массивы без участия ЦП посредством DMA и программе остается только визуализировать их.
....Что на счет двух дуин, как я писал? Не реально?
Сделать реально, но не зачем. Оно не даст прироста в скорости замера.Обе дуины будут по 50% времени простаивать.В одной ведь ничего не тормозится я писал что нельзя тормозить именно кусок кода с замерами АЦП но он занимает не так много программного времени.
Вообщем буду свободен сяду и хорошо на лягу на компаратор для старта стробо-ацп. Сколько постов не пиши а разбираться и кодить нужно.))
a5021 Привет.
Очень интересное соотношение цена/скорость получается. Уже знаю чем буду заниматься по завершении этого проэкта))).
А что по ресурсам какие самые крупные руссоязычные по STM32?
bodriy2014, на STM32 есть готовый набор . Какой смысл изобретать лисапед? :)
bodriy2014, на STM32 есть готовый набор . Какой смысл изобретать лисапед? :)
Наверное вы правы, все уже придуманно зачем что-то делать.
DSO138 конечно полное г... не понравилось, но у них есть и старшие модели в хороших корпусах с хорошими возможностями. Купил распаковал пользуйся.
bodriy2014, на STM32 есть готовый набор . Какой смысл изобретать лисапед? :)
следующий шаг - заказ прошивок и сборки девайса с нужными характеристиками?