Проектиране и производство на електронно оборудване.

печатната платка

Когато имаме няколко компонента на една и съща платка, важен аспект за нейната правилна работа е добавянето на разединяващи кондензатори, кондензатори в обем и филтриране на мощността между различните части. В този пост в блога показвам практически пример за неизправност поради липса на филтриране в захранването на микроконтролер.

Всички интегрални схеми изискват максимално и минимално ниво на напрежение за своята работа. Ако преминем отгоре, обикновено изгаряме веригата и ако паднем под веригата, тя не работи или го прави по неправилен начин.

В печатни платки най-често срещаното е, че всички интегрални схеми имат два вида кондензатори за захранване:

Така че винаги ще поставяме нанофарад кондензатори на всички захранващи щифтове на интегралните схеми, възможно най-близо до тях. И един или повече микрофарадни кондензатори на печатната платка, за да се предотвратят външните преходни напрежения или тези, произведени от самите компоненти на печатната платка, което е проблем за останалите компоненти.

Когато вътре в печатни платки имаме различни зони: зона за захранване, друга с цифрови схеми, друга с аналогови схеми и т.н. ... подходящо е да добавите кондензатори за насипни товари във всяка от зоните и да филтрирате захранващите блокове (силовите равнини) между тях . Така че, например, шумът, генериран от цифровите схеми, да не преминава в аналоговата зона, причинявайки тя да функционира неправилно.

Като пример за горното показвам много прост случай на схема с микроконтролер, където ще възникне неизправност, поради неразделяне на захранването на микроконтролера от това на друга цифрова верига, която се захранва от същия източник.

На следващото изображение можете да видите печатни платки, в които едно и също захранване (жълта кутия) захранва микроконтролер (синя кутия) и друга електроника (бели кутии).

Използвайки веригата в зелената кутия, микроконтролерът може да подава или отнема захранване от източника към електрониката в белите кутии. В розовата кутия виждаме насипния кондензатор C20 (кондензатор от няколко микрофарада) на силовата равнина, който отива към микроконтролера и следи за запояване на различни компоненти.

Схемата за захранване е както следва:

3V3 захранване (не всички компоненти на схемата са сглобени).

U1 е импулсно захранване, което ни осигурява 3V3 и до 1A изход, консумацията на микроконтролера и останалата част от електрониката, която ще свържем към този източник, е по-малка от 0,5 A, така че по принцип всичко звучи добре и можем да мислим, свързвайки всичко директно към един и същ изходен изход.

Чрез транзистор Q1 микроконтролерът може да подава или отнема захранване от източника 3V3 към електрониката в белите кутии, които са свързани към Vdd.

За да свържете микроконтролера към източника 3V3, оставихме следната схема на печатната платка:

Мощност на микроконтролера.

C20 е обемният кондензатор на частта от печатната платка (захранваща равнина), където е микроконтролерът, и за свързване на това захранване на микроконтролера към източника 3V3 сме оставили две следи върху печатната платка, резистор/индуктивност R10 и диод D4.

Оставяме диода без запояване и в R10 запояваме резистор от 0 ома, за да свържем директно захранването на микроконтролера към източника 3V3 и следователно той се свързва директно към захранването на останалата част от електрониката, свързана към Vdd, когато Q1 проведе.

0 ома съпротивление при R10.

Поставяме програма в микроконтролера, в която при натискане на бутона на печатната платка се включва електрониката на белите кутии, електроника, свързана към Vdd в първата схема.

И ето какво се случва, когато го тестваме:

Първият път, когато натиснем бутона на печатната платка, електрониката отдясно не се включва, виждаме LED светкавица, трябва да натиснем бутона втори път, за да го включим. Поведение на бутон, различно от това, което сме програмирали в микроконтролера.

Първото нещо, когато това се случи, обикновено е да погледнем програмата, че тя е добре, конфигурирали сме правилно всички регистри и т.н. Ако не видим грешката в кода, следващото нещо е да свържете дебъгер и да видите че всичко се изпълнява правилно стъпка по стъпка, като се проверява стойността на променливите и регистрите на микроконтролера, докато изпълняваме инструкциите. И накрая разгледайте инструкциите за асемблер, генерирани от компилатора.

Ако свържем дебъгер към този пример, виждаме, че програмата работи правилно и работи според очакванията и ако прочетем асемблерния файл, генериран от компилатора, всичко изглежда правилно, така че не изглежда като проблем с фърмуера.

Ако свържем осцилоскоп към изхода на 3V3 захранването, което директно захранва микроконтролера и електрониката, която искаме да включим, ще видим следния сигнал при натискане на бутона за захранване:

Сигнал на изхода на захранването при натискане на бутона.

Виждаме, че при натискане на бутона за включване на електрониката, свързана към Vdd, на изхода на източника 3V3, който захранва електрониката, която искаме да включим, и микроконтролера, се получава спад на напрежението. Електрониката, която искаме да включим, има пик на стартов ток (зареждане на кондензатор и т.н.).

Ако разгледаме по-подробно върха, виждаме следното:

Сигнал на изхода на захранването при натискане на бутона.

Изходът на източника, който захранва микроконтролера, спада до 1,52V. Ако погледнем листа с данни за микроконтролера, той ни казва, че минималното напрежение на микроконтролера, за да работи той, е 1,8 V, така че в този пик сме за 85 микросекунди под 1,8 V, че микроконтролерът трябва да работи стабилно.

По време на онези 85 години, в които микроконтролерът работи под минималното си напрежение, вътре може да се случва всичко, тъй като регистрите на неговата RAM памет могат да бъдат повредени и следователно вашата програма може да направи всичко.

Ако активираме предпазителя на микроконтролера Brown out, когато микроконтролерът види напрежение под праг, той активира своя сигнал за нулиране, така че в този случай, ако го активирахме, микроконтролерът ще се нулира всеки път, когато натиснем бутона, за да включим останалото на електрониката.

Сега премахваме 0 ома резистор R10 и спояваме диод на негово място:

Отпояваме R10 и запояваме D4.

По този начин микроконтролерът е свързан към 3V3 захранването чрез диод, това предотвратява, че когато на изхода на захранването при включване на останалата част от електрониката настъпи спад на напрежението, кондензаторът C20, който е в захранването на микроконтролера се разрежда, осигурявайки енергия на електрониката, която се включва в този момент.

Сега C20 спестява своя заряд за микроконтролера по време на преходното напрежение, тъй като диодът предотвратява зареждането от кондензатора/тока към включената електроника.

Ако сменим съпротивлението от 0 ома на диода и натиснем бутона, всичко работи правилно:

Електрониката отдясно се включва при първото натискане на бутона, както се очаква.

Ако поставим осцилоскопа на захранването на микроконтролера, сега виждаме следния пик на напрежение, когато натиснем бутона:

Сигнал на захранването на микроконтролера при натискане на бутона.

Сега спадът на напрежението, който микроконтролерът вижда, когато натиснем бутона, е много малък (близо до 0,1 V в сравнение с предишните 1,7-1,8 V) и не оказва влияние върху неговата работа.

Също така микроконтролерът вижда напрежение от 3V вместо 3V3, поради спада на напрежението на диода D4, но на практика няма да създаде проблем в този дизайн.

Диодна и кондензаторна верига, използвани в този тест за защита на захранването на микроконтролера.

Това е прост начин за отделяне на захранването на микроконтролера от останалата част на веригата за този случай, ако не искаме този спад на напрежението на диода, вместо диода могат да се използват други елементи. На диаграмите можем да намерим филтри в електропроводите с кондензатори и индуктивности (те избягват моментални изменения на тока), ферити (тяхното съпротивление зависи от честотата) и дори резистори, ако токът, който преминава през тях, е много малък.

В обобщение: когато във верига имаме различни части, в които може да има големи пикове на ток или напрежение, е удобно да филтрираме захранванията между тях, така че да не си влияят взаимно, добавете и насипни кондензатори във всеки от тях, за да запазите тяхното стабилно захранване към преходни процеси на ток/напрежение (собствени или външни).

За хората, които започват да проектират първите си печатни платки, това е нещо, което е можело да им се случи и те мислят, че имам източник, който дава 1 Amp и моята електроника ще се нуждае от по-малко от 0,5 A, за да работи, така че мога да свържа всичко директно към източника и се надявам всичко да работи правилно.

Не само кондензаторите за разделяне, насипно състояние и филтриране на мощността са необходими за правилното функциониране на печатната платка, но и за по-късно избягване на други проблеми с електромагнитната съвместимост, така че силовите равнини и тяхното филтриране е основен аспект във всеки дизайн.