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

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

Jtest

ADCSRA = 0b11100011

Это делитель на 8.

Маркировка моего кварца LZ27.042 

Не зацыкливайся на 27, попробуй 26 или 24.

Кто еще ставил кварц выше 16МГц отзовитесь, как у кого работает!!!!


 

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

Пишу что пробовал.

Не работает развертка 6 и выше на опорном 5 и 1: TIM27.000, XDL27.000, 26.601712M

Работает 6 и выше на опорном 5, но не работает 6 и выше на опорном 1: TQ25.000, 24.5F3G,24.5F2G.

Работает развертка везде: стандартный кварц 16.000, 14.3F2FB.

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

Jtest пишет:

Пишу что пробовал.

Не работает развертка 6 и выше на опорном 5 и 1: TIM27.000, XDL27.000, 26.601712M

Работает 6 и выше на опорном 5, но не работает 6 и выше на опорном 1: TQ25.000, 24.5F3G,24.5F2G.

Работает развертка везде: стандартный кварц 16.000, 14.3F2FB.


оставляй 25МГЦ значит это предел
Опорное внутреннее 1В на развертке 6 и выше и не должно работать на разогнаой частоте.
Если нужен и разгон и 1вольт опорное цепляй его к АREF будет работать.

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

Попробовал вот такой

Номинал 24.0J. Опорное 5 - да, 1 - нет.

АREF подпоять не смогу - у меня duina пришла с mega, размером со спичечную головку. Там просто не реально аккуратно подпаяться. Значит, будем работать на 25ке.

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

Jtest пишет:

Попробовал вот такой

Номинал 24.0J. Опорное 5 - да, 1 - нет.

АREF подпоять не смогу - у меня duina пришла с mega, размером со спичечную головку. Там просто не реально аккуратно подпаяться. Значит, будем работать на 25ке.


25 хорошая частота!
Вывод АREF обычно не оставляют в воздухе болтаться, просмотои с лупой может он идет к керамике к ней и подпаяешься.

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

кварц керамический - у него стабильность не алё...

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

karl2233, это ради теста был подпай.

bodriy2014, да, увидел возле кварца крохатную керамику. Постараюсь волосинку на нее подпаять. Сколько нужно подать 1 или 1.1v? Какую строку в коде заменить? Или там много менять?

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

Jtest пишет:

karl2233, это ради теста был подпай.

bodriy2014, да, увидел возле кварца крохатную керамику. Постараюсь волосинку на нее подпаять. Сколько нужно подать 1 или 1.1v? Какую строку в коде заменить? Или там много менять?

---Какое подашь от 0,7 до 5В то он и будет считать 255 при сравнении.

--- в двух местах заменить  ADMUX = 0b11100100; на ADMUX = 0b00100100;

Okmor
Okmor аватар
Offline
Зарегистрирован: 16.10.2015

Появилась идея!!!

Вот мой каскад делителя напряжения. Он настроен так, чтобы напряжения с входа  -25В - +25В превратилось в напряжение 0-4,5В в таком варианте в качестве опорного напряжение выбираем напряжение питания. Если подавать сигнал -5В - +5В , то все нормально кроме точности которая падает в 5 раз. Попробуем переключится на опорное напряжение 1,1В, но тут возникают проблемы - у нас диапазон сдвинут вверх.

В этот момент и начинается вся фишка. Одним или двумя цифровыми выходами и резистивным делителем мы можем переключать коэффициент сдвига нуля. Мы можем даже автоматизировать выбор диапазона между -25В - +25В и -5В - +5В. Таким образом оба диапазона попадают почти во всю шкалу АЦП.

Стоимость схемы не изменилась и составляет меньше 1$.

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

bodriy2014, нет худа без добра! Т.к. у меня 9й пин сгорел, подвел туда АREF. Сделал изменения в коде и все заработало. Не учел при разводке схемы новый делитель, пришлось его лепить на плате преобразователя.

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

Jtest пишет:

bodriy2014, нет худа без добра! Т.к. у меня 9й пин сгорел, подвел туда АREF. Сделал изменения в коде и все заработало. Не учел при разводке схемы новый делитель, пришлось его лепить на плате преобразователя.

Я у тебя много постов назад спрашивал-где берешь 1В и как сдвинуть планируеш на 0,5В?

Ты меня не понял, может теперь ответишь?)))

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

1.1 вольт взял с делителя с преобразователя. Т.к. там  стабильные 5.1 на выходе, то сделал делитель на резисторах 100к и 27к. Получаются стабильные 1.08 (меня это устраивает, правки в коде сделал). Это что косается 1.1 вольт.

Что косается сдвига (у меня нет четкого сдвига на 0.5), то я поступаю сделующим образом (я схему уже приводил):

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

Okmor
Okmor аватар
Offline
Зарегистрирован: 16.10.2015

bodriy2014, вы натолкнули меня на мысль.

Есть вопрос. К выходу AREF рекомендуют подключать конденсатор. Тоесть там должно быть какое-то напряжение.

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

Какое напряжение на AREF при выборе внутреннего источника 1,1В и 5В?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Okmor пишет:

Какое напряжение на AREF при выборе внутреннего источника 1,1В и 5В?

а что проверять то? там точно то, относительно чего считает АЦП  ) Т.е. 1,1 или 5в

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

Okmor пишет:

bodriy2014, вы натолкнули меня на мысль.

Есть вопрос. К выходу AREF рекомендуют подключать конденсатор. Тоесть там должно быть какое-то напряжение.

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

Какое напряжение на AREF при выборе внутреннего источника 1,1В и 5В?

Интересно, сам пишу с смартфона.((

Okmor
Okmor аватар
Offline
Зарегистрирован: 16.10.2015

То, что там 1,1 я не сомневался. Будет ли там 5В (U пит.) при переключении на опорное питания?

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

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Okmor пишет:

То, что там 1,1 я не сомневался. Будет ли там 5В (U пит.) при переключении на опорное питания?

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

Конечно будет. Этот пин ничем некоммутируемый, на нём всегда то напряжение, относительно которого АЦП ведёт свой счёт.

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

Замер такой: при выборе 5v - такое как заходит на дуину VCC. При выборе 1.1 - 0в. Хотя, у меня при 1.1 он получает, а не выдает.

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

Проверил.

При внешнем опорном на AREF напряжение питания, при внутреннем=1,1В. Переключается програмно регистром ADMUX/

Jtest пишет:

Замер такой: при выборе 5v - такое как заходит на дуину VCC. При выборе 1.1 - 0в. Хотя, у меня при 1.1 он получает, а не выдает.

При выборе 1,1 у тебя нет на AREF напряжения потому что ты код изменил под внешний источник.

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

Попробовал подкинуть еще один керамический конденсатор поверх того что идет на AREF, без толку внутреннее опорное на 27МГц и шестом шаге всеравно не заработало((

Прийдется мостырить внешнее!

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

внешнее так внешнее, не велико усложнение - четыре деталюшки. Зато Пультоскоп станет ещё круче.

про частоту  - теперь понял почему у меня на 54 через минуту вылетал =)

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

bodriy2014 пишет:

Jtest пишет:
При выборе 1.1 - 0в. Хотя, у меня при 1.1 он получает, а не выдает.

При выборе 1,1 у тебя нет на AREF напряжения потому что ты код изменил под внешний источник.

Так я это и сказал, только другими словами.

Начал собирать в корпус, фокус с резисторным делителем для AREF в таком исполнении не получился. Буду думать что-то другое.

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

Jtest пишет:

азал, только другими словами.

Начал собирать в корпус, фокус с резисторным делителем для AREF в таком исполнении не получился. Буду думать что-то другое.

Я потому и выпытывал у тебя про 1В.

Сабилитрона на 1В у себя не нашел, пробовал с делителем.

Вариант А не работает, наверное где-то связь есть, не учтенна.

Вариант Б работает с двумя диодными барьерами, но такое городить не захотел.

Пробую регулируемый стабилитрон.

Okmor
Okmor аватар
Offline
Зарегистрирован: 16.10.2015

Вот что у меня получилось:

AREF = 5В

Входной диапазон -25В - +25В Выходной диапазон 0В - 4,44В Приведенный АЦП 0-907

Точность измерения 0,06В. Нулевая отметка: 2,22. Приведенная нулевая отметка АЦП 450

AREF = 1,1В 

Входной диапазон -5В - +5В Выходной диапазон 0,04В - 0,93В Приведенный АЦП 37-866

Точность измерения 0,012В. Нулевая отметка: 0,49 . Приведенная нулевая отметка АЦП 456

Как видно при переключении диапазона произошел небольшой дрейф нуля, что лечится калибровкой прибора.

Это очень оптимистическая оценка, но позволяет минимизировать элементную базу.

Осталось испробовать все на макетке. Планирую создать отдельную платку Shield для Arduino как входной тракт к осциллографу.

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

Okmor Привет! Спасибо за вклад!

Выложи пож фото большего масштаба.

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

Можешь маштабировать под LM358?

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

Но этот метод будет работать с кварцем до 20МГц или с разогнанным но до прескаллера 4!

 

Okmor
Okmor аватар
Offline
Зарегистрирован: 16.10.2015

Тут тип ОУ особой роли не играет. Я использовал такой какой был в Proteus

LM358 может не потянуть по частоте. Я использовал mc33078n с перспективой на внешний АЦП.

Обратите внимание, что нужно источник отрицательного напряжения питания!!!

 

 

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

Okmor пишет:

Тут тип ОУ особой роли не играет. Я использовал такой какой был в Proteus

LM358 может не потянуть по частоте. Я использовал mc33078n с перспективой на внешний АЦП.

Обратите внимание, что нужно источник отрицательного напряжения питания!!!

 

Спасибо.

по LM358 согласент свыше 20КГц искажает, но если в работе понравится сменить на более быстрый не проблема, а этих накупил.

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

Вариант А не работает, наверное где-то связь есть, не учтенна.

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

Okmor
Okmor аватар
Offline
Зарегистрирован: 16.10.2015

Я не понял зачем вам надо 1.1В?

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

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

Okmor пишет:

Я не понял зачем вам надо 1.1В?

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

Если изготавливать шилд с ОУ то можно вообще в коде задать жестко АЦП опорное на AREF, тогда можно опроное переключать делителями например 1В, 3В, 5В. А усилителем более слабый сигнал  подымать и если нужно сдвигать в положительную сторону.

Вообщем все как всегда!-задачу можно решить многими способами!)))

Okmor
Okmor аватар
Offline
Зарегистрирован: 16.10.2015

Это хорошая идея. Сюда вписываются два регулятора: 

1. Регулировка опорного напряжения 1,1В - 5В

2. Регулятор сдвига нуля.

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

Итого должно быть четыре регулятора 1 - Тригер, 2 - Частота развертки, 3 - Усиление, 4 - сдвиг нуля.

- Надо пробовать, а времени нет.

 

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

давайте разъясним мне что надо попробовать(на что обращать внимание) и я проведу полевые испытания.

а то в связи с моей безработицей время есть =)

 

upd.

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

пытаюсь прикрутить его к Пультоскопу.

у меня, как у великого программиста, возникли вопросы:

1. правильно ли я понимаю что добавить новую строчку в меню надо вот так(строки 12-14 и 31-34):

void setup(){
digitalWrite(OFF,HIGH);//включем питание 
  if(pultoskop==1){
    display.clearDisplay();
    display.setCursor(10,10);
    display.setTextColor(WHITE, BLACK); // 'inverted' text
    display.println("Пультоскоп");
    display.setCursor(10,20);
    display.setTextColor(BLACK); 
    display.println("Генератор");
   
    display.setCursor(10,30);
    display.setTextColor(BLACK); 
    display.println("Люксомер");
    
    display.setCursor(10,40);
    display.print("Батарея=");
    display.print(analogRead(akb)*4.2/1024);
    display.print("В");    
  }
    if(pultoskop==0){
    display.clearDisplay();
    display.setCursor(10,10);
    display.setTextColor(BLACK); // 'inverted' text
    display.println("Пультоскоп");
    display.setCursor(10,20);
    display.setTextColor(WHITE, BLACK); // 'inverted' text
    display.println("Генератор");  
    display.setTextColor(BLACK);

    display.setCursor(10,30); // 
    display.setTextColor(WHITE, BLACK); // 'inverted' text
    display.println("Люксомер");
    display.setTextColor(BLACK);
    
    display.setCursor(10,40);  
    display.print("Батарея=");
    display.print(analogRead(akb)*5.0/1024);
    display.print("В");    
  } 

2. а вот как добавить сосбно включение Люксомера, нифига не понимаю :(

если перевести на русский нижеследующее:

if(pultoskop==1){
    FreqCount.begin(1000);   
}
if(pultoskop==0){
   InitTimersSafe(); 
   bool success = SetPinFrequencySafe(led, frequency); 
}

получается что "если Пультоском вкл, то...",  "если Пультоскоп выкл, то..." но ведь надо три пункта меню.

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

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

karl2233

Там в двух словах не расказать.

Качай там поймеш. http://yadi.sk/d/at-oZ1gupe6wZ

Изменил местами меню что бы понятней было все работает.

Смотри строчки 33,  51, 67, 85, 105, 110, 127, 296.

Не поймете скиньте почту помогу разобраться. Что бы тему не захламлять.

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

VetalST, огроменное человеческое СПАСИБО! сижу, разбираюсь.

з.ы. по поводу захламления темы - чёт тема уже второй день не алё :(

видать автора и активных участников моё предложение #532 сильно напугало =)

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

karl2233 пишет:

VetalST, огроменное человеческое СПАСИБО! сижу, разбираюсь.

з.ы. по поводу захламления темы - чёт тема уже второй день не алё :(

видать автора и активных участников моё предложение #532 сильно напугало =)

Привет.

У меня есть скетч уже с новой версией прошивки с DDгенератором, там как раз три пункта меню.

Я еще видео по нему не снял поэтому не выкладывал.Напиши на почту скину.

П.С. Чтоб добавить нужно было сменить тип переменной, изменить ее инвертирование на прирощение.

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

bodriy2014, замучался я бороться с последствиями разгона. Спаял делитель с диодами по варианту Б, нулевая линия подскочила на 0,5в. Сам делитель выдавал четкие 1.1, правда номеналы резиторов были у меня 27k и 4,7k. Возможно, опять же, внутренние связи помешали нормально работать схеме с таким преобразователем питания и делителями. Хоть и делитель выдавал нужный вольтаж, но в системе падала стабильность, иногда (даже при 1.1 AREF) развертка не работала, прибор уходил в перезагрузку (при питании от сети через БП и стабилизаторы такой проблемы не наблюдалось).  В общем, угробил несколько дней на борьбу с последствиями разгона и принял решение, что откажусь от него. Для меня, лучше меделеней, но стабильней, чем быстрей, но с бубном и плясками.

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

Jtest пишет:
......В общем, угробил несколько дней на борьбу с последствиями разгона и принял решение, что откажусь от него. Для меня, лучше меделеней, но стабильней, чем быстрей, но с бубном и плясками.


Привет. Думаю нужно разгон оставлять.
Но отказаться от внешнего опорного 1.1В это лишние движения, оставить опорное 1.1В внутреннее.
Но в разогнанном состоянии через IF прописать если overclok больше 16 то прескаллер АЦП ниже 8 не опускать при опорном 1.1.
В итоге при разгоне на 5В сигнал будет более быстрый показывать, а на 1.1В будет как без разгона.!!!

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

Jtest пишет:
......В общем, угробил несколько дней на борьбу с последствиями разгона и принял решение, что откажусь от него. Для меня, лучше меделеней, но стабильней, чем быстрей, но с бубном и плясками.


Привет. Думаю нужно разгон оставлять.
Но отказаться от внешнего опорного 1.1В это лишние движения, оставить опорное 1.1В внутреннее.
Но в разогнанном состоянии через IF прописать если overclok больше 16 то прескаллер АЦП ниже 8 не опускать при опорном 1.1.
В итоге при разгоне на 5В сигнал будет более быстрый показывать, а на 1.1В будет как без разгона.!!!

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

Я думал уже над этим. Сегодня проведу несколько тестов и приму решение.

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

Jtest пишет:

Я думал уже над этим. Сегодня проведу несколько тестов и приму решение.


Я в новой версии это реализую.будет 1.1В работать как без разгона а 5В вдвое быстрей.

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

bodriy2014 пишет:
Я в новой версии это реализую.будет 1.1В работать как без разгона а 5В вдвое быстрей.

А когда будет новая версия? ))

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

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

Jtest пишет:

bodriy2014 пишет:
Я в новой версии это реализую.будет 1.1В работать как без разгона а 5В вдвое быстрей.

А когда будет новая версия? ))

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


Уже есть,))добавил DDS генератор, еще просто видео не снял, ну и ограничения на разгон и 1В добавлю.

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

Круто! DDS на основе чего? Когда будет видео?

 

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

Jtest пишет:

Круто! DDS на основе чего? Когда будет видео?

 


Как чего, сигнал синуса, пилы, обратной пилы и треугольника.

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

Jtest пишет:
Предлогаю сделать остановку в разработке версии 2. И начинать продумывать версию 3, т.е. уже с внешним АЦП, учесть все проблемные места 2й версии.

 отличная мысль =) давайте с операционником определимся  - шоб не дорого и сердито.  

думаю что рабочая частота ОУ не должна быть сильно выше 27МГц? а то что-то ценник не гуманный

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

Наконец, я сделал обзор переделки под дисплей 3410. Вот обзор, вот видео.

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

Jtest, достойно получилось: стрелочка в меню прикольная и прочее внизу тож к месту.

размер экрана провоцирует на изготовления сабжа в виде наручных часов =)

тока для индикатора, думаю, что лишний стабилитрон и резистор - дисплейчик нормально работает и при 5В а уж от батареи и подавно будет.

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

karl2233, дисплей на дисплей не попадает. Есть и при 5 работает, а именно этот экземпляр (хоть и взят с родной нокии) - выше 3.4v - заливается черными пикселями, через которые еле просматривается изображение.

bpl
Offline
Зарегистрирован: 15.02.2016

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

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

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