Отговори на тема  [ 44 мнения ]  Отиди на страница Предишна  1, 2, 3
Комуникация в зоната на здрача. 
Автор Съобщение
Ранг: Популярен
Ранг: Популярен
Аватар

Регистриран на: Съб Апр 01, 2023 9:59 am
Мнения: 312
Мнение Re: Комуникация в зоната на здрача.
Прави ми впечатление обстоятелството че забива по-бързо при по-високи обороти на вентилатора. Бих обърнал вниманиена функцията, която обслужва тахо прекъсването. Ако вътре се извършват изчисления, ISR може да стане достатъчно дълго, че при по-високи обороти следващият импулс да пристига преди приключването на предишната обработка.
АКо случаят е такъв то архитектурата трябва да бъде такава че в ISR се прави минимално необходимото, а сметките да се правят в основния цикъл.


Чет Сеп 24, 2026 11:05 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30926
Местоположение: София
Мнение Re: Комуникация в зоната на здрача.
хмм и аз това писах, някъде се застоява твърде дълго.


Чет Сеп 24, 2026 11:15 pm
Профил
Ранг: Професионалист
Ранг: Професионалист
Аватар

Регистриран на: Съб Май 21, 2016 9:47 pm
Мнения: 597
Местоположение: Бургас
Мнение Re: Комуникация в зоната на здрача.
Прекъсването обработва промяна в нивото на входния сигнал на един пин (1->0). Вътре има 8 инструкции- пускане и спиране на таймер, проверка, изчистване или вдигане на флаг (1 микросекунда за изпълнение на всичките), които заедно с регистрацията, обработката и предаване-приемане на управлението да станат най-много 2 микросекунди. Вентилатора е с максимални обороти 2400, т.е. праща импулс на пина в най-лошия случай на всеки 12 милисекунди- това е повече от порядък разлика.
Както каза Тони- по-скоро ще се окаже софтуерен проблем с някой индекс на масив в основната програма, който в някакъв момент прехвърля размера му.
За момента съм оставил платката да регулира оборотите на вентилатора в зависимост от температурата на радиатора без да ги броя.


Пет Сеп 25, 2026 10:46 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30926
Местоположение: София
Мнение Re: Комуникация в зоната на здрача.
Между другото защо не си сетнеш CCP да ти ги мери? Имаш два варианта, може да мериш с таймер който го гейтваш пре, 100 ms, което ще ти даде импулси/10 което трябва да е достатъчно, а ако искаш точност въпреки че не виждам смисъл, може да мериш период, пак хардуерно. А за такива случаи, в които имаш бавни сигнали на прекъсване, аз дори не влизам в прекъсване, полиран ги в основния луп, но това изисква да пишеш без лупове в основния, но това си е типична стейт машина.


Пет Сеп 25, 2026 2:49 pm
Профил
Ранг: Напреднал
Ранг: Напреднал

Регистриран на: Вто Май 07, 2019 9:16 pm
Мнения: 439
Местоположение: I bin thinkin’ this bin Gurindji country. We bin here longa time before them Vestey mob.
Мнение Re: Комуникация в зоната на здрача.
Дето го каза dan да замериш с осцилоскопа на гейта и на дрейна едновременно тоя мосвет който подава 0/1 към пина на прекъсването има резон. Като цъкне вентилатора на всеки 12 милисекунди веднъж на гейта, отде си сигурен на 100 процента че дрейна цъка на пина веднъж или .....
Ако има някой свободен пин също не може ли да се сложи вътре в прекъсването да дига/сваля флаг на тоя свободен пин и да се замери истинското съотношение колко често и дълго стои в прекъсване и колко извън него.


Пет Сеп 25, 2026 11:18 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юли 24, 2005 10:28 am
Мнения: 2728
Мнение Re: Комуникация в зоната на здрача.
ig_ivanov написа:
Контролната сума се смята последна и докато е активна комуникацията си показва вярно оборотите.

Малко допълнително инфо от последните минути.
Махнах вентилатора и вместо него на входа за оборотите включих един сигнал генератор на батерии. 50Хц сигнал- след малко пак забива комуникацията. Няма точно определен период.

Това помага ли?


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


Съб Сеп 26, 2026 11:26 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Юни 05, 2006 1:48 pm
Мнения: 4950
Местоположение: където небето среща земята, ракията е Jameson, а бирата Guinness
Мнение Re: Комуникация в зоната на здрача.
Въпрос за кабела...
Дали е екраниран. Ако да, как филтрираш екррана към сигналната маса?
Въобще масите между вентилатора (и квото има там друго) и процесорите и рс485 приемника (там където забива нещо) вързани ли са и как. А а ако не, как са развързани?

_________________
... ако трети ден не ти се работи... това означава, че е сряда !


Съб Сеп 26, 2026 12:58 pm
Профил
Ранг: Напреднал
Ранг: Напреднал

Регистриран на: Вто Май 07, 2019 9:16 pm
Мнения: 439
Местоположение: I bin thinkin’ this bin Gurindji country. We bin here longa time before them Vestey mob.
Мнение Re: Комуникация в зоната на здрача.
Ако се замери тоя пин RA3 дето е вързано прекъсването и той не баунсва(да държи изпълняващата схема твърде често в прекъсване), следващото най-вероятно което ми хрумва е таймера Т0 дето работи на тоя пин и го активираш, теоретически
да влиза в конфликт за ресурси с нещо от което зависи комуникацията. Или това дето управлява PWM -a за вентилатора (CCP/PWM) да се опитва да прави обръщения към тоя таймер за клока си , или нещо комбинирано от сорта.


Съб Сеп 26, 2026 2:24 pm
Профил
Ранг: Напреднал
Ранг: Напреднал

Регистриран на: Вто Май 07, 2019 9:16 pm
Мнения: 439
Местоположение: I bin thinkin’ this bin Gurindji country. We bin here longa time before them Vestey mob.
Мнение Re: Комуникация в зоната на здрача.
Значи, днес имах малко време да погледна пак схемата по подробно - първо ясно че пускаш прекъсването и таймера с преход 1->0 , ама как го спираш таймера, най-вероятно пак при 1->0 когато мине следващия магнит на вентилатора над хол сензора (то не виждам и как иначе де при случай че се смятат обороти) . В такъв случай времето от пускане до спиране на таймера е примерно 500 оборота_мин /60сек. = 8.3 об_сек ; 1000мс / 8.3 / 2 = 60 милисекунди.
2400 об_мин/60сек. = 40 об_сек ; 1000мс /40/2 = 12.5 милисекунди .
Т.е. това дали ще влиза в прекъсване на 60 милисекунди или на 12 милисекунди за да пуска и спира таймера може и да не е само по себе си проблем. Обаче в комбинация с RC двойката на гейта на Q7 която също добавя закъснение , в най-лошия случай 5*470nF*10K , ако не греша това са близо 20 милисекунди време докато се зарежда кондензатора и гейта на Q7 ще се вдига плавно , като се вдигне до необходимото напрежение ще свали пина на МЦУ-то 1->0 . Ако по тоя начин се пуска и спира таймера това при 60 милисекунди докато мине следващия магнит над хол сензора не е проблем , обаче при 12 милисекунди до следващия магнит(1400 об) става проблем, защото докато RC двойката на гейта на Q7 се зарежда да го вдигне (20 мс),
следващия магнит като мине след 12 мс, ще разреди отново кондензатора преди да е успял да вдигне гейта евентуално. Така може да възникне ситуация при която при 500 оборота
нормално пускаш и спираш таймера, но при 1400 об. този втори преход 1->0 никога не идва, не успяваш да го спреш никога и той овърфлоутва. И тн. и тн. :D


Съб Сеп 26, 2026 10:30 pm
Профил
Ранг: Професионалист
Ранг: Професионалист
Аватар

Регистриран на: Съб Май 21, 2016 9:47 pm
Мнения: 597
Местоположение: Бургас
Мнение Re: Комуникация в зоната на здрача.
Да си вдигна малко темата, защото намерих проблема.
Не е причина прекъсването.
И да- именно вентилатора е причината за забиването на комуникацията от страна на управляващата платка.
Заради електрическите шумове в захранването, причинени от вентилатора, на приемника отсреща в един момент му писва, вдига "frame error" и спира да слуша.
Туй щото ме домързя да сложа филтър и повече кондензатори, ама този път "и так сойдёт" не бачка.


Пон Сеп 28, 2026 5:11 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Май 29, 2007 2:23 pm
Мнения: 3719
Местоположение: Високо в планината
Мнение Re: Комуникация в зоната на здрача.
Това не отговаря на въпроса защо забива, когато само подадеш такт на входа, без вентилатор.

_________________
Хайде де!


Пон Сеп 28, 2026 5:25 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30926
Местоположение: София
Мнение Re: Комуникация в зоната на здрача.
Мда, и на мен не ми звучи логично.


Пон Сеп 28, 2026 5:43 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Чет Сеп 26, 2013 2:24 pm
Мнения: 1840
Мнение Re: Комуникация в зоната на здрача.
ig_ivanov написа:
електрическите шумове в захранването, причинени от вентилатора


Продай ми го този вентилатор. Отдавна си търся ЕМП генератор за да си забивам процесорите. Засега ползвам няколко десетки киловолта и не винаги успявам. С това ще се родя. Няма да трепя УСБ-та, САТА и ХДМИ на целия етаж а само мойта си платка.


Пон Сеп 28, 2026 7:38 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юли 24, 2005 10:28 am
Мнения: 2728
Мнение Re: Комуникация в зоната на здрача.
dan написа:
Това не отговаря на въпроса защо забива, когато само подадеш такт на входа, без вентилатор.


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


Вто Сеп 29, 2026 7:38 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 44 мнения ]  Отиди на страница Предишна  1, 2, 3

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 2 госта


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

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни