Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
linkov1959. Про измеритель RCL. Эта схема с сайта какого то Немца, Описание на Немецком, Написан исходник на C. IDE WinAVR, Принцип измерения основан на измерении времени нарастания фронта до величины 2/3 (прямолинейный участок) от питания, и по формулам переводится в величины индуктивности, емкости, сопротивления. Измеряет еще Кус биполярных транзисторов, "пятки" и переходные емкости диодов, определяет что за элемент подключен, вплоть до полевиков (кажется), имеет перестраиваемый генератор, ШИМ имеет, вольтметр для измерения напряжения стабилитронов, с использованием повышающего DC/DC преобразователя, я этого не делал, да еще частотомер. И главное он имеет КАЛИБРОВКУ и она запоминается до следующей. Отключается по истечении времени если не пользуешься. Я мерею, в основном, индуктивности, ЧИП емкости (глину), но иногда и Кус транзисторов. Все остальное мерею, с прошлого года, Мурзиком. Нашел я его случайно в инете, сделал и стер все, Оставил IDE, на всякий случай, но не разу не использовал.
-
linkov1959
- Держит паяльник хвостом
- Сообщения: 923
- Зарегистрирован: Пн сен 10, 2018 19:16:28
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
v.bay17, транзистор-тестер называется. У меня такой.


Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
linkov1959. Классный Вы прибор сделали, от промышленного я бы не отличил. Наверное использовали последние версии. У меня все гораздо скромнее, и LCD монохром, двух строчечный, и прошло 3- 4 года. Я так понял и энкодер с кнопкой?. Вообщем молодец, достойный девайс получился. Поздравляю.
-
linkov1959
- Держит паяльник хвостом
- Сообщения: 923
- Зарегистрирован: Пн сен 10, 2018 19:16:28
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
[uquote="v.bay17",url="/forum/viewtopic.php?p=3980153#p3980153"]Поздравляю.[/uquote]
Спасибо, но мне 9$ не жалко было.
https://aliexpress.ru/item/32815238753. ... 4695001575
Спасибо, но мне 9$ не жалко было.
https://aliexpress.ru/item/32815238753. ... 4695001575
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
Ну и шуточки к Вас, linkov1959, а я слюну никак проглотить не могу. Любуюсь до сих пор.
-
linkov1959
- Держит паяльник хвостом
- Сообщения: 923
- Зарегистрирован: Пн сен 10, 2018 19:16:28
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
v.bay17, Там хороший частотомер и я добавил рядом с входом клемму 5в для активного съемного ВЧ 50Мгц щупа от 5мВ с делителем частоты 1:10 и 1:1.
-
Novice user
- Мудрый кот
- Сообщения: 1704
- Зарегистрирован: Вт янв 05, 2016 10:14:25
- Откуда: поселок Мелеуз
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
linkov1959, а вы это к чему?
Добавлено after 16 minutes 2 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Я лично собрал сей замечатальный прибор "Мурзик"
Огромное спасибо создателям сего проекта!!!
Добавлено after 16 minutes 2 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Я лично собрал сей замечатальный прибор "Мурзик"
Огромное спасибо создателям сего проекта!!!
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
случилось на днях поиграться с МК - доделал себе медленные развертки.
к тому, что придумывал еще в октябре домутил:
уровень синхронизации,
очистку буфера после Стоп, перед Старт,
стоп/пуск ДМА,
задержку остановки ДМА примерно на 300мс
(при "10мс" это половина буфера, при "50мс" это полэкрана).
напомню - речь про закольцованный ДМА (льет с АЦП постоянно, ацп по таймеру),
вообщем сделал себе "плавную" развертку.
кому интересно отрезки кода за это дело:
извиняюсь за стиль и не по стандарту, не программист, и мне так было компактней 
Добавлено after 31 minute 43 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
пара картинок, где видны особенности (в остальном штатно и предсказуемо - не на что смотреть).
там где развертка 50мс - ждущая, по спаду, подал сигнал предварительно подождав, внизу (на слайдере) видно где это оказалось в буфере и что регистрация сигнала прервана через некоторое время, но достаточное для половины основного экрана;
где развертка 10мс - сигнал подан постоянно, на экране - перезапуск с кнопки ждущей развертки, внизу видно - задержка отключения дма дозаполнила буфер на половину от точки синхронизации, и на основном экране "луч" падает с потолка - "левее" в буфере просто нет записей от АЦП.
п.с. надеюсь уважаемый Fusion на меня не обидеться, идею и механизм слайдера я подсмотрел еще в те времена, когда автор свои труды выкладывал в доступ.
Огромное Спасибо!
такие вещи помогают делать первые шаги в неведомом.
к тому, что придумывал еще в октябре домутил:
уровень синхронизации,
очистку буфера после Стоп, перед Старт,
стоп/пуск ДМА,
задержку остановки ДМА примерно на 300мс
(при "10мс" это половина буфера, при "50мс" это полэкрана).
напомню - речь про закольцованный ДМА (льет с АЦП постоянно, ацп по таймеру),
вообщем сделал себе "плавную" развертку.
кому интересно отрезки кода за это дело:
Спойлер
Код: Выделить всё
// if (Band >= 11 )
uint32_t i;
while (i==(BufferSize - DMA1_Channel1->CNDTR)) {};
i=(BufferSize - DMA1_Channel1->CNDTR);
if ((Sync==4)||(Band >13)) { // if Sync=none or Band>=0.1ms
PointSync= (i-320+4)&Buffmask; // then PointSync don't search
Draw320x192(buffer, PointSync);
}else{
PointSync=0;
uint8_t SyncP=(Sync & 0x01);
uint16_t SyncL=(SL*8+128*8);
uint32_t j= (i-2)&Buffmask;
uint16_t o = buffer[j];
while ((!PointSync)&&(j!=((i-640)&Buffmask))) { // search
j = (j-1)&Buffmask;
uint16_t n = buffer[j];
if (SyncP) {if ((o >= SyncL) && (n < SyncL)) {PointSync=j;}}
else {if ((o <= SyncL) && (n > SyncL)) {PointSync=j;}}
o=n;
} // end buffer
if (((Sync>>1)==0)&&(!PointSync)) {continue;} // do not draw
SysTick->LOAD = 0x00400000; // delay, to refill the buffer
SysTick->VAL = 0x00400000; // about 300ms
SysTick->CTRL = 0x00000001;
while(!(SysTick->CTRL & 0x00010000)) {};
SysTick->CTRL = 0;
PointSync=(PointSync-159)&Buffmask;
Draw320x192(buffer, PointSync);
Draw320x32(buffer, PointSync);
if ((Sync>>1)==0) {
Freez=1;
DMA1_Channel1->CCR &= (uint16_t)(~DMA_CCR1_EN);
}
}
switching adc +dma to cyclic mode ---------------------------------------------------------
ADC1->CR2 = 0; // stop
ADC1->CR1 = 0;
ADC1->CR2 = (ADC_CR2_DMA|ADC_CR2_EXTSEL_0|ADC_CR2_EXTSEL_1|ADC_CR2_ADON); //ExternalTrigConv_T2_CC2
ADC1->SMPR2 =0; // SampleTime 1.5cycles
ADC1->SQR1 = 0; // L=0000 :1 conversion
ADC1->SQR3 = 0; // PA0
DMA1_Channel1->CCR &= (uint16_t)(~DMA_CCR1_EN); // stop
DMA1_Channel1->CCR = 0;
DMA1_Channel1->CPAR = (uint32_t)&(ADC1->DR);
DMA1_Channel1->CMAR = addressbuffer;
DMA1_Channel1->CNDTR = BufferSize;
DMA1_Channel1->CCR = (DMA_CCR1_PL);
DMA1_Channel1->CCR = (DMA_CCR1_CIRC|DMA_CCR1_MINC|DMA_CCR1_PSIZE_0|DMA_CCR1_MSIZE_0|DMA_CCR1_PL);
DMA1_Channel1->CCR |= DMA_CCR1_EN;
ADC1->CR2 |= ADC_CR2_EXTTRIG; // start
drawing--------------------------------
void Draw320x192(uint16_t *buffer, uint16_t PointSync){
LCD_CS0;
window(Orient_Book, 25, 215-25, 0, 317-0);
SendCMD(ILI9341_GRAM);
uint8_t n, o, z;
register int ar, br;
n=(buffer[(PointSync-1)&Buffmask]/8-128); //
for (uint16_t j = 1; j < 319; j++) { // time
o=n;
n=((buffer[(j+PointSync)&Buffmask]>>3)-128);
if ( n >= o ) {ar=o; br=n;} else { ar=n;br=o; }
if (!(j&31)) {
for (uint8_t i = 0; i < 191; i++) {
((i<ar)||(i>br))?(z=GRID):(z=WHITE);
GPIOB->BSRR = (0x00FF0000 | z);
LCD_WR0;__NOP();__NOP();LCD_WR1;__NOP();__NOP();
LCD_WR0;__NOP();__NOP();LCD_WR1;
}
}else {
for (uint8_t i = 0; i < 191; i++) {
(!(i&31))?(z=GRID):(z=BLACK);
if(!((i<ar)||(i>br))) {z =WHITE;}
GPIOB->BSRR = (0x00FF0000 | z);
LCD_WR0;__NOP();__NOP();LCD_WR1;__NOP();__NOP();
LCD_WR0;__NOP();__NOP();LCD_WR1;
}
}
} // j
LCD_CS1;
}
button "stop/start" ------------------------------------------------------
if (Freez==0) { // stop
Freez=1;
if (Band > 10) {DMA1_Channel1->CCR &= (uint16_t)(~DMA_CCR1_EN);}
--------------------------------------------------------------------------
else Freez=0; // start
if (Band > 10) {
for (uint16_t i=0; i<BufferSize; i++) {buffer[i] = 512;}
DMA1_Channel1->CNDTR = BufferSize;
DMA1_Channel1->CCR |= DMA_CCR1_EN;
}
Добавлено after 31 minute 43 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
пара картинок, где видны особенности (в остальном штатно и предсказуемо - не на что смотреть).
там где развертка 50мс - ждущая, по спаду, подал сигнал предварительно подождав, внизу (на слайдере) видно где это оказалось в буфере и что регистрация сигнала прервана через некоторое время, но достаточное для половины основного экрана;
где развертка 10мс - сигнал подан постоянно, на экране - перезапуск с кнопки ждущей развертки, внизу видно - задержка отключения дма дозаполнила буфер на половину от точки синхронизации, и на основном экране "луч" падает с потолка - "левее" в буфере просто нет записей от АЦП.
п.с. надеюсь уважаемый Fusion на меня не обидеться, идею и механизм слайдера я подсмотрел еще в те времена, когда автор свои труды выкладывал в доступ.
Огромное Спасибо!
такие вещи помогают делать первые шаги в неведомом.
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
на снимках разводы
а в живую симпатично, приспособил стекло от нокии - контрастность выше, цвет насыщеннее и "теплее",
вообщем приятней глазу.
а в живую симпатично, приспособил стекло от нокии - контрастность выше, цвет насыщеннее и "теплее",
вообщем приятней глазу.
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
Уважаемые коллеги, я рад за вас, и это серьезно, без малейшей иронии. Вы не стоите на месте, развиваетесь, и я завидую всем вам. Я так уже не могу. У меня пол глаза осталось, утомляемость страшная. 2 часа в инете и все, а паяю, с такими бинокулярами, аж в 3 стекла и кучей часовых линз и тоже через 2 часа не чего не вижу. Удачи вам и удовлетворения от вашего хобби.
-
vasu_nomad
- Прорезались зубы
- Сообщения: 209
- Зарегистрирован: Пн ноя 05, 2018 11:54:20
- Откуда: Москва
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
[uquote="v.bay17",url="/forum/viewtopic.php?p=3983702#p3983702"]Уважаемые коллеги, я рад за вас, и это серьезно, без малейшей иронии. Вы не стоите на месте, развиваетесь, и я завидую всем вам. Я так уже не могу. У меня пол глаза осталось, утомляемость страшная. 2 часа в инете и все, а паяю, с такими бинокулярами, аж в 3 стекла и кучей часовых линз и тоже через 2 часа не чего не вижу. Удачи вам и удовлетворения от вашего хобби.[/uquote]
Вот Вот и я тоже очень рад! Только не пойму, а МУРЗИКИ где, или тут кто-то решил свои наработки прорекламировать? Вообще-то тема не про тестеры и частотомеры! Или уже затмение в умах из парламента опустилась до уровня радиоинженеров?
Вот Вот и я тоже очень рад! Только не пойму, а МУРЗИКИ где, или тут кто-то решил свои наработки прорекламировать? Вообще-то тема не про тестеры и частотомеры! Или уже затмение в умах из парламента опустилась до уровня радиоинженеров?
-
man_200
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Вс янв 20, 2013 12:45:25
- Откуда: Астана, Казахстан
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
До ума радиоинженера это парламентариям подняться надо, а опуститься до уровня народных заседателей много ума не нужно, судя по результатам их законотворчества
-
vasu_nomad
- Прорезались зубы
- Сообщения: 209
- Зарегистрирован: Пн ноя 05, 2018 11:54:20
- Откуда: Москва
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
[uquote="man_200",url="/forum/viewtopic.php?p=3983928#p3983928"]До ума радиоинженера это парламентариям подняться надо, а опуститься до уровня народных заседателей много ума не нужно, судя по результатам их законотворчества[/uquote]
Не могу не согласиться, похоже затмение всемирное, судя по всему что вокруг... Да не погаснет луч света "Мурзик" в этом темном царстве.
Не могу не согласиться, похоже затмение всемирное, судя по всему что вокруг... Да не погаснет луч света "Мурзик" в этом темном царстве.
-
linkov1959
- Держит паяльник хвостом
- Сообщения: 923
- Зарегистрирован: Пн сен 10, 2018 19:16:28
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
Вот процы GD32f303R дешевые.
https://aliexpress.ru/item/100000630682 ... 0117275504
https://aliexpress.ru/item/100000630682 ... 0117275504
- Tvics
- Нашел транзистор. Понюхал.
- Сообщения: 175
- Зарегистрирован: Вс май 20, 2018 03:47:25
- Откуда: Иркутская обл.
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
Да уж но как они будут работать вот в чем вопрос. Это не STM а GD, китайская подделка.
-
linkov1959
- Держит паяльник хвостом
- Сообщения: 923
- Зарегистрирован: Пн сен 10, 2018 19:16:28
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
Заказал парочку, посмотрим, как Китай догонит США и Тайвань по чипам через 5лет.
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
сказал "а" - должен сказать "б".
недавно опубликовал свои исходники с закольцованным dma, там оставался один косячок - на развертках 10,20,50 мс хаотично подергивалась правая сторона сетки на 1-2 пикселя вниз. по началу не знал как бороть, а учитывая что и сам сигнал если без синхронизации мечется по экрану - поэтому особо не раздражало. (причина - отказ в доступе на чтение во время записи от dma)
Но отрыл такую инструкцию " __DMB()", в отрисовке поставил перед чтением из буфера - все ОК, сетка стоит как вкопанная.
"...
n=(buffer[(PointSync-1)&Buffmask]/8-128); //
for (uint16_t j = 1; j < 319; j++) { // time
o=n;
__DMB();
n=((buffer[(j+PointSync)&Buffmask]>>3)-128);
..."
недавно опубликовал свои исходники с закольцованным dma, там оставался один косячок - на развертках 10,20,50 мс хаотично подергивалась правая сторона сетки на 1-2 пикселя вниз. по началу не знал как бороть, а учитывая что и сам сигнал если без синхронизации мечется по экрану - поэтому особо не раздражало. (причина - отказ в доступе на чтение во время записи от dma)
Но отрыл такую инструкцию " __DMB()", в отрисовке поставил перед чтением из буфера - все ОК, сетка стоит как вкопанная.
"...
n=(buffer[(PointSync-1)&Buffmask]/8-128); //
for (uint16_t j = 1; j < 319; j++) { // time
o=n;
__DMB();
n=((buffer[(j+PointSync)&Buffmask]>>3)-128);
..."
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
[uquote="Theodoro",url="/forum/viewtopic.php?p=3976469#p3976469"]Хотелось бы "довести до ума" балансировку Мурзика.
Подбором резисторов в обвязке ОУ и затем настройкой свожу линии нуля и развертки на пределе 0.5В/дел.
Но на пределах 1В/дел, 5В/дел/, 10В/дел линия развертки постепенно смещается вверх примерно на четверть клетки.[/uquote]
Тоже решил попробовать настроить.Крутил и с переду назад и с заду на перед.И отпаивл и припаивал, а линия
развертки гуляет как захочет.Совместишь с 0 внизу ,а когда начинаешь поднимать линию 0 ,то линия развертки
уходит с линии 0.
В результате взял переменник на 1,5K + последовательно 1К и поставил все это вместо R37.После этого, линию
развертки можно поставить в любое место экрана без всяких настроек 0.
Вообщем спасибо автору прошивки и Sailanser за разводку печатной платы.Получился неплохой осцлло-
графический пробник.Меандр 5 МГц видно без падения амплитуды.

Подбором резисторов в обвязке ОУ и затем настройкой свожу линии нуля и развертки на пределе 0.5В/дел.
Но на пределах 1В/дел, 5В/дел/, 10В/дел линия развертки постепенно смещается вверх примерно на четверть клетки.[/uquote]
Тоже решил попробовать настроить.Крутил и с переду назад и с заду на перед.И отпаивл и припаивал, а линия
развертки гуляет как захочет.Совместишь с 0 внизу ,а когда начинаешь поднимать линию 0 ,то линия развертки
уходит с линии 0.
В результате взял переменник на 1,5K + последовательно 1К и поставил все это вместо R37.После этого, линию
развертки можно поставить в любое место экрана без всяких настроек 0.
Вообщем спасибо автору прошивки и Sailanser за разводку печатной платы.Получился неплохой осцлло-
графический пробник.Меандр 5 МГц видно без падения амплитуды.
- 240265
- Электрический кот
- Сообщения: 1029
- Зарегистрирован: Сб мар 09, 2013 11:29:22
- Откуда: 40RUS, Жуков
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
zon63, Вы привели цитату. А дальше читали? Проблема была в ОУ и он ее решил. При указанных номиналах и сбалансированном ОУ все настраивается программно и уровень нуля не скачет.
IVL ex UA6PJ
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр
[uquote="240265",url="/forum/viewtopic.php?p=3988758#p3988758"]zon63, Вы привели цитату. А дальше читали? Проблема была в ОУ и он ее решил. При указанных номиналах и сбалансированном ОУ все настраивается программно и уровень нуля не скачет.[/uquote]
Он скачет даже при изменении времени развертки.О чем человек вас несколькими постами ниже
спрашивал.На что ответа он не получил.Я так же могу подтвердить что при изменении времени
развертки именно так и происходит.Похоже настроить нормально получилось только у вас.
Ну а если это удалось кому то еще, то я рад за них.
Я решил возникшую проблему железячным путем и неудобств по этому поводу не испытываю.
PS Просьба не обижаться, но сей опус, похоже не разгадал ни кто
Жмем [Freeze] & [Y+] . СОЕДИНЯЕМ ЩУП с ЗЕМЛЕЙ !!!
Опускаем луч на на 1/2 нижнего деления. ------------------ ЧЕМ?
Кнопками [Y+] и [Y-] добиваемся Umax = 0В.
Поднимаем луч до 1/2 верхнего деления. ------------------ ЧЕМ?
Кнопками [Band+] и [Band-] добиваемся Umax = 0В.
Проверяем Umax = 0В внизу, если нужно- повторить.
Выход - Жмем [Freeze] & [Y+] .
Он скачет даже при изменении времени развертки.О чем человек вас несколькими постами ниже
спрашивал.На что ответа он не получил.Я так же могу подтвердить что при изменении времени
развертки именно так и происходит.Похоже настроить нормально получилось только у вас.
Ну а если это удалось кому то еще, то я рад за них.
Я решил возникшую проблему железячным путем и неудобств по этому поводу не испытываю.
PS Просьба не обижаться, но сей опус, похоже не разгадал ни кто
Жмем [Freeze] & [Y+] . СОЕДИНЯЕМ ЩУП с ЗЕМЛЕЙ !!!
Опускаем луч на на 1/2 нижнего деления. ------------------ ЧЕМ?
Кнопками [Y+] и [Y-] добиваемся Umax = 0В.
Поднимаем луч до 1/2 верхнего деления. ------------------ ЧЕМ?
Кнопками [Band+] и [Band-] добиваемся Umax = 0В.
Проверяем Umax = 0В внизу, если нужно- повторить.
Выход - Жмем [Freeze] & [Y+] .