Перейти к содержанию

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


-=FISHER=-

Рекомендуемые сообщения

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

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

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

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

1768761657_.JPG.1e401e46154e8678386d04c59fd15ed3.JPG

Изменено пользователем -=FISHER=-

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

Ссылка на комментарий
Поделиться на другие сайты

28 минут назад, -=FISHER=- сказал:

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

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)........................................ Вопрос закрыт. Всем спасибо!!!

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

Ссылка на комментарий
Поделиться на другие сайты

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

  • 2 недели спустя...

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

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

893920233_.JPG.dfc5a549f7d0234f96b896adaf29ab34.JPG

Изменено пользователем -=FISHER=-

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

Ссылка на комментарий
Поделиться на другие сайты

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

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

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, ARV сказал:

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

11 минут назад, ARV сказал:

Решение?

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

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

Ссылка на комментарий
Поделиться на другие сайты

3 hours ago, -=FISHER=- said:

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

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

Ссылка на комментарий
Поделиться на другие сайты

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 на ножку, но это не помогло.

Изменено пользователем -=FISHER=-

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

Ссылка на комментарий
Поделиться на другие сайты

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 на канал
 }  
}
Изменено пользователем Yurkin2015
Ссылка на комментарий
Поделиться на другие сайты

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

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

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

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

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

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

Изменено пользователем -=FISHER=-

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

Ссылка на комментарий
Поделиться на другие сайты

18 minutes ago, -=FISHER=- said:

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

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

if (++counter==buf_ocr)

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

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

Ссылка на комментарий
Поделиться на другие сайты

1 hour ago, -=FISHER=- said:

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

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

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

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

 

Ссылка на комментарий
Поделиться на другие сайты

11 часов назад, Yurkin2015 сказал:

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

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

Изменено пользователем -=FISHER=-

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

Ссылка на комментарий
Поделиться на другие сайты

if (counter >= buf_ocr)
{ 
PWM_PORT&=~(1<<PWM_PIN);  //подаем 0 на канал     
}

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

Изменено пользователем Yurkin2015
Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, Yurkin2015 сказал:

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

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

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

Ссылка на комментарий
Поделиться на другие сайты

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

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

 

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

765663658_.thumb.jpg.dc6e7ec62410bb1dca92fde04bc53405.jpg

 

Изменено пользователем -=FISHER=-

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

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...