0
- 12.08.2013 - 23:07
|
доброго времени ,нужна помощь в сборке схемы все комплектующие есть текстолит тож,уже если честно месяца два наплывами пытаюсь собрать схему страба но неполучается ,немогу разобраться поэтому решил спросить мож кто поможет .краснодар пашковка) схема http://www.autosaratov.ru/phorum/sho...-руками? зарание за помощь спасибо братцы | | |
1
- 12.08.2013 - 23:24
| гдето я это уже видел | | |
2
- 12.08.2013 - 23:28
| да в сети копипастов много, просто мысль о том что не могу сделать бесит надо собрать и успокоиться...поэтому помощи попросил | | |
3
- 13.08.2013 - 02:03
|
да, уже было только на PICe Нужно собрать устройство, описание внутри эта схема в Proteus тоже забавно мигает | | |
4
- 13.08.2013 - 11:50
|
>пытаюсь собрать схему страба но неполучается возможно это потому что схема нарисована не очень наглядно, и для начала её надо разрисовать как то так. | | |
5
- 13.08.2013 - 14:18
| братцы мож кто рублей за 500 соберет,поможет земляку)было бы неплохо | | |
6
- 13.08.2013 - 15:20
| надо сделать печатку и монтаж (детали есть ) | | |
7
- 13.08.2013 - 19:29
|
Если это когда либо могло бы быть сделано то могло бы быть сделано и так. За неимением десятичного счётчика использован двоичный, что конечно ограничивает число вспышек несколькими значениями из ряда 2-4-8, но мне хотелось просто посмотреть вживую. Разумеется на мк гораздо проще, но не прикольно. | | |
8
- 14.08.2013 - 02:54
|
ну может кто ответит что нибудь в лс, на мое предложение | | |
9
- 14.08.2013 - 14:47
| блин ну мож кто поможет ,тут работы на 30 минут ,и денег дам просто реально не получается,сколько будет стоить такая работа? | | |
10
- 14.08.2013 - 14:52
|
могу подарить ту плату что на картинке, но на ней нет регулировочных резисторов и вспышки идут по четыре. Или можно Андрей7 написать, который сделал хорошую плату в смежной схеме. Вообще странно что китайцы такого ещё не предлагают за копейки. | | |
11
- 14.08.2013 - 15:57
| спасибо большо за это.но мне хотелось бы то что на схеме может сооброхим натроих)и соберем за денежное вознограждение схему) скиньте номер в лс наберу | | |
12
- 14.08.2013 - 16:00
| я просто хрена никого незнаю на форуме потому и [*****]...ываю всех реально мысль о сборке покоя не дает) | | |
13
- 14.08.2013 - 18:16
|
К сожалению именно такой схемы как ваша у меня нет и не предвидится. Номер Андрей7 уже давал в упомянутом выше топике - 8-905 477 21 16, не вижу причин почему бы ему не заняться. Кстати по вашей схеме нагрузка коммутируется по отношению к корпусу, но для автомобиля возможно удобнее использовать P-канальные ключи и коммутировать шину питания, с точки зрения удобства подключения. | | |
14
- 15.08.2013 - 21:22
| Цитата:
В Вашем случае увидеть как моргает ... и успокоиться ! | | |
15
- 15.08.2013 - 22:05
|
Вот так оно выглядело бы лучше, на мой взгляд. В смысле защиты от кз, подключения лампочек и т.п. заклинание для контроллера (поскольку в Proteus нет модельки для tiny43 то не проверено и возможно сработает не так как надо) - Код: /***************************************************** Chip type : ATtiny43U AVR Core Clock frequency: 8,000000 MHz *****************************************************/ #include <tiny43u.h> #define CPU_FREQ 8000000 #define V_bat_max ((5/5)*(5+10)) #define V_bat_min ((11*255)/V_bat_max) #define out_1 PORTB.4 #define out_2 PORTB.5 #define ocp_led PORTB.6 unsigned char t_imp, t_pause, n_imp, v_bat; unsigned char tmr [7]; unsigned char ADC_0, ADC_1, ADC_2, ADC_3; void ports_init () ** DDRA=0b01010000; PORTA=0b10000000; DDRB=0b11111111; PORTB=0b00000000; ** void timer_0_init () ** TCCR0A |= 1<<WGM01; //ctc TCCR0B |= 1<<CS02|1<<CS00; //div by 1024 OCR0A = 0x9C; //156 - 50Hz TIMSK0 |= 1<<OCIE0A; // int on compare match ** void timer_1_init () ** //TCCR1A |= 1<<WGM11|1<<WGM10; //fast PWM, outputs disconnected //TCCR1B |= 1<<WGM12|1<<CS11 ; //top OCR1A, div by 8 ** void acmp_init () ** ACSR |= 1<<ACBG; ** void adc_init () ** ADCSRA |= 1<<ADEN|1<<ADPS2|1<<ADPS1|1<<ADPS0; ADCSRB |= 1<<ADLAR; ADCSRA |= 1<< ADSC; ** interrupt [TIM0_COMPA] void timer0_comp (void) ** char i; for (i=0; i<7; i++) {if (tmr [i]) tmr [i]--;** #asm("wdr") ** void ADC_read () ** static char ADC_select = 1; if (!ADCSRA.ADSC) ** switch (ADC_select) ** case 0: ADMUX = 0; ADC_select = 1; ADC_3 = ADCH; break; case 1: ADMUX = 1; ADC_select = 2; ADC_0 = ADCH; break; case 2: ADMUX = 2; ADC_select = 3; ADC_1 = ADCH; break; case 3: ADMUX = 3; ADC_select = 0; ADC_2 = ADCH; break; ** ADCSRA |= 1<< ADSC; ** ** void convert_ADC () ** t_imp = ((unsigned int)ADC_0 * 20*5)>>8; t_pause = ((unsigned int)ADC_1 * 20*5)>>8; n_imp = ((unsigned int)ADC_2 * 10)>>8; v_bat = ADC_3; ** void blinking_led (char a) ** char i; for (i=0; i<a;) ** if (!tmr[5]) tmr[5]= 25; ocp_led = ~ocp_led; i++; ** ocp_led = 0; ** void battery_check () ** while (v_bat < V_bat_min) {out_1 = 0; out_2 = 0; blinking_led (10);** ** enum state {all_off, out1_on, out1_off, out2_on, out2_off, all_on** out_state; void out2performing () ** static char n_imp_tmp; if (out_state == all_off) {out_state = out1_on; tmr[1] = t_imp; n_imp_tmp = n_imp;** if ((out_state == out1_on)&&(! tmr[1])) {out_state = out1_off; tmr[2] = t_pause;** if ((out_state == out1_off)&&(! tmr[2])&&(n_imp_tmp)) {out_state = out1_on; tmr[1] = t_imp; n_imp_tmp-- ;** else if ((!n_imp_tmp)&&(out_state == out1_off)) {out_state = out2_on; n_imp_tmp = n_imp; tmr[1] = t_imp;** if ((out_state == out2_on)&&(! tmr[1])) {out_state = out2_off; tmr[2] = t_pause;** if ((out_state == out2_off)&&(! tmr[2])&&(n_imp_tmp)) {out_state = out2_on; tmr[1] = t_imp; n_imp_tmp-- ;** else if((!n_imp_tmp)&&(out_state == out2_off)) {out_state = out1_on; n_imp_tmp = n_imp; tmr[1] = t_imp;** switch (out_state) ** case all_off: out_1 = 0; out_2 = 0; break; case out1_on: out_1 = 1; out_2 = 0; break; case out1_off: out_1 = 0; out_2 = 0; break; case out2_on: out_1 = 0; out_2 = 1; break; case out2_off: out_1 = 0; out_2 = 0; break; case all_on: out_1 = 1; out_2 = 1; break; default: break; ** ** void ocp () ** while (((out_state == out1_on)||(out_state == out2_on))&&(ACSR.ACO)) {out_1 = 0; out_2 = 0; ocp_led = 1; tmr[6] = 255;**; while (tmr[6]); ocp_led = 0; ** void main(void) ** #pragma optsize- CLKPR |= 1<<CLKPCE; CLKPR=0x00; // Crystal Oscillator division factor: 1 #ifdef _OPTIMIZE_SIZE_ #pragma optsize+ #endif ports_init (); acmp_init (); adc_init (); timer_0_init (); timer_1_init (); #pragma optsize- #asm("wdr") WDTCSR=0x18; WDTCSR |= 1<<WDE|1<<WDP2; // 0,25s #ifdef _OPTIMIZE_SIZE_ #pragma optsize+ #endif #asm("sei") while (1) ** ADC_read (); convert_ADC (); battery_check (); out2performing (); ocp (); ** ** | | |
16
- 16.08.2013 - 19:01
|
финальная версия. при замыкании стоков пинцетом на корпус срабатывает защита и ключи (на 12А) остаются целы. Проверялось с галогеновой лампочкой 12V 35W (cопротивление холодной лампы в районе 0,5 Ома). Код: /***************************************************** Chip type : ATtiny43U AVR Core Clock frequency: 8,000000 MHz *****************************************************/ #include <tiny43u.h> #include <delay.h> #define CPU_FREQ 8000000 #define V_bat_min (((int)11*255)/18) #define out_1 PORTB.4 #define out_2 PORTB.5 #define ocp_led PORTB.7 unsigned char t_imp, t_pause, n_imp, v_bat; unsigned char tmr [7]; unsigned char ADC_0, ADC_1, ADC_2, ADC_3; void ports_init () ** DDRA=0b01010000; PORTA=0b10000000; DDRB=0b11111111; PORTB=0b00000000; ** void timer_0_init () ** TCCR0A |= 1<<WGM01; //ctc TCCR0B |= 1<<CS02|1<<CS00; //div by 1024 OCR0A = 0x9C; //156 - 50Hz TIMSK0 |= 1<<OCIE0A; // int on compare match ** void timer_1_init () ** //TCCR1A |= 1<<WGM11|1<<WGM10; //fast PWM, outputs disconnected //TCCR1B |= 1<<WGM12|1<<CS11 ; //top OCR1A, div by 8 ** void acmp_init () ** ACSR |= 1<<ACBG; ** void adc_init () ** ADCSRA |= 1<<ADEN|1<<ADPS2|1<<ADPS1|1<<ADPS0; ADCSRB |= 1<<ADLAR; ADCSRA |= 1<< ADSC; ** interrupt [TIM0_COMPA] void timer0_comp (void) ** char i; for (i=0; i<7; i++) {if (tmr [i]) tmr [i]--;** #asm("wdr") ** void ADC_read () ** static char ADC_select = 1; static char counter = 64; static unsigned int v_bat_tmp; if (!ADCSRA.ADSC) ** switch (ADC_select) ** case 0: ADMUX = 0; ADC_select = 1; ADC_3 = ADCH; break; case 1: ADMUX = 1; ADC_select = 2; ADC_0 = ADCH; break; case 2: ADMUX = 2; ADC_select = 3; ADC_1 = ADCH; break; case 3: ADMUX = 3; ADC_select = 0; ADC_2 = ADCH; break; ** if (counter) {v_bat_tmp += ADC_3; counter--;** else {v_bat = v_bat_tmp >>6; v_bat_tmp = 0; counter = 64;** ADCSRA |= 1<< ADSC; ** ** void convert_ADC () ** t_imp = ((unsigned int)ADC_0 * 2*25)>>8; t_pause = ((unsigned int)ADC_1 * 2*25)>>8; n_imp = ((unsigned int)ADC_2 * 10)>>8; ** void blinking_led () ** ocp_led = ~ocp_led; delay_ms (400) ; ** void battery_check () ** while (v_bat < V_bat_min) {out_1 = 0; out_2 = 0; blinking_led (); ADC_read (); convert_ADC ();** ocp_led = 0; ** enum state {all_off, out1_on, out1_off, out2_on, out2_off, all_on** out_state; void out2performing () ** static char n_imp_tmp; if (out_state == all_off) {out_state = out1_on; tmr[1] = t_imp; tmr[0] = 5; n_imp_tmp = n_imp;** if ((out_state == out1_on)&&(! tmr[1])) {out_state = out1_off; tmr[2] = t_pause;** if ((out_state == out1_off)&&(! tmr[2])&&(n_imp_tmp)) {out_state = out1_on; tmr[1] = t_imp; tmr[0] = 5; n_imp_tmp-- ;** else if ((!n_imp_tmp)&&(out_state == out1_off)) {out_state = out2_on; n_imp_tmp = n_imp; tmr[0] = 5; tmr[1] = t_imp;** if ((out_state == out2_on)&&(! tmr[1])) {out_state = out2_off; tmr[2] = t_pause;** if ((out_state == out2_off)&&(! tmr[2])&&(n_imp_tmp)) {out_state = out2_on; tmr[1] = t_imp; tmr[0] = 5; n_imp_tmp-- ;** else if((!n_imp_tmp)&&(out_state == out2_off)) {out_state = out1_on; n_imp_tmp = n_imp; tmr[0] = 5; tmr[1] = t_imp;** switch (out_state) ** case all_off: out_1 = 0; out_2 = 0; break; case out1_on: out_1 = 1; out_2 = 0; break; case out1_off: out_1 = 0; out_2 = 0; break; case out2_on: out_1 = 0; out_2 = 1; break; case out2_off: out_1 = 0; out_2 = 0; break; case all_on: out_1 = 1; out_2 = 1; break; default: break; ** ** void ocp () ** while (((out_state == out1_on)||(out_state == out2_on))&&(ACSR.ACO)&&(!tmr[0])) {out_1 = 0; out_2 = 0; ocp_led = 1; tmr[6] = 255; out_state = all_off;**; while (tmr[6]); ocp_led = 0; ** void main(void) ** #pragma optsize- CLKPR |= 1<<CLKPCE; CLKPR=0x00; // Crystal Oscillator division factor: 1 #ifdef _OPTIMIZE_SIZE_ #pragma optsize+ #endif ports_init (); acmp_init (); adc_init (); timer_0_init (); timer_1_init (); #pragma optsize- #asm("wdr") WDTCSR=0x18; WDTCSR |= 1<<WDE|1<<WDP2; // 0,25s #ifdef _OPTIMIZE_SIZE_ #pragma optsize+ #endif #asm("sei") out_state = all_off; t_imp=25, t_pause=25, n_imp=5, v_bat=200; while (1) ** ADC_read (); convert_ADC (); battery_check (); out2performing (); ocp (); ** ** | | |
17
- 20.08.2013 - 23:59
| 16-8pin> А зачем супрессор на такую большую напругу? | | |
18
- 21.08.2013 - 12:54
|
Мало ли что в автомобильной электросхеме может гулять. Сапрессор стоит копейки. | | |
19
- 21.08.2013 - 13:02
|
В смысле напряжение когда он открывается всё же меньше чем предельное для ключей (55V для IRF4905). Там ещё в схеме предохранитель надо дорисовать, ампер на 40. И использована цепочка резистор - стабилитрон вместо интегрального стабилизатора в цепи питания мк по той же причине, для повышения надёжности в условиях всплесков по питанию. Всё таки на дискретной логике получается дубовее и это плюс для применения на авто. | | |
20
- 21.08.2013 - 13:06
| Ну так и ставить на 16-18 вольт, а то если будет 47 то ни чего не выживет уже. К примеру на PA3 будет сильно выше VCC... | | |
21
- 21.08.2013 - 13:08
|
а вот так, на мой взгляд, могла бы выглядеть схема на ИЕ8 | | |
22
- 21.08.2013 - 13:10
| в смысле, не выживет? при продолжительном повышении конечно уже и штатное оборудование начнёт дохнуть, а кратковременный спайк эта схема должна пережить. | | |
23
- 21.08.2013 - 13:22
| Хз должна не должна, сколько много и долго проц переживет по PA3 превышение на 20 вольт? некоторые даже на 0,5 вольта не могут.... | | |
24
- 21.08.2013 - 13:45
| у него же на выводах питания стабилитрон. можно конечно и его подстраховать, но по идее и так должно работать. или я чего то не понимаю? | | |
25
- 21.08.2013 - 13:57
| Я про другое...про то что нельзя подавать напряжение по входам больше, чем питание кристалла (VCC). А тут VCC 5 вольт, а по ноге PA3 при супрессоре на 47 вольт...может и 20 быть... | | |
26
- 21.08.2013 - 14:16
| понятно. расчёт был на то что при указанных сопротивлениях в измерительных цепях параметров внутренних диодов мк хватит для отвода излишков. или можно конечно внешние стабилитроны приставить. | | |
27
- 21.08.2013 - 14:34
| не хватит, и смысла нет в супрессоре на 47 вольт и предохранителе на 40а. На 16 вольт и предохр. по минимуму, да и кмоп типа 561 больше 15 вольт не любит совсем. Да и при четких 15 вольт питания горит через пару лет... И в нормальной машине нет таких всплесков...я не нашел... | | |
28
- 21.08.2013 - 14:40
| предохранитель на случай спекания сапрессора, а через резистор 10кОм при напряжении 40V протечёт 4мА, с учётом того что ожидаемая длительность импульса - микросекунды, я думаю должно хватить (с ходу не нашёл в описании на мк параметров его защитных диодов). | | |
29
- 21.08.2013 - 15:24
| а, нашёл - "maximum allowed AVR clamp diode current is just 1 mA" | | |
30
- 21.08.2013 - 16:00
| ну хз, "думаю, вроде, должно" я б так делать не стал...не надежно както. Надежней или стабилитрон добавить или супрессор другой | | |
31
- 21.08.2013 - 16:07
| cогласен, однако с учётом того что это устройство реально нигде применяться не будет, можно оставить как есть. | | |
32
- 21.08.2013 - 21:18
| ))) а для чего все страдания с разработкой тогда? | | |
33
- 21.08.2013 - 22:57
| 32-XRay >ученье - свет | | |
34
- 22.08.2013 - 12:03
|
Кстати, вот этот цифровой вольтметр отлично работает без какой либо дополнительной защиты входов, за исключением разумеется внутренних защитных диодов мк и делителей напряжения на выводах ADC - при измеряемом напряжении до 25V. Ток через диоды впрочем меньше миллиампера, но зато постоянный а не импульсный. | | |
35
- 22.08.2013 - 16:20
| хотя по здравому размышлению входам в схеме вольтметра ничего и не угрожает. | | |
36
- 24.08.2013 - 06:49
| Spin спасибо за то что дал мой номер.Уже доделываю стробоскоп но не этот, а на PICe (http://схема-авто.рф/%D1%81%D1%82%D1...%B8%D0%B0.html) сегодня отдаю заказчику. | |
| Интернет-форум Краснодарского края и Краснодара |