Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Интересен pull-up
http://mcu-bg.com/mcu_site/viewtopic.php?f=4&t=16149
Страница 1 от 2

Автор:  Grubi [ Чет Сеп 20, 2018 8:48 pm ]
Заглавие:  Интересен pull-up

На nRF51х се чете в началото дали пина е на маса или не (преди това се вдига вътрешен pull-up)
Към пина няма вързано нищо освен 100pF кондензатор към маса, поради EMC причини.
Ако пина е свързан директно към маса (преди подаване на захранване), всичко тръгва както си трябва.

Но ако пина не е свързан към маса, нещото трябва да изпадне в определено състояние, и да чака маса за да смени състоянието. Но...
На няколко борда от 200 се наблюдава, че процесора изпада в незнайно състояние и подаване на маса не му влиае. При измерване се оказва, че АЦП-то чете нещо различно от 3.3V или маса и съоветно си прави грешни изводи за текущото състояние, и чака съвсем различно напрежение за да тръгне в определена посока. Софтуерния колега каза, че чете състоянието за 20микросек и това било "дълго"... От всички други бордове, които са при клиент няма оплаквания - може би защото го използват в режим в който масата е перманентно свързана.

Смяна на кондензатора с 330pF или повече, коригира ситуацията хардуерно. А стейт машината и софтуера ще си ги оправят когато могат. Не пробвах дали без кондензатор пак ще се държи така. Според чаршафа при измерване пина може да консумира до 270микроампера или нещо такова.

Ако сте виждали нещо такова, пишете иначе просто регистрирам случката...

Автор:  lcr [ Чет Сеп 20, 2018 10:21 pm ]
Заглавие:  Re: Интересен pull-up

Кондензаторът се зарежда през pullup - а при включване на захранването и така държи 0 на пина за определено време. Затова при увеличаване на капацитета проблемът изчезва, защото времето за зареждане се увеличава. Ако махнеш кондензатора, най-вероятно ще стане по-лошо.

Вероятното обяснение е че или на безпроблемните модули pullup - ите са по-слаби или кондензаторите са с по-голям капацитет.

Автор:  miro_atc [ Чет Сеп 20, 2018 10:24 pm ]
Заглавие:  Re: Интересен pull-up

Grubi написа:
Според чаршафа при измерване пина може да консумира до 270микроампера или нещо такова.


Това е консумацията на ADC-то и няма никакво значение в случая...

Предполагам ADC-то е SAR... и то има изискване сорс импеданса да е под 5к, докато пулъпа ти е поне 10 пъти повече, демек пулъпа не изграе при меренето. Мериш ония 100pF ама то ги мери като се опитва да зареди семплиращия кондензатор, само че докато той се зарежда твоя се разрежда ;-)
Твоя колега ако може да вдигне времето за семплиране, 20 микро може да са достатъчни за семплиращия ама при източник с под 5к импеданс ;-)

Автор:  Grubi [ Чет Сеп 20, 2018 11:00 pm ]
Заглавие:  Re: Интересен pull-up

значи вътрешния пулъп е поне 50к...
иначе захранването е просто LDO 1117, от другата страна имам лабораторен източник
странно, че е някакъв граничен случай - проявява се както казах при 6 от 200 или нещо такова
лошото е, че колегата има разпознаване какво напрежение има на този пин и за други конфигурации и това изпада в състояние което е за друг хардуер, и за да тръгне чака напрежение което никога няма да се появи

т.е. бутва, чете, опознава че е нещо грешно и чака вечно

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

Автор:  lcr [ Чет Сеп 20, 2018 11:29 pm ]
Заглавие:  Re: Интересен pull-up

Сравнете пулъпите на читав и на крив модул, като вържете резистор между пина и Vss и мерите напрежението върху него. Ползвайте един и същи резистор. Примерна стойност - 50 К.

Автор:  Grubi [ Чет Сеп 20, 2018 11:37 pm ]
Заглавие:  Re: Интересен pull-up

това е добре като експеримент, но не ми помага за решаване на проблема, защото значи смяна на контролера, което не е възможно

решенията са - патчва се софтуерно времето за мерене и съоветни състояния до които води, така че да не изпада в такива мъртви положения

или сменям кондензатора

Автор:  lcr [ Чет Сеп 20, 2018 11:42 pm ]
Заглавие:  Re: Интересен pull-up

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

Автор:  Grubi [ Пет Сеп 21, 2018 12:05 am ]
Заглавие:  Re: Интересен pull-up

всъщност смяната на кондензатора е замазване на проблема
това трябва да работи и без кондезатор изобщо, а тия 100pF се добавят заради EMC, т.е. това да не лъчи над нормите и т.н.
тоя кондензатор няма никаква друга функция и не би трявало добавянето или отсъствието му до води до такива резултати.

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

всеки опит за замазване си е само временно решение

Автор:  lcr [ Пет Сеп 21, 2018 12:18 am ]
Заглавие:  Re: Интересен pull-up

Да разбирам, че изправен модул работи нормално и без въпросния кондензатор?

Автор:  Grubi [ Пет Сеп 21, 2018 12:32 am ]
Заглавие:  Re: Интересен pull-up

това ще го тествам утре, но казвам че так трябва да бъде по принцип. 100pF са добавени по конекторите, само и единствено заради сертифициране, никакво отношение към схемното решение

Автор:  lcr [ Пет Сеп 21, 2018 12:36 am ]
Заглавие:  Re: Интересен pull-up

При захранване 5V и пулъп 50 к, 100 p ще се зареди до 3 V за 4,6 uS. Това време може и да не може да бъде пренебрегнато.

Автор:  MYXATA [ Пет Сеп 21, 2018 12:44 am ]
Заглавие:  Re: Интересен pull-up

Grubi,
тази работа е съмнителна откъм изпълнение...
а ако мног държиш на кондензатора - пак слагаш му паралелно резистор т.н.bleeding resistor. така хем ще си имаш кондензатор(поради ЕМЦ причини които не разбирам как ще си ги оправиш само с кондензатора). идеята е да му пуснеш "кръвчицата",т.е. да му дадеш път за разреждане. ресистора трябва да е около 1Мохм. тази работа се прави при "стрелянето" в ЕМЦ лаба.при conducted immunity например .
То ЕМЦ-то си е нечиста наука по принцип...

Автор:  Grubi [ Пет Сеп 21, 2018 1:35 am ]
Заглавие:  Re: Интересен pull-up

за малко повече време, защото пулъпа е към 3.3V
видях я аз днес марсианската падина на осцилоскопа, падна до около 1.5V, но не погледнах времето
такъв съм си мързелив

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

Автор:  stefan63 [ Пет Сеп 21, 2018 5:35 am ]
Заглавие:  Re: Интересен pull-up

1.ресет
2.включване на pullup
3.изчакване на 20мкс
4.старт АЦП
5.измерване.
6.спорен резултат.
Така разбрах, че става.
Къде тук се наблюдава спад до 1,5В?

Според мен е спад в изхода на регулатора, например поради включване на нещо друго в точка 2,3,4,5.

Автор:  Grubi [ Пет Сеп 21, 2018 8:18 am ]
Заглавие:  Re: Интересен pull-up

пада би трябвало да се наблюдава при 5. измерване, когато се зарежда кондензатора на АЦП-то. не е началния дроп на захранването. Имаме

1. Захранване
2. около 1 сек бутване и първоначално инициализиране
3. мерене на други напрежения по други пинове
4. мерене на "това напрежение" - измерваме гранична стойност
5. увисване в неправилно състояние

ако 4 е ОК, 5. нормално функциониране

Незнам дали избощо е направено правилно.
Ако беше цифров изход, пускаш пулъп-а и по някое време тестваш порта - дали тоя пин е 0 или 1.
Но с АЦП-то е друга бира. Правиш го изход и пускаш пулъп-а (ако е така), после го правиш на вход и мериш. Ако го няма кондензатора, може и изобщо нищо да не измериш. В такъв случай външен пулъп с 3.3к може би ще е 100 пъти по-добре.



Хубаво е, че от другата страна сме закачени със Салае-то и четем какво се случва.

Страница 1 от 2 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/