0 / 0 / 0
Регистрация: 05.02.2015
Сообщений: 64
|
|
1 | |
Доводчик люка на Тиньке 13, нужна помощь08.04.2015, 23:37. Показов 30675. Ответов 29
Метки нет (Все метки)
Всем привет!
Являюсь владельцем машины с электрическим люком, но в нем нет доводчика. Решил сам сделать на 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
|
08.04.2015, 23:37 | |
Ответы с готовыми решениями:
29
СМА BOSCH WOR 16153 OE крючок люка, разбор крышки люка (вертикалка) Доводчик СРОЧНО НУЖНА ПОМОЩЬ! Нужна информация о тест оборудовании бипер на тиньке RGB-led драйвер на тиньке 13 |
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 893
|
|
14.04.2015, 22:15 | 21 |
Сообщение от dobryk
Вообщем это мощный резистор с малым сопротивлением, в схеме образце как раз порог равен одному вольту, если ток стопорения больше 10 А, то соответственно шунт = 0,1 Ом. Обычно подбирают делитель. Заодно - силовые транзисторы лучше убрать, в реальных схемах на машинах обычно реле.
0
|
0 / 0 / 0
Регистрация: 05.02.2015
Сообщений: 64
|
|
14.04.2015, 23:17 | 22 |
Сообщение от инкер
Вообщем это мощный резистор с малым сопротивлением, в схеме образце как раз порог равен одному вольту, если ток стопорения больше 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
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
http://firepic.org/images/2015-04/17/ay5j94fqw2nv.png
0
|
0 / 0 / 0
Регистрация: 15.03.2012
Сообщений: 113
|
|
17.04.2015, 04:50 | 28 |
Сообщение от dobryk
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 | |
17.04.2015, 20:59 | |
Помогаю со студенческими работами здесь
30
Сма Beko WML 15085 D, Не видит блокировку люка.., Не видит блокировку люка Нужна помощь !!! Нужна помощь Нужна помощь Нужна помощь Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |