Страница 1 из 1

Корректировка исходника для теста форсунок.

Добавлено: Пт май 31, 2013 13:43:57
ололошка
Недавно наткнулся на очень простой тестер форсунок. Но есть некоторая проблема, у него в исходники забиты некоторые крайне опасные функции. К примеру для теста производительности высокий уровень в течение 60с. Оэто очень много когда для чистки нужно максимум 10мс. Кто может подсказать какая часть исходника за что отвечает, а часности то что отвечает за время импульса, а то сам только понял как скважность изменять.
Изображение


;Программа управлением стендом промывки форсунок.
;Форсунки управляются с выхода RD0
;Кнопки на портах RB
;Реализовано 3 режима: "тест производительности", "очистка" и "кавитация"
;**************************************************************************
.include "2313def.inc"

.cseg
.org 0
rjmp Reset
rjmp INT_0
rjmp INT_1
rjmp Timer1_capt1
rjmp Timer1_comp1
rjmp Timer1_OVF1
rjmp Timer0_OVF0
rjmp UART_RX
rjmp UART_UDRE
rjmp UART_TX
rjmp ANA_COMP

;Reset:
INT_0:
INT_1:
Timer1_capt1:
;Timer1_comp1:
Timer1_OVF1:
Timer0_OVF0:
UART_RX:
UART_UDRE:
UART_TX:
ANA_COMP:
reti

;Инициализация
reset:
cli ;Запретить прерывания
ldi r31,0b01110001 ;Порт "D0,D5,D6" на вывод, по умолчанию все
out DDRD,r31 ;порты настроены как входы
ldi r31,0b11111111 ;к портам "B" подключаем подтягивающий резистор
out portb,r31
ldi r25,RAMEND ;Инициализация стека
out spl,r25 ;для выхода из прерываний
;**************Таймер ***************
ldi r31,0b01000000 ;разрешить прерывание компаратора
out TIMSK,r31
ldi r31,0b00000011 ;тактовый сигнал = CK/8 (10)
out TCCR1B,r31
ldi r31,0x7f ;инициализация компаратора 2.5 ms
out OCR1AH,r31
ldi r31,0xff
out OCR1AL,r31
ldi r31,0 ;обнуление таймера
out TCNT1H,r31
out TCNT1L,r31
ldi r31,0 ;установка портов вывода на "0"
out portD,r31
ldi r19,255
;*******************************************************

;*********************Обработка событий*********************
Loop:
SBIs pinB,0 ;если не нажата кнопка пинB 0 "0" пропустить
rcall kavit ;Запускаем режим кавитации
SBIs pinB,1 ;если не нажата кнопка пинB 0 "0" пропустить
rcall open_10s ;Запускаем режим "измерения"
SBIs pinB,2 ;если не нажата кнопка пинB 0 "0" пропустить
rcall clear ;Запускаем режим промывки
rjmp Loop

;*****************Подпрограммы***************************************

Timer1_comp1:
cbi portd,0 ;"0" на вывод порт D0
rcall del_100
rcall del_100
rcall del_100
ldi r31,0 ;обнуление таймера
out TCNT1H,r31
out TCNT1L,r31
SBIc pinD,5 ;если включен режим "тест" по окончании таймера
rcall reset ;сброс.
reti

;****************Режим кавитации****************************
kavit:
sbi portD,4 ;индикация режима кавитации
sei ;разрешаем прерывания
loop_1: sbi portD,0 ;открыть форсунку
rcall delay
cbi portd,0 ;закрыть форсунку
rcall delay ;Для скважности 30% 1 пауза откр. 2 закр
rcall delay
rjmp Loop_1

;*****************Режим очистки (эмитация работы двигателя)**
clear:
sbi portD,6 ;индикация режима очистки
loop_3: sbi portD,0 ;открыть форсунку
rcall del_100
rcall del_100
cbi portd,0 ;закрыть форсунку
rcall del_100
rcall del_100
rjmp Loop_3
;****************Режим проверки производительности**************
open_10s:
ldi r31,0b00000101 ;тактовый сигнал таймера
out TCCR1B,r31
sbi portD,5 ;индикация режима "налив"
ldi r31,0 ;обнуление таймера
out TCNT1H,r31
out TCNT1L,r31
sei ;разрешаем прерывания
loop_2:
sbi portD,0 ;Открыть форсунку
rjmp Loop_2 ;Ждем пока не сработает таймер


;*************Задержки для инициализации и отпраки команд********
delay:

dec r19
mov r19,r17 ;задержка
l: ldi r18,4
l1: dec r18
brne l1
dec r17
brne l
ret


del_100:
ldi r17,255 ;задержка
l_1: ldi r18,255
l1_1: dec r18
brne l1_1
dec r17
brne l_1
ret

;.org $200

Re: Корректировка исходника для теста форсунок.

Добавлено: Пт май 31, 2013 14:27:23
ChipKiller
Недавно наткнулся на очень простой тестер форсунок.
... в ветке АвтоМотоВело выложил проект в Proteus

Re: Корректировка исходника для теста форсунок.

Добавлено: Пт май 31, 2013 14:45:20
ололошка
Ничего не понял. Но что то умное) Там проект если не ошибаюсь недоработан?

Re: Корректировка исходника для теста форсунок.

Добавлено: Пт май 31, 2013 14:57:43
ChipKiller
Там проект если не ошибаюсь недоработан?
.. для изменения "режимов" поиграйте значением 3-х переменных (в комментариях все есть...)

PS. информация на индикаторе информативней светодиодов, плюс можете настраивать параметры

Re: Корректировка исходника для теста форсунок.

Добавлено: Пт май 31, 2013 15:51:14
ололошка
А можете конкретно подсказать с чем игратся? Мне в "моем " проекте более менее стало понятно, только никак не могу разобратся с этими строками.


;****************Режим кавитации****************************
kavit:
sbi portD,4 ;индикация режима кавитации
sei ;разрешаем прерывания
loop_1: sbi portD,0 ;открыть форсунку
rcall delay
cbi portd,0 ;закрыть форсунку
rcall delay ;Для скважности 30% 1 пауза откр. 2 закр
rcall delay
rjmp Loop_1

Мне нужно этот блок изменить чтоб взаместо таймера на 1 минуту был генератор примерно 300-400 герц скважность 50-60%.

Re: Корректировка исходника для теста форсунок.

Добавлено: Пт май 31, 2013 15:56:03
ChipKiller
А можете конкретно подсказать с чем игратся?

Код: Выделить всё

    time_l=100; // длительность 0
    time_h=200; // длительность 1
	clk_count=2000; // количество импульсов
time_h+time_l=период, про clk_count добавить что то сложно ....

Re: Корректировка исходника для теста форсунок.

Добавлено: Пт май 31, 2013 16:00:41
ололошка
А можете конкретно в кусок исходника кинуть чтоб понятней было. P.S. Немного я туповат. Ничего кроме паскаля в школе не изучал ди и его через раз слушал.

Re: Корректировка исходника для теста форсунок.

Добавлено: Пт май 31, 2013 16:03:01
ChipKiller
А можете конкретно в кусок исходника кинуть
- исходник в архиве вместе с проектом

Re: Корректировка исходника для теста форсунок.

Добавлено: Пт май 31, 2013 16:05:03
ололошка
Да я не про тот проэкт. Я про свой почти доляпанный под себя.

Re: Корректировка исходника для теста форсунок.

Добавлено: Пт май 31, 2013 16:53:26
ChipKiller

Re: Корректировка исходника для теста форсунок.

Добавлено: Пт май 31, 2013 17:03:32
ололошка
Мои познания в программирование на уровне как залить прошивку и больше толком ничего)

Re: Корректировка исходника для теста форсунок.

Добавлено: Пн май 25, 2015 10:10:15
voffka_rostov
Я так понимаю что проект без проблем можно реализовать на меге? 8/168/328?

Re: Корректировка исходника для теста форсунок.

Добавлено: Пн май 25, 2015 11:20:30
pyzhman
Конечно.

Re: Корректировка исходника для теста форсунок.

Добавлено: Вт окт 04, 2016 17:01:24
krox
Заинтересовала эта схемка. Нужен-ли диод, где подключается форсунка?