#301 Re: Апаратні питання » Сушилка для філаменту на Arduino. » 2025-04-04 12:37:59

Vanmid пише:

Я використовую цю понижайку
...
То ще раз які конденсатори варто встановити перед а які після?

Для дуйчика +12V і землю підключаєте окремими проводами якомога ближче до виходу з блока живлення. На стороні дуйчика ставите електроліт.
На LM2596 +12V і землю теж підключаєте окремими проводами, перед LM2596 теж ставите електроліт. На самій LM2596 накручуєте 8-9 вольт, з неї подаєте на Vin ардуіни. Живлення периферії (DHT11, LCM1602) та підтяжки енкодера берете з піна +5V ардуінівської плати.
Сигнальну землю на керування дуйчиком підключаєте окремими проводами до ардуінівської GND.

#302 Re: Апаратні питання » Сушилка для філаменту на Arduino. » 2025-04-04 10:36:33

Vanmid пише:

Я використовую цю понижайку

Тобто у вас там не лінійний регулятор (як на вашій же схемі), а DC-DC? Навіщо? І які напруга/струм там нарегульовані? Тоді окрім конденсаторів на виході ще і дросель би не завадив.

Vanmid пише:

То ще раз які конденсатори варто встановити перед а які після?

Та хоча б 100-470 мкФ плюс кераміка до, і кераміка після. І перед дуйкою 100-1000 мкФ. Але якщо залишити наплутане з живленням ардуіни, як на вашій схемі, то конденсатори не допоможуть.

#303 Re: Апаратні питання » Сушилка для філаменту на Arduino. » 2025-04-04 10:18:35

Доречі, як реалізоване керування мосфетами в дуйчику? Які мосфети там стоять? На затвор іде напряму з піна ардуіни, без буфера чи резистора? Якщо так, то при достатньо великій ємності затвора при увімкненні мосфета на піні практично к.з. і просадка живлення.

#304 Re: Апаратні питання » Сушилка для філаменту на Arduino. » 2025-04-04 10:06:53

jokeR пише:

Або заживити ардуїну через окремий dc-dc конвертор. https://arduino.ua/prod5471-mini-modyl-ponijaushhego-preobrazovatelya-mp1482-mini360-v2 наприклад.

То, мені здається, вже зайве. З лінійним регулятором ККД виходить порядка 25-35%. Не думаю, що MP1482 при струмі в пару десятків міліампер дасть кращий ККД. Та і заради чого? DC-DC і сам шумить.

Якщо використовувати вбудований регулятор ардуіни, тоді U1 ставити на 7.5-9 вольт, а периферію живити з +5V ардуінівської плати.
Якщо зовнішній 5-вольтовий, тоді ардуіні живлення подавати на +5V.

#305 Re: Апаратні питання » Сушилка для філаменту на Arduino. » 2025-04-04 07:53:51

З електричної схеми незрозуміло, як у вас все розведено фізично. На дуйку живлення має йти окремою шиною, як плюс, так і земля. А також конденсатори перед самою дуйкою. 150 Ватт при 12 вольтах - це ж більше 10 А. Там нема окремих входів для силового живлення і сигнального?

Окрім недостачі ємності конденсаторів до і після LM7805, електроліти бажано ставити кілька штук паралельно, щоб знизити ESR. Кераміку по обидва боки можна навіть по дві штуки різних номіналів, наприклад 0.47 мкФ і 0.01 мкФ.

У вас із U1 5 В іде на вхід Vin ардуіни. Якщо на ардуіні 5-вольтовий регулятор, то при 5 вольтах на вході він уже нічого не регулює, на ньому тільки падає кілька сотень мілівольт. Якщо регулятор 3.3-вольтовий, то виходить, що периферія живиться 5 вольтами, а інтерфейс на 3.3.

Для атмеги бажано увімкнути BOD (brown-out detector) на 4.5В.

#306 Re: Програмування Arduino » рисуем график данных на TFT-дисплее » 2025-04-02 10:31:43

renoshnik пише:

FAST використовується тільки для горизонтальних і вертикальних ліній у графіку мені не вдалося використати FAST hmm

Там же в коді все написано. Якщо макрос FAST_LINE визначений, то звичайна drawLine() використовує оптимізований алгорим, який вертикальні та горизонтальні сегменти більше двох пікселів малює за допомогою Fast Line, тому працює швидше. Але код функції на 116 байтів більший. Якщо FAST_LINE не визначений, то drawLine() використовує класичну реалізацію алгоритму Брезенхема, яка повільніша, але менша за розміром.

renoshnik пише:

***  може проблеми з кольором через орієнтацію екрану hmm

Все може бути. Якщо ця конфігурація впливає на обчислення адреси (хоч програмно, хоч апаратно в самому контроллері), то теж може. Потрібно повиводити тестові зображення. Спочатку просто пікселі різних кольорів. З парними та непарними координатами. Якщо все ок, тоді лінії, теж різних кольорів, з парними і непарними координатами початку та кінця. Потім, по результатам, дивитись в реалізацію бібліотеки та документацію на контроллер.

#307 Re: Апаратні питання » STM32f429 LTDC VGA джитер » 2025-04-02 03:36:05

duron пише:

p.s. Саме зміна третього пункту допомогла, з першими 2 пунктами атрефакти все ще були.

А #define SDRAM_READBURST FMC_Read_Burst_Disable якось впливає?

#308 Re: Програмування Arduino » рисуем график данных на TFT-дисплее » 2025-04-02 00:35:38

renoshnik пише:

Так FAST_LINE застосовується для прямих ліній, дійсно так правильніше було малювати осі координат...

Я маю на увазі, що в залежності від значення макроса FAST_LINE під час компіляції використовується або одна, або інша реалізація TFT_ST7735::drawLine().

renoshnik пише:

Що до розміру екрану, то кінцеві точки я визначив візуально підбором, бо параметрів екрану я не знав.

Там розмір екрана задається параметрами конструктора:

  TFT_ST7735(int16_t _W = ST7735_TFTWIDTH, int16_t _H = ST7735_TFTHEIGHT);

і за замовчуванням це 128x160.

Враховуючи всю ту "магію" з MADCTL та іншими параметрами, а також зоопарком варіантів модулів з клонами ST7735, при некоректній ініціалізації можуть невірно розраховуватись адреси пікселів, які попадають в середину пікселя, що виглядає як спотворення кольорів.
Я би для початку повиводив прості тестові зображення, щоб побачити закономірність.

#309 Re: Апаратні питання » STM32f429 LTDC VGA джитер » 2025-04-02 00:03:41

duron пише:

Ще не перевіряв, виходить що ще може бути проблема в самій мікросхемі SDRAM?

Я б сказав "десь між формувачем адреси в МК і декодером адреси в мікросхемі SDRAM". Малоймовірно, що збоїть десь в самому МК чи після декодера в SDRAM, хоча таке теж не виключено.

90 МГц - не така висока частота по сучасним міркам, але нюанси розводки плати і монтажу вже мають значення. І при одних зовнішніх умовах (електромагнітний фон, якість живлення) може працювати стабільно, при інших уже ні.

duron пише:

Але якщо опустити частоту ядра до 80мГц відповідно частота SDRAM при цьому  опускається до 40мГц, то працює і на GPIO_Speed_2MHz, з тими ж артефактами.  roll

Тобто від абсолютного значення частоти не залежить, характеристики лінії, схоже, не впливають. Тоді залишаються таймінги відносно тактової частоти.

duron пише:

Маркування SDRAM що у мене на платі IS42S16400J-7TL, даташит каже що із закінченням -7 (CAS Latency=3 143Mhz) (CAS Latency=2 133Mhz) навіть так, запасу по частоті має вистачати.

Якщо нічого не плутаю, то для динамічної памʼяті занадто низька частота зі сторони хоста теж не є добре. Хоча тут можу помилятись.

#310 Re: Програмування Arduino » рисуем график данных на TFT-дисплее » 2025-04-01 22:58:08

renoshnik пише:

В лібі поки нічого підозрілого не знайшов...

Ця ліба? Там два варіанта реалізації drawLine(), з FAST_LINE і без.

Якщо у вас 158x125, то

   int endX = 158;       			// Окончание координат по X (правый край экрана)
   int originY = 125;    			// Начало координат по Y (нижний край экрана)

мало би бути

   int endX = 157;
   int originY = 124;

хіба ні?

#311 Re: Апаратні питання » STM32f429 LTDC VGA джитер » 2025-04-01 22:26:12

duron пише:

Це типу тест на перевірку цілісності даних у пам'яті.

Не стільки цілісність даних, скільки надійність комунікації. Дані-то читаються наче б то правильні, тільки не з тих адрес smile

duron пише:

Єдине що дає результат, це зменшення швидкості роботи пінів що підключаються до  SDRAM.
При налаштуванні пінів на 50мГц артефакти майже постійно присутні на екрані.
При налаштуванні пінів на 25мГц артефакти на екрані з'являються десь періодичністю 3 - 4 рази на хвилину.

Занадто різкі фронти спричиняють дзвін, який дає (додає) завади. 25 і 50 МГц - це ж тільки умовні позначення, насправді конфігурується вихідний опір, який впливає на крутизну фронтів та спектр. Фактичний спектр залежить від характеристики навантаження.
Із цікавості, не пробували ставити low speed (GPIO_Speed_2MHz)?

Ще, в програмі SD clock frequency конфігурується на 90 МГц, а в даташиті на IS42S16400J говориться про "Clock frequency: 200, 166, 143, 133 MHz".

#312 Re: Апаратні питання » STM32f429 LTDC VGA джитер » 2025-04-01 08:34:46

duron пише:

Візуально все припаяно добре, пробував деформувати плату і натискати на мікросхеми, реакції на це немає.

Можна спробувати потестити програмно. Я б заповнював памʼять послідовно яким-небудь псевдорандомним паттерном з довжелезним періодом, потім генерував цей же паттерн і порівнював із прочитаними значеннями. Може і готові тести є.
Хоча не знаю, таймінги при читанні ядром і LTDC теоретично можуть і відрізнятись.

#313 Re: Програмування Arduino » рисуем график данных на TFT-дисплее » 2025-04-01 00:01:22

На відео наче б то суцільні темні лінії. Тільки незрозуміло, чи то TFT_GREEN такий темний (звідки тоді яскраві кінцеві точки?), чи то воно тільки кінцеві точки малює (звідки тоді суцільні темні лінії?).
Навіщо там сплайни? Щоб графік виглядав красиво, потрібно або малювати лінії алгоритмом Ву (якщо доступні градації яскравості), або взагалі малювати строго вертикальні лінії, тобто щоб початкова та кінцева точки мали однакову координату X. Тільки тоді початкову точку потрібно розраховувати на основі попередньої кінцевої.

#314 Re: Апаратні питання » STM32f429 LTDC VGA джитер » 2025-03-31 23:31:17

duron пише:

З'являються у випадковому місці там де на екрані зображені чорні кола, там де екран по горизонталі повністю залитий зеленим не з'являються.
...
якщо уважно придивитись на сам артефакт, то здається ніби артефактні пікселі  читаються з пам'яті по неправильній адресі.

Так, схоже саме на це. Наскільки видно з фотографії, зсунуто ліворуч на два пікселя, ніби в 1-му біті адреси (при нумерації з 0) замість одиниці читається нуль. Може просто погано пропаяний контакт шини адреси?

#315 Re: Апаратні питання » STM32f429 LTDC VGA джитер » 2025-03-31 22:14:35

duron пише:

Тепер з'явилась нова проблема, з артефактами (фото).

Поки не дуже зрозуміло, як воно виглядає в динаміці. Схоже на "сніг" CGA? Скільки часу такий піксель тримається, один кадр чи довше?

duron пише:

З'являються і зникають на екрані навіть коли у пам'ять нічого не записується.

А якщо виводити з внутрішньої SRAM, а не з SDRAM?
SDRAM завжди "записується" через refresh, але іноді це прозоро для зовнішнього інтерфейса.

duron пише:

Якщо зменшити швидкість роботи пінів що підключаються до пам'яті з 50мГц до 25мГц то вони починають з'являтися набагато рідше, але зовсім не зникають.

Може FMC невірно сконфігурований для цієї мікросхеми SDRAM.

duron пише:

Ще виявив що якщо підключити щуп осцилографа до будь якої лінії даних  SDRAM, то кількість таких артефактів різко зростає.

Екранування та заземлення мали би допомогти.

#316 Re: Апаратні питання » STM32f429 LTDC VGA джитер » 2025-03-31 20:47:41

duron пише:

Здається джитер поборов. Зображення чисте, сигнал з тактового виходу тепер теж чистий.

cool

duron пише:

Всьому вина це помилка в коді налаштувань таймінгів. Потрібно було в кожному параметрі добавити -1, як то вимагає суворий reference manual yikes

Аналіз осцилограми мав би показати розбіжність фактичних таймінгів з очікуваними. Особливо при порівнянні з еталонним сигналом.

Так, зазвичай регістри лічильників містять "верхнє" значення, при досягненні якого лічильник обнуляється, а не тривалість циклу. ST відомі "якістю" своєї документації. В коді HAL же просто "configures the number of Horizontal synchronization width", і тільки в RM "number of Horizontal Synchronization pixels minus 1".

#317 Re: Апаратні питання » STM32f429 LTDC VGA джитер » 2025-03-31 04:39:03

duron пише:

Ще прийшла в голову думка, запустити на таймері ШІМ із піксельною частотою і заповненням 50% , тоді тактову частоту таймера і LTDC можна буде подати на окремі входи кольорів, і візуально оцінити чи працюють вони синхронно.

Слушна думка. Там окремий PLLSAI, то може відбувається якийсь зрив генерації в самому МК. Але таке мало би бути видно на осцилограмі тактового виходу.

Ще, дуже здивуюсь, якщо причина в цьому, але чому б не перевірити. У програмі з гітхаба фреймбуфер розташований в зовнішній SDRAM. Спробуйте перемістити його у внутрішню SRAM.

#318 Re: Апаратні питання » STM32f429 LTDC VGA джитер » 2025-03-31 01:51:21

duron пише:

Якщо ви про сигнали синхронізації, то їх рівні пробував піднімати двома послідовно включеними інверторами (74HC04), в такому варіанті джитер не зникає а просто зсувається на декілька пікселів вправо.

Вправо? Цікаво, я би очікував навпаки, вліво. Буфер вносить затримку порядка десятка наносекунд, тобто відносно синхроімпульса сигнал зображення повинен приходити трошки раніше. Але тривалість пікселя 40 нс, так що це не було би декілька пікселів.
Хоча, з іншого боку, це означає, що розсинхронізація стала відбуватись пізніше. В ідеалі вона мала "зміститись" вправо настільки, що синхроімпульс нового рядка мав би приходити раніше, ніж ця розсинхронізація відбудеться.

Питання навмання: не пробували інвертувати полярність HSync?

duron пише:

Чітко видно тактовий сигнал, і якийсь незрозумілий шум.

В ідеалі тактовий сигнал з заповненням 50% мав би відображатись як суцільне поле половинної яскравості, бо один імпульс приходиться на один піксель. А тут якась інтерференційна картина. Зрозуміло, що АЦП монітора семплує миттєві (в першому наближенні) значення. Але він мав би семплувати з частотою, в кілька разів вищою за частоту пікселів, і усереднювати (фільтрувати). Схоже, він семплує прямо на відновленій частоті пікселів і ніякого усереднення не робить.

Питання навмання: Не перевіряли цей монітор з джерелом заздалегідь робочого VGA сигнала, наприклад HDMI-VGA адаптером або старою відеокартою з VGA-виходом? Мені в свій час допоміг ось такий генератор. Може це особливість самого монітора, виробник зробив VGA-вхід "аби було"?

А як, наприклад, виглядають вертикальні лінії в один піксель з інтервалом в пару десятків пікселів?

#319 Re: Апаратні питання » STM32f429 LTDC VGA джитер » 2025-03-30 22:01:57

duron пише:

Можливо проблема ще може бути в частоті піксельних даних, стандарт відео 640x480 вимагає частоту пікселів 25.175 мГц, PLL LTDC вдається налаштувати саму ближчу частоту 25.125 мГц.

Специфікація VESA (наступний за VGA стандарт) допускає відхилення pixel clock до ±0.5%, у вас виходить менше 0.2%. Сам піксель-клок у VGA нікуди ж не передається, але на ньому базуюється решта таймінгів.

Зі своїх давніх експериментів з VGA памʼятаю, працювало і з набагато більшими відхиленнями. При перевищенні порогових значень TFT-монітори (які тоді тільки зʼявились у нас) або переходили в сплячку, або відображали "нема сигнала". Але таких артефактів із джиттером не памʼятаю.

Cхожий (але не такий) джиттер бачив при підключенні PAL RGB-сигнала від ZX Spectrum до розʼєму SCART телевізора. Там вирішилось узгодженням імпедансів та екрануванням.

duron пише:

Осцилограф є fnirsi 1C15, ним цю заваду розгледіти не вдається

Ну тут фазовий шум. Потрібно дивитись на крутизну фронтів синхроімпульсів (slew rate), і стабільність моментів часу, коли сигнал досягає певного рівня (який залежить від схеми монітора). Може цьому конкретному монітору взагалі не подобається рівень 3.3 В, може для стабільної роботи він хоче 5.

Доречі, полоса пропускання для кольорових компонент у VGA має бути 28 MHz. При занадто крутих фронтах присутні вищі частоти, і при дискретизації може виникати аліасінг. Так що спробуйте все-таки обмежити полосу пропускання кольорової компоненти конденсатором, як пропонував вище.

Крім того, у VGA для кожної кольорової компоненти окрема зворотня лінія землі. Використання для сигналів кольору і синхронізації спільної землі на розʼємі теж може негативно впливати.

Підозріло виглядає співпадіння паттерна джиттера з паттерном на тактовому виході при підключенні його до Green. Хоча тут може бути, що наведення просто йде однакове на всі лінії, і сигнал на тактовому виході тут ні до чого. Тактовий вихід у вас же просто висить "у повітрі", нікуди не навантажений на самій платі?

#320 Re: Апаратні питання » STM32f429 LTDC VGA джитер » 2025-03-30 02:25:55

duron пише:

на жаль не підходить LTDC для моніторів з аналоговим входом.

Думаю, якщо пошаманити над аналоговою частиною, то можна отримати задовільний результат. Але скоріш за все знадобляться буферні каскади з фільтрами, узгодження імпедансів і т.п. Без відповідних інструментів налаштувати буде непросто.

#321 Re: Апаратні питання » STM32f429 LTDC VGA джитер » 2025-03-30 01:23:48

Що ж, моя гіпотеза - відбувається розсинхронізація між піксель-клоком LTDC і відновленим піксель-клоком у моніторі. Скоріш за все через недосконалість аналогової частини та особливості дискретизації аналогового сигнала в TFT-моніторі. Через це фронт відеосигнала попадає то в один піксель, то в інший, сусідній.
Кінескопний монітор не відновлює піксел-клок, там це не потрібно.

Єдине, що на даний момент можу порадити - це роздобути осцилограф і подивитись, чим сигнал, що генерується вашою схемою, відрізняється від еталонного VGA (при підключеному моніторі, звісно).

Як воркераунд, можете спробувати в лінії Green після резистора поставити конденсатор десь 10-47 пФ в землю (підберіть експериментально). Це має "розмити" зображення і джиттер буде не так помітно.

#322 Re: Апаратні питання » STM32f429 LTDC VGA джитер » 2025-03-30 00:32:33

duron пише:

Піни LTDC, в процесі наладки зменшив до 3х (PI9=VSYNC,  PI10=HSYNC, PI2=VIDEO G7).

Які номінали резисторів на кожному з пінів? (на фото не розібрати).

На схемі в проекті з гітхаба R-2R ЦАП, він робить певну аттенюацію. У вас, якщо на виході PI2 3.3В, то має бути десь 270-300 Ом.
На VSYNC і HSYNC навпаки, мають бути TTL-рівні, 82 Ома може бути забагато (від схеми монітора залежить).

#323 Re: Апаратні питання » STM32f429 LTDC VGA джитер » 2025-03-29 21:52:19

duron пише:

Саме на цих зелених смугах і відбувається джитер пікселів.

Так мабуть цей сигнал і пролазить у відеосигнал, може й не прямо, а побічно. Схему підключення ж теж не показуєте.
TFT монітор намагається синтезувати піксель-клок по імпульсам горизонтальної синхронізації, а поріг спрацьовування плаває через шум квантування АЦП. Сигнал VGA-то аналоговий, і горзонтальна синхронізація йде в каналі зеленого.
Без коду, де той LTDC конфігурується, без схеми підключення, без діагностичної інформації це ворожіння на кавовій гущі.

#324 Re: Апаратні питання » STM32f429 LTDC VGA джитер » 2025-03-29 21:02:19

duron пише:

підключивши тактовий вихід LTDC на вхід зеленого кольору монітора, ці смуги стає добре видно.

Схоже на імпульси частотою близько 80 кГц, розмазані за рахунок характеристики навантаження. Що ще може бути на тактовому виході? Вони мабуть і пролазять у сигнал.

#325 Re: Апаратні питання » STM32f429 LTDC VGA джитер » 2025-03-29 20:14:08

duron пише:

Цікаво що на кінескопному моніторі їх немає, зображення чисте, тому думаю проблема не в коді.

Ну може це гармоніка горизонтальної синхронізації пролазить, через те, що лінія неузгоджена. Може якісь вибрики по живленню. Без осцилограми можна довго вгадувати.

Підвал форуму