меню
Пультоскоп v.2 Осциллограф + генератор | ,
 

Пока я собрался с мыслями сделать новый портативный осциллограф, «Pultoscope» уже был на стадии разработки второй версии. Его автор, bodriy2014, адаптировал код для двух дисплеев: Nokia 3310 (китайский дисплей 5110) и цветного дисплея 240x320 SPFD5408. У меня в корпусе уже стоял дисплей от Nokia 3410, так что пришлось переделывать скетч под него. Общаясь с автором, и делая самостоятельные коррективы, получился результат, который привожу в этой статье.



Все составляющие легко поместились в имеющийся корпус.



Схема осциллографа «Pultoscope v.2» не сложная, проста в сборке. В отличии от стандартной сборки, я добавил в нее встроенный делитель 1:3, под который заточил программный код. При необходимости, можно добавить в нее дополнительные делители, усилители и т.д. Единственное, что хочу отметить, для портативной версии лучше собирать преобразователь питания на микросхеме типа MC34063, т.к. китайский DC-DC повышающий преобразователь показал себя не в лучшем виде. В частности, при разгоне arduino mini и замене кварца до 25Mhz, падала стабильность устройства, уходила нулевая линия отображения сигнала и проявлялись прочие проблемы, которые не наблюдались при включении от стабильного сетевого источника питания. По этим причинам я оставил свою версию прибора без замены кварца, хотя у автора установлен кварц с частотой 27Mhz.



Рассматривая дисплей «пультоскопа» в режиме работы осциллографа, можно выделить информативных 10 полей. 1 – шкала отображения вольтажа, имеет автоматические градации 0-1v, 0-5v, 0-15v, 0-3.3v (при опорном напряжении 1.1v). 2 – поле с сеткой, подстраиваемой под шкалу 1, на котором отображается график сигнала. 3 – максимальное напряжение просматриваемого сигнала. 4 – частота сигнала до 2MHz. Частота сигнала до 1.8 вольт измеряется программным способом, свыше – аппаратным (более точным). 5 – первый пункт меню, выбор опорного напряжения (5 или 1.1v). 6 – второй пункт меню, выбор развертки (0-8). 7 – третий пункт, масштаб (1:1, 2:1, 3:1). 8 – четвертый пункт, позиционирование (1-9). Позиционирование поднимает или опускает график сигнала. 9 – пятый пункт, режим паузы. 10 – шестой пункт, синхронизация.



В режиме генератора 3 информативных поля. 1 – отображение ШИМ в процентах; 2 – отображение генерируемой частоты; 3 – выбор множителя для изменения частоты или переключение изменения ШИМ.



Хочу отметить такой момент, что проект «Пультоскоп» не стоит на месте и планируется разработка новой (третьей) версии. В ней должен присутствовать внешний АЦП, возможно, встроенный ОУ и прочие необходимые доработки.


Файлы печатной платы осциллографа / генератора в формате *.lay6, скетч  - *.ino и необходимые библиотеки для работы с дисплеем от Nokia 3410 выкладываю отдельным архивом ЗДЕСЬ.

Поделиться:
 
Страницы:
1 2
admin | 14.02.2019 17:12

tolya10, Не выбирает, т.к. в коде идет сравнение и значение «2» никак не получить таким путем:
if(digitalRead(levo)==HIGH){delay(200);pultoskop=!pultoskop;}
if(digitalRead(pravo)==HIGH){delay(200);pultoskop=!pultoskop;}

Пробуйте вставить код из файла: ptscp_3410_new_func.ino. Я здесь «набросал» так, как бы сделал сам, но не проверял. Пины прописывайте свои.

Коментариев: 1647  | Администратор сайта
tolya10 | 17.02.2019 10:44

Спасибо огромное!!!! Так как Вы написали не заработало, НО я обратил внимание на выскакивающую ошибку nvalid use of Boolean expression as operand to ‘operator—‘ ну методом тыка начал смотреть почему — не работает. Если я ставил -1 или +1 то меню работало но более 2-х пунктов опять не выбирало. Короче открыл ваш и автора скетчи и начал сравнивать построчно и НАШЕЛ почему меню не идет дальше у Вас прописано bool pultoskop=1; //флаг выбора генератора или осциллографа у автора byte pultoskop=0; //флаг выбора генератора или осциллографа после смены bool на byte меню стало идти дальше ( но не — и ++, а -1 и +1) короче так :
while(digitalRead(ok)==LOW){
display.clearDisplay();
display.setCursor(15,10);
display.println(utf8rus("Осциллограф"));
display.setCursor(15,20);
display.println(utf8rus("Генератор"));
display.setCursor(15,30);
display.println(utf8rus("Новая Функция"));

display.setCursor(5,55);
display.print(utf8rus("Батарея "));
display.print(batt);
display.println(utf8rus(" в"));
if(pultoskop==0) display.setCursor(5,10);
if(pultoskop==1) display.setCursor(5,20);
if(pultoskop==2) display.setCursor(5,30);
display.print(">");
display.display();
if(digitalRead(levo)==HIGH){delay(200);pultoskop=pultoskop-1;}
if(digitalRead(pravo)==HIGH){delay(200);pultoskop=pultoskop+1;}
if(pultoskop>2){pultoskop=0;}

Еще раз ОГРОМНОЕ СПАСИБО !!!

Коментариев: 5  | tolya10(bсh)mksat.net  | Зарегестрирован: 2019-01-18
admin | 17.02.2019 12:19

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

Коментариев: 1647  | Администратор сайта
arthur_1993 | 19.02.2019 10:24

tolya10 пожалуйста отправить мне твой версия схема и прошивка

Коментариев: 1  | artur.gulanyan(bсh)mail.ru  | Зарегестрирован: 2019-02-19
tolya10 | 22.02.2019 08:56

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

Коментариев: 5  | tolya10(bсh)mksat.net  | Зарегестрирован: 2019-01-18
Страницы:
1 2
Необходимо авторизоваться, чтобы комментировать.