Перейти к содержанию

Main_18

Members
  • Постов

    22
  • Зарегистрирован

  • Посещение

Весь контент Main_18

  1. Все верно. Рядом с ними есть контрольные точки, смотрите шелкографию на плате. Ну конечно калибровку проводил. На форму волны это не влияет, влияет на измерение постоянного напряжения. NiMN акб в прямом и обратном подключении. Естественно, при измерении бОльших напряжений разница будет бОльше. Если будете свой разбирать, чекните опорное напряжение на АЦП. 78хх\79хх есть с разными допусками 4%, 2%, 1% вообще тут или входные усилители косячат или опора ацп смещена. Другого на ум не приходит.
  2. В моем 2D15 родной бп выдавал нормальные напряжения, но после линейных стабилизаторов цепи питания входных усилителей было +4.99В и -4.93В соответственно. Из-за этого была разница в показаниях амплитуды в прямом и обратном включении. А у Вас как с этим дела обстоят?
  3. Да, делали такую развязку, трансов по 15 ватт хватает. USB не пользуюсь, долгое время отклика (около секунды) напрягает.
  4. Совершенно верно. Видел даже как некоторые товарищи выламывали заземляющий штырек в гнезде. Ну и конечно по классике с родным бп на корпусе осцила ~110В. Классика. На приведенной мной схеме с 4пда указаны какие-то аццкие токи. Потребление моего 2d15 12 Ватт. По цифровым +5В - 1,1А Аналоговые +-8В ток совсем маленький около 200мА
  5. Так я это... конкретно думал, что ответит тот кто имел дело с этими самыми 2c10 и 2d15 (без обид) а не заставлять пользователей которые "не в теме" искать в гуглах схемы и тд. Поясню суть дела. У этих моделей сильно греется штатный бп (диоды до 90 градусов, электролиты до 70) + сильно шумит. Я начитался интернетов по переделке бп на трансформаторные, но там как оказалось есть один нюанс. С платы бп идет сигнал 50Гц для синхронизации по сети. Так вот, люди в интернетах пишут, что в старых версиях на этот сигнал можно было забить и вообще убрать. Однако в новых этот сигнал 50Гц еще отслеживается процессором для того, чтоб осцил в момент когда его выключают не работал на остаточном заряде электролитов какое-то время (видимо доли секунды) и не сходил с ума от этого иногда со слетом прошивки. Короче он отслеживает сеть 50Гц и как только эти 50Гц пропали сразу выключается не пытаясь пахать на заряде конденсаторов. Вот меня собственно и интересовала часть бп (схема) которая формирует сигнал 50Гц синхронизации. Нашел схему на 4пда. Тему можно закрыть. Всем спасибо.
  6. Ищу схему трансформаторного бп для сабжа. Может здесь есть те, кто менял штатный иип на трансформатор для уменьшения шумов и гальванической развязки. Интересует также схема штатного иип. Точнее то, как формируются импульсы 50Гц (крайний вывод в разъеме)
  7. Сгруппировав пины по портам, поднял этот экран на регистрах. Прирост в быстродействии 7 раз (~ 800 fps) Дисплей держит максимальную скорость 180 fps
  8. В опытах учавствовали: 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(); } } Рабочий говнокод для дискавери. Впринципе по нему понятно что и как делать.
  9. Короче ОЙ... просто нет нормальных слов... когда уже эти ребята из winstar научатся делать документацию. Итак по порядку. Перечитал даташитов на neotek ну штук 30 наверное и только в двух или в трех вскользь написано про кадровую синхронизацию. Про загрузку строки написано в всех (почти во всех) и как перейти на следующую строку НО! без кадровой синхронизации получим 240 одинаковых строк какой бы массив данных не выводили. И это еще не все. Мой экземпляр напрочь отказался работать от напряжения выше 4,2В. От слова совсем. При питании от 5В (лабораторник или usb компа) напряжение на VEE вместо положенных -28В приближалось к -36В и резистором в 10К настроить контрастность невозможно (Карл!) даже выкрутив его в крайнее положение еле еле заменто на белом фоне изменение пикселей.
  10. даташит NT7086PQ, таких на плате дистлея 7 штук. распиновка разьема в файле Даташит на дисплей WG320240A-TFH-TZ# я так и не разобрался как дергать пины FLM, CL1, CL2 у меня только получилось залить весть экран по строкам
  11. с В0 моя бабушка справится. В сабже нет контроллера, только драйверы строк и столбцов.
  12. Main_18

    Winstar WX320240A-TFH-TZ#

    Ищу инфу по сабжу, как с ним работать, может у кого есть опыт.
  13. Спасибо за ответ. Буду обращаться туда, где покупал. Хотя уже надежды немного, т.к. сабж снят с производства 6 лет назад.
  14. Собственно долго и пока безрезультатно ищу схему на сабж. Может кому встречалась.
  15. Main_18

    USART PIC18F25K22

    согласен. там просто всякого дерьма висит... и дисплей и sd катра и юсб и внешняя eeprom. видимо я вчера ночью просто устал)
  16. Main_18

    USART PIC18F25K22

    Оно. как я мог про него забыть. Спасибо милый человек.
  17. Main_18

    USART PIC18F25K22

    пардон. только на передачу вот 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 и выше, прогресса пока нет(
  18. Main_18

    USART PIC18F25K22

    соединен 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МГц, пойду почитаю что там пишут.
  19. Main_18

    USART PIC18F25K22

    читал. за вчера столько инициализаций на писал что всех не упомню. конкретно эта работает (проверено на многих пиках за все время) и на этом я выше писал, что usart 2 работает и на прием и на передачу, usart 1 работает на прием, в терминале байты целые. уверен, скорость здесь ни при чем
  20. Main_18

    USART PIC18F25K22

    опечатка. в коде все хорошо. TRISC6 = 0, TRISC7 = 1. В даташите написано вообще настраивать оба пина на вход, модуль сам при приеме и передаче настраивает пины. Результата это не дало естественно. ни один флаг RCxIF не выпадает при попытке приема первым уартом ( вчера уже проверил все, даже те, которые к uart1 не относятся RCIF, RC1IF, RCIF1 при приеме uart 2 RC2IF как положено становится 1 вот это вот обидно было, как будто в оба глаза наплевали.
  21. Main_18

    USART PIC18F25K22

    Доброго времени суток всем. Выручайте, у меня уже едет крыша. Не могу прочитать 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 кто подскажет?
×
×
  • Создать...