Main_18
-
Постов
22 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Сообщения, опубликованные Main_18
-
-
В моем 2D15 родной бп выдавал нормальные напряжения, но после линейных стабилизаторов цепи питания входных усилителей было +4.99В и -4.93В соответственно. Из-за этого была разница в показаниях амплитуды в прямом и обратном включении. А у Вас как с этим дела обстоят?
0 -
-
7 часов назад, alend сказал:
У товарища на работе старенький хантек, тот поступил просто, взял два транса 220-12 стандартных малогабаритных,соединил 12в обмотки и получил развязку по сети 220в.
Да, делали такую развязку, трансов по 15 ватт хватает. USB не пользуюсь, долгое время отклика (около секунды) напрягает.
0 -
11 минут назад, alend сказал:
Тему то можно и закрыть, но напомню лишний раз, если всё сделаешь по схеме,это хорошо,но не забудь про заземляющий контакт на вилке который соединён с массой и общим проводом щупа.
Совершенно верно. Видел даже как некоторые товарищи выламывали заземляющий штырек в гнезде. Ну и конечно по классике с родным бп на корпусе осцила ~110В. Классика. На приведенной мной схеме с 4пда указаны какие-то аццкие токи. Потребление моего 2d15 12 Ватт. По цифровым +5В - 1,1А Аналоговые +-8В ток совсем маленький около 200мА
0 -
Так я это... конкретно думал, что ответит тот кто имел дело с этими самыми 2c10 и 2d15 (без обид) а не заставлять пользователей которые "не в теме" искать в гуглах схемы и тд.
Поясню суть дела. У этих моделей сильно греется штатный бп (диоды до 90 градусов, электролиты до 70) + сильно шумит.
Я начитался интернетов по переделке бп на трансформаторные, но там как оказалось есть один нюанс. С платы бп идет сигнал 50Гц для синхронизации по сети. Так вот, люди в интернетах пишут, что в старых версиях на этот сигнал можно было забить и вообще убрать. Однако в новых этот сигнал 50Гц еще отслеживается процессором для того, чтоб осцил в момент когда его выключают не работал на остаточном заряде электролитов какое-то время (видимо доли секунды) и не сходил с ума от этого иногда со слетом прошивки. Короче он отслеживает сеть 50Гц и как только эти 50Гц пропали сразу выключается не пытаясь пахать на заряде конденсаторов. Вот меня собственно и интересовала часть бп (схема) которая формирует сигнал 50Гц синхронизации.
Нашел схему на 4пда. Тему можно закрыть. Всем спасибо.
0 -
Ищу схему трансформаторного бп для сабжа. Может здесь есть те, кто менял штатный иип на трансформатор для уменьшения шумов и гальванической развязки. Интересует также схема штатного иип. Точнее то, как формируются импульсы 50Гц (крайний вывод в разъеме)
0 -
Сгруппировав пины по портам, поднял этот экран на регистрах. Прирост в быстродействии 7 раз (~ 800 fps) Дисплей держит максимальную скорость 180 fps
1 -
В опытах учавствовали:
PIC16F887 на частоте 20МГц удалось выжать 20 кадров в секунду (сужу по импульсам кадровой синхронизации) заметно мерцание.
PIC18F252 на частоте 40МГц - 37 кадров но и ресурсов для другой работы нет почти.
STM32F406 на частоте 168МГц - 113 кадров в сек (если выводить изображение с частотой 50 Гц то впринципе еще много времени для другой работы остается)
У меня есть жменя STM32F405 думаю сделаю на нем подобие видюхи с SPI интерфейсом. Или на худой конец PIC24FJ256GB110 вроде SRAM в нем хватает на кадр.
void PinInitial(void){ dispoff_set(); // Display ON led_set(); // Green led ON flm_reset(); cl1_reset(); cl2_reset(); } void LoadHiByte(unsigned char data){ /*Send higher nibble*/ if(((data >> 7)&0x01)==1) {d3_set();} else {d3_reset();} if(((data >> 6)&0x01)==1) {d2_set();} else {d2_reset();} if(((data >> 5)&0x01)==1) {d1_set();} else {d1_reset();} if(((data >> 4)&0x01)==1) {d0_set();} else {d0_reset();} } void LoadLoByte(unsigned char data){ /*Send lower nibble*/ if(((data >> 3)&0x01)==1) {d3_set();} else {d3_reset();} if(((data >> 2)&0x01)==1) {d2_set();} else {d2_reset();} if(((data >> 1)&0x01)==1) {d1_set();} else {d1_reset();} if((data&0x01)==1) {d0_set();} else {d0_reset();} } void FrameSync(void){ flm_set(); for(int s = 0; s < 2; s++); cl1_set(); for(int s = 0; s < 2; s++); cl1_reset(); for(int s = 0; s < 2; s++); flm_reset(); } void LoadFourBits(void){ cl2_set(); for(unsigned char s = 0; s < dtc; s++); cl2_reset();for(unsigned char s = 0; s < dtc; s++); } void NextString(void){ cl1_set(); for(unsigned char s = 0; s < dtc; s++); cl1_reset(); } void DrawFrame(void){ FrameSync(); for(int str = 0; str < 240; str++ ){ for(int px = 0; px < 320/8; px++ ) { LoadHiByte(img[count]); LoadFourBits(); LoadLoByte(img[count]); LoadFourBits(); count ++; if(count == 9600) { count = 0; } } NextString(); } } int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); PinInitial(); HAL_Delay(100); while (1) { DrawFrame(); } }
Рабочий говнокод для дискавери. Впринципе по нему понятно что и как делать.
1 -
Короче ОЙ... просто нет нормальных слов... когда уже эти ребята из winstar научатся делать документацию.
Итак по порядку. Перечитал даташитов на neotek ну штук 30 наверное и только в двух или в трех вскользь написано про кадровую синхронизацию. Про загрузку строки написано в всех (почти во всех) и как перейти на следующую строку НО! без кадровой синхронизации получим 240 одинаковых строк какой бы массив данных не выводили. И это еще не все. Мой экземпляр напрочь отказался работать от напряжения выше 4,2В. От слова совсем. При питании от 5В (лабораторник или usb компа) напряжение на VEE вместо положенных -28В приближалось к -36В и резистором в 10К настроить контрастность невозможно (Карл!) даже выкрутив его в крайнее положение еле еле заменто на белом фоне изменение пикселей.
1 -
даташит NT7086PQ, таких на плате дистлея 7 штук.
распиновка разьема в файле
Даташит на дисплей WG320240A-TFH-TZ#
я так и не разобрался как дергать пины FLM, CL1, CL2
у меня только получилось залить весть экран по строкам
0 -
1 час назад, Lexter сказал:
Этот форум - первое место, с которого вы начали поиск?
Про этот дисплей есть вся необходимая и достаточная информация на сайтах производителей и ссылки на неё практически у каждого продавца. Ищется за пару секунд.
Достаточно всего двух документов:
с В0 моя бабушка справится. В сабже нет контроллера, только драйверы строк и столбцов.
0 -
Ищу инфу по сабжу, как с ним работать, может у кого есть опыт.
0 -
1 час назад, bigmanlav сказал:
Нереально. Только у производителя.
Спасибо за ответ. Буду обращаться туда, где покупал. Хотя уже надежды немного, т.к. сабж снят с производства 6 лет назад.
0 -
Собственно долго и пока безрезультатно ищу схему на сабж. Может кому встречалась.
0 -
6 часов назад, Alex сказал:
Ну, ё-маё... Чего-чего, а такое не простительно ...
согласен. там просто всякого дерьма висит... и дисплей и sd катра и юсб и внешняя eeprom. видимо я вчера ночью просто устал)
0 -
5 минут назад, IMXO сказал:
попробуйте в регистре ANSELC переключить пины на цифровые
Оно. как я мог про него забыть. Спасибо милый человек.
0 -
пардон. только на передачу
вот usart2
void USART_Init(long baud_rate) { float temp; TRISB6=0; /* Make Tx pin as output*/ TRISB7=1; /* Make Rx pin as input*/ /* Baud rate=9600, SPBRG = (F_CPU /(64*9600))-1*/ temp= (( (float) (F_CPU) / (float) baud_rate ) - 1); SP2BRG = (int) temp; TX2STA = 0x20; /* Enable Transmit(TX) */ RC2STA = 0xB0; /* Enable Receive(RX) & Serial */ } unsigned char USART_ReceiveChar() { while(PIR3bits.RC2IF==0); return RC2REG; }
байт принимается
вот usart1
void USART_Init(long baud_rate) { float temp; TRISC6=0; /* Make Tx pin as output*/ TRISC7=1; /* Make Rx pin as input*/ /* Baud rate=9600, SPBRG = (F_CPU /(64*9600))-1*/ temp= (( (float) (F_CPU) / (float) baud_rate ) - 1); SP1BRG = (int) temp; TX1STA = 0x20; /* Enable Transmit(TX) */ RC1STA = 0xB0; /* Enable Receive(RX) & Serial */ } void USART_TransmitChar (unsigned char out) { while(PIR1bits.TX1IF==0); TX1REG = out; } unsigned char USART_ReceiveChar() { while(PIR1bits.RC1IF==0); return RC1REG; }
байт передается, приема нет
делал и так, разницы нет
void USART_Init(long baud_rate) { float temp; TRISC6=0; /* Make Tx pin as output*/ TRISC7=1; /* Make Rx pin as input*/ /* Baud rate=9600, SPBRG = (F_CPU /(64*9600))-1*/ temp= (( (float) (F_CPU) / (float) baud_rate ) - 1); SPBRG = (int) temp; TXSTA = 0x20; /* Enable Transmit(TX) */ RCSTA = 0xB0; /* Enable Receive(RX) & Serial */ } unsigned char USART_ReceiveChar() { while(PIR1bits.RCIF==0); return RCREG; }
скорости ставил от 9600 и выше, прогресса пока нет(
0 -
46 минут назад, Alex сказал:
Ой, порты разные, точно
@Main_18 , где остальной код, который принимает данные ?
И опишите вкраце, что куда подключено, откуда и какие данные принимаете ...Мы на производстве используем эти процы, УАРТы (оба) работают безупречно.
соединен 18F2550 с 18F25K22
читал так
unsigned char USART_ReceiveChar() { // while(PIR1bits.RC1IF==0); return RC1REG; } и так unsigned char USART_ReceiveChar() { while(PIR1bits.RC1IF==0); if(RC1STAbits.OERR) { RC1STAbits.CREN = 0; NOP(); RC1STAbits.CREN=1; } return(RC1REG); }
В том то и дело, что беру этот же код, меняю TRISC7, TRISC6 на TRISB7, TRISB6
SP1BRG, TX1STA, RC1STA на соответственно SP2BRG, TX2STA и RC2STA перекидываю провода на uart2 все прекрасно читается в RC2REG есть принятый байт
видел заметки по поводу проблем с уартом у этого чипа на максимальной частоте 64МГц, пойду почитаю что там пишут.
0 -
читал. за вчера столько инициализаций на писал что всех не упомню. конкретно эта работает (проверено на многих пиках за все время) и на этом я выше писал, что usart 2 работает и на прием и на передачу, usart 1 работает на прием, в терминале байты целые. уверен, скорость здесь ни при чем
0 -
8 часов назад, IMXO сказал:
а можете объяснить зачем вы пин приемника 1юарта настраиваите на выход?
TRISCbits.TRISC6 = 1;
TRISCbits.TRISC7 = 0; ?????опечатка. в коде все хорошо. TRISC6 = 0, TRISC7 = 1. В даташите написано вообще настраивать оба пина на вход, модуль сам при приеме и передаче настраивает пины. Результата это не дало естественно. ни один флаг RCxIF не выпадает при попытке приема первым уартом ( вчера уже проверил все, даже те, которые к uart1 не относятся
RCIF, RC1IF, RCIF1
при приеме uart 2 RC2IF как положено становится 1
7 часов назад, Alex сказал:Ещё и для разных UART'ов одни и те же пины пытается использовать
вот это вот обидно было, как будто в оба глаза наплевали.
0 -
Доброго времени суток всем. Выручайте, у меня уже едет крыша. Не могу прочитать uart 1 на pic18f25k22 работает только отправка данных. uart 2 работает нормально и на отправку данных и на чтение.
Инициализация обычная
void USART_Init(long baud_rate) { TRISCbits.TRISC6 = 1; TRISCbits.TRISC7 = 0; float temp; temp=(( (float) (F_CPU) / (float) baud_rate) - 1); SP1BRG = (int) temp; /* Baud rate=9600 SPBRG=(F_CPU /(64*9600))-1*/ TX1STA = 0x20; /* TX enable; */ RC1STA = 0xB0; /* RX enable and serial port enable*/ }
RC1REG всегда 0x00 если пытаюсь читать посылку. отправка работает нормально, если положить байт в TX1REG все отправляется.
беру usart 2 на этом же чипе
void USART_Init(long baud_rate) { TRISBbits.TRISB7 = 1; TRISBbits.TRISB6 = 0; float temp; temp=(( (float) (F_CPU) / (float) baud_rate) - 1); SP2BRG = (int) temp; /* Baud rate=9600 SPBRG=(F_CPU /(64*9600))-1*/ TX2STA = 0x20; /* TX enable; */ RC2STA = 0xB0; /* RX enable and serial port enable*/ }
все прекрасно работает и на чтение и на запись. Мистика. Пробовал через прерывания и без них, usart 2 работает без нареканий, usart 1 только на передачу.
соединил два 18F2550 по уарту, все прекрасно один пишет, второй читает. Что не так с 18F25K22 кто подскажет?
0
Замена блока питания в осциллографах Hantek DSO2000
в Обсуждение материалов с сайта
Опубликовано
Все верно. Рядом с ними есть контрольные точки, смотрите шелкографию на плате.
Ну конечно калибровку проводил. На форму волны это не влияет, влияет на измерение постоянного напряжения.
NiMN акб в прямом и обратном подключении.
Естественно, при измерении бОльших напряжений разница будет бОльше. Если будете свой разбирать, чекните опорное напряжение на АЦП.
78хх\79хх есть с разными допусками 4%, 2%, 1% вообще тут или входные усилители косячат или опора ацп смещена. Другого на ум не приходит.