Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект

Кто любит RISC в жизни, заходим, не стесняемся.
v.bay17
Первый раз сказал Мяу!
Сообщения: 35
Зарегистрирован: Пн фев 08, 2021 22:17:16

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение v.bay17 »

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

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение linkov1959 »

v.bay17, транзистор-тестер называется. У меня такой.
Изображение
v.bay17
Первый раз сказал Мяу!
Сообщения: 35
Зарегистрирован: Пн фев 08, 2021 22:17:16

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение v.bay17 »

linkov1959. Классный Вы прибор сделали, от промышленного я бы не отличил. Наверное использовали последние версии. У меня все гораздо скромнее, и LCD монохром, двух строчечный, и прошло 3- 4 года. Я так понял и энкодер с кнопкой?. Вообщем молодец, достойный девайс получился. Поздравляю.
linkov1959
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение linkov1959 »

[uquote="v.bay17",url="/forum/viewtopic.php?p=3980153#p3980153"]Поздравляю.[/uquote]

Спасибо, но мне 9$ не жалко было.
https://aliexpress.ru/item/32815238753. ... 4695001575
v.bay17
Первый раз сказал Мяу!
Сообщения: 35
Зарегистрирован: Пн фев 08, 2021 22:17:16

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение v.bay17 »

Ну и шуточки к Вас, linkov1959, а я слюну никак проглотить не могу. Любуюсь до сих пор.
linkov1959
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение linkov1959 »

v.bay17, Там хороший частотомер и я добавил рядом с входом клемму 5в для активного съемного ВЧ 50Мгц щупа от 5мВ с делителем частоты 1:10 и 1:1.
Novice user
Мудрый кот
Сообщения: 1704
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение Novice user »

linkov1959, а вы это к чему?

Добавлено after 16 minutes 2 seconds:
Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - проект
Я лично собрал сей замечатальный прибор "Мурзик"
Огромное спасибо создателям сего проекта!!!
a797945
Мучитель микросхем
Сообщения: 446
Зарегистрирован: Вс ноя 01, 2015 09:15:16
Откуда: 69.Ржев

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение a797945 »

случилось на днях поиграться с МК - доделал себе медленные развертки.
к тому, что придумывал еще в октябре домутил:
уровень синхронизации,
очистку буфера после Стоп, перед Старт,
стоп/пуск ДМА,
задержку остановки ДМА примерно на 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 на меня не обидеться, идею и механизм слайдера я подсмотрел еще в те времена, когда автор свои труды выкладывал в доступ.
Огромное Спасибо!
такие вещи помогают делать первые шаги в неведомом.
Вложения
50.JPG
(171.43 КБ) 527 скачиваний
10.JPG
(120.68 КБ) 488 скачиваний
a797945
Мучитель микросхем
Сообщения: 446
Зарегистрирован: Вс ноя 01, 2015 09:15:16
Откуда: 69.Ржев

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение a797945 »

на снимках разводы
а в живую симпатично, приспособил стекло от нокии - контрастность выше, цвет насыщеннее и "теплее",
вообщем приятней глазу.
v.bay17
Первый раз сказал Мяу!
Сообщения: 35
Зарегистрирован: Пн фев 08, 2021 22:17:16

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение v.bay17 »

Уважаемые коллеги, я рад за вас, и это серьезно, без малейшей иронии. Вы не стоите на месте, развиваетесь, и я завидую всем вам. Я так уже не могу. У меня пол глаза осталось, утомляемость страшная. 2 часа в инете и все, а паяю, с такими бинокулярами, аж в 3 стекла и кучей часовых линз и тоже через 2 часа не чего не вижу. Удачи вам и удовлетворения от вашего хобби.
vasu_nomad
Прорезались зубы
Сообщения: 209
Зарегистрирован: Пн ноя 05, 2018 11:54:20
Откуда: Москва

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение vasu_nomad »

[uquote="v.bay17",url="/forum/viewtopic.php?p=3983702#p3983702"]Уважаемые коллеги, я рад за вас, и это серьезно, без малейшей иронии. Вы не стоите на месте, развиваетесь, и я завидую всем вам. Я так уже не могу. У меня пол глаза осталось, утомляемость страшная. 2 часа в инете и все, а паяю, с такими бинокулярами, аж в 3 стекла и кучей часовых линз и тоже через 2 часа не чего не вижу. Удачи вам и удовлетворения от вашего хобби.[/uquote]

Вот Вот и я тоже очень рад! Только не пойму, а МУРЗИКИ где, или тут кто-то решил свои наработки прорекламировать? Вообще-то тема не про тестеры и частотомеры! Или уже затмение в умах из парламента опустилась до уровня радиоинженеров?
man_200
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Вс янв 20, 2013 12:45:25
Откуда: Астана, Казахстан

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение man_200 »

До ума радиоинженера это парламентариям подняться надо, а опуститься до уровня народных заседателей много ума не нужно, судя по результатам их законотворчества
vasu_nomad
Прорезались зубы
Сообщения: 209
Зарегистрирован: Пн ноя 05, 2018 11:54:20
Откуда: Москва

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение vasu_nomad »

[uquote="man_200",url="/forum/viewtopic.php?p=3983928#p3983928"]До ума радиоинженера это парламентариям подняться надо, а опуститься до уровня народных заседателей много ума не нужно, судя по результатам их законотворчества[/uquote]
Не могу не согласиться, похоже затмение всемирное, судя по всему что вокруг... Да не погаснет луч света "Мурзик" в этом темном царстве.
linkov1959
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение linkov1959 »

Вот процы GD32f303R дешевые.
https://aliexpress.ru/item/100000630682 ... 0117275504
Аватара пользователя
Tvics
Нашел транзистор. Понюхал.
Сообщения: 175
Зарегистрирован: Вс май 20, 2018 03:47:25
Откуда: Иркутская обл.

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение Tvics »

Да уж но как они будут работать вот в чем вопрос. Это не STM а GD, китайская подделка.
linkov1959
Держит паяльник хвостом
Сообщения: 923
Зарегистрирован: Пн сен 10, 2018 19:16:28

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение linkov1959 »

Заказал парочку, посмотрим, как Китай догонит США и Тайвань по чипам через 5лет.
a797945
Мучитель микросхем
Сообщения: 446
Зарегистрирован: Вс ноя 01, 2015 09:15:16
Откуда: 69.Ржев

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение a797945 »

сказал "а" - должен сказать "б".
недавно опубликовал свои исходники с закольцованным 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);
..."
Аватара пользователя
zon63
Открыл глаза
Сообщения: 62
Зарегистрирован: Ср янв 06, 2010 19:11:29

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение zon63 »

[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 МГц видно без падения амплитуды.

Изображение Изображение
Аватара пользователя
240265
Электрический кот
Сообщения: 1029
Зарегистрирован: Сб мар 09, 2013 11:29:22
Откуда: 40RUS, Жуков

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение 240265 »

zon63, Вы привели цитату. А дальше читали? Проблема была в ОУ и он ее решил. При указанных номиналах и сбалансированном ОУ все настраивается программно и уровень нуля не скачет.
IVL ex UA6PJ
Аватара пользователя
zon63
Открыл глаза
Сообщения: 62
Зарегистрирован: Ср янв 06, 2010 19:11:29

Re: Народный осциллограф "Мурзик" на базе STM32F303VCT6 - пр

Сообщение zon63 »

[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+] .
Ответить

Вернуться в «ARM»