Блоки питания, преобразователи напряжения, UPS'ы - это здесь :)
Ответить

Re: Лабораторный БП PSL-3604

Сб май 07, 2022 19:21:59

https://www.radiokot.ru/forum/viewtopic.php?p=2533716 библиотека tftbmp.ino

Re: Лабораторный БП PSL-3604

Сб май 14, 2022 20:05:19

Запустил сенсорную панель, сделал таблицу возможных подключений сенсорной панели. Начал перебирать и заработало на этом варианте
Код:
//*** SCREEN PORTS ********
#if TS_INVERTED == NO
//****** Y -
  #define TS_ADC_YM_CHANEL      ADC_Channel_14
   #define TS_YM_PORT            GPIOC
   #define TS_YM_PIN             4

//***** Y +
   #define TS_ADC_YP_PORT           GPIOB
   #define TS_ADC_YP_PIN           7   

//***** X -
   #define TS_ADC_XM_CHANEL      ADC_Channel_15
   #define TS_ADC_XM_PORT           GPIOC
   #define TS_ADC_XM_PIN           5
   
//***** X +
   #define TS_XP_PORT            GPIOB
   #define TS_XP_PIN             6

Re: Лабораторный БП PSL-3604

Ср май 18, 2022 11:47:07

Немного дополню информации, попалась статья "работа с touchscreen" где в описании интересные строки
Если на выводы пластины, к которой подаётся напряжение, вместо LOW подать HIGH, а вместо HIGH подать LOW (поменять местами уровни выводов), то считанное значение будет не обратно, а прямо пропорционально координате касания.

Поменял местами в функции uint16_t ts_Y_get_physic(void)
Код:
YP_OUT; YP_0; //YP_1
   YM_OUT; YM_1; //YM_0

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

Re: Лабораторный БП PSL-3604

Вс июл 24, 2022 19:02:19

Собрал переднюю панель блока, прошил контроллер. При подаче 5в на XP4 не загораются индикаторы. На нажатие кнопок панель реагирует характерным писком. Куда копать?

Re: Лабораторный БП PSL-3604

Пн июл 25, 2022 10:09:15

Подскажите по блоку? Для заливки прошивки достаточно подключить ЛБП к компу ? Если на ЛБП стоит чистый микроконтролер и чистая флешка.

Re: Лабораторный БП PSL-3604

Пн июл 25, 2022 10:10:18

ecat, платы где заказывал?

Re: Лабораторный БП PSL-3604

Пн июл 25, 2022 10:14:50

Куда копать?
Думаю перво-наперво проверить питание 3.3 и 5 V на МК и 74HCT595, смотреть непропаи и сопли. Какие индикаторы стоят с общим анодом или катодом? Может индикаторы вверх ногами вставлены.

Re: Лабораторный БП PSL-3604

Пн июл 25, 2022 10:37:17

Подайте не 5В, а 4,5в. У меня при 5в регистры затыкались, при 4,7в работали стабильно, может такая же ситуация. В итоге вместо 5в выставил на стабе 4,7в так и оставил.

Re: Лабораторный БП PSL-3604

Пн июл 25, 2022 11:30:47

А впаяна STM32F100С8T6 или 103

Re: Лабораторный БП PSL-3604

Пн июл 25, 2022 15:47:32

Для заливки прошивки достаточно подключить ЛБП к компу ?
А что ещё можно придумать?
Для обновления прошивки необходимо подключение источника питания к
компьютеру через интерфейс USB. Обновление производится с помощью программы Flash
Loader Demonstrator от фирмы STM. Для того чтобы программа могла связаться с
микроконтроллером, нужно запустить встроенный загрузчик. Делается это
кратковременным нажатием кнопки BOOT на процессорной плате источника. После этого
нужно запустить Flash Loader Demonstrator и, следуя инструкциям, загрузить в
микроконтроллер источника обновленный файл прошивки psl-3604.hex. Затем следует
сбросить микроконтроллер, что можно сделать нажатием кнопки RESET на процессорной
плате или кратковременным выключением питания источника. После этого запустится
обновленная прошивка.
Или в чём вопрос?

Re: Лабораторный БП PSL-3604

Вт июл 26, 2022 09:33:29

[quote="amv2000"][/quote]Или в чём вопрос?
Так там написано в инструкции для смены версии прошивки. А не для прошивки.
Спасибо за ответ с микроконт не дружу по этому и спрашиваю

Re: Лабораторный БП PSL-3604

Вт июл 26, 2022 16:07:46

Можно ещё через разъём SWD, но нужен программатор ST-Link V2.

Re: Лабораторный БП PSL-3604

Вс авг 07, 2022 16:03:30

Запустил сенсорную панель, сделал таблицу возможных подключений сенсорной панели. Начал перебирать и заработало на этом варианте

Подскажите как вывести hex? у меня именно в этом проекте почему-то не выводится

Re: Лабораторный БП PSL-3604

Пн авг 08, 2022 08:16:15

как вывести hex?
https://www.keil.com/support/man/docs/u ... exfile.htm если кратко
в опциях проекта (Options for Target) на вкладке "Output" Установить галочку напротив строчки "Create HEX File"

Re: Лабораторный БП PSL-3604

Вт авг 09, 2022 01:48:24

Наконец-то разобрался как вывести hex. Он ещё не хотел из-за того что не указал библиотеки и не активировал.
Экран запустил на чьей-то прошивки с названием ili9341 (у меня экран 9340)
Но проблема ч том что энкодер работает только в одну сторону.
Установил последнюю прошивку от автора, раскоментировав свой экран. Но там вообще не работает энкодер и кнопки и тач не завёлся https://ibb.co/F82Rh7y

Re: Лабораторный БП PSL-3604

Вт авг 09, 2022 13:30:55

энкодер работает только в одну сторону
Пока не установишь в настройках максимальное напряжение и ток, энкодер не корректно работает. И там же в настройках включается сенсорная панель. У себя вообще в обработке энкодера убрал эти строки
Код:
//****** NO SPEED FAST PROCESSING *********************************
   static uint8_t stateEnc;
   uint8_t tmp;
   uint8_t currentState = 0;

   if ( GPIO_CHECK(ENCODER_A_PORT, ENCODER_A_PIN) != 0 ) { SetBit(currentState,0); }
   if ( GPIO_CHECK(ENCODER_B_PORT, ENCODER_B_PIN) != 0 ) { SetBit(currentState,1); }

   tmp = stateEnc;
   if ( currentState == (tmp & 3)) { encoder_BUFFER = ENC_NOP; return ENC_NOP; }
   tmp = (tmp<<2)|currentState;
   stateEnc = tmp;
   if (tmp == 225) { encoder_BUFFER = ENC_STEP; }
   if (tmp == 210) { encoder_BUFFER = - ENC_STEP; }
И добавил реверс.
Экран запустил на чьей-то прошивки с названием ili9341 (у меня экран 9340)
А что, если выбрать #define SUPPORT_9340 в файле LCD_DRIVER.h, то дисплей не работает?
Код:
#if defined( SUPPORT_9340 ) || defined(SUPPORT_9341)   
   #if defined(SUPPORT_9340)
        _lcd_ID = 0x9340;
        _lcd_capable = AUTO_READINC | MIPI_DCS_REV1 | MV_AXIS | READ_24BITS | REV_SCREEN;
   #elif defined(SUPPORT_9341)
        _lcd_ID = 0x9341;
   #endif
        _lcd_capable = AUTO_READINC | MIPI_DCS_REV1 | MV_AXIS | READ_24BITS;
        static const uint8_t ILI9341_regValues_2_4[]   = {        // BOE 2.4"
            0xF6, 3, 0x01, 0x01, 0x00,  //Interface Control needs EXTC=1 MV_EOR=0, TM=0, RIM=0
            0xCF, 3, 0x00, 0x81, 0x30,  //Power Control B [00 81 30]
            0xED, 4, 0x64, 0x03, 0x12, 0x81,    //Power On Seq [55 01 23 01]
            0xE8, 3, 0x85, 0x10, 0x78,  //Driver Timing A [04 11 7A]
            0xCB, 5, 0x39, 0x2C, 0x00, 0x34, 0x02,      //Power Control A [39 2C 00 34 02]
            0xF7, 1, 0x20,      //Pump Ratio [10]
            0xEA, 2, 0x00, 0x00,        //Driver Timing B [66 00]
            0xB0, 1, 0x00,      //RGB Signal [00]
            0xB1, 2, 0x00, 0x1B,        //Frame Control [00 1B]
            //            0xB6, 2, 0x0A, 0xA2, 0x27, //Display Function [0A 82 27 XX]    .kbv SS=1 
            0xB4, 1, 0x00,      //Inversion Control [02] .kbv NLA=1, NLB=1, NLC=1
            0xC0, 1, 0x21,      //Power Control 1 [26]
            0xC1, 1, 0x11,      //Power Control 2 [00]
            0xC5, 2, 0x3F, 0x3C,        //VCOM 1 [31 3C]
            0xC7, 1, 0xB5,      //VCOM 2 [C0]
            0x36, 1, 0x48,      //Memory Access [00]
            0xF2, 1, 0x00,      //Enable 3G [02]
            0x26, 1, 0x01,      //Gamma Set [01]
            0xE0, 15, 0x0f, 0x26, 0x24, 0x0b, 0x0e, 0x09, 0x54, 0xa8, 0x46, 0x0c, 0x17, 0x09, 0x0f, 0x07, 0x00,
            0xE1, 15, 0x00, 0x19, 0x1b, 0x04, 0x10, 0x07, 0x2a, 0x47, 0x39, 0x03, 0x06, 0x06, 0x30, 0x38, 0x0f,
        };
        table8_ads = ILI9341_regValues_2_4, table_size = sizeof(ILI9341_regValues_2_4);   //
//         static const uint8_t ILI9341_regValues_ada[]   = {    // Adafruit_TFTLCD only works with EXTC=0
//            //                     0xF6, 3, 0x00, 0x01, 0x00,  //Interface Control needs EXTC=1 TM=0, RIM=0
//            //            0xF6, 3, 0x01, 0x01, 0x03,  //Interface Control needs EXTC=1 RM=1, RIM=1
//            0xF6, 3, 0x09, 0x01, 0x03,  //Interface Control needs EXTC=1 RM=0, RIM=1
//            0xB0, 1, 0x40,      //RGB Signal [40] RCM=2
//            0xB4, 1, 0x00,      //Inversion Control [02] .kbv NLA=1, NLB=1, NLC=1
//            0xC0, 1, 0x23,      //Power Control 1 [26]
//            0xC1, 1, 0x10,      //Power Control 2 [00]
//            0xC5, 2, 0x2B, 0x2B,        //VCOM 1 [31 3C]
//            0xC7, 1, 0xC0,      //VCOM 2 [C0]
//            0x36, 1, 0x88,      //Memory Access [00]
//            0xB1, 2, 0x00, 0x1B,        //Frame Control [00 1B]
//            0xB7, 1, 0x07,      //Entry Mode [00]
//        };
//            table8_ads = ILI9341_regValues_ada, table_size = sizeof(ILI9341_regValues_ada);   //
#define HEIGHT  320
        #define WIDTH  240
#endif      

Re: Лабораторный БП PSL-3604

Вт авг 09, 2022 14:43:35

И добавил реверс.

Это отлично! Как раз у меня все китайские энкодеры идут наоборот
если выбрать #define SUPPORT_9340 в файле LCD_DRIVER.h, то дисплей не работает?

нет. выбирал и 9341 и другие пробовал. Экран не работает, ставлю ту прошивку, экран заводится
PSL3604 ILI 9341_3 название прошивки, брал вроде ее на diod, но сейчас он вообще не работает

Re: Лабораторный БП PSL-3604

Вт авг 09, 2022 16:18:37

А откуда уверенность, что дисплей ILI9340?

Re: Лабораторный БП PSL-3604

Вт авг 09, 2022 16:21:01

Только из-за того что на нем написано. Но даже если раскоментировать ili9341 (судя по названию прошивки) он тоже не работает

Сейчас перебираю по порядку, пока не завелся, больше половины прошел уже

Re: Лабораторный БП PSL-3604

Ср авг 10, 2022 09:18:25

перебираю по порядку, пока не завелся, больше половины прошел уже
Запустился или глухо?
Ответить