Реклама ⓘ
Главная » Измерения
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Похожие статьи:


Реклама ⓘ

Двухканальный USB осциллограф на STM32 - Miniscope v2c

Ниже представлен проект недорого USB осциллографа с применением STM32 микроконтроллера. Особенности устройства:
- использование очень дешевых STM32F103 микроконтроллеров в LQFP48 корпусе.
- односторонняя печатная плата, удобная для изготовления в домашних условиях.  
- выборка 2x461kSps (2x300kSps в старых версиях), 8 бит, передача данных по USB в реальном времени.
- прошивка по UART.
- диапазон рабочих напряжений 0 - 6.6 Вольт.  Нестандартное входное сопротивление 20 кОм (к несчастью, большее значение вызывает помехи на АЦП. Возможно, это можно исправить использованием ОУ. Обратите внимание: сопротивление может быть увеличено при использовании новой прошивки, которая использует отдельный АЦП для каждого канала).

Сигнал 300 мВ снятый при помощи miniscope v4:

Осциллограммы в miniscope v4

Общая стоимость компонентов не превысила 10$.

Принципиальная схема USB-осциллографа:

Принципиальная схема USB-осциллографа

Печатная плата - односторонняя, размер 66мм x 36мм.

Печатная плата

Печатная плата

Среда разработки

Для разработки miniscope v2 необходимо было выбрать среду разработки для STM микроконтроллеров. В этом файле лежат примеры проекта для IAR, Keil, RIDE, HiTop и TrueSTUDIO. К сожалению, не один из них мне не подошел. RIDE и HiTop требуют покупки лицензии через 7 дней. Пробные версии IAR и Keil имеют ограничение на размер кода и забирают очень много дискового пространства. То же самое с TrueSTUDIO.

В результате я выбрал CooCox, дистрибутив которого весит 115 МБ и около ~ 800 МБ после установки и распространяется бесплатно.

Прошивка микроконтроллера

На плате нет JTAG/SWD разъема, так как прошивка должна быть загружена по UART. Чтобы войти в режим загрузки, нажмите и удерживайте кнопку BOOT при нажатии кнопки RESET. Программа STM "Flash Loader Demo" без проблем работает с USB-UART переходником. Нормальное напряжение на выводах микроконтроллера 5В, поэтому можно использовать 5 или 3.3В RS232-UART/USB-UART переходник.

Кнопка RESET может быть удалена - микроконтроллер переходит в режим загрузки при нажатой кнопке BOOT если USB подключен.

Так как USB подключено без 1.5 кОм подтягивающих резисторов, его необходимо заново подключить после прошивки.  

Проект для тестирования микроконтроллера и зуммер: stm32scopeTest.7z

Советы по передаче данных по USB

Используйте CDC в качестве шаблона. Есть две конечных точки BULK. Для повышения скорости CDC потребуются небольшие изменения.
1. Уменьшите значение VCOMPORT_IN_FRAME_INTERVAL. Я не уверен, что значение = 1 подходит при двунаправленной передаче, поэтому я поставил значение = 2.
2. Увеличение значения USART_RX_DATA_SIZE. Я использовал 8192 байт (2 х 4 Кб), но я думаю, что существенной разницы при использовании  4096 байт.
3. Изменение Handle_USBAsynchXfer, т.к. он не будет передавать данные, если USART_Rx_Buffer будет полный. Таким образом, после каждого номера SOF будет отправлен максимальный по номеру байт.

Убедитесь, что на ПК приложение постоянно готово к приему данных. Убедитесь, что приоритет чтения для него выше,  чем у других приложений. Я использовал libusb, поэтому я использовал сочетания usb_submit_async / usb_reap_async для задания очереди запросов чтения.

Я не интересовался высокой скорость передачи данных с ПК, поэтому у меня нет советов по этому поводу. Miniscope v2c оправляет данные на ПК с максимально возможной скоростью. Данные отправляемые с ПК незначительны (ID запроса, изменение аналогового усиления).

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
МикроконтроллерSTM32F10XCXT61 STM32F103?Поиск в магазине ОтронВ блокнот
IC1 Линейный регуляторLF331 Поиск в магазине ОтронВ блокнот
D1-D4 Диод Шоттки
BAT42
4 Поиск в магазине ОтронВ блокнот
C1 Электролитический конденсатор10 мкФ1 Поиск в магазине ОтронВ блокнот
C2 Электролитический конденсатор100 мкФ1 Поиск в магазине ОтронВ блокнот
C3, C4, C6-C9, C13 Конденсатор100 нФ7 Поиск в магазине ОтронВ блокнот
C5 Электролитический конденсатор22 мкФ1 Поиск в магазине ОтронВ блокнот
C10, C12 Конденсатор2 Поиск в магазине ОтронВ блокнот
C11, C14 Конденсатор47 пФ2 Поиск в магазине ОтронВ блокнот
C15, C16 Конденсатор22 пФ2 Поиск в магазине ОтронВ блокнот
R1-R3, R7, R10 Резистор
10 кОм
5 Поиск в магазине ОтронВ блокнот
R4, R8 Резистор
27 Ом
2 Поиск в магазине ОтронВ блокнот
R5, R6 Резистор
100 Ом
2 Поиск в магазине ОтронВ блокнот
R9 Резистор
1.5 кОм
1 Поиск в магазине ОтронВ блокнот
Q1 Кварц8 МГц1 Поиск в магазине ОтронВ блокнот
L1 ДроссельBL01RN1A1 Поиск в магазине ОтронВ блокнот
SG1 ПьезоизлучательF/TMB1 Поиск в магазине ОтронВ блокнот
S1, S2 КнопкаЗамыкающая2 Поиск в магазине ОтронВ блокнот
X1 РазъёмUSB1 Поиск в магазине ОтронВ блокнот
JP2 РазъёмPLS-41 ВходыПоиск в магазине ОтронВ блокнот
JP3 РазъёмPLS-31 UARTПоиск в магазине ОтронВ блокнот
Добавить все

Скачать список элементов (PDF)

Оригинал статьи

Прикрепленные файлы:

Теги:

none Опубликована: 2012 г. 0 1
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (13) | Я собрал (0) | Подписаться

0
Сергей #
Сторона МК достаточно проста и понятна, но вот то, что сделано автором на РС - черт ногу сломит. Притом все сделано на очень специфических свободно распространяемых компиляторах и библиотеках. Очень тяжелый проект.
Ответить
0
Alloy #
А каким программатором можно прошить микроконтроллер STM32?
Ответить
0
OT #
STLink v2, но эта плата использованы UART boot.
Ответить
0
Eugene #
Почему у меня не хочет контроллер переходить в БУТ режим? Все выставляю как положено, а программа не определяет контроллер вообще. Уже голову сломал и понять не могу. Использую преобразователь не CP201.
Ответить
0
владимир #
Можно схему этого девайса выложить?
Ответить
0
Александр #
Подскажите пожалуйста нубаторe-ардуинщику, как залить эту прошивку в мк. Какой программой какой файл указывать на каких стадиях.
Ответить
+1
Михаил #
1) Вам нужен UART преобразователь. Это такая штука, которая втыкается в USB и делает вам интерфейс RS232. Гуглите "ftdi" я использую такую: ссылка на али
На ней один джампер устанавливает питание. Убедитесь, что выставлено 3.3 вольта. Потом соединяете три провода: RX,TX и GND. Можно перепутать нечаянно RX и ТX. Логика включения такая: что на одном девайсе RX, то на другом TX.
2) Далее (если у вас Win) качаете Flash Loader Demo. Там будет пошаговая инструкция. Нужно будет только выбрать ваш юарт преобразователь, он будет показан как СОМ с каким-то номером и выбрать прошивку. На все вопросы отвечайте, что вы не против затереть все что на чипе.
3) Чтобы ввести устройство в бутрежим, нужно включить его с зажатой кнопкой бут.
Ответить
0
Lex178 #
1 пункт полностью понятен
2 а какой файл из архива указывать в flash loader demo как прошивку?
3 а зачем в бут режим грузиться?
Ответить
0
NikLL #
Подскажите пожалуйста, в какой среде запускать miniscope_v2, уже несколько RAD Studio перепробовал, не хотят открывать....
Ответить
+2
Петя #
Собрал на готовой плате STM32F103C8T6.Все работает.
Прошивается с помощью копеечного USB-UART на CP2102 (на нем есть выход 3.3v), распиновка GND-GND, 3.3v-3.3v, tx-A10, rx-A9. Можно использовать USB-UART на ftdi. При прошивке не забыть переткнуть перемычку, затем вернуть обратно.
Утилита для прошивки stm flash loader demonstrator.
Сама прошивка (HEX файл) есть в файлах проекта stm32scope_20121006\Debug\bin.
После прошивки можно подключать плату по USB к компьютеру. Для этого нужны драйвера (их можно взять например из файла проекта miniscope_v2c_dll_20170121\miniscope_v2c\win-driver).
Данные смотрим на Miniscope v4 (miniscope_v4_01_00\bin), для этого нужна dll, которую берем например здесь miniscope_v2c_dll_20170121\miniscope_v2c\Release_Build и кладем в miniscope_v4_01_00\bin\device и в самом miniscope_v4 выбрать эту dll.

Все файлы есть по ссылке на оригинал статьи.
Сигнальные входы A0, A1 (ограничение 3.3v).
На Win10 не работает.
Все исходники прошивки для CooCox.
Ответить
0
storgnit #
Здравствуйте , а можно подробнее как у вас получилось ? Очень хочется попробовать ,но знаний конкретно не хватает
Отредактирован 23.12.2019 00:06
Ответить
0
Анатолий #
Что является графическим приложением? В какой среде запускать на ПК?
Ответить
0
я #
Вот.
Прикрепленный файл: miniscope_v4_01_01.zip
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Конструктор: DDS генератор сигналов
Конструктор: DDS генератор сигналов
DC-DC регулируемый преобразователь 1.5-37В 2А с индикатором FM-модуль RDA5807M
вверх