Jump to content
Sign in to follow this  
-=FISHER=-

Вежливая подсветка на AtTiny25

Recommended Posts

12.02.2020 в 17:47, snn_krs сказал:

У вас похоже неправильно прерывание объявлено

Изменил, результата нет...

Потому что это одно и то же...

1768761657_.JPG.1e401e46154e8678386d04c59fd15ed3.JPG

Edited by -=FISHER=-

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Share this post


Link to post
Share on other sites

А какой у вас контроллер ? Для Тини13 вектор прерывания по таймеру 0 не 5 а 3.

Share this post


Link to post
Share on other sites
28 минут назад, -=FISHER=- сказал:

А вот в такой связке не работает,

если убрать SEI - общее разрешение прерываний - тоже будет работать? это будет значить что дело только в вызове прерывания, как будто он уходит мимо этой определенной функции прерывания и, соответственно не выходит из этого состояния никогда.


Можно сделать все! Но чем больше можно, тем больше нельзя!

Share this post


Link to post
Share on other sites

Приглашаем на вебинар «Новинки и уникальные решения Molex. На что обратить внимание и почему»

7 апреля приглашаем на вебинар, который будет интересен разработчикам и инженерам-схемотехникам, интересующимся тенденциями рынка, новыми перспективными решениями для соединений «провод-провод», «провод-плата», «плата-плата». Для инженеров КИПиА и IT будут освещены уникальные решения Molex для «удлинения» интерфейсов HDMI, DisplayPort и USB даже в условиях сильного зашумления, а также семейство бесконтактных датчиков Contrinex. Помимо этого, будет уделено внимание дальнейшему развитию направления антенн, где Molex имеет ряд интересных и уникальных решений

Подробнее

12.02.2020 в 18:17, ruhi сказал:

если убрать SEI - общее разрешение прерываний - тоже будет работать?

Да, так работает. Что теперь можно проверить?

12.02.2020 в 18:09, snn_krs сказал:

Для Тини13 вектор прерывания по таймеру 0 не 5 а 3.

Да 13. Я не уверен что означает цифра 5 в библиотеки Atmel Studio.

502581043_.JPG.b9df72fc86c1a9a91d66104904313da8.JPG

Дошло... В проекте не изменил контроллер (остался старый Attiny25)........................................ Вопрос закрыт. Всем спасибо!!!


Мы все учились по-немногу, чему-нибудь и как-нибудь...

Share this post


Link to post
Share on other sites

Проверьте в свойствах проекта, какой выбран контроллер.

Share this post


Link to post
Share on other sites
                     

Измеряем мощность в режиме реального времени с помощью ИС регистратора потребляемой мощности

Одной из важнейших функций обеспечения работы системы управления питанием является измерение среднего значения потребляемой мощности критичных участков цепи питания в режиме реального времени. Микросхемы регистраторов производства Maxim Integrated имеют встроенную функцию накопления измеренных значений мощности и предоставляют на выходе данные, пригодные для вычисления ее среднего значения. В статье рассматриваются различные примеры использования регистраторов для проведения критичных измерений мощности в режиме реального времени.

Подробнее

@Yurkin2015 Добрый день! Я всё же немного переделал схему, добавив стабилизатор 78L05, отладил прошивку на отладочной плате, собрал всё в железе и в целом, всё работает как надо. Кроме одного странного момента, когда на схему подан постоянный плюс, минус и зажигание, то контроллер включается, хотя такого быть по задумке не должно, подскажите пожалуйста, где я ошибся? То есть на истоке Q3 присутствует 2,5 В, а на выходе 78L05 3,5 В

893920233_.JPG.dfc5a549f7d0234f96b896adaf29ab34.JPG

Edited by -=FISHER=-

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Share this post


Link to post
Share on other sites

Я извиняюсь, что вклиниваюсь, не изучив все предыдущие посты... Но вы учитываете тот факт, что через R4 микроконтроллер запитывается сам и по цепи VCC запитывает остальную часть схемы? Может, те самые 3,5 вольта на выходе 78L05 на самом деле появляются не с её выхода, а "из 8-й ноги микроконтроллера"?


Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Share this post


Link to post
Share on other sites
2 минуты назад, ARV сказал:

Может, те самые 3,5 вольта на выходе 78L05 на самом деле появляются не с её выхода, а "из 8-й ноги микроконтроллера"?

Может быть, а какое на Ваш взгляд есть решение?...


Мы все учились по-немногу, чему-нибудь и как-нибудь...

Share this post


Link to post
Share on other sites

Решение? Исключать возможность запитки схемы сигналами управления. Иначе говоря, ставьте оптроны на сигнальные цепи.

Кстати, проверить мою версию достаточно просто: принудительно заресеттьте микроконтроллер (чтобы гарантировать отсутствие его влияния) и посмотрите, как будет меняться напряжение на его 8 ноге при подаче и отключении сигнала IGN.


Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Share this post


Link to post
Share on other sites
11 минут назад, ARV сказал:

Решение?

Я понял, я просто немного отредактирую прошивку и это никак не будет влиять. Спасибо!


Мы все учились по-немногу, чему-нибудь и как-нибудь...

Share this post


Link to post
Share on other sites
3 hours ago, -=FISHER=- said:

и зажигание, то контроллер включается

Это было уже, раньше обсуждали в другой теме. Питание процессора происходит через резистор R4 1кОм. Увеличьте R4 до 100кОм или больше.

Share this post


Link to post
Share on other sites
1 час назад, Yurkin2015 сказал:

Это было уже

Да, Вы правы с этим разобрался изменив прошивку. Но теперь возникла в принципе типичная проблема при использовании "прямого" ШИМ. Когда значение переменной ocr равно 0, высокий уровень всё равно подается совсем на короткое время на ножку которая управляет транзистором, и тот из-за этого не может до конца закрыться и как следствие, светодиоды в нагрузке еле-еле святятся. Подскажите пожалуйста, как организовать инверсный ШИМ на основе вот этого прямого.

//****************МАКРОСЫ ДЛЯ ПРОГРАММНОГО ШИМ*********************************
#define PWM_PORT PORTB //PORT на котором расположен ШИМ
#define PWM_DDR DDRB //DDR на котором расположен пин ШИМ
#define PWM_PIN 0 //номер пина на который будет выводиться программный ШИМ

//****************ПЕРЕМЕННЫЕ ДЛЯ ПРОГРАММНОГО ШИМ******************************
uint8_t counter;
uint8_t ocr;
uint8_t buf_ocr;

void soft_pwm_ini(void)
{
	PWM_DDR|=(1<<PWM_PIN); //настраиваем порт ШИМ на выход
}

void PWM(void)
{
	if (++counter==0) //счетчик перехода таймера через ноль
	{
		buf_ocr=ocr; //значения длительности ШИМ
		PWM_PORT |=(1<<PWM_PIN); //подаем 1 на канал
	}
	if (counter==buf_ocr) PWM_PORT&=~(1<<PWM_PIN);  //подаем 0 на канал
}

P.S. Я пробовал просто поменять местами строчки подачи 1 и 0 на ножку, но это не помогло.

Edited by -=FISHER=-

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Share this post


Link to post
Share on other sites

Просто поставьте

if ( ocr == 0 )
{
  PWM_PORT &= ~( 1 << PWM_PIN );
} else {
  ...
}

 

Share this post


Link to post
Share on other sites
4 hours ago, Yurkin2015 said:

Питание процессора происходит через резистор R4 1кОм

 

2 hours ago, -=FISHER=- said:

с этим разобрался изменив прошивку.

Ну, это очень круто!

 

2 hours ago, -=FISHER=- said:

высокий уровень всё равно подается совсем на короткое время

Меняем условия местами и добавляем else, например, вот так:

void PWM(void)
{
 buf_ocr=ocr; //значения длительности ШИМ
 if (++counter==buf_ocr) 
 {
     PWM_PORT&=~(1<<PWM_PIN);  //подаем 0 на канал    
 }
 else
 if (counter==0) //счетчик перехода таймера через ноль
 {
     PWM_PORT |=(1<<PWM_PIN); //подаем 1 на канал
 }  
}
Edited by Yurkin2015

Share this post


Link to post
Share on other sites
1 час назад, Yurkin2015 сказал:

Ну, это очень круто!

Я, конечно, имею ввиду что от этого эффекта я не избавился изменением программы)) а сделал так что он не влияет на правильность выполнения алгоритма.

1 час назад, Yurkin2015 сказал:

Меняем условия местами и добавляем else, например, вот так:

Таким образом, 254 - минимальная скважность, а 0 - максимальная, правильно?

Edited by -=FISHER=-

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Share this post


Link to post
Share on other sites
18 minutes ago, -=FISHER=- said:

минимальная скважность,

При ocr=0 на выходе всегда 0, лампочки не горят.

При ocr=255 на выходе практически всегда единица, лампочки горят в полный накал.

Share this post


Link to post
Share on other sites
4 часа назад, Yurkin2015 сказал:

if (++counter==buf_ocr)

Меня до сих пор сбивает вот эта строчка, как ее правильно читать? Что-то вроде: сначала проверяем условие и после проверки инкрементируем переменную counter?


Мы все учились по-немногу, чему-нибудь и как-нибудь...

Share this post


Link to post
Share on other sites
1 hour ago, -=FISHER=- said:

как ее правильно читать?

Сначала инкрементируем, потом используем полученное значение.

Можно проще записать, будет то же самое.

counter++;
if (counter==buf_ocr)
{
   ....
}

 

Share this post


Link to post
Share on other sites
11 часов назад, Yurkin2015 сказал:

Сначала инкрементируем, потом используем полученное значение.

Но ведь тогда переменная counter при первом входе в условие будет равна 1 и далее эта переменная будет принимать по кругу такие значения: 1,2,3,4,5...253,254,0,1,2,3... Так?

Edited by -=FISHER=-

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Share this post


Link to post
Share on other sites
2 hours ago, -=FISHER=- said:

Так?

Так, только 255 тоже участвует в этом ряду. 

Share this post


Link to post
Share on other sites
if (counter >= buf_ocr)
{ 
PWM_PORT&=~(1<<PWM_PIN);  //подаем 0 на канал     
}

Ещё одна поправка в код. Для выключения выхода лучше проверять на больше или равно.

Edited by Yurkin2015

Share this post


Link to post
Share on other sites
1 минуту назад, Yurkin2015 сказал:

Ещё одна поправка в код.

Поправил, тестируем


Мы все учились по-немногу, чему-нибудь и как-нибудь...

Share this post


Link to post
Share on other sites

@Yurkin2015 Добрый день! Собрал в железе, всё работает! Уже поставил на машину, катаюсь - радуюсь. Спасибо ещё раз большое за подсказки!

В общем я разгадал тайный смысл выхода KEY на плате плафона освещения. Этот вывод является минусом для подсветки замка зажигания. И по задумке инженеров GM замок зажигания подсвечивается синхронно центральному плафону. Я решил чтобы всё было ещё ближе к изначальной задумке, задействовать и этот вывод. Могу ли я подключить ещё один полевой транзистор параллельно биполярному на штатной плате? Будет ли таким образом один канал ШИМ открывать и закрывать сразу два транзистора разной структуры, подскажите пожалуйста?

 

Скрытый текст

765663658_.thumb.jpg.dc6e7ec62410bb1dca92fde04bc53405.jpg

 

Edited by -=FISHER=-

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Share this post


Link to post
Share on other sites
1 hour ago, -=FISHER=- said:

подключить ещё один

Да, можно подключить, так - нормально.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Сообщения

    • На каком то форуме было,маньяки делали
    • В atx блоках на uc3843 (PowerMan на 300 и 350 ватт) доп обмотка мотается сразу параллельно силовой тонким проводом (отчего иногда и пробивает), т.е. количество витков одинаковое (около 40). 
    • "Спасибо конечно огромное" От жеж вы к этим esm -метрам прицепились :-D Уже спаял себе эту сверх ценную приблуду. Нашел схемы. Еще разбираюсь. Визуально всё ок. Только сильно потемневшая pcb с D2374 и B1548, там похоже резистор сгорел. И один С3940ar. С них пожалуй и начну. Только с питанием разберусь, где сколько должно быть.
    • По имени Гав? Помнишь мультик где они на чердаке боялись? А чего,какое то сходство есть
    • Кстати, на этом принципе можно собрать вполне рабочий вариант усилителя НЧ класса "А", правда, я его не испытывал ...
    • ООпять чудит - этот BAFI)) - скажут не которые - но - давайте разберем суть дела . да - можно сказать - что этот трансформатор на этой частоте не айс - но- давайте пойдем дальше - что есть музыкальная синусоида - это частота - слышимая 20Гц-20кГц -у кого как со слухом и изменяюшаяся амплитуда - то-есть громкомкость и она не постоянна - то есть средняя может быть в 100-ом унч = 50 и пики под 100 , я не беру в учет усилители высокого класса а беру только основные используемые практически у всех дома , итого - на этой частоте - хоть и высока - дроссель будет использоватся в комфортной для себя среде - единственное - высокая частота - но это тоже нужно проверить , теперь давайте разберем почему обратноход - изучая тему топологий иип и имея опыт сборки полного унч - давайте сравним - итак. полумост  прост - но - чтобы поддержать в динамике нужный ток - его придется закладывать на мощность намного превышаюшей мощность унч или усложнять схему ККМ - это конечно хорошо - но - для унч для сарайки) и если хочешь более менее хорошего звучания - эт дороговато)  БЖТ  хороший вариант - без запарки поставил емкости с запасом и в путь) - но- хороший трансформатор и с нужным напряжением и током еще поискать + емкости тоже денег стоят не малых . Обратноход  почему? давайте вспомним принцип - по сути это тот же слабый бжт) который *заправляет* емкость на выходе и давайте сравним - здесь в статье - аудиокиллер ( на форуме его не встречал - но вроде человек опытный) приводит режимы работы  трансформатора в паре с емкостями https://electroclub.info/articles/stati-punkt-3/powertans/  и приходит к выводу что мощность не обязательно дикая) а достаточно хорошей емкости - на пики синуса - повторяю - я не говорю о УМЗЧ высокого класса . и практически тоже самое нам даст обратноход + высокая частота - заведет помехи намного выше звуковой. теперь - если вы со мной согласны пойдем дальше - нам не нужна жесткая ОС по напряжению - оптроны и т.д. - так как это чревато не линейностью и запаздыванием - от суда выход убрать эту зависимость- схема ниже , на самом деле известна -нашел когда задумал- при падении напряжения в дросселе - падает на усилителе ошибки напряжения - что приводит к его переключению . А теперь смысл того - почему открыл тему - на этой мощности возрастают выбросы и решить эту проблемму может только пасывный снаббер без потерь - есть активный - но эт дорого) по опыту я смог добится хороших результатов на мощности 150 ватт и пришел к выводу что для этого не нужна большая емкость С5 а все упирается в правильный расчет индуктивности доп обмотки - вот здесь прошу помощи всех - кому интересно - получить не дорогой и надежный иип для умзч , в этом хорошо разбирается Серега - но пока мы не пришли к однозначному выводу и расчету - и инфы по этому поводу очень мало - буду благодарен помощи спецов . жду шунтов для моей многострадальной зарядки) - потому решил выложить идею  - возможно конечно все это придет в конечном счете к тупику - но - не проверяя на практике - все равно нельзя 100% сказать - что это - не работает. имхо . потому готов ради спортивного интереса перевести в мусор пару плат). позже выложу свои сработавшие расчеты и файли примеров реализации с полным описанием работы этой цепочки.
×
×
  • Create New...