Пультоскоп на Arduino 27МГц!!!

bulat943
Offline
Зарегистрирован: 19.09.2016

Заинтересовал вариант с анализатором,скетч здесь http://arduino.ru/forum/proekty/pultoskop-na-arduino-27mgts?page=78#comment-407873

Буду собирать,там написано "входы A1, A2, A3, A4, A5",с другой стооны в скетче "#define VBAT   A5 // любой свободный аналоговый пин для измерения напряжения АКБ",так как подключить А5?

seri0shka
seri0shka аватар
Offline
Зарегистрирован: 19.11.2018

#define VBAT A5 // любой свободный аналоговый пин для измерения напряжения АКБ 

Поменяйте на

 #define VBAT A6 //

Туда и подключайте. Вроде Electronik83 сделал замер напряжения собственного питания самой ардуиной, но я в скетче не вижу, как это работает.

 

bulat943
Offline
Зарегистрирован: 19.09.2016

ага вижу-ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);

спасбо!

Залил прошивку-ляпота!браво!буду ковыряться

Electronik83
Offline
Зарегистрирован: 06.12.2015

Я тут сегодня лопатил сидел осцц. Если сетка пунктирная не несет никакой абсалютно смысловой нарузки, так же как черточки слева - может они и не нужны??? Без них сигнал лучше видно:) Как думаете?

seri0shka
seri0shka аватар
Offline
Зарегистрирован: 19.11.2018

Я для себя оставил горизонтальный пунктир посредине, а также черточки делят экран пополам и еще раз пополам (то есть на одну меньше). Вертикальные пунктиры оставил. Визуально так нравится больше. По моим вопросам за последние дни что ответите?

  // == Отрисовка сетки == //
  for (byte i = 47; i > 9; i = i - 9) {
    display.drawLine( 0, i, 2, i, BLACK);  // черточки слева
  }
  for (byte i = 47; i > 9; i = i - 3) {
    display.drawPixel(21, i, BLACK);
    display.drawPixel(42, i, BLACK);
    display.drawPixel(63, i, BLACK);
  }
  for (byte i = 3; i < 84; i = i + 3) {
    display.drawPixel(i, 29, BLACK);

 

bulat943
Offline
Зарегистрирован: 19.09.2016

Что то я пропустил в теме (давно не заходид ),а как пользоваться ачх ?

condensator80
Offline
Зарегистрирован: 24.02.2018

измеритель ачх мне был нужен, там подключается пиковый детектор и(при необходимости ОУ) - при помощи внешнего ГКЧ можно смотреть характеристики фильтров, усилителей. До ума так пока и не довёл - в приоритете был другой проект. А мне очень сильно понравился пультоскоп на OLED

Electronik83
Offline
Зарегистрирован: 06.12.2015

С внешнего генератора подаешь сигнал и меряешь этим медленным осциллом (снятие ачх). Вещь вышла не серъезная. Можно добавить еще вывод частоты на ножку ардуины чтобы пользоваться полноценно, но такой просьбы не было)))

condensator80
Offline
Зарегистрирован: 24.02.2018

только как в него запихать все нужные функции(осцил, ачх и ТТ), способ рисования то иной?

кстати, а если сетку не на дисплее рисовать, а в виде пленки (как на осцилах с ЭЛТ)

bulat943
Offline
Зарегистрирован: 19.09.2016

Понятно,спасибо,вот если б он выдавал в UART значение частоты,на другом конце http://arduino.ru/forum/proekty/generator-s-reguliruemoei-chastotoi-na-arduino#comment-199779 ,а потом измерение значения...попробую сам

Electronik83
Offline
Зарегистрирован: 06.12.2015

condensator80 пишет:

только как в него запихать все нужные функции(осцил, ачх и ТТ), способ рисования то иной?

С сеткой на пленке - по мне дак идея бредовая...

Если речь идет о транзистор-тестере - то в планах его не буду делать (есть отдельная коробка с китая - очень выручает при ремонта аппаратуры).

В планах доделать анализатор, по рекомендациям seri0shka.

Vovchik
Offline
Зарегистрирован: 08.08.2017

Булат 943,а вас какой диапазон частот интересует?Тоже вот давно задумался ,этот пультоскоп + ad8307 .А есть еще отдельно  pawermetr 8307+ардуино только экран большой а хотелось-oled1306 и нет графики,Tom Hall.И кого то просить писать скетч...

bulat943
Offline
Зарегистрирован: 19.09.2016

Вовчик,мне интересен вариант именно анализатора,который начали внедрять

Vovchik
Offline
Зарегистрирован: 08.08.2017

О,красиво смотрица.Так частота-то какая?Не ответили,гкч  и анализатор ачх,ксв до 60 мгц схем в сети много,ad9850/51.Ссылка что вы дали-si5351 там прямоуг.сиг. .

condensator80
Offline
Зарегистрирован: 24.02.2018

я планирую использовать ГКЧ на AD9850, до 40 МГЦ синус

bulat943
Offline
Зарегистрирован: 19.09.2016

чет я ступил,не так понял вопрос из поста 3962...

частота...сам пока не знаю!

Vovchik
Offline
Зарегистрирован: 08.08.2017

Ну хочется подешевле.У нас в маг. плата на ad9850-1200руб.На али-600,800.На si5351-в 4 раза дешевле.Извиняюсь-не в тему.

seri0shka
seri0shka аватар
Offline
Зарегистрирован: 19.11.2018

 

Всё-таки концепция проекта- максимум возможностей при минимуме цены и максимальной простоте реализации. Прибор не обязан быть измерительным, а просто пробником на все случаи жизни. Так как случаи у каждого свои, то желательна возможность применять только те функции, которые нужны конкретному пользователю. Страниц 25 назад предлагали сделать "конструктор" прошивки, то есть чтоб пользователь мог собрать нужные ему блоки в скетч. Тогда идея не прошла из-за большого количества рассматриваемых дисплеев. Сейчас вроде рассматриваем 5110, как для пробника- вполне. Кстати, для дисплея 5110 достаточно 3 пинов контроллера, да и пин 5 можно уже освободить, так что добавляются свободные ноги на случай чьей-то гениальной идеи.
Последние варианты прошивок используют под 100% оперативки, и около 70% флеш-памяти. Есть у кого мысль, как толково использовать оставшиеся 30% флеша? Если я правильно понимаю, то оперативки желательно оставлять запас для устойчивой работы, а вот флеш-память можно забивать до последнего байта без какого-либо ущерба. Есть идейка, что можно сделать с минимумом переменных, пока попробую сам реализовать.
И ещё о переменных. Если пользоваться кнопкой сброса для смены режимов (как в базовой и в последних прошивках), то переменные в разных режимах можно использовать одни и те же. За счёт этого оптимизировать скетч. Об этом тоже говорили уже на форуме раньше, напоминаю. Ещё вопрос к знатокам: в EEPROM ничего нельзя выпихнуть? Возможно ли залить данные в EEPROM первым временным скетчем, а считывать вторым, с прошивкой Пультоскопа? Не знаю всех тонкостей, пока EEPROM пользоваться не умею. Возможно просто нет резона.
И я рад, что форум наконец оживился, что тема не только мне интересна. Отдельное спасибо для Electronik83 и bodriy2014. Давно автор темы объявлялся? На форуме ни лички, ни активность посмотреть, ни хоть откуда пользователь не увидеть...

Electronik83
Offline
Зарегистрирован: 06.12.2015

Про концепцию проэкта ни раз уже тут писали - что никаких доп обвесов делать не надо, да и для каждого случай частный. 

Про еепром - это просто некий объем энергонезависимой памяти. Можно одним скетчем его записать, а другим прочитать. Только надо выяснить сначала, не стирается ли он при прошивки нового скетча (там есть галка такая во фьюзах атмеги).

Про bodriy2014 - я где то слышал инфу, что ему проэкт пультоскопа более не интересен и он больше им не будет хоть как то заниматься. Возникла у человека идейка супер, но я когда заимел stm32, то первым делом начал писать что то нечто похожее, но потом погуглив наткнулся на этот пультоскоп.

Проэкт имеено мне интересен тем, что я убиваю двух зайцев - мозги разминаю и одновременно помогаю людям:)

Правда иногда я тоже ничего не делаю по поводу пультоскопа...

condensator80
Offline
Зарегистрирован: 24.02.2018

шикарный вариант получился бы, с конструктором прошивок, дисплеи попадались в теме не только 5110, но и OLED 128x64 I2C и Siemens`овские 

Electronik83
Offline
Зарегистрирован: 06.12.2015

С сименсом у меня был опыт - не понравились мне они и с PIC`ом возился с ними... Порт на OLED SSD будет..

Вот сижу меню анал(изатора)а накидал - всё блин долго как то... 

Andry Smart
Offline
Зарегистрирован: 06.09.2016

я все пытаюсь скрестить пультоскоп и пробник http://arduino.ru/forum/proekty/universalnyi-arduino-probnik

с OLED дисплеем и измененными пределами измерения.

делаю автопробник с функцией пультоскопа.

катастрофически не хватает времени.

diksen
Offline
Зарегистрирован: 11.10.2013

seri0shka пишет:

 

...
И ещё о переменных. Если пользоваться кнопкой сброса для смены режимов (как в базовой и в последних прошивках), то переменные в разных режимах можно использовать одни и те же. За счёт этого оптимизировать скетч. Об этом тоже говорили уже на форуме раньше, напоминаю. Ещё вопрос к знатокам: в EEPROM ничего нельзя выпихнуть? Возможно ли залить данные в EEPROM первым временным скетчем, а считывать вторым, с прошивкой Пультоскопа? Не знаю всех тонкостей, пока EEPROM пользоваться не умею. Возможно просто нет резона.
И я рад, что форум наконец оживился, что тема не только мне интересна. Отдельное спасибо для Electronik83 и bodriy2014. Давно автор темы объявлялся? На форуме ни лички, ни активность посмотреть, ни хоть откуда пользователь не увидеть...

Глобальными переменными просто не надо пользоваться. :) Любая функция может как принимать значения, так и возвращать, а еще указатели... А то посмотриш код а там void да void и всё через глобалки.
Что касается еепром так тотже транзистор тестер его использует для хранения текстовых строк. Можно графику главного меню туда запихнуть к примеру.
- 504 байта для графики дисплея.это единственная необходимая глобалка в оперативке для графического режима нокии 5110 + По мелочам, теже стандартные ардуиновские либы потроху гадят.
В любом случае 1к локально для буфера осцила или анализатора можно спокойно вытянуть. +300 байт на прочие локальные и про стэк и кучу надо не забывать. Главное следить чтоб не было много вложенных вызовов функций с большим количеством локальных переменных.
Можно код причесывать, переписывать библиотеки, все на си без wiringa. Следить за использованием чисел с плавающей точкой...
Только кто этим будет заниматься???
Все кто этим занимаются делают это исключительно ради самообразования, в свободное время. Ибо если посчитать это время и потратить его на "подработки" то можно купить целую домашнюю лабораторию. Проект был задуман самоучкой и переписывается такими же самоучками, каждый под себя со всеми вытекающими.

Electronik83
Offline
Зарегистрирован: 06.12.2015

diksen пишет:
Глобальными переменными просто не надо пользоваться. :)

Не соглашусь. И тогда там этот стек или куча будут переполняться - по мне дак глобально выделил одну переменную и юзай её где хочешь. Это гараздо лучше, чем на каждом углу объявлять новую.

diksen пишет:
Что касается еепром так тотже транзистор тестер его использует для хранения текстовых строк. Можно графику главного меню туда запихнуть к примеру.

Спасибо - дельный совет, приму к сведенью...

diksen пишет:
По мелочам, теже стандартные ардуиновские либы потроху гадят.

Именно поэтому в моем варианте под SSD1306 я юзаю свой код для общения с дисплеем. И хочу версию на 5110 тоже переделать, уж больно много ресов арду`либы отнимают... Но потом полезли, правда, всякие неконтроллируемые баги/глюки, народ еще еще на форуме принял в штыки почему то вариант мой с лупой и всякими фишками и я решил временно не принимать участия в этом пультоскопе. Теперь смотрю - код мой просто рвут)))
diksen пишет:
В любом случае 1к локально для буфера осцила или анализатора можно спокойно вытянуть.
Согласен!
diksen
Offline
Зарегистрирован: 11.10.2013

Вот ещё в инете нашел:
Не позже чем через 30 мс после подачи питания, необходимо подать отрицательный импульс на RESET длиной 100 нс, иначе можно испортить дисплей ! Таким образом происходит начальная инициализация дисплея
В разных источниках - немного разные временные интервалы.

А у нас Ардуина. А у нас бутлоадер. Подаем питание, а там бутлоадер с задержкой в пару сек - ждет новую прошивку. Только потом передает управление нашей программе. Котороя передернет пин ресет в методе дисплей.begin. И все. Мало того что во временные интервалы не влаживаемся так еще и пин зря пропадает.

Electronik83
Offline
Зарегистрирован: 06.12.2015

diksen пишет:
Вот ещё в инете нашел: Не позже чем через 30 мс после подачи питания, необходимо подать отрицательный импульс на RESET длиной 100 нс, иначе можно испортить дисплей ! Таким образом происходит начальная инициализация дисплея В разных источниках - немного разные временные интервалы. А у нас Ардуина. А у нас бутлоадер. Подаем питание, а там бутлоадер с задержкой в пару сек - ждет новую прошивку. Только потом передает управление нашей программе. Котороя передернет пин ресет в методе дисплей.begin. И все. Мало того что во временные интервалы не влаживаемся так еще и пин зря пропадает.

Я как то сделал порт с 5510 на SSD1306 - увидел на экране кракозябру (причем с нереально светлыми пикселями) и дисплейчик потух навечено, даже по шине I2C перестал пинговаться.....

Electronik83
Offline
Зарегистрирован: 06.12.2015
Not enough memory; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing your footprint.
 
Походу дописался...........
В общем - анализатор сигналов не влазит уже......
Может от графики в главном меню отказаться? Она дохера весит...
 
И вот строчка menu++; if (menu==5) menu=0;
Занимает больше, чем menu++; menu%=5;
???
 
Блин - я в расстройстве че та после такой надписи компилятора.... пойду ка......
tig-rrr
Offline
Зарегистрирован: 26.08.2018

Electronik83 пишет:

Может от графики в главном меню отказаться? Она дохера весит...

Electronik83, а если картинуи еще уменьшить по размеру или "рисовать" при помощи библиотеки их (уйдет больше памяти или нет?) 
 
bulat943
Offline
Зарегистрирован: 19.09.2016

Или графику сунуть в еепром )))

seri0shka
seri0shka аватар
Offline
Зарегистрирован: 19.11.2018

Electronik83, для триггеров выбор канала не нужен. Проще провода поменять местами при измерениях. Без выбора канала кода намного меньше.

Xumuk
Xumuk аватар
Offline
Зарегистрирован: 03.03.2016

Andry Smart пишет:

я все пытаюсь скрестить пультоскоп и пробник http://arduino.ru/forum/proekty/universalnyi-arduino-probnik

с OLED дисплеем и измененными пределами измерения.

делаю автопробник с функцией пультоскопа.

катастрофически не хватает времени.

давно ищу нечто подобное=))) попробую повторить ваш вариант=)))

diksen
Offline
Зарегистрирован: 11.10.2013

Смотрю я на всё это безобразие и думаю: всё . Хана ардуино. Большая часть кода уже на голом си. Гудбай вайринг. Загрузчик этот бесполезный 2к на нано жрёт. Да удобно, но всёже пора. Как минимум оптибут +1.5к флеша. Отказаться от "картинок", строки в еепром. И глядишь- реально универсальный приборчик для начинающего электронщика из говна и палок за $4.

seri0shka
seri0shka аватар
Offline
Зарегистрирован: 19.11.2018

diksen пишет:
приборчик для начинающего электронщика из говна и палок

Вот именно поэтому нужно оставлять загрузку с помощью классического загрузчика. Для более продвинутых можно делать "мастер-версию" под заливку с оптибутом или вовсе без загрузчика. Но сначала человек, впервые зашедший на сайт, должен иметь возможность попробовать простую версию на голой Ардуине и не разочароваться, а там уже развивайся или пользуйся упрощённым вариантом.

AS31979
Offline
Зарегистрирован: 22.12.2015

Частично с информацией и за советами.

1. При попытке собрать на соплях Пультоскоп померла Nano, схемму и скетч брал с страницы автора http://srukami.inf.ua/pultoscop_v25110.html. Следующая тоже не пошла - не работала кнопка на D13(благодаря доработке не сгорела).

С програмированием у меня только азы, а с электроникой лучше - получается что по умолчанию в тех Nano что у меня D13 если её принудительно не инициировать по умолчанию жестко включенна на ноль!!! А тут с кнопки приходит VCC....

Доработка - между VCC и кнопками поставить резисто 1кОм, работе не мешает, но микроконтролер уже не сжечь.

2. Все искуственные нулевые точки из конденсаторов и резисторов фигня - хватит только посмотреть треугольник/синусоиду, про измерение речь даже не идет.

Теперь нужны советы:

1. Как перевести управление на один пин - где то видел использование для этого аналоговый, но как на зло не могу найти!

2. Прекроил выводы - сейчас порт D полностью свободен, хочу посадить туда внешний АЦП, может кто посоветовать замену этого куска кода?

 for(int i=0;i<700;i++){ 
          while ((ADCSRA & 0x10)==0);
          ADCSRA|=0x10;
          delayMicroseconds(500);
          mass[i]=ADCH;
      }
  }
  if (razv>0){
      for(int i=0;i<700;i++){ 
          while ((ADCSRA & 0x10)==0);
          ADCSRA|=0x10;
          mass[i]=ADCH;

Я так понимаю здесь читается АЦП микроконтролера, а мне нужно читать порт

seri0shka
seri0shka аватар
Offline
Зарегистрирован: 19.11.2018

AS31979 пишет:

 D13 если её принудительно не инициировать по умолчанию жестко включенна на ноль!!! 

Если её принудительно не инициировать, по умолчанию работает входом. Ноль от того, что к нему подключен светик с резистором. За 4000 постов никто не писал такого, вы первый, кто в электронике разбирается )

По поводу внешнего АЦП- ищите с 30 по 50 страницы форума. Управление на один пин - тоже там где-то.

diksen
Offline
Зарегистрирован: 11.10.2013

Кстати по поводу сетки осцила. Я статическую убрал - сделал динамическую. Одна горизонтальная линия посередине графика и вертикальные отделяют импульсы - вобщем на пересечении горизонтальной и графика. Может кому то такой подход понравится. Жаль с планшета фотки не постятся.

diksen
Offline
Зарегистрирован: 11.10.2013

seri0shka
seri0shka аватар
Offline
Зарегистрирован: 19.11.2018

Всё-таки мне кажется, что горизонтальная линия должна быть не посредине сигнала, а посредине опорного (2,5 вольт или 0,55 вольт). Для переменного это вообще ноль получится.

Понравились символы "гц" и "мс". И стрелочка интересная. Что обозначают стрелки верхняя и нижняя?

diksen
Offline
Зарегистрирован: 11.10.2013

нижняя плэй |> меняется на паузе ||

верхняя просто 7 развертка(автоматическая - взависимости от частоты с 5 пина подбирается развертка от 0 до 6)

smokok
smokok аватар
Offline
Зарегистрирован: 08.06.2018

diksen пишет:
Кстати по поводу сетки осцила. Я статическую убрал - сделал динамическую. Одна горизонтальная линия посередине графика и вертикальные отделяют импульсы - вобщем на пересечении горизонтальной и графика. Может кому то такой подход понравится. Жаль с планшета фотки не постятся.
Интересная идея, можно код чтобы попробовать динамическую.

diksen
Offline
Зарегистрирован: 11.10.2013

smokok пишет:

...можно код чтобы попробовать динамическую.

https://cloud.mail.ru/public/9hw5/TeXZLwoSw

drauger
Offline
Зарегистрирован: 20.02.2018

Ну все, сбылась мечта идиота. Осциллоскоп, тестер радиодеталей, генератор, звуковой пробник и терминал последовательного порта в корпусе Nokia 3330. Осталось только придумать, как разъем приклеить - термоклей не держит.

 

seri0shka
seri0shka аватар
Offline
Зарегистрирован: 19.11.2018

Мне бы жалко было целый живой раритетный телефон под это дело, тем более это одна из самых легендарных моделей. Но ведь в своё время китайские корпуса под них продавались в каждом киоске. Вот бы раздобыть!

drauger
Offline
Зарегистрирован: 20.02.2018

Ну, теперь этот раритетный телефон будет снова мне полезен. Чего ему пылиться в дальнем углу тумбочки?

AS31979
Offline
Зарегистрирован: 22.12.2015

По сгоревшей Nano, я когда собирал первую тоже подумал - все проверенно и перепроверенно, обвес по минимуму.

Когда сгорела первая  подумал - сам накосячил и не заметил, но от греха подальше собирая вторую между плюсом и кнопками поставил резистор 1 кОм. Собрал, не сгорела, но кнопка подключенная к 13 пину не работает....

В заголовке поменял 13 пин на другой - все заработало...

Может "повезло" с версиями ардуины, может компилятор заглючил, но факт сейчас издеваюсь над второй Nano, здыхать не желает.

Но это все фигня, вылезла проблемма с необходимостью в двухполярном питании - иначе из за особенностей недорогих операциоников низ и верх сигналов дико искажается и даже в этом случае только с опорным от внутренего ИОН.

Пробовал  схемму с конденсаторами от сюда http://kazus.ru/faq/3/44.html, с напряжением все ОК, а вот нагрузочной способностью все печально - не факт что даже на один LM358 хватит, а втом режиме где хватит пин перегружается.

Хоть и не люблю индуктивности, но пытался сварганить

Не пошла, да и стремно ее использовать - сам лоханешься или зависнет контролер когда единица на выходе и хана выходному транзистору, повезет если только ему.

Мможет кто посоветовать как с минимальным количеством деталей усилить эту схемму?

Сразу прошу подобные варинаты не предлагать https://ru.aliexpress.com/item/8W-2-5-15V-to-15V-Dual-Output-power-supply-DC-DC-Step-up-Converter-module/32789671683.html?spm=a2g0v.10010108.1000014.7.122d2f2e5NtKRA&pvid=67ba025d-0dd7-46ff-8ac6-ad4e23a51da0&gps-id=pcDetailBottomMoreOtherSeller&scm=1007.13338.120274.000000000000000&scm-url=1007.13338.120274.000000000000000&scm_id=1007.13338.120274.000000000000000

Если что то сложнее пары ходовых транзисторов то уже сам смысл теряется.

 

drauger
Offline
Зарегистрирован: 20.02.2018

LM358 слишком медленный даже для нашего пультоскопа.

Xumuk
Xumuk аватар
Offline
Зарегистрирован: 03.03.2016

drauger пишет:

Ну все, сбылась мечта идиота. Осциллоскоп, тестер радиодеталей, генератор, звуковой пробник и терминал последовательного порта в корпусе Nokia 3330. Осталось только придумать, как разъем приклеить - термоклей не держит.

 

ухххх.... класс =)))

volodya198024
Offline
Зарегистрирован: 26.12.2016

Собшение 3885 посмотрите. Я так опирационник подключил. Работает замечательно и не нужно 2х полярное питание.

Joiner
Offline
Зарегистрирован: 04.09.2014

drauger пишет:

............Осциллоскоп, тестер радиодеталей, генератор, звуковой пробник и терминал последовательного порта в корпусе Nokia 3330. ....................

Плюсанул! Классно!

seri0shka
seri0shka аватар
Offline
Зарегистрирован: 19.11.2018

AS31979 пишет:

Может кто посоветовать как с минимальным количеством деталей усилить эту схему?

А зачем её усиливать? Какой предположительный ток нагрузки? Операционник мало берёт.

4000 постов! 80 страниц форума! Эх, видел бы bodriy2014! Кто-нибудь знает о его судьбе? Подозреваю, что он не просто так исчез с форума на самом интересном месте. Если жив, отзовись. Вопросов по проекту обещаю не задавать )