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

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Jtest пишет:

bodriy2014, отлично! Спасибо! Теперь точно финальная версия!))

Я думаю у каждого своя)))

Вы же знаете как оно бывает, делаешь что-то от души-то одно прикрутил то еще что-то добавил!))

Но главное ВСЕ ДЕЛИМСЯ ФОТКАМИ ПРИБОРОВ!!!!

Jtest
Offline
Зарегистрирован: 02.06.2015

У меня завал с работой, так что, думаю, только к выходным все успею развести, спаять, привести в надлежащий вид. Тогда фото и своего монстра сделаю)

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Jtest пишет:

У меня завал с работой, так что, думаю, только к выходным все успею развести, спаять, привести в надлежащий вид. Тогда фото и своего монстра сделаю)


Аналогично, сам жене пообещал на этой неделе ложиться раньше 00ч))

Jtest
Offline
Зарегистрирован: 02.06.2015

Знакомая ситуация. Залили обновление. Частоту на небольшом вольтаже также показыват 0.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Jtest пишет:

Знакомая ситуация. Залили обновление. Частоту на небольшом вольтаже также показыват 0.


небольшом это каком? вчера проверял 1.1В.
чтоб счатало нужно чтоб значения пересекали линию синхронизации.
Попробуйте подвигать ее.
и в буфер влезла хоть одна волна сигнала целиком, например если 50Гц смотреть на 6-шаге развертки покажет 0Гц, а на нулевом посчитает.

Jtest
Offline
Зарегистрирован: 02.06.2015

bodriy2014, при опорном 1.1 видно, а при 5 - нет.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Jtest пишет:

bodriy2014, при опорном 1.1 видно, а при 5 - нет.


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

Jtest
Offline
Зарегистрирован: 02.06.2015

Частота 2000-3000, напряжение 0.5-1v. Это то что я сейчас проверял. Может диапазон шире. Возможно, это дают о себе знать мои монипуляции с масштабированием. Я сам еще попроверяю.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Jtest пишет:

Частота 2000-3000, напряжение 0.5-1v. Это то что я сейчас проверял. Может диапазон шире. Возможно, это дают о себе знать мои монипуляции с масштабированием. Я сам еще попроверяю.


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

Bkmz62
Offline
Зарегистрирован: 19.02.2016

Здравствуйте! Под LCD 1202 никто не делал? Я начинающий,только начал знакомство с avr. Пытаюсь разобраться и подправить код под этот дисплелейчик ,ничего не выходит. Направьте пожалуста в нужное русло. 

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Bkmz62 пишет:

Здравствуйте! Под LCD 1202 никто не делал? Я начинающий,только начал знакомство с avr. Пытаюсь разобраться и подправить код под этот дисплелейчик ,ничего не выходит. Направьте пожалуста в нужное русло. 

Если есть библиотека под ардуино, то не сложно.

Открываете пример из библиотеки для вашего экрана и смотрите как выводятся текст и переменные(какими командами), и в моем коде меняете на свои.

После делаете так же с линиями.

После каждого изменения перезаливаете и проверяете, корректируете расположение на экране.

Bkmz62
Offline
Зарегистрирован: 19.02.2016

Спасибо большое за подсказку!

Jtest
Offline
Зарегистрирован: 02.06.2015

bodriy2014, разобрался. Минимальный SinU (20) слишком большой для опорного 5v. Так как там maxV на таком напряжении не доходит до 10-15. Сделал SinU минимум 5 и все заработало. Также чуть оптимизировал смену вывода часты:

countX=count*(overclock/16.0);
if(countX==0) countX=Frec*(overclock/16.0);

Теперь как только появляется аппаратный подсчет, он сразу выводится. Так более точно получится переход.

Bkmz62, если говорить о разрешении дислпея, то Вам скорее всего подойдет моя версия от 3410. Но она будет готова "окончательно" ближе к выходным. Но ее все же нужно будет адаптировать под библиотеку.  Пока поэксперементируйте с версией от 3310, попробуйте подключить библиотеку Вашего дисплея, научитесь корректировать вывод.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Jtest пишет:

bodriy2014, разобрался. Минимальный SinU (20) слишком большой для опорного 5v. Так как там maxV на таком напряжении не доходит до 10-15. Сделал SinU минимум 5 и все заработало. Также чуть оптимизировал смену вывода часты:

countX=count*(overclock/16.0);
if(countX==0) countX=Frec*(overclock/16.0);

Теперь как только появляется аппаратный подсчет, он сразу выводится. Так более точно получится переход.

....

Проверил у себя при 0,7В меньше просто на экране не видно при опорном 5В, все работает.

В чем и прелесть открытого кода, можно под себя подстроить.

Я все что ниже вольта смотрю на опорном 1.1В.

 

Jtest
Offline
Зарегистрирован: 02.06.2015

bodriy2014 пишет:

Я все что ниже вольта смотрю на опорном 1.1В.

У меня же стационарный делитель 1:3, и на опорном 1.1 я просматриваю 3.3v. А при опорном 5 у меня есть авто масштаб на 1v. )) Все запутанно для кого-то, но мне так удобно и ясно. Когда будет все готово, постараюсь все растолковать для остальных.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

вы мелкий сигнал маштабируете меняя значение У-интересный прием, пинов свободных много можно разных переключателей навыводить.
Сам себе хочу так сделать, но пока нет классных переключателей китайские движки не хочу, хочется как в советской технике щелчковые крутилки.

Jtest
Offline
Зарегистрирован: 02.06.2015

bodriy2014 пишет:
хочется как в советской технике щелчковые крутилки.

Они же габаритные! Мы осциллографические "спичечные коробки" собираем, куда такие крутилки еще!))  Конечно, можно вместо них приспособить SMD/DIP переключалки такого плана, но стоит того?

У меня програмный масштаб. Думаю, больше ничего прикручивать не буду, и так навесили на него все, что только можно!) Глабально можно было бы еще эксперементировать, если бы он с мегагерцами работал, а так - выше головы.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Jtest пишет:

bodriy2014 пишет:
хочется как в советской технике щелчковые крутилки.

Они же габаритные! Мы осциллографические "спичечные коробки" собираем, куда такие крутилки еще!))  Конечно, можно вместо них приспособить SMD/DIP переключалки такого плана, но стоит того?

У меня програмный масштаб. Думаю, больше ничего прикручивать не буду, и так навесили на него все, что только можно!) Глабально можно было бы еще эксперементировать, если бы он с мегагерцами работал, а так - выше головы.


Мелкие не вариант, отверточкой в них тыкать(((.Будем автомаштабировать.
нужно себе добавить увеличение по У в cлучае если сигнал ниже середины шкалы.
Хотя можно и кнопки вверх и низ добавить, будет как джойстик.

Jtest
Offline
Зарегистрирован: 02.06.2015

bodriy2014 пишет:
Хотя можно и кнопки вверх и низ добавить, будет как джойстик.

Я себе сделал отдельный пункт меню "позиционирование". Плюсом, минусом опускаю или поднимаю график.

Jtest
Offline
Зарегистрирован: 02.06.2015

Не обязательно отверточкой. Есть разные. Только смысла в этом проекте их применять не вижу.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Jtest пишет:

Не обязательно отверточкой. Есть разные. Только смысла в этом проекте их применять не вижу.


ну это сейчас работаем на 600Ксемплов в секунду и то в разогнанном состоянии.
но прикручу внешнее АЦП будет 2÷5Гсемплов в секунду будет веселее))
А щелчковые крутилки просто нравятся!)

Jtest
Offline
Зарегистрирован: 02.06.2015

bodriy2014 пишет:
внешнее АЦП будет 2÷5Гсемплов в секунду будет веселее))

Когда это будет, это уже другой разговор)) Так что, не собирать в корпус пока?)) Или это не в ближайшее будущее?

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Jtest пишет:

bodriy2014 пишет:
внешнее АЦП будет 2÷5Гсемплов в секунду будет веселее))

Когда это будет, это уже другой разговор)) Так что, не собирать в корпус пока?)) Или это не в ближайшее будущее?


это будет не скоро, я соберу этот.
Мне генератор сейчас нужен даже больше осциллографа.

Jtest
Offline
Зарегистрирован: 02.06.2015

Понял. Это уже pultoskope v.3 будет))

karl2233
karl2233 аватар
Offline
Зарегистрирован: 05.07.2015

так чего мелочится? надо и в генератор добавить разные формы сигнала =)

...а я рад что приборчик из полезного времяпровождения автора обрастает функционалом при явной простоте в сравнении с конкурентами.

Jtest
Offline
Зарегистрирован: 02.06.2015

karl2233 пишет:

так чего мелочится? надо и в генератор добавить разные формы сигнала =)

Согласен. Хотябы основные 4 (Sine, Square, Sawtooth, Triangle).

karl2233
karl2233 аватар
Offline
Зарегистрирован: 05.07.2015

вот мой, ещё на первой плате.

буду переносить всё на новую плату... или подождать? =)

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

karl2233 пишет:

вот мой, ещё на первой плате.

буду переносить всё на новую плату... или подождать? =)

А эта плата чем плоха?

я вообще противник лезть в мезанизм который работает!)

karl2233
karl2233 аватар
Offline
Зарегистрирован: 05.07.2015

эта плата без кнопки включения(стоит тумблер), и кнопки SMD, а переделал под угловые. ну и вместо двух разъёмов один.

перфекционизм есть жи =)

karl2233
karl2233 аватар
Offline
Зарегистрирован: 05.07.2015

дел. чёто задвоилось сообщение

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Jtest пишет:

Согласен. Хотябы основные 4 (Sine, Square, Sawtooth, Triangle).

Так как в Pro mini нет ЦАП а на Ардуино МЕГА делать не хочу,

то сигнал нужно будет делать програмно и по скорости он буден до 30кГц может и ниже.

Я с аналоговым сигналом не работаю, поэтому собираю прибор таким, а разнае формы сигнала попробую для тренировке на Atmega8 сделать если будет ок, перенести в ардуино мелочи.

Если не секрет что будете делать с этими формами?усилки проверять или есть другие нужды.?

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

karl2233 пишет:

эта плата без кнопки включения(стоит тумблер), и кнопки SMD, а переделал под угловые. ну и вместо двух разъёмов один.

перфекционизм есть жи =)

Жаль, тумблер классно смотрится!

Jtest
Offline
Зарегистрирован: 02.06.2015

bodriy2014 пишет:

Если не секрет что будете делать с этими формами?усилки проверять или есть другие нужды.?

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

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Jtest пишет:

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

Ясно. Спасибо.

Погуглил их оказывается много сделанно и есть на ардуино!

У меня изобрести велосипед не получится)))

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Заметил одну особенность, как только внесу в прошивку идею с форума и выкладываю, сразу появляется несколько постов с новыми идеями и задумками!

Процесс бесконечен!)))

Gres
Gres аватар
Offline
Зарегистрирован: 26.03.2013

bodriy2014 пишет:

Заметил одну особенность, как только внесу в прошивку идею с форума и выкладываю, сразу появляется несколько постов с новыми идеями и задумками!

Процесс бесконечен!)))


Видимо рано еще прощаться с проектом! :)

Jtest
Offline
Зарегистрирован: 02.06.2015

bodriy2014, )) Так и создаются версии 2.Х.Х

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Пробую прикрутить еще разные формы и все в корпус!

Jtest пишет:

bodriy2014, )) Так и создаются версии 2.Х.Х

Расскажи пож.  как смещаешь свои сигналы вверх, если можно простенькую схему.

С 5В мне понятно подаешь +2.5В, а с одним вольтом не понятно, и как вообще получаешь 1В?

Ничего что на ты?

 

Jtest
Offline
Зарегистрирован: 02.06.2015

bodriy2014, ничего.)

Долго буду объяснять и, возможно, запутаю. Кидаю куски кода, ты должен сразу понять. Если не поймешь, напиши, постараюсь разжевать.

if(opornoe==0) {
  koef=1;
} else {
    if(maxV>=85) koef=1; //15v
    else {
      if(maxV>=17) koef=3; //5v
      else koef=15; // 1v
    }            
 }
... 

      if(poz==9) newpoz=-14;    
      if(poz==8) newpoz=0;
      if(poz==7) newpoz=7;
      if(poz==6) newpoz=14;
      if(poz==5) newpoz=21;
      if(poz==4) newpoz=28;
      if(poz==3) newpoz=35;
      if(poz==2) newpoz=42;
      if(poz==1) newpoz=49; 
...

      for(int y=sinhMASS;y<sinhMASS+85;y++){
        if(razv<7){x++;}
        if(razv==7){x=x+2;}
        if(razv==8){x=x+3;}
        if(x<=95) {
            display.drawLine(x*zoom, (46+newpoz)-(mass[y]/5.6*koef)*zoom, (x+1)*zoom, (46+newpoz)-(mass[y+1]/5.6*koef)*zoom, BLACK);          
        } 
      }

...

if(menu==3){
    if(digitalRead(levo)==HIGH) {poz=poz-1;if(poz==0){poz=1;}}
    if(digitalRead(pravo)==HIGH){poz=poz+1;if(poz==10){poz=9;}}    
    display.drawRect(60, 46, 21, 11, BLACK);
}

 

VetalST
Offline
Зарегистрирован: 29.12.2015

Все работает отлично.

Только я немного подправил меню и чистоту показывает в паузе если в кНг с точностью до тысячной.  Может кому пригодится.

Убрал отображение буквы Р (паузы) и изменил порядок меню.

1. меняется опорное  2. развертка 3. синхронезация 4. пауза.

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

Мне так больше понравилось сначала синхронизируем, а потом смотрим в паузе. И частота в КНг с точностью до тысячной не нужно мудрить чистотометр отдельно в паузе можно посмотреть чистоту до 8 МНг (по заявлению библиотеки FreqCount).

//#######################################отрисовка menu
if(menu==0){
    display.setCursor(0,0);
    display.setTextColor(WHITE,BLACK);
    if(opornoe==0){display.print("1.1");}
    if(opornoe==1){display.print(VCC,1);}
    display.setTextColor(BLACK); 
    display.print(" ");
    display.print(razv);
    display.print(" ");
    //display.print(" P");
    if(digitalRead(levo)==HIGH){opornoe=!opornoe;}
    if(digitalRead(pravo)==HIGH){opornoe=!opornoe;}    
}
if(menu==1){
    display.setCursor(0,0);
    display.setTextColor( BLACK);
    if(opornoe==0){display.print("1.1");}
    if(opornoe==1){display.print(VCC,1);}
    display.setTextColor(WHITE, BLACK); // 'inverted' text 
    display.print(" ");
    display.print(razv);
    display.print(" ");
    //display.setTextColor( BLACK); // 'inverted' text
    //display.print(" P");
    if(digitalRead(levo)==HIGH){razv=razv-1;if(razv==255){razv=0;}}
    if(digitalRead(pravo)==HIGH){razv=razv+1;if(razv==9){razv=8;}}
}
if(menu==2){
    paus=0;
    display.setCursor(0,0);
    display.setTextColor( BLACK);
    if(opornoe==0){display.print("1.1");}
    if(opornoe==1){display.print(VCC,1);}
    display.print(" ");
    display.print(razv);
    display.print(" ");
    //display.setTextColor(BLACK);
    //display.print(" P");
    if(digitalRead(levo)==HIGH){SinU=SinU-20;if(SinU<20){SinU=20;}} // SinU уровень синхронизации 0 до 255
    if(digitalRead(pravo)==HIGH){SinU=SinU+20;if(SinU>230){SinU=230;}}   
    display.fillCircle(80,47-SinU/7, 5, BLACK);
    display.fillCircle(80,47-SinU/7, 2, WHITE); 
}
if(menu==3){
    display.setCursor(0,0);
    //display.setTextColor( BLACK);
    //if(opornoe==0){display.print("1.1");}
   // if(opornoe==1){display.print(VCC,1);}
    //display.print(" ");
    //display.print(razv);
    display.setTextColor(WHITE, BLACK); // 'inverted' text 
    display.print(" P");
    display.setTextColor( BLACK);
    display.print(" ");    
    paus=1;
    if(digitalRead(levo)==HIGH){Zamer();}
    if(digitalRead(pravo)==HIGH){Zamer();}    
}
if(digitalRead(ok)==HIGH){menu++;if(menu==4){menu=0;paus=0;}}//перебор меню
if (FreqCount.available()) { count = FreqCount.read();}//вывод частоты по готовности счетчика
//#######################################частоты сигнала
byte Frec1=0;
int Frec=0;
bool flagFrec1=0;
bool flagFrec2=0;
bool flagFrec3=0;
for(int y=1;y<255;y++){
  if(flagFrec1==0){if(mass[y]<SinU){flagFrec2=1;}}
  if(flagFrec1==0){if(flagFrec2==1){if(mass[y]>SinU){flagFrec1=1;Frec1=y;}}}
  if(flagFrec1==1){if(mass[y]<SinU){flagFrec3=1;}}
  if(flagFrec3==1){if(mass[y]>SinU){
  if (razv>=6){Frec=1000000/((y-Frec1)*3.27*(overclock/16.0));}//delitel 4
  if (razv==5){Frec=1000000/((y-Frec1)*3.27*(overclock/16.0))/2;}//delitel 8
  if (razv==4){Frec=1000000/((y-Frec1)*3.27*(overclock/16.0))/4;}//delitel 16
  if (razv==3){Frec=1000000/((y-Frec1)*3.27*(overclock/16.0))/8;}//delitel 32
  if (razv==2){Frec=1000000/((y-Frec1)*3.27*(overclock/16.0))/16;}//delitel 64
  if (razv==2){Frec=1000000/((y-Frec1)*3.27*(overclock/16.0))/32;}//delitel 128
  if (razv==1){Frec=1000000/((y-Frec1)*3.27*(overclock/16.0))/32;}//delitel 128
  if (razv==0){Frec=1000000/((y-Frec1)*500*(overclock/16.0));}//delitel 128
  flagFrec1=0;flagFrec3=0;}}}
//#######################################частоты сигнала
display.setTextColor( BLACK);
if(opornoe==1){
if((Vmax*VCC/255)>2.6){countX=count*(overclock/16.0);}  // или countX=count*(overclock/16.0);
if((Vmax*VCC/255)<=2.6){countX=Frec*(overclock/16.0);}} //     if(countX==0) countX=Frec*(overclock/16.0);
if(opornoe==0){countX=Frec*(overclock/16.0);}
if(countX<1000){display.print(" ");display.print(countX);display.print("Hz");}
//************** показываем чистоту в кНг с точностью до тысячной
if(menu==3){
if(countX>=1000){float countXK=countX/1000.0;display.print(countXK,3);display.print("KHz");} 
}
else
{
if(countX>=1000){float countXK=countX/1000.0;display.print(countXK,1);display.print("KHz");}  
}
//**********************
if(opornoe==1){display.setCursor(0,40);display.setTextColor(BLACK);
display.print(Vmax*VCC/255,1);}
if(opornoe==0){display.setCursor(0,40);display.setTextColor(BLACK);
display.print(Vmax*1.1/255,1);}
display.print("V");
//#######################################отрисовка menu

Сейчас скресчиваю ваш 2 в одном Пультоскоп с  своим Помощником получилось 5 в одном

1. осциллограф  2. генератор 3. таймер до 99 часов 59 минут 59 секунд (пользуюсь для засветки фоторезистра с управлением на 9 вывод) 4. термометр - термостат (для нагрева с управлением на 9 вывод) и 5. Тест Акб замер ампер часов от 1 до 12в с авто определением АКБ и 3 режима разряда (выбор подключонного нагрузочного резистра можно менять и сохранять в памяти мк. Задействовано 2 ацп входа (можно пользоватся как вольметром до 50 В) и управление мосфетом на 9 выводе). 

Плату отдельно не делал. Пока тестирую на плате как у автора мактка с экраном . Жду полного финала осциллографа. Кому интересно протестирую поделюсь. Уезжаю буду чере пару дней потом отвечу кому интересно.
bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

=VetalST
у вас прямо многофункциональный прибор для радиолюбителя и НЕ Только!!!
Отлично!!!

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Jtest пишет:

bodriy2014, ничего.)

Долго буду объяснять и, возможно, запутаю. Кидаю куски кода, ты должен сразу понять. Если не поймешь, напиши, постараюсь разжевать.

if(opornoe==0) {
  koef=1;
} else {
    if(maxV>=85) koef=1; //15v
    else {
      if(maxV>=17) koef=3; //5v
      else koef=15; // 1v
    }            
 }
... 

      if(poz==9) newpoz=-14;    
      if(poz==8) newpoz=0;
      if(poz==7) newpoz=7;
      if(poz==6) newpoz=14;
      if(poz==5) newpoz=21;
      if(poz==4) newpoz=28;
      if(poz==3) newpoz=35;
      if(poz==2) newpoz=42;
      if(poz==1) newpoz=49; 
...

      for(int y=sinhMASS;y<sinhMASS+85;y++){
        if(razv<7){x++;}
        if(razv==7){x=x+2;}
        if(razv==8){x=x+3;}
        if(x<=95) {
            display.drawLine(x*zoom, (46+newpoz)-(mass[y]/5.6*koef)*zoom, (x+1)*zoom, (46+newpoz)-(mass[y+1]/5.6*koef)*zoom, BLACK);          
        } 
      }

...

if(menu==3){
    if(digitalRead(levo)==HIGH) {poz=poz-1;if(poz==0){poz=1;}}
    if(digitalRead(pravo)==HIGH){poz=poz+1;if(poz==10){poz=9;}}    
    display.drawRect(60, 46, 21, 11, BLACK);
}

 


Вы меня не поняли, из ваших слов как програмно это происходит я понял.
Мне в железе не понятно где взять 1В для внешнего опорного и как сдвинуть при этом сигнал в плюс.
Как вариант на AREF подавать опорное с регулируемого стаба а на вход подавать +0.5В через делитель с того же стаба.
Или есть вариант прооще.
Про 5В мне понятно.

Jtest
Offline
Зарегистрирован: 02.06.2015

Чтобы сдвинуть сигнал в плюс не нужно бубнов и танцев. Достаточно такого исполнения:

VetalST
Offline
Зарегистрирован: 29.12.2015

bodriy2014 пишет:
=VetalST у вас прямо многофункциональный прибор для радиолюбителя и НЕ Только!!! Отлично!!!

Место свободное в ардуино было, вот и скрестил, что бы было все в одном месте под рукой. Все подключается через разем как приставка. А так просто осциллограф, генератор, чистотометр,  вольтметр и термометр если датчик подкючить. Не успеваю за вашими изменениями, не как в корпус не засуну.

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Jtest пишет:

Чтобы сдвинуть сигнал в плюс не нужно бубнов и танцев. Достаточно такого исполнения:


Я про сдвиг 5Вольт понял, как вы 1 вольт сдвигеаете и где берете 1В?

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

VetalST пишет:
... Не успеваю за вашими изменениями, не как в корпус не засуну.


Аналогично, не успеваю добавлять фишки и крпус хочу)))

Jtest
Offline
Зарегистрирован: 02.06.2015

1v не беру, а масштабирую график под них.

	      if(maxV>=17) koef=3; //5v
	      else koef=15; // 1v

Если ток меньше или равер 1v

if(maxV>=17)

масштабирую график на весь экран

else koef=15; // 1v
bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Jtest пишет:

1v не беру, а масштабирую график под них.

	      if(maxV>=17) koef=3; //5v
	      else koef=15; // 1v

Если ток меньше или равер 1v

if(maxV>=17)

масштабирую график на весь экран

else koef=15; // 1v


Ясно. Спасибо!
Жду ваш прибор в железе с схемой,интересный зверь получается!!!

Jtest
Offline
Зарегистрирован: 02.06.2015

bodriy2014, мы же на ты)) Кстати, будет отлично, если к сборке в корпус разные формы генератор сможет выдавать. Получится?

bodriy2014
bodriy2014 аватар
Offline
Зарегистрирован: 12.05.2015

Jtest пишет:

bodriy2014, мы же на ты)) Кстати, будет отлично, если к сборке в корпус разные формы генератор сможет выдавать. Получится?


нужно пробовать, в теории мне ясно как матрицу сигнала прорисовать а потом через фильтр сгладить ступеньки, после первых проб отпишу, но думаю если не получится на форуме опытных ребят хватает подмогнут!