Главная » Измерения
Призовой фонд
на июль 2017 г.
1. Осциллограф DSO138
Паяльник
2. Регулируемый паяльник 60 Вт
Паяльник
3. 200 руб.
От пользователей

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


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

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

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

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

Теги:

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

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

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

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

Комментарии (9) | Я собрал (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 перепробовал, не хотят открывать....
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Мультиметр Mastech MS8239C
Мультиметр Mastech MS8239C
Набор для сборки - LED лампа Мультиметр DT9205A
вверх