Карманный осциллограф на STM32
- Войдите на сайт для отправки комментариев
Вс, 24/07/2016 - 06:41
Привет всем. Тема не совсем для форума ардуино, так как никаких скетчей тут не будет, делаю тему на этом форуме просто для удобства пользователей, которые тут обитают и уже заинтересовались идеей создания своего осцила. Текущая реализация https://www.youtube.com/watch?v=oxsGE5_SdzA
Начало обсуждение сдесь http://arduino.ru/forum/proekty/pultoskop-na-arduino-27mgts?page=35 но просьба там больше не флудить, так как это не по теме.
А почему не будет скетчей? Ну, в смысле программ для STM?
А почему не будет скетчей? Ну, в смысле программ для STM?
Судя по видео обрабатываемая частота 110кГц. Неплохо. Однако в схеме не увидел АЦП. В этом направлении есть сдвиги?
GFS, ты наверное болчную конструкцию делать задумал. В принципе можно и так, но толстоватенький аппарат получится. Однако на таком конструктиве отработать прошивку наверное удобней будет
Будет готовая прошивка в виде hex,
Ну. я так и понял, исходников не будет, т.е. ни посмотреть код, ни поправить его нельзя. Я это и имел в виду.
Приветствую появление отдельной темы.
Очевидно основная "фишка" - возможность разгона АЦП у STM. Думаю именно это надо обсудить подробно.
Судя по вашим постам разгон выполнен просто повышением частоты тактирования АЦП с штатных 14МГц (предел по документации) до 64МГц за счет установки коэффициента соответствующего делителя в 1.
Я правильно понимаю? Тогда в программе можно оперативно переходиить в режим разгона и обратно.
Весьма радикально, в 4,5 раза. Какбычегоневышло-с. Вероятно выросла ошибка преобразования и младшие разряды не достоверны. Это в принципе и не страшно, экран всеравно не способен отобразить весь 12-и битный диапазон. Но всеж интересно, сколько младших разрядов теряется, не оценивали?
Почему разгон именно до 64МГц? Максималку 72МГц не тянет?
Как дела с воспроизводимостю? Только на одном контроллере пробовали? Любой ли экземпляр держит разгон - важный практический вопрос. Думаю и я попробывать разогнать свой.
Остальная переферия работает? В частности DMA работает после разгона. На таких скоростях без него будет сложно.
Традиционные оверклокерские моменты - нагрев, улучшения питания. Думаю обошлось без этого?
я не великий спец, но мне кажется что для развития темы не помешает:
1. закинуть сюда то, что уже наработано.
2. ссылки сторонних ресурсов (что б те, кто умеет программировать мож чего подглядели).
3. схему, хоть черновую а то обсуждаем вкус конфет по переписке =)
на вопрос "почему не я", отвечаю - не разбираюсь в этом для того что б что-то привностить в проект.
но плату, как и обещал, нарисую. тока схему давайте )))
тему поставил в закладки, так что буду заглядывать к вам в гости.
=============
по плате, как понял наметился раскол: 1)модульный тип (что логично, но как по мне не совсем аккуратно и не минималистично). 2) изготовление самостоятельного прибора с запайкой МК (что аккуратнее, но запайка МК требует прямых рук без тремора).
В принцпе, думаю что можно начать с модульного типа(1), потом добавим вариант 2.
1. нужна блок-схема и принципиальная.
2. список предполагаемых деталей (или модулей с расстояниями между контактами).
3. чертёж(или фото) с размерами и расстояниями у индикатора и платы STM (у меня нет такого и не предвидится).
http://cvs.aiq.ru/tft22.html
Это как пример. Там нажмите кнопку AVR и можно посмотреть реализацию мультиплексора и входной части (не знаю как грузить схемы и файлы сюда). Да простит меня АВТОР
ооо! вот уже с мёртвой точи сдвиг пошел.
так понимаю, что порты РВ3-РВ5 это для программатора, верно?
далее, по своей сути это есть блок АЦП? вопросы:
1. ноги(порты) МК меняться не будут?
2. кнопки(энкодер?) - с ними как?
3. порты дисплея - такие же?
4. что за NRST? куда это должно идти?
5. джампер - это как понимаю для программирования? т.е. если модуль - то он уже есть.
6. порт PA2 - это на батарейку или на +3,3В?
7. питание МК и дисплея так понимаю что 3,3В? занчит нужно с лития получить +/-5В(для ОУ) и с +5В делать 3,3В?
итого (для варианта 1 "модульный"): надо выводить питание, дисплей, кнопки, динамик и входы.
верно?
загружать картинки не сложно - жмакаешь на значек, левее от греческой "омеги", дальше всё просто - грузишь на сервер, и вставляешь в сообщение в нужное место.
На EE есть статья от Леонида Ивановича, возможно будет полезна
http://we.easyelectronics.ru/STM32/demony-v-acp-stm32.html
Вроде получилось, спасибо karl2233.
GFX, обрати внимание на изумительное решение программного изменения коэф. усиления ОУ. Думаю, что включать аппарат можно и тумблером, а по 3.3V поставить стаб. по проще.
karl2233, не спеши плату ваять, здесь процессор другой, GFX попросим поправить.
Прочел статью от kisoft и понял, что без внешнего АЦП не обойтись, иначе подвирать аппарат будет
Эта схема уже лучше. Замечания по ней - оптрон IC15 заменить на реле, вход ОУ защитить от перенапряжения диодами, решение программного изменения коэф. усиления ОУ - не очень оригинально, встречается часто но действительно великолепно.
Судя по вашим постам разгон выполнен просто повышением частоты тактирования АЦП с штатных 14МГц (предел по документации) до 64МГц за счет установки коэффициента соответствующего делителя в 1.
Я правильно понимаю? Тогда в программе можно оперативно переходиить в режим разгона и обратно.
Весьма радикально, в 4,5 раза. Какбычегоневышло-с. Вероятно выросла ошибка преобразования и младшие разряды не достоверны. Это в принципе и не страшно, экран всеравно не способен отобразить весь 12-и битный диапазон. Но всеж интересно, сколько младших разрядов теряется, не оценивали?
Погрешность не оценивал. но как вы подметили оставшейся разрешающей способности для экрана выше крыши.
Почему разгон именно до 64МГц? Максималку 72МГц не тянет?
Остальная переферия работает? В частности DMA работает после разгона. На таких скоростях без него будет сложно.
Традиционные оверклокерские моменты - нагрев, улучшения питания. Думаю обошлось без этого?
по плате, как понял наметился раскол: 1)модульный тип (что логично, но как по мне не совсем аккуратно и не минималистично). 2) изготовление самостоятельного прибора с запайкой МК (что аккуратнее, но запайка МК требует прямых рук без тремора).
В принцпе, думаю что можно начать с модульного типа(1), потом добавим вариант 2.
1. нужна блок-схема и принципиальная.
2. список предполагаемых деталей (или модулей с расстояниями между контактами).
3. чертёж(или фото) с размерами и расстояниями у индикатора и платы STM (у меня нет такого и не предвидится).
1. Я уже выкладывал но не тут. Минимальная схема с тем что у меня работает https://www.dropbox.com/s/3b0dxf4lcw40s13/%D0%A1%D1%85%D0%B5%D0%BC%D0%B0.rar?dl=0
2. Перечень деталей под которые заточена прошивка, предлагать можно многое, но писать программу тогда будете сами)
Из того, что у меня и под что прошивка:
Плата с МК http://ru.aliexpress.com/item/mini-Stm32f103c8t6-system-board-stm32-learning-development-board/1568685935.html?detailNewVersion=
Дисплей http://ru.aliexpress.com/item/Wholesale-1PC-2-2-Inch-240-320-Dots-SPI-TFT-LCD-Serial-Port-Module-Display-ILI9341/1762539997.html?detailNewVersion=
http://ru.aliexpress.com/item/5pcs-dc-dc-boost-converter-5V-to-dual-12V-... Я купил себе такие DC-DC, но вас не заставляю, можно собрать на плате, так как они дорогие, но работают даже от 3.3В, т.е. промежуточные 5В не нужны.
Энкодер 1 любой, для удобства можно рассмотреть добавление кнопки паузы, например, отдельно.
3. В архиве есть чертеж платы с МК. Чертежа экрана нет 65х38мм выводы по картинкам можно восстановить.
Я за модульный вариант, т.к. кроме впайки самого МК нужно сделать плату с тонкими дорожками, овчинка выделки не стоит.
ооо! вот уже с мёртвой точи сдвиг пошел.
так понимаю, что порты РВ3-РВ5 это для программатора, верно?
далее, по своей сути это есть блок АЦП? вопросы:
1. ноги(порты) МК меняться не будут?
2. кнопки(энкодер?) - с ними как?
3. порты дисплея - такие же?
4. что за NRST? куда это должно идти?
5. джампер - это как понимаю для программирования? т.е. если модуль - то он уже есть.
6. порт PA2 - это на батарейку или на +3,3В?
7. питание МК и дисплея так понимаю что 3,3В? занчит нужно с лития получить +/-5В(для ОУ) и с +5В делать 3,3В?
итого (для варианта 1 "модульный"): надо выводить питание, дисплей, кнопки, динамик и входы.
верно?
загружать картинки не сложно - жмакаешь на значек, левее от греческой "омеги", дальше всё просто - грузишь на сервер, и вставляешь в сообщение в нужное место.
GFX, обрати внимание на изумительное решение программного изменения коэф. усиления ОУ. Думаю, что включать аппарат можно и тумблером, а по 3.3V поставить стаб. по проще.
karl2233, не спеши плату ваять, здесь процессор другой, GFX попросим поправить.
Прочел статью от kisoft и понял, что без внешнего АЦП не обойтись, иначе подвирать аппарат будет
Привет, тема для меня интересная. Сейчас заказал себе у китайцев набор DSO 138, он как раз на STM32 собран, там интересно операционники включены схема есть в интернете. Но DSO138 по характеристикам не особо лучше осциллографа на аудио карте... а вот если глянуть схемку от DSO 203 , там уже два штуки Stm32 работают и параметры у этого осцила на много лучше. Так может тоже стоит использовать два контроллера и пусть один, например с ацп работает , а второй экраном рулит... Ну а за блочный вариант я двумя руками за, хотя бы для начала.
Интерестная схема.
У меня вопрос: А как скажется на АЧХ сигнала на присутствие микросхемы 74hc4051?
В хамелеоне такая схема: http://www.radiokot.ru/forum/viewtopic.php?t=19878
Okmor, пропускная способность каналов по частоте - от 140 МГц по уровню -3дБ.
В хамелеоне такая схема: http://www.radiokot.ru/forum/viewtopic.php?t=19878
Я же дал ссылку на сайт http://www.radiokot.ru/forum/viewtopic.php?t=19878 , а вот архив со всем барахлом http://www.radiokot.ru/forum/download/file.php?id=119531&sid=9bdf38963da38e5d35fdd8d4fd44c004 схема наприсована в программе spl7.
схема наприсована в программе spl7.
Вроде получилось, спасибо karl2233.
GFX, обрати внимание на изумительное решение программного изменения коэф. усиления ОУ. Думаю, что включать аппарат можно и тумблером, а по 3.3V поставить стаб. по проще.
karl2233, не спеши плату ваять, здесь процессор другой, GFX попросим поправить.
ну да, чем проще нарисовпно тем легче
Да, она относительно проста и функциональна, но:
1. другой процессор
2. один канал
Поскольку GFX, ты сделал на СТМ 2 канала, то может для первого применить внешний АЦП (как на этой схеме), а для второго внутренний, чтобы не лепить два внешних? То есть частота первого канала будет на порядок выше второго, но даже 100 кГц для второго канала очень неплохо. Собственно в большинстве случаев так и делается на двухканальных осликах. Входную часть для 1 и 2-го каналов (ОУ и их управление) сделать идентичной
Выкладываю технические данные на последнюю схему с ATxmega32
ТТД:
Max 16 MSPS - ADC AD9280
При частоте XMega 32мГц считывание с АЦП за две команды (in temp, VPORT1_IN st Y+, temp).
32 точки на деление = 2 мкс / дел (2mks/D ~ 1sec/D)
Максимальное входное 15 вольт 5В/дел, 2, 1, 0.5, 0.2, 0.1, 0.01
Питание Li-Ion 3,7V 100mA
Спустите ее в унитаз. Ибо сложно будет найти хоть кого-нибудь, кто захочет ее на этом чипе собирать.
Речь идет о замене чипа на STM32
Ну вы же читали ветку на радиокоте и в курсе сколько и каких проблем возникает при проектировании всех этих карманных осциллографов. Тратить множество сил и делать очередной непонятный показометр? Не, лучше найти занятие поинтересней.
Наука тоже постоянно что-то с кем-то скрещивает и развивается, вот и мы пытаемся. Из пультоскопа вырастаем, развиваемся: STM, TFT, АЦП. И с учетом технических решений и проблем на Радиокоте, VRTP и т.д., попробуем сделать простой, но не слабый аппарат из доступных деталей.
a5021, пересчитай сколько законченных конструкций ты видел? Пальцев одной руки с лихвой хватит. Надеюсь, из того что задумали, у нас получится.
Даже если получится, характеристики, обусловленные примененным железом, не позволят сделать что-то наполененное практическим смыслом. Иллюстрация, игрушка, "оно работает" -- самые точные термины, которые будут описывать устойство в целом. Таких "иллюстраций" в интернете можно накопать с десяток за пять минут. Разной степени законченности. Но нет никаких свидетельств, что кто-то ими пользуется в практическом плане. Вы хотите добавить к этой кучке симпатичных картинок еще одну. Уверен, что добавите, если проявите должное упорство. Для прокачивания собственных скиллов -- занятие крайне полезное. Для работы на конечный результат -- изготовление полезного прибора -- полностью бессмысленное.
Здесь все-таки речь идет об осциллографе, причем собранного своими руками, пусть даже и показометре, а не о смысле жизни и потеряннном времени. Недавно по форсункам своего авто пришлось пройтись и подумалось, что в полевых условиях, с двухлучевым монстром от советского приборостроения и отсутствием 220В толку было бы 0! А маленький показометр показал-таки, что длительность импульса открытия форсунки не соответствует штатному. Так что, как говориться - хороша ложка к обеду.
Для работы на конечный результат -- изготовление полезного прибора -- полностью бессмысленное.
Спустите ее в унитаз. Ибо сложно будет найти хоть кого-нибудь, кто захочет ее на этом чипе собирать.
Да, она относительно проста и функциональна, но:
1. другой процессор
2. один канал
Поскольку GFX, ты сделал на СТМ 2 канала, то может для первого применить внешний АЦП (как на этой схеме), а для второго внутренний, чтобы не лепить два внешних? То есть частота первого канала будет на порядок выше второго, но даже 100 кГц для второго канала очень неплохо. Собственно в большинстве случаев так и делается на двухканальных осликах. Входную часть для 1 и 2-го каналов (ОУ и их управление) сделать идентичной
2. Да, раз и я и многие уже закупились внешним АЦП и где-то его нужно проверить, то нужно один канал взять встроенный, второй внешний помощнее. Встроенный не будет мешать так как там есть ДМА, а внешний уже силами самого процессора считывать сколько сможем. На выходных доработаю эту схему под наш МК, раньше некогда. итого встроенный будет до 9.14 Мсемплов с сек, внешний хз, но должно быть поболя.
Одобрям!!!
Gfx - на счет dso203 я действительно не прав был, не разглядел. Назрел вопрос, аналоговую часть по какой схеме решено собирать #23 или #27 ? В схеме хамелеона в обвязке 74HC4051 резисторы шунтированы конденсаторами, а в схеме #27 они не применяються, не будет каких нибудь искажений?
кутузов, кондёры - борьба с самовозбуждением. так что место предусмотреть можно, ну или напаять поверх резисторов(они всё равно будут СМД)/
Да делайте, кто ж против. Мало что-ли на этом форуме тем, где группка энтузиастов пол-года рисует друг перед другом радужные перспективы, а потом тема спокойно сливается и о ней больше никто и никогда не вспоминает.
karl2233, емкости параллельные резисторам в цепи обратной связи ОУ, служат для коррекции АЧХ ОУ. Предусмотри пожалуйста площадки для них. Паять на емкости поверх резисторов геммор еще тот. Дело в том что их подбирать нужно, что предполагает их неоднократную перепайку.
man_200, в осциле? :)
про остальное понял, сделаю.
давайте уже согласовывайте схему - руки чешутся сваять вам плату :)
a5021, да-да-да.
одного "энтузиаста" я знаю, он щас часы делает =)
karl2233, емкости параллельные резисторам в цепи обратной связи ОУ, служат для коррекции АЧХ ОУ. Предусмотри пожалуйста площадки для них. Паять на емкости поверх резисторов геммор еще тот. Дело в том что их подбирать нужно, что предполагает их неоднократную перепайку.
И возможность паять несколько штук паралельно именно для подбора, потому площадок на несколько штук.
Вторая схема сильно хуже. Мультиплексор аналоговый в цепи ОС не гуд.
У первой есть еще недостаток - входное всего пол мегаома.
Еще момент - если хочется смотреть входной сигнал порядка милливольта и ниже - входной делитель тоже надо иметь управляемый, чтоб шумы не ловить. Но с ним сложно, его хотяб двухдиапазонным сделать, с перекючением релюхой. Т.е. получить на входе перед ОУ переключение между работой с делителем, например 1:100, и работой без делителя 1:1. Такой подход, при прочем равном, сильно расширит диапазон напряжений и снизит кол-во ступеней схемы на мультиплексоре.
Вобще себе свою схему пока вижу так: входе на электромагнитное реле реализован переключатель "открытый/закрытый вход", далее делитель 1:350 (типа 1047КОм на 3КОм) с возможностью отключения электромагнитным реле, схема защиты от перенапряжения, первый ОУ с управляемым усилением 40 или 2 , управляемый делитель с коэффициентами 1:8, 1:4, 1:2, 1:1 и сново ОУ с Кус=4 (это для опорного АЦП в 1В, если больше - то этот коэффициент увеличиваем)
Я бы малогабаритные переключатели поставил на "открытый-закрытый" и на входной аттенюатор. Оперативно, информативно и поле монитора не перегрузим лишней информацией.
Так что уже плату входных усилителей можно разводить, как одного из составляющих блочной конструкции. Кстати, для гурманов - ее можно и в экран поместить вместе с входными разъемами.
Я бы малогабаритные переключатели поставил на "открытый-закрытый" и на входной аттенюатор. Оперативно, информативно и поле монитора не перегрузим лишней информацией.
Оно то так, но общая тенденция - всем рулит контролер, она кстати в решении "открытый-закрытый" в схемах выше отражена. Вполне может быть что в конкретно этом случае безтолковая тенденция ))
А себе я вообще решил все управление на один енкодер делать. Пока вроде получается. А не понравится - плюну и доставлю кнопок на панель. Это всегда успеется.
вот, думаю над платой (пока компоновка).
Таким образом, в варианте 1 основная плата должна быть чуть больше размеров дисплея. К этому варинату мне нужны чертежи платы МК и дисплея(что б с разъёмами не пролететь). Разъёмы и переключатели можно поставить угловые. Если убдет энкодер, то основная плата должна быть шире чем дисплей (энкодер что б не запаивать сбоку). Так что с переключателями и кнопками получится компактнее, чем с энкодером.
Во втором варианте - блок МК и АЦП можно сделать как бутербродом, так и развести под отдельный МК(который не на плате).
жду комментарии-поправки-улучшения.
Вот и схема подоспела, на базе Хамелиона (разводка от него тоже в архиве, чтобы не с 0 разводить). Не хватило ног МК, так что раздельно коэффициенты деления регулировать не выйдет. Либо нужно ставить расширитель портов на регистре, наприммер. Габариты платы с МК и экрана во вложении тоже. На схеме есть еще альтернативная схема зарядки, как хотите, можно и так и эдак. Вывод B2 спрятан на перемычках, но он нужен, придется к нему перепаивать штырек на пузо с лица.
https://www.dropbox.com/s/7f799uxhnxj4zyy/stm32%20%D0%BE%D1%81%D0%BB%D0%...
karl2233, не много ли плат? По мне, так должна быть основная - на ней все кроме МК и Экрана, в нее вставляется сзади МК, спереди экран. ля чего плата с операционниками отдельно от АЦП то.