Jump to content

    

kreker

Участник
  • Posts

    60
  • Joined

  • Last visited

Everything posted by kreker


  1. Да нет, не пропал. Собрал схему на макетке - вполне устраивает. С этой схемой полностью погасить светодиоды не удаётся. Закостылил NMOS-ключём: при достижении минимального тока - просто отключаю светодиоды. Приемлемо. Спасибо всем, кто хоть как-то помог и уделил время.
  2. Спасибо, Plain. Описанная Вами схема работает.
  3. Да, это родной драйвер светильника Светодиоды неизвестны, no name. Фото в этом посте. На крышке драйвера указано, что выдаёт 37 - 42В, 270 мА; модель FLSB12W-EMC. Больше ничего.
  4. Замеры тока. Провал - заполнение: от 20-ти с чем-то до 0% и от 0% до 20-ти с чем-то.
  5. Ни на выходе платы драйвера, ни на подложке светодиодной сборки последовательно включённого резистора нет. Плата драйвера - односторонняя. Можно попробовать добавить самому, если таковой резистор нужен источнику тока (?). Да и вроде как определились, что микросхема уходит в защиту... Попробую вариант от Plain'a.
  6. 1 канал (жёлтый) - ШИМ сигнал 2 канал (голубой) - VCC микросхемы-драйвера 3 канал (красный) - напряжение вторичной обмотки (выход на светодиоды) 4 канал (зелёный) - напряжение на ключе До 25% заполнения провалы до примерно 6В по Vcc. С наростанием яркости снижалось с примерно 15В до 11В при максимальной яркости. На вторичной обмотке с наростанием яркости снижалось с примерно 52В до 37В при максимальной яркости. Анод свтодиодной сборки на (+) драйвера, катод - на сток полевого транзистора. Мне, конечно. Да он то работает. Только не с этим драйвером...
  7. 1 канал - ШИМ сигнал 2 канал - VCC микросхемы-драйвера 3 канал - напряжение вторичной обмотки (выход на светодиоды) 4 канал - напряжение на ключе Извиняюсь, снял осциллограммы как мог. Видео \ Гифка
  8. Запитал оптопару и драйвер от отдельного источника питания (но земли общие), убрал большую ёмкость - вроде стало хуже. Теперь светодиоды моргают уже при заполнении меньше 24%. Гифка с прокруткой заполнения. Моргание при заполнении меньше 24%
  9. Хорошо, сейчас подрежу дорожки и запитаю отопару и драйвер от отдельного источника питания.
  10. При заполнени ШИМа меньше 21% светодиоды начинают заметно моргать. Частично удалось избавиться добавив конденсатор большой ёмкости (4700 мкФ, подсевшая). Возможно не справляется драйвер и срабатывают защиты. Светодиоды 5730, 24 шт., 2B12C. Это и есть вся схема. Да. Похоже, что затея так себе... Есть ли схема?
  11. 1) при заполнени ШИМа меньше 21% светодиоды начинают заметно моргать. Частично удалось избавиться добавив конденсатор большой ёмкости. Возможно не справляется драйвер и срабатывают защиты. 2) при заполнении ШИМа близком к нулю и к максимуму сигнал в точках TP2 и ТР3 становится игло-образным. 3) разве сигнал в точке ТР4 не должен быть инвертированной версией сигнала в точке ТР1? Точь-в-точь? Видео или гифка, если видео не работает, с прогоном заполнения от 0 до 100%.
  12. Кхм, хотел предоставить максимум сведений. Видимо, зря. Убрал лишнее. Ошибка в наименовании - на схеме стабилитрон 15В 1Вт, 1N4744A.
  13. Доброго дня. Подскажите, пожалуйста, как подправить схему? Драйвер светодиодного светильника FLSB12W-EMC; указано, что выдаёт 37 - 42В, 270 мА. Кажется, спад сигнала в точке TP2 недостаточно резкий. Поэтому сигнал поплыл и в других точках.
  14. Проблема решена , по крайней мере частично, путём переделывания конструктора JSON: избавился, где можно было, от библиотечных функций cJSON активно использующих malloc \ realloc. Несколько раз перезапускал проект, на этот раз отрабатывал дольше 5 минут. Ранее не работало устойчиво и двух минут. Спасибо всем, кто помог.
  15. Упорно не желает повторяться. HardFault: SCB->CFSR 0x00008200 SCB->HFSR 0x40000000 SCB->MMFAR 0x20080038 SCB->BFAR 0x20080038 SP 0x2007fe70 R0 0x20080038 R1 0x20002168 R2 0x20000aec R3 0x20080039 R12 0x2007fe63 LR 0x0000d5f9 PC 0x0000ccdc PSR 0x61000000 [HardFault] SP = 2007fe70 R0 = 20080038 R1 = 20002168 R2 = 20000aec R3 = 20080039 R12 = 2007fe63 LR [R14] = 0000d5f9 - Subroutine Call return address PC [R15] = 0000ccdc - Program Counter PSR = 61000000 BFAR = 20080038 - Bus Fault SR/Address causing bus fault CFSR = 00008200 - Config. Fault SR HFSR = 40000000 - Hard Fault SR :FORCED, Bus fault/Memory management fault/usage fault DFSR = 00000000 - Debug Fault SR MMAR = 20080038 - Memory Manage Address R AFSR = 00000000 - Auxilirary Fault SR SCB->SHCSR= 00000000 - System Handler Control and State R (exception) Лог дизассемблера. В общем, не вывезу я всё это дело. jcxz, отправил вам ЛС. Нет - попробую найти человека в разделе "Работа", если почку продавать не придётся.
  16. Это часть функции packer(), видимо появилась, когда переходил по элементам в окне Debug. Да понял я, понял. Только вот когда ставлю брэкйпойнт на __ISB() при выполнении кода он упорно перезжает строчкой выше - на if(). Уже нигде. Вместо __ISB() поставил __BKPT(0) - вроде как это программный брэкпойнт и выполнение кода дложно остановиться при заходе в условие, прямо на этой строчке. Даже без выставления брэкпойнта вручную. Но в условие не зашло, вместо этого теперь Hardfault выкидывает чутка в другом месте этой же либы... Пытаюсь повторить ошибку...
  17. Добрался до дома. По брекпойнту сразу срабатывает. if ((unsigned int) &output[output_length + 1] >= 0x20080000u) { __ISB(); } Даже огромных значений в output_length нет. Есть ли что-нибудь криминальное на скриншотах? Или как это определить?
  18. Если не трудно - подскажите как это правильно делается. Про это я вобще молчу... Попробую полазить по дебаггеру с ловушкой на условие по выходу за пределы адреса.
  19. Очевидно для тех, кто на этом собаку съел :) Опыта в таких делах - нуль, первый раз на такое напарываюсь. Можно, пожалуйста, подробнее. Если не трудно.
  20. Доброго дня. Спрошу тут, авось кто-нибудь поможет. IDE, эклипсо-подобная: Simplicity Studio v5 МК: EFM32GG11B120F2048GM64 В своей поделке использую cJSON библиотеку. Спустя пару минут работы программного цикла ловлю Hardfault, похоже, связанный именно с этой либой: каким-то образом output_size увеличилось до 13618, хотя на выходе размер строки не должен быть больше 200+ символов. Вместе с формированием \ отправкой строк постоянно рабоает таймер по прерыванию (раз в секунду) и GPIO прерывание (раз в 8 миллисекунд каждые 100 миллисекунд). Каким образом можно определить, почему происходит переполнение буфера? Если что-то не указал - скажите, дополню. Быстрые ссылки на код в либе: printf_string_ptr(), print_object(), print_value(), print_array(), print_value(), print_object(), print_value(), print(), cJSON_PrintUnformatted() Регистры состояния: HardFault: SCB->CFSR 0x00008200 SCB->HFSR 0x40000000 SCB->MMFAR 0x20083399 SCB->BFAR 0x20083399 SP 0x2007fe08 R0 0x2007fe67 R1 0x20002adb R2 0x20002adb R3 0x00003533 R12 0x00000000 LR 0x0000a0af PC 0x0000a0b0 PSR 0x01000000 [HardFault] SP = 2007fe08 R0 = 2007fe67 R1 = 20002adb R2 = 20002adb R3 = 00003533 R12 = 00000000 LR [R14] = 0000a0af - Subroutine Call return address PC [R15] = 0000a0b0 - Program Counter PSR = 01000000 BFAR = 20083399 - Bus Fault SR/Address causing bus fault CFSR = 00008200 - Config. Fault SR HFSR = 40000000 - Hard Fault SR :FORCED, Bus fault/Memory management fault/usage fault DFSR = 00000000 - Debug Fault SR MMAR = 20083399 - Memory Manage Address R AFSR = 00000000 - Auxilirary Fault SR SCB->SHCSR= 00000000 - System Handler Control and State R (exception) Дизассемблер, ошибку проставляет по строке: 0000a0b0: strb r6,[r7,r3] Немного кода.
  21. Добрый день. Подскажите, пожалуйста, по аудио-кодеку NAU8810: страница продукта, даташит. Хочу его подключить мастером к МК EFM32 по USART-I2S. (Что пока удалось нарыть: формат данных, МК slave режим , I2S частоты) Смущает пин MCLK и строка даташита: Только тактировать с частотой 49.152MHz (если я правильно понял - это оптимальная частота, для которой приведены расчётные параметры в даташите) нечем. Можно ли на этот пин подать сигнал с осциллятора? Или можно как-то ещё выкрутиться? Может есть у кого на примете замена?
  22. Сдетектировать наличие движения человека (не важно какое именно его движение). На МК с алгоритмом бодяга, описанная в первом посте. Или датчик не исправен, или я что-то не так делаю.
  23. А чем тогда снимать сигнал? Сделаю.
  24. Не уверен. Встроенная звуковуха: Realtek® ALC1200 8-Channel High Definition Audio CODEC.