Сторінка 1 з 1

Безконтактний Регулятор Яскравості

Додано: Пон, 22 березня 2010, 14:47
Golem
Зробив на днях до свого Тавроджипа таку от примочку. Дозволяє регулювати яскравість підсвітки панелі приладів. Розмішується глибоко під пластиковою обшивкою і його ззовні не видно. Тим не менше, свою функцію він виконує на відмінно. Короткий опис:

---

Безконтакний регулятор Яскравості (БРЯ) це невелика плата із ємнісним слайдером розміщеним на одній стороні та компонентами на іншій яка дозволяє ругулювати яскравість лампи накалювання. Мікропроцесор вимірює положення пальця на слайдері та виставляє яскравість лампи відповідно до неї. Позиція пальця може відслідковуватися через більш як 4мм пластику і відповідно до неї регулюватися потужність навантаження в широких межах. Пристрій може бути заінстальований за допомогою двостороннього скотчу в інстуючу конструкцію без додаткових отворів чи елементів кріплення.

Вид зі сторони слайдера
Зображення

Вид зі сторони елементів
Зображення

Технічні характеристики:

- Вхідна напруга…………………...….7.5V - 30V
- Вихідний Струм……….......…….....0A – 10A
- Рівні Яскравості......……………..….….255
- Вихідна Частота.....………...…….…1200 Hz
- Період запису в память......…………10s
- Товщина Оверлею……………....….1mm…4mm
- Розміри плати....………………......40mm x 12mm

БРЯ виставляє щілинність PWM у межах від 0 до 255 в залежності від положення пальця на слайдері. Якщо яскравість не змінювалася протягом десяти секунд то вона зберігається в памяті і виставляється під час наступного ввімкнення.

Яскравість може бути змінена двома шляхами. Позиція пальця на слайдері напряму відповідає вихідній яскравості. Це означає якщо ми поставили палець на початок слайдера то одразу ж одержимо нульову яскравість на виході. Якшо на середині – половину яскравості. Якщо в кінці – повну яскравість. Другий спосіб зміни яскравості полягає в доторканні до слайдера і плавній зміні позиції пальця.

Логічне питання: як такий маленький транзистор без радіатора може регулювати таке потужне навантаження? Відповідь: “Тому що ми використовуємо PWM”. Широтно-Імпульсна Модуляція (PWM), це дуже ефективний шлях для задання рівня вихідної потужності з малими втратами.

Зображення

Рівень вихідної потужності залежить від співвідношення часу вмикання і вимикання.  Потужність витрачається лише на перехідні процеси між цими двома станами.

Схема присртою показана на нижче

Зображення

Вхідна напруга поступає на конектор J1 і далі йде на лінійний регулятор U2. Діод D2 захищає регулятор від напруги зворотньої полярності. Регулятор забезпечує стабільну напругу 5V для живлення мікропроцесора U1. Мікропроцесор вимірює ємність елементів слайдера Slider1….Slider8 і по цьому визначає позицію дотику. Програмний блок CSD з математичним апаратом усереднення сигналів від сусідніх сенсорів забезпечує 255 рівнів яскравості. R1 є резистором зворотнього звязку сігма-дельта модулятора. C2 це інтегруючий конденсатор для нього.

Транзистори Q1 та Q2 формують схему керування навантаженням. Транзистор Q1 ввімкнений по схемі верхнього ключа, ним керує транзистор Q2. Топологія верхнього ключа вибрана по причині необхідності керування заземленими навантаженнями, які часто зустрічаються в автомобілях. Внутрішні підтягуючі до плюча резистори всередині мікроконтроллера U1 обмежують струм бази для транзистора Q2. Коли транзистор Q2 відктритий тоді затвор транзитора Q1 зєднаний з землею і він є відкритий також. Коли транзистор Q2 є закритий тоді затвор транзистора Q1 підєднаний до витоку через резистори R2 та R4, тому транзистор Q1 є закритий. Резистори R2 і R4 визначають щвидкість закривання транзистора Q1, тобто потужність розсіювання на ньому. Менші значення цих резисторів завжди кращі, але їх зменшення обмежується граничними потужностями розсіювання на резисторах та Q2.  Світлодіод D1 призначений для моніторингу роботи пристрою без підєднання зовнішнього навантаження.

Схема підєднання пристрою показана нижче

Зображення

Джерело живлення з напругою 12V показано для прикладу. Будь-яка напруга в дозволеному діапазоні може бути підєднана замість неї.

Пристрій змонтовано на двосторонній друкованій платі, яка показана нижче 1:5.
Зображення

Зображення

Зображення

Всі компоненти розміщені на нижній стороні ДП. Лише вісім перехідних отворів зєднують елементи слайдера з мікроконтроллером.

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

Вид під панеллю
Зображення

Вид ззовні
Зображення

Код програми дуже простий, містить лише одну головну функцію.


void main(void)
{  
//--> Initialization
PWM8_WritePulseWidth(bBrightness);            // Read stored in ROM value
PWM8_Start();                                 // Start PWM8

Drive_1_GlobalSelect_ADDR |= (Drive_1_MASK | Drive_2_MASK); // Connect pin to bus
   
M8C_ClearWDTAndSleep;  // Clear Watchdog and Sleep Timer
  M8C_EnableWatchDog;  // Enable Watchdog
M8C_EnableGInt;                               // Enable Global Interrupts

TX8SW_Start();                                // Start Debug Information transmitter

  CSDADC_Start();                                // Start CSD user module
  CSDADC_SetDefaultFingerThresholds();           // Initialize filger thresholds
  CSDADC_InitializeBaselines();                  // Initialize sensors baselines
 
   // --> Non-ending loop is here
   while (1)
{  
 CSDADC_ScanAllSensors();                     // Scan All sensors
   CSDADC_UpdateAllBaselines();                 // Update all baselines for them

 //--> Position calculation
 if(CSDADC_bIsAnySensorActive())              // Check for touch
{  
wPosition=CSDADC_wGetCentroidPos(1);     // Calculate touch position

if (wPosition != 0xFFFF)                 // Check for error
{
 if (wPosition > RESOLUTION) wPosition=RESOLUTION; // Check for over range

 bWriteFlashFlag=1;                            // Set Flash write flag

 PWM8_Stop();                                  // Stop PWM8
bCurBrightness=(BYTE)wPosition;               // Convert position to BYTE
 PWM8_WritePulseWidth(bCurBrightness);         // Write new brightness
 PWM8_Start();                                 // Start PWM8
} // end if wPosition
} // end if SensorActive

//--> Flash Writing
if (bWriteFlashFlag != 0)             // Check is writing to flash new brightness
{
bWriteFlashFlag++;            // Increase flash flag that add some delay

if (bWriteFlashFlag == SAVETIME)        // Check for write condition
{
bWriteFlashFlag=0;              // Do not write to flash next time

fwStruct.bARG_BlockId = 127;    // Block Id to write, use last block
          fwStruct.pARG_FlashBuffer = (char *)(&bCurBrightness);
          fwStruct.cARG_Temperature = 20;                

bFlashWriteBlock(&fwStruct);                  // write new brightness
}
} // end bWriteFlash

//--> Transmit Data
TX8SW_PutCRLF();      // Start condition

TX8SW_Write((char *)(&CSDADC_waSnsResult), CSDADC_TotalSensorCount*2); // RawCounts
TX8SW_Write((char *)(&CSDADC_waSnsBaseline), CSDADC_TotalSensorCount*2); // Baselines
TX8SW_Write((char *)(&CSDADC_waSnsDiff), CSDADC_TotalSensorCount*2);     // Differences

TX8SW_PutChar(0xFF);    // Stop Conditions
   TX8SW_PutChar(0xFF);

M8C_ClearWDTAndSleep;                                 // Reset WatchDowg
  } // end while(1)
} // end main function


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

Чутливість може бути змінена шляхом модифікації параметра “Finger Threshold” в CSD модулі. Мікропроцесор посилає рав дані, бейслайни та діференси через пін P1[0] (SDA точка). Стандартний UART TX може приймати дані, швидкість передачі 115200 baud, 8 bit даних, no parity. Програма “Multichart” є рекомендованою для використання при ввідлагодження. Тим не менше будь-яка інша відповідна програма може бути використана..

Покрокова інструкція першого ввімкнення:
- Підєднати 12V живлення до J1
- Виміряти напругу на C5.Повинно бути 5V. якшо ні – слід перевірити полярність і правильність монтажу.
- Виміряти анпругу на C2. Повинна бути 1.2V. Якшо ні – перевірити чи запрограмований мікроконтроллер та правильність монтажу.
- Підєднати до піна P1[0] (точка SDA) до входу UART RX використовуючи зовнішній транслятор рівнів або USB-UART місток.
- Запустити програму “Multichart” або будь-яку іншу підходящу утиліту.
- Рав Дані повинні бути в діапазоні 300…3000. Бейслайни повинні бути рівними рав даним а діференси - нуль

Зображення

- Шум рав даних повинен бути не більше 10 точок від піку до піку
- Тепер слід доторкнутися до слайдера. Відношення сигнал.шум повинно бути в межах 5...15

Зображення

Якшо діференси значно вищі за це значення слід збільшити параметр Finger Threshold. Якшо діференси значно нижчі тоді слід збільшити роздільну здатність та час сканування. Більше деталей про тюнінг чутливості можна дізнатися з документації до CSD.


Відео на YouTube що демонструє роботу ємінсного регулятора яскравості.
Зображення


Дизайно повністю Open Source. Скачати всі потрібні файли можна тут:

Проект
Плата
Опис на Українській
Опис на Англійській

Інше застосування - регулювання швидкості обертів вентилятора пічки, дуже часто дискретні позиції не відповідають бажаному.

Re: Безконтактний Регулятор Яскравості

Додано: Пон, 22 березня 2010, 15:02
Pier
Golem писав:- Вихідний Струм……….......…….....0A – 10A
Golem писав:обертів вентилятора пічки
Не витримає. І без радіатора, ой як буде грітися.

Re: Безконтактний Регулятор Яскравості

Додано: Пон, 22 березня 2010, 15:06
Pier
А взагалі, ідея зачотна! :thumbup

Re: Безконтактний Регулятор Яскравості

Додано: Пон, 22 березня 2010, 15:07
A8
Pier, 100%

Re: Безконтактний Регулятор Яскравості

Додано: Пон, 22 березня 2010, 15:14
Golem
В тому вся ідея, шо регулюємо ми не лінійно, а імпульсно. Відповідно втрати на нагрів не надто великі. Зрештою, не проблема причепити до транзистора невеликий радіатор чи прикрутити через прокладку до корпуса автомобіля. Як і поставити потужніший транзистор при потребі верувати сильнішим навантаженням.

Re: Безконтактний Регулятор Яскравості

Додано: Пон, 22 березня 2010, 15:29
Dark Wind
Golem, Привіт Андрію. На жаль тут тобі + поставити не можу. Схема суперова, правда як на рахунок використання її в автомобілі, яскравість свічення підсвітки часто ніхто не регулює, я наприклад раз в півроку від нефіг делать :D а ось в музичних центрах для регулювання гучності булоб в сам раз 8)

Re: Безконтактний Регулятор Яскравості

Додано: Пон, 22 березня 2010, 15:32
Denja
Зачет.

Re: Безконтактний Регулятор Яскравості

Додано: Пон, 22 березня 2010, 15:36
andy_m
вау! було б добре закинути цю тему до діодів :sing

Re: Безконтактний Регулятор Яскравості

Додано: Пон, 22 березня 2010, 15:41
Jarevych
двіж... :shock
хочу таке :D
Кіко коштує?

Re: Безконтактний Регулятор Яскравості

Додано: Пон, 22 березня 2010, 15:44
Golem
До Давк Вінд: Зато можеш на експлорері, там теж опис є ;) Насправді часто регулювати нетреба і мені. Але було троха заяскраво. По трасі вночі теж можна скручувати. Просто його до того в мене не було в принципі. А добавляти шось кастомне, різати дзюри і все таке - якось душа не лежала. Хотілося так шоб з мінімальними змінами.

Можна і до діодів. ТОді в прогу слід просто додати логарифмічну табличку для перекодування, шоб виглядало лінійно.

Re: Безконтактний Регулятор Яскравості

Додано: Пон, 22 березня 2010, 15:57
Pier
Jarevych писав:двіж... :shock
хочу таке :D
Кіко коштує?
Собівартість десь 40-60 грн.

Re: Безконтактний Регулятор Яскравості

Додано: Пон, 22 березня 2010, 15:58
Jarevych
Pier, а хто б міг мені таке зробити і встановити?

Re: Безконтактний Регулятор Яскравості

Додано: Пон, 22 березня 2010, 16:12
Golem
10 штук такх дівайсів мають бути зроблені десь через три тижні. Так як то одиночне виробництво - ціна 100 грн за штуку. 40-60 грн буде якшо випустити 1000 штук зразу :) Підходить - купуй. На рахунок встановлення - воно максимально просте, перерізати дріт до підсвітки і вкрутити в його розрив дівайс. Ну і двостороннім скотчем користуватися всі вміють :)

Re: Безконтактний Регулятор Яскравості

Додано: Пон, 22 березня 2010, 17:30
Jarevych
Golem, а воно може регулювати діодну підсвітку?

Re: Безконтактний Регулятор Яскравості

Додано: Пон, 22 березня 2010, 18:17
Golem
Так, може. Про це було написано мною троха вище.

Re: Безконтактний Регулятор Яскравості

Додано: Пон, 22 березня 2010, 21:03
t309
Golem, :thumbup