Форум программистов, компьютерный форум, киберфорум
Автомобильная электроника
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.58/167: Рейтинг темы: голосов - 167, средняя оценка - 4.58
0 / 0 / 0
Регистрация: 05.02.2015
Сообщений: 64
1

Доводчик люка на Тиньке 13, нужна помощь

08.04.2015, 23:37. Показов 30675. Ответов 29
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!
Являюсь владельцем машины с электрическим люком, но в нем нет доводчика.
Решил сам сделать на Attiny13 + PNP транзисторах или Р-канальных мосфетах, т.к. управляющий +.
Проблема в том ,что в протеусе все работает, а после сборки начались проблемы, греется тинька и я так понял в принципе не работает, одну я уже спалил. Прошу указать где моя ошибка, что я сделал не так.
Вкратце логика работы - при коротком высоком сигнале на PB0 или PB1 на Х секунд выводы PB3 или PB4 становятся в высокий сигнал. При высоком сигнале на PB0 или PB1 дольше 150мс PB3 или PB4 становятся в высокий сигнал до низкого сигнала PB0 или PB1. В схеме предусмотрена "отсечка" или "стопор" для доводчика на PB2 (на схеме там перемычка), при его размыкании доводчик останавливается.
Вот мой код.
Код
/*
* tiny13_dovodchik.c
*
* Created: 06.04.2015 22:37:08
*  Author: Dobrik
*/
#defyme F_CPU 4800000UL
#ymstude <util/delay.h>
#ymstude <avr/interrupt.h>
#ymstude <avr/io.h>
char ticsOne;
int ticsTwo;
char turn; // 1 up, 2 down

ISR(TIM0_OVF_vect) {
if((turn!=0 && (PINB&(1<<0) || PINB&(1<<1)) && ticsTwo!=0) || !(PINB&(1<<2))){
turn=0;
_delay_ms(25);}

/////////uppp
if(PINB&(1<<0)){
ticsOne++;
turn=1;
}
else if(!(PINB&(1<<0)) && ticsOne < 20 && turn==1){
ticsTwo++;
if(ticsTwo>=150){
ticsOne=0;
ticsTwo=0;
turn=0;
}
///down
}else if(PINB&(1<<1)){
ticsOne++;
turn=2;
}
else if(!(PINB&(1<<1)) && ticsOne < 20 && turn==2){
ticsTwo++;
if(ticsTwo>=150){
ticsOne=0;
ticsTwo=0;
turn=0;
}
}else{
ticsOne=0;
ticsTwo=0;
turn=0;
}

TCNT0 = 0xE6;//   сброс счетного регистра (считаем по 50мс)
}

int main(void)
{
TCCR0B = (1<<CS02)|(0<<CS01)|(1<<CS00);  // запуск таймера с предделителем 1024
TIMSK0 = (1<<TOIE0); // разрешить прерывание по переполнению таймера счетчика Т0
TCNT0 = 0xE6; // сброс счетного регистра (считаем по 50мс)
sei(); // разрешить прерывания глобально
DDRB|=0xFF;
PORTB|=0x00;
while(1)
{

if(turn == 0){
PORTB &= ~(1<<3);
PORTB &= ~(1<<4);}
else if(turn == 1){
PORTB |=(1<<3);
PORTB &= ~(1<<4);}
else if(turn == 2){
PORTB |=(1<<4);
PORTB &= ~(1<<3);}
else{
PORTB &= ~(1<<3);
PORTB &= ~(1<<4);}

//TODO:: Please write your application code
}
}
Вот схема в протеусе

https://d1ro8r1rbfn3jf.cloudfront.net/ms_50955/QfuZwvNokcFby9EwhPlG86ZD2prCeB/tiny13_dovodchik%2B-%2BISIS%2BProfessional%2B2015-04-09%2B22.13.43.png?Expires=1428693242&Signature=b0zux4CYjfNuo6NobXuT-qNeRWDR2yWPlKOM2Vo6nZ-n8j7g8mVlZJdPmjXYqrh0426pdzEDPN1G~uVgEmQBRNeLJfSBbQaEXdYoO8VLClRmlEVHP6p7ry4x9WG XNOssg9fZDyziePhZttZfGawObu~IVEg0ZsLd18MaCQvKPgQ~S2nDmU6FtEYURha151CwD4xe35~nvNk 9PwCrEi1XSVsGMIY4bqygzsLjRWDeOKLEQWsxmoz0II8oKxEdZmH8TaYn97htVCUgeJlsnYKKIZhzbnn yPCFaEH8BbxPyav9iF6~~1qlHhRXgSgry1xuLBmn04en1Wl5KC8H4-UQuQQ__&Key-Pair-Id=APKAJHEJJBIZWFB73RSA

Вот схема в спринте "Тут вместо PNP транзистора Р-мосфет irf9540"

https://d1ro8r1rbfn3jf.cloudfront.net/ms_50955/M4lC6KdqsmEbJO775PFvZBJCokqGrj/Sprymt-Layout%2B6%2BRus%2B-%2B%255BC__Users_Dobrik_Documents_%25D0%25A1%25D1%2585%25D0%25B5%25D0%25BC%25D1% 258B_dovodchik_luk.lay6%255D%2B2015-04-09%2B22.19.24.png?Expires=1428693573&Signature=NhRACK~RbzL8jp5i0-Z~WSyRcNl1BA7Z4ikLsdmOqhRMAF1LClaEfR5NXGJbD53uqvI-SFu9axdnVzDhRITkgyn2SfARUPf7vvT29Ze76xK--fa8su0TmdVRYMA5imopyN8dhdYxxaIngsMS~uuZytluy3CcTh6ZQrdvZIU74j48Dm0gku9c6s4urto4U RnRw0W14RpBIIdRqLr30JnuXv6d8Bdgp7uys~1xA7eRbEIineisPifD9q6WaWh6zIyWbkYMDa5AxJBfn poUynG14k5dc-6cRdb4gg~uwYl7bcNVsvrfm1Tk1AEXj2Sv2LWpmEspNW6PpIzhCnPGYBtllA__&Key-Pair-Id=APKAJHEJJBIZWFB73RSA

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


[48.14 Кб]
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.04.2015, 23:37
Ответы с готовыми решениями:

СМА BOSCH WOR 16153 OE крючок люка, разбор крышки люка (вертикалка)
Ребята, может кто знает технологию разбора крышки люка у BOSCH WOR 16153 OE с верхней загрузкой,...

Доводчик
Добрый день! Необходима помощь в выборе доводчика на дверь. Пространство 14.5 см. Помогите,...

СРОЧНО НУЖНА ПОМОЩЬ! Нужна информация о тест оборудовании
Доброго времени суток! Интересует информация (книги, статьи, научные статьи, сайты, зарубежная...

бипер на тиньке
Хочется сделать простенький девайс, способный мелодично динькать так же, как в машинах при открытии...

RGB-led драйвер на тиньке 13
накидал тут прошивку для Тиньки13 под Асмом, для руления ргб-светодиодом.256 градаций на каждый...

29
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 893
14.04.2015, 22:15 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от dobryk
Пытаюсь часть с lm2903 повторить но протеус молчит, может он не знает что такое шунт и оно там может не работать?)
Надо знать ток заторможенного мотора при минимальном возможном напряжении на ак. батарее, с предохранителем в цепи плюса, с реальными проводами питания. Исходя из этого выбирается шунт, что б в рабочем режиме забирал не больше вольта напряжения, желательно меньше - влияет на скорость.
Вообщем это мощный резистор с малым сопротивлением, в схеме образце как раз порог равен одному вольту, если ток стопорения больше 10 А, то соответственно шунт = 0,1 Ом.
Обычно подбирают делитель.
Заодно - силовые транзисторы лучше убрать, в реальных схемах на машинах обычно реле.
0
0 / 0 / 0
Регистрация: 05.02.2015
Сообщений: 64
14.04.2015, 23:17 22
Цитата Сообщение от инкер
Цитата Сообщение от dobryk
Пытаюсь часть с lm2903 повторить но протеус молчит, может он не знает что такое шунт и оно там может не работать?)
Надо знать ток заторможенного мотора при минимальном возможном напряжении на ак. батарее, с предохранителем в цепи плюса, с реальными проводами питания. Исходя из этого выбирается шунт, что б в рабочем режиме забирал не больше вольта напряжения, желательно меньше - влияет на скорость.
Вообщем это мощный резистор с малым сопротивлением, в схеме образце как раз порог равен одному вольту, если ток стопорения больше 10 А, то соответственно шунт = 0,1 Ом.
Обычно подбирают делитель.
Заодно - силовые транзисторы лучше убрать, в реальных схемах на машинах обычно реле.
Та вот теперь когда заметил нагрев НПН транзисторов задумался о замене силовых транзисторов на реле. А с шунтом хочу разобраться для получения опыта, а не применения в текущем проекте. Слыхал о микросхемах для измерения силы тока, может лучше их использовать?
0
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 893
15.04.2015, 00:03 23
Цитата Сообщение от dobryk
Та вот теперь когда заметил нагрев НПН транзисторов задумался о замене силовых транзисторов на реле. А с шунтом хочу разобраться для получения опыта, а не применения в текущем проекте. Слыхал о микросхемах для измерения силы тока, может лучше их использовать?
С транзисторами задумываться не надо, если нет настойчивой потребности в ШИМе, лучше подсматривать как делают производители.С датчиком тока можно поэкпериментировать для самообразования.
Есть второй способ фиксации стопорения движка - отслеживания пульсаций напряжения на двигателе, при остановке их нет, заводы используют и то и другое.
0
0 / 0 / 0
Регистрация: 20.06.2011
Сообщений: 269
15.04.2015, 20:17 24
Если используете высокочастотный ШИМ, то надо ставить микросхемы драйвера, ну а по делу правильно говорят, реле поставте для управления двигателем и всё.
0
0 / 0 / 0
Регистрация: 05.02.2015
Сообщений: 64
15.04.2015, 23:53 25
Цитата Сообщение от ITIKTROS
Если используете высокочастотный ШИМ, то надо ставить микросхемы драйвера, ну а по делу правильно говорят, реле поставте для управления двигателем и всё.
управляю не ШИМ, вместо мосфета поставил мощный PNP, вот хочу понять как устранить нагрев NPN. (не знаю как их верно назвать в данной схеме)
0
0 / 0 / 0
Регистрация: 20.06.2011
Сообщений: 269
16.04.2015, 17:05 26
npn вообще не должен греться в таком случае, если схема соответствует действительности. Ток через npn транзистор определяется только резистором в цепи коллектора, если на базу транзистора npn подан постоянный импульс открытия. Вообще p-канальный мосфет я не применял никогда и нигде, поставте вместо него реле, если нужно цепь по плюсу коммутировать.
0
0 / 0 / 0
Регистрация: 05.02.2015
Сообщений: 64
16.04.2015, 23:45 27
Цитата Сообщение от ITIKTROS
npn вообще не должен греться в таком случае, если схема соответствует действительности. Ток через npn транзистор определяется только резистором в цепи коллектора, если на базу транзистора npn подан постоянный импульс открытия. Вообще p-канальный мосфет я не применял никогда и нигде, поставте вместо него реле, если нужно цепь по плюсу коммутировать.
Сейчас схема такая. Хочу использовать именно PNP изза компактности (т.к. место для доводчика ограничено).

http://firepic.org/images/2015-04/17/ay5j94fqw2nv.png
0
0 / 0 / 0
Регистрация: 15.03.2012
Сообщений: 113
17.04.2015, 04:50 28
Цитата Сообщение от dobryk
управляю не ШИМ, вместо мосфета поставил мощный PNP, вот хочу понять как устранить нагрев NPN. (не знаю как их верно назвать в данной схеме)
Устранить нагрев транзистора поможет резистор - R5 на схеме. Зелёный график - мощность, рассеиваемая транзистором Q3, красный - Q4. Теперь будет греться резистор R5. Для уменьшения нагрева ставить полевой PMOS. //Датчик перегрузки будет шунт+АЦП// - резистор с биполярным транзистором проще, ток считается примерно I=0,6/R. В программе учесть пусковой ток двигателя задержкой реакции на токовый датчик.

0
0 / 0 / 0
Регистрация: 20.06.2011
Сообщений: 269
17.04.2015, 16:38 29
dobryk, ну блин конечно греться будет в такой схеме, правильно вам говорят ставте резистор в цепь базы транзистора pnp.
0
0 / 0 / 0
Регистрация: 05.02.2015
Сообщений: 64
17.04.2015, 20:59 30
Калин и электрос, спасибо, все прекрасно работает и не греется.
0
17.04.2015, 20:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.04.2015, 20:59
Помогаю со студенческими работами здесь

Сма Beko WML 15085 D, Не видит блокировку люка.., Не видит блокировку люка
Попала в ремонт СМА BEKO WML15085 D. Зависла на одной программе, блокирует люк и стоит... Значок...

Нужна помощь !!!
У меня возникла следующая проблема : переписал старый движок на одном из сайтов, и пустил на...

Нужна помощь
Расскажите плиз как сделать рекламу на гугл типа этой:...

Нужна помощь
Подскажите в чем может быть проблема. Есть 2 сервера в одной именовоной сети. На 1 сервере...

Нужна помощь
Здравстуйте, помогите новичку...Такой вопрос, как настроить удаленный доступ клиента к его почте,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru