осциллограф
|
|
bulat | Дата: Вторник, 04.07.2017, 22:30 | Сообщение # 51 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| наконец то я и дома! удалось обрезать библиотеку ili9341,теперь памяти занято 66 %,первая версия готова,но думаю все таки переделывать на тачскрин,оба варианта выложу
|
|
| |
bulat | Дата: Понедельник, 02.10.2017, 19:40 | Сообщение # 52 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| Вот,все в архиве
Сообщение отредактировал bulat - Вторник, 03.10.2017, 06:34 |
|
| |
pchela5 | Дата: Пятница, 06.10.2017, 12:22 | Сообщение # 53 |
Группа: Свой человек
Сообщений: 85
Статус: Offline
| Куда девал сокровища убенной тобой тещи? архив?
|
|
| |
bulat | Дата: Суббота, 07.10.2017, 19:11 | Сообщение # 54 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| увы,все работало,но при попытке вставить в корпус треснул экран (кривые руки...),есть пееделанный хамелеон,готовлюсь выложить... вот файлы
|
|
| |
bulat | Дата: Четверг, 09.11.2017, 17:46 | Сообщение # 55 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| а это хамелеон наверно никого не интересует,выложу на коте
Сообщение отредактировал bulat - Пятница, 10.11.2017, 20:19 |
|
| |
bulat | Дата: Вторник, 28.11.2017, 15:27 | Сообщение # 56 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| продолжение на коте
Сообщение отредактировал bulat - Вторник, 28.11.2017, 15:27 |
|
| |
bulat | Дата: Понедельник, 08.01.2018, 09:56 | Сообщение # 57 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| Итоговая прошивка,схема,плата,исходники варианта Хамелеона на ILI9341 SPI,кварц 16 МГц,для своего кварца достаточно перекомпилировать,изменив значение кварца в 2-х строчках $crystal = 16000000 'частота кваца для компилятора const f_qvarca = 16 'частота кварца в мгц для подсчета развертки будут вопросы задавайте
|
|
| |
kip96 | Дата: Понедельник, 08.01.2018, 21:42 | Сообщение # 58 |
Группа: Свой человек
Сообщений: 170
Статус: Offline
| Отлично, и плата есть. Проверенная. Заказывал, или сам делал? Много переходных отверстий.
|
|
| |
bulat | Дата: Понедельник, 08.01.2018, 21:57 | Сообщение # 59 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| первую плату заказывал у влада с кота,собран по схеме D2 CUBE на LS020,работает до сих пор,вторую плату-для ILI9341, делал сам лутом
|
|
| |
pchela5 | Дата: Вторник, 09.01.2018, 16:56 | Сообщение # 60 |
Группа: Свой человек
Сообщений: 85
Статус: Offline
| Молодец! Дожал-таки!
|
|
| |
bulat | Дата: Четверг, 11.01.2018, 20:21 | Сообщение # 61 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| дожал,сам не верил,по быстроте быстрее разогнанного DSO138,результатом доволен,осталось дело за корпусом
|
|
| |
pchela5 | Дата: Пятница, 12.01.2018, 10:00 | Сообщение # 62 |
Группа: Свой человек
Сообщений: 85
Статус: Offline
| На 27Мгц устойчиво работает?
|
|
| |
bulat | Дата: Пятница, 12.01.2018, 17:49 | Сообщение # 63 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| устойчиво,ничего такого не заметил
|
|
| |
bulat | Дата: Понедельник, 18.06.2018, 19:46 | Сообщение # 64 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| Переделал на нокиа5110,красота!
|
|
| |
pchela5 | Дата: Среда, 04.07.2018, 10:54 | Сообщение # 65 |
Группа: Свой человек
Сообщений: 85
Статус: Offline
| Цитата bulat ( ) Переделал на нокиа5110,красота! Где красота? Не запостил - не было ничего! ))))))) Выложишь исходники? Это дисплей от 3110? Монохром?
|
|
| |
bulat | Дата: Пятница, 06.07.2018, 21:21 | Сообщение # 66 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| к сожалению здесь это никого не заинтересовало,выложил тут
|
|
| |
pchela5 | Дата: Пятница, 06.07.2018, 21:59 | Сообщение # 67 |
Группа: Свой человек
Сообщений: 85
Статус: Offline
| Цитата bulat ( ) к сожалению здесь это никого не заинтересовало Я списывался с Виктором, он сильно занят и забросил этот замечательный сайт. По хорошему, надо пару модераторов, тогда можно воскресить.
|
|
| |
pchela5 | Дата: Суббота, 07.07.2018, 14:08 | Сообщение # 68 |
Группа: Свой человек
Сообщений: 85
Статус: Offline
| Цитата bulat ( ) ,выложил тут не могу я там зарегестрироваться - выложи здесь, плиз
|
|
| |
pchela5 | Дата: Понедельник, 09.07.2018, 14:24 | Сообщение # 69 |
Группа: Свой человек
Сообщений: 85
Статус: Offline
| Цитата pchela5 ( ) не могу я там зарегестрироваться - выложи здесь, плиз Зашел с другого браузера - кинь исходник в личку плиз - я хочу на другой АЦП перевести схему.
|
|
| |
bulat | Дата: Понедельник, 09.07.2018, 21:02 | Сообщение # 70 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| Отправил,надеюсь,вы там подскажете что можно улучшить и оптимизировать
|
|
| |
pchela5 | Дата: Вторник, 10.07.2018, 13:23 | Сообщение # 71 |
Группа: Свой человек
Сообщений: 85
Статус: Offline
| Архив битый
|
|
| |
bulat | Дата: Вторник, 10.07.2018, 18:08 | Сообщение # 72 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| странно,вот
Сообщение отредактировал bulat - Вторник, 10.07.2018, 20:01 |
|
| |
pchela5 | Дата: Среда, 11.07.2018, 09:53 | Сообщение # 73 |
Группа: Свой человек
Сообщений: 85
Статус: Offline
| Может у тебя RAR какой нибудь-особенный? Перезалей в зип например.
|
|
| |
bulat | Дата: Среда, 11.07.2018, 22:48 | Сообщение # 74 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| удалил архив
Сообщение отредактировал bulat - Четверг, 12.07.2018, 18:59 |
|
| |
pchela5 | Дата: Четверг, 12.07.2018, 09:48 | Сообщение # 75 |
Группа: Свой человек
Сообщений: 85
Статус: Offline
| Начиная с версии 5 в WinRAR добавлена поддержка нового архивного формата RAR5, несовместимого с предыдущим форматом, но использующего то же расширение RAR. С появлением RAR5 предыдущий формат файлов RAR теперь именуется RAR4. WinRAR версии 5 может создавать/изменять/распаковывать архивы RAR4, тогда как более старые версии WinRAR несовместимы с архивами RAR5 (при попытке распаковать архив RAR5 с помощью WinRAR версии 4 и ниже выдаётся сообщение о том, что архив повреждён или имеет неизвестный формат).
Я стар, я просто супер стар!!! Пришлось качать и устанавливать. Буду смотреть. СПАСИБО!
|
|
| |
pchela5 | Дата: Четверг, 12.07.2018, 11:30 | Сообщение # 76 |
Группа: Свой человек
Сообщений: 85
Статус: Offline
| По схемотехнике - у меги328 фьюзом можно задать выход тактирования системной шины на ногу PB0 CLKO, Divided System Clock Это буферированный выход системного тактового сигнала. Если включен прескалер (регистр CLKPR), то и на этот выход идет после прескалера. Увеличится помехоустойчивость системы, ИМХО. Оять же, можно данную фичу использовать для снижения тактирования АЦП аж до 256 раз, тем самым повысив кол-во режимов развертки. На вход можно попробовать подключить трансил диоды на 5 вольт - они помогут спасти ОУ от статики или большого напряжения. Выковырять их можно из материнских плат возле ЮСБ 6-тиногие SOT-23 ну или из винчестеров по каналу 5 вольт. Для контроля вкл/выключения и питания АЦП есть резон поставить стабилизатор типа LP2985-3.3 вольта, а его включать ногой контроллера, который будет ложиться спать и просыпаться от внешнего прерывания. Как это сделать, я покажу - сам я разобрался. Это будет хорошая замена ключам на транзисторах. Для большей гибкости в библиотеке можно при необходимости заменить SPI на шифтаут: ' Spiout D3310value , 1 Shiftout D3310da , D3310clk , D3310value , 1 Таким образом, нам не нужен будет программный эмулятор SPI и повесить дисплей можно на любые ноги. Также можно удалить из библы ненужные символы - снизится объем памяти. Остальное погляжу, но работа проделана хорошая! Молодец! PS Поглядел. Если прибор дальше не будет усовершенствоваться, то либу ADCREAD_vers_5 можно оставить как есть. В противном случае надо ее причесать - уж больно грубо решены временные задержки. http://www.bretmulvey.com/avrdelay.html - вот тебе в помощь. В материнках кварцы кажется на 25 МГц стоят - с ними удобней будет делать стандартную шкалу развертки: http://www.electroclub.info/article/oscillograf_files/ris-18.jpg
Сообщение отредактировал pchela5 - Четверг, 12.07.2018, 16:07 |
|
| |
bulat | Дата: Четверг, 12.07.2018, 18:54 | Сообщение # 77 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| Насчет PB0 знаю,но проще тактировать прямо от кварца атмеги328,работает на ура Контроль питания-пробовал как вы описали,мои LP2985 почему-то не выключаются до конца при 0 вольт на выв 3-на выходе около полувольта,китай,что скажешь... Выводы подключения к 5110-так сделано специально,чтоб было проще заменить дисплей (при соответствующей прошивке),пробовал переделывать на ILI9341,ST7735,там программный аппаратный SPI работает быстро Символы можно и удалить-не вопрос Никаких материнок у меня нет,и не было никогда,покупать ее ради раздербана на запчасти слишком дорого насчет винрар-если снес 5.50 и поставлю 4-ю
Сообщение отредактировал bulat - Четверг, 12.07.2018, 19:09 |
|
| |
pchela5 | Дата: Четверг, 12.07.2018, 19:28 | Сообщение # 78 |
Группа: Свой человек
Сообщений: 85
Статус: Offline
| Цитата bulat ( ) LP2985 почему-то не выключаются до конца при 0 вольт на выв 3-на выходе около полувольта,китай,что скажешь... Что-то с схемотехникой не так, вряд ли китай виноват. Может паразитное питание идет через диоды атмеги. Если старых материнок нет - можно поставить стабилитрона на 4.7 встречно-параллельно. Жалко ОУ. В программу отрисовки надо въезжать - сходу не сообразишь. Видео понравилось.
|
|
| |
bulat | Дата: Четверг, 12.07.2018, 20:24 | Сообщение # 79 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| Цитата pchela5 ( ) В программу отрисовки надо въезжать - сходу не сообразишь экран 5110-48*84,вернее 6 строк по 84 точки по горизонтали,итого 6*84=504 создан экраный буфер на 504 значения,очищаем буфер,потом заполняем его точками(buffer_pset(x , y )),после весь буфер загружаем в 5110 как картинку все делал сам,для 5110 (3310) нигде подобного не встречал,получается около 5 кадров в секунду (если нет задержек в программе)
Сообщение отредактировал bulat - Четверг, 12.07.2018, 20:25 |
|
| |
pchela5 | Дата: Четверг, 12.07.2018, 22:17 | Сообщение # 80 |
Группа: Свой человек
Сообщений: 85
Статус: Offline
| Про буфер понятно, само формирование картинки - точки, сетки и прочая.
|
|
| |
pchela5 | Дата: Пятница, 13.07.2018, 11:28 | Сообщение # 81 |
Группа: Свой человек
Сообщений: 85
Статус: Offline
| Нет ли тут в библиотеке ошибки: if D3310x > 83 then D3310x = 83 if D3310y > 47 then D3310x = 47
и во втором месте
if D3310x > 83 then D3310x = 83 if D3310y > 5 then D3310x = 5
Как-то нелогично выглядит
|
|
| |
bulat | Дата: Пятница, 13.07.2018, 14:32 | Сообщение # 82 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| В первом случае ограничивается максимальное значение по вертикали в пикселях ,во втором-в номерах строк по вертикали максимум 48 точек(от 0 до 47),или 6 строк(0...5) Библиотеку толком не разглядывал,просто добавил рисование точек и наверно так получилось
|
|
| |
pchela5 | Дата: Понедельник, 16.07.2018, 13:37 | Сообщение # 83 |
Группа: Свой человек
Сообщений: 85
Статус: Offline
| Цитата bulat ( ) В первом случае ограничивается максимальное значение по вертикали в пикселях ,во втором-в номерах строкпо вертикали максимум 48 точек(от 0 до 47),или 6 строк(0...5) Это понятно, только у тебя if D3310y > 47 then D3310x = 47 в данной строке проверка по у, а меняешь х - здесь косяк, новерное. Должно быть так: if D3310y > 47 then D3310у = 47??? Я попробовал нарисовать произвольный график на дисплее, используя вертикальный режим адресации - подпрограмма заполнения буфера дисплея получилась в 65 строчек на ассемблере. Попробую дальше позаполнять ее сеткой.
|
|
| |
bulat | Дата: Среда, 18.07.2018, 17:02 | Сообщение # 84 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| Теперь понял,спасибо за поправку! видимо еще не выходил за предел D3310y > 47 иначе сразу увидел косяк на экране Переделал под ST7735 почти,скоро выложу на радиоскот
|
|
| |
pchela5 | Дата: Среда, 18.07.2018, 19:35 | Сообщение # 85 |
Группа: Свой человек
Сообщений: 85
Статус: Offline
| Для причесывания твоей вырвиглазной библиотеки опроса АЦП предлагаю сделать следующее: - я тебе ее переделаю как подпрограмму, которую ты будешь вызывать со следующими параметрами: Call sample_load (byte 1) где byte 1 - номер длительности развертки - от 3 циклов частоты кварца до где-то 48000 - задаешь от 0 до 14 номер развертки и программа сама берет байты 2 и 3 и засовывает их в цикл при необходимости; byte 2 - делитель 1 цикла; byte 3 - делитель 2 цикла.
- ты со своей стороны массив ОЗУ сделаешь или 256 ячеек или 512, т.к. 255 - ни туда ни сюда
Вот пример для 24 МГц - частота опроса либо 2 мс либо 5, т.е. для заполнения массива в 256 байт полный цикл составит от 0,5 до 1,25 секунды
Loop_big_ms: ' 2 мс: R17 = 83, R18 = 63; 5 мс: R17 = 213, R18 = 156; MOV R19,R17 ' - загружаем младший байт - 1 такт MOV R20,R18 ' - загружаем старший байт - 1 такт Count_big_ms: DEC R19 ' вычитаем - 1 такт BRNE Count_big_ms ' перейти на начало счетчика - 2 такта, пропустить - 1 такт DEC R20 ' вычитаем - 1 такт BRNE Count_big_ms ' перейти на начало счетчика - 2 такта, пропустить - 1 такт NOP ' 1 такт NOP ' 1 такт IN R21, PINC ' считываем порт - 1 такт ST X+, R21 ' пишем в озу и увеличиваем указатель на единицу - 2 такта CPI XH, $05 ' проверяем если старший регистр больше конца массива то прыгаем на выход иначе - 1 такт BRLO LOOP_big_ms ' перейти на начало цикла - 2 такта JMP EXIT_READ
Я не очень понял алгоритм растягивания - объясни на пальцах. Есть ли видео работы?Так же как организован механизм синхронизации и захвата?
Подумай насчет следующей фичи, как реализовать переход от 256 битов к 48 без операций деления, которые занимают много времени: У нас есть переменная типа Word, т.е. 2 байта. Ты ей присваиваешь значение АЦП, т.е. попадаешь в младший байт и умножаешь на 48 / 96 / 192 а берешь значение из старшего байта - таким образом реализуется переход с умножением на 1 / 2 / 4 ну или любое число.
Сообщение отредактировал pchela5 - Четверг, 19.07.2018, 09:47 |
|
| |
bulat | Дата: Вторник, 24.07.2018, 20:08 | Сообщение # 86 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| На вряд ли додумаюсь ))) Расстягивание-просто между двумя соседними выборками делаю еще одну искусственную-среднеарифметическое
|
|
| |
pchela5 | Дата: Среда, 25.07.2018, 12:37 | Сообщение # 87 |
Группа: Свой человек
Сообщений: 85
Статус: Offline
| Буду оптимизировать тогда сам. Любую работу с массивами лучше делать на асме, оставив для бейсика только умножение, работа с текстом и прочее. Смотри, как это выглядит:
For A = 3 To 170 If Osc(a -1) => N And Osc(a) => N And Osc(a + 1) <= N And Osc(a + 2) <= N Then Sinhr = A End If Next A
А вот на ассемблере эта же подпрограмма в 34 строки, включая сохранение и возврат из стека: LDS R18,{sinhr_level} ' sinhr_level = 127 (default) LDI YH, 2 LDS YL,{Start_of_window} ' Начало окна Next_step_sinhr: CPI YH,3 BREQ EXIT_Sinhr LD R20,Y+ CP R20,R18 ' Если R18 >= R20 BRLO Next_step_sinhr LD R20,Y CP R20,R18 ' Если R18 >= R20 BRLO Next_step_sinhr LDD R20,Y+1 CP R18,R20 ' Если R20 >= R18 BRLO Next_step_sinhr LDD R20,Y+2 CP R18,R20 ' Если R20 >= R18 BRLO Next_step_sinhr STS {sinhr_cell},YL ' сохраняем значение индекса Exit_sinhr: Вольтметр - 29 строк, вывод графика на дисплей с масштабированием по осям - 41 строка, рисование графика - 65 строк, опрос АДС без большой простыни - 200 строк.
|
|
| |
bulat | Дата: Четверг, 26.07.2018, 21:25 | Сообщение # 88 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| Спасибо,но в асм я ноль...
Сообщение отредактировал bulat - Пятница, 27.07.2018, 17:19 |
|
| |
bulat | Дата: Пятница, 27.07.2018, 21:02 | Сообщение # 89 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| Воде разобрался с калькулятором задержек,спасибо!
|
|
| |
bulat | Дата: Понедельник, 15.10.2018, 21:53 | Сообщение # 90 |
Группа: Проверенные
Сообщений: 110
Статус: Offline
| ютуб демонстрация того что вышло в исполнении ув. Лекс59
Сообщение отредактировал bulat - Вторник, 16.10.2018, 10:55 |
|
| |