Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: ivan_fd  
Форум Picbasic.ru » Программирование МК » PicBasicPro » Автомобильный переключатель ГАЗ / НЕЙТРАЛ / БЕНЗИН. (Программа для переключения газ / бензин!)
Автомобильный переключатель ГАЗ / НЕЙТРАЛ / БЕНЗИН.
xxxmonejall1 Дата: Вт, 12.05.2009, 21:07  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Новенький
Сообщений: 2
Репутация: 0   ±
Замечания:   ±
На сайте с 10.05.2009

Статус: Offline

Нужно ваше мнение. Правильно ли я все сделал. Может подправите если что не так. Я в программирование начинающий. Задача такова: есть тумблер на 3 положение 1/0/2,
Очередность не важна, допустим что в первом положение просто должен включится бензин. В 0 ничего не происходит, закрыт и бензин и газ. В 2 идет газ но с учетом того что обороты двигателе больше 400/мин но бензин при этом отключен. Я просто работаю газовщиком на сто, а учусь на радиотехника. Решил объединить приятное с полезным!

symbol GASIN = portb.0
symbol BENZININ = portb.1
symbol nejtralIN = portb.2
symbol GASOUT = portb.3
symbol BENZIOUT = portb.4
symbol nejtralOUT = portb.5
GAS_GO VAR word
trisb = %11100000
GASOUT = 0
BENZIOUT = 0
nejtralOUT = 0
main:
GASOUT = 0
BENZIOUT = 0
nejtralOUT = 0
if BENZININ = 1 then benzin
if nejtralIN = 1 then goto main
if GASIN = 1 then gas
gas:
count GASIN, 1000, GAS_GO
if GAS_GO > 40 then goto GAS_ON
goto gas
GAS_ON:
GASOUT = 1
if GASIN = 0 then goto main
goto GAS_ON
benzin:
BENZIOUT = 1
if BENZININ = 0 then goto main
goto benzin
nejtral:
GASOUT = 0
BENZIOUT = 0
nejtralOUT = 0
goto main
end


Быцюня!!!!!!!!!
Сообщение отредактировал xxxmonejall1 - Вт, 12.05.2009, 22:24
ЯНДЕКС Дата: 12.05.2009
DIKTATOR Дата: Вт, 12.05.2009, 23:22  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 76
Репутация: 2   ±
Замечания:   ±
На сайте с 24.07.2008

Статус: Offline

Есть такие программы называются PIC Simulator IDE и Proteus есть гдето на этом сайте , в этих симуляторах можно проверить работу микроконтроллёра с компилированой вашей прошивкой.
А так по внешнему виду кода никаких ошибок не заметил, но я так бегло пробежался )


Используйте симулятор ПРОТУЕС !!! Реальная вещь!!
Я снова тут, но не всегда свободен.
xxxmonejall1 Дата: Вт, 12.05.2009, 23:29  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Новенький
Сообщений: 2
Репутация: 0   ±
Замечания:   ±
На сайте с 10.05.2009

Статус: Offline

Quote (DIKTATOR)
Есть такие программы называются PIC Simulator IDE и Proteus есть гдето на этом сайте , в этих симуляторах можно проверить работу микроконтроллёра с компилированой вашей прошивкой.
А так по внешнему виду кода никаких ошибок не заметил, но я так бегло пробежался )

Спасибо. Попробую PIC Simulator IDE. А то протеус какойто не понятный!


Быцюня!!!!!!!!!
toommy Дата: Ср, 13.05.2009, 00:29  |                                                                                                                Сообщение # 4
Группа: Пользователи
Ранг:  Новенький
Сообщений: 13
Репутация: 0   ±
Замечания:   ±
На сайте с 04.11.2008

Статус: Offline

кстати я раньше тоже так думав, но сейчась рахобрался и понял что IDE simulator прятаетса
slavauk Дата: Пт, 15.05.2009, 19:15  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 64
Репутация: 3   ±
Замечания:   ±
На сайте с 14.03.2009

Статус: Offline

Надо проверять обороты в цыкле

GAS_ON:
GASOUT = 1
if GASIN = 0 then goto main
goto GAS_ON

Если,например,едешь на газу и заглох
газ не отключится пока не переключиш
тумблер

xxxmonejall Дата: Сб, 16.05.2009, 19:30  |                                                                                                                Сообщение # 6
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 139
Репутация: 0   ±
Замечания:   ±
На сайте с 17.05.2008

Статус: Offline

Да глупая ошибка. Большое спасибо!!!!!!!!
slavauk Дата: Вс, 17.05.2009, 12:09  |                                                                                                                Сообщение # 7
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 64
Репутация: 3   ±
Замечания:   ±
На сайте с 14.03.2009

Статус: Offline

Не ошибается только тот ,кто ничего не делает(старая народная мудрость) smile
так работает устройство или нет ?
xxxmonejall Дата: Вс, 17.05.2009, 12:25  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 139
Репутация: 0   ±
Замечания:   ±
На сайте с 17.05.2008

Статус: Offline

Как раз собираю плату. Со временем напряг. Робота мешает!!!!!!
Должно работать, куда она денится!
slavauk Дата: Вс, 17.05.2009, 12:57  |                                                                                                                Сообщение # 9
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 64
Репутация: 3   ±
Замечания:   ±
На сайте с 14.03.2009

Статус: Offline

Работа,она такая,часто жыть мешает ,еще жена ,дети ......
Щастливые люди живут только на необитаемых островах biggrin biggrin
slavauk Дата: Вс, 17.05.2009, 13:19  |                                                                                                                Сообщение # 10
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 64
Репутация: 3   ±
Замечания:   ±
На сайте с 14.03.2009

Статус: Offline

Мечтая забыл добавить wacko
если импульсы считыватть с катушек зажигания,нужно
учитывать,что есть разные системы:
1.класическая , одна катушка
один оборот двигателя 2 импульса
2.две катушки ( Газель,Ford,... )
один оборот двигателя 1 импульс
3.на каждый цылиндр отдельная катушка
(Opel,BMW,...)
два оборота двигателя 1 импульс
кроме того , учесть разное количество цылиндров
у разных автомобилях
Удачи!!!
xxxmonejall Дата: Вс, 17.05.2009, 15:09  |                                                                                                                Сообщение # 11
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 139
Репутация: 0   ±
Замечания:   ±
На сайте с 17.05.2008

Статус: Offline

Это тоже надо учесть. Можно заделать в самой кнопке микро переключатель, на выбор режима оборотов.

Добавлено (17.05.2009, 1:49:21)
---------------------------------------------
Да у меня еще есть мысль, заделать самый примитивный впрыск на 2Т двигатель. Но с настройкой с ПК, на PIC16F877A. Я не знаю как сделать коррекцию времени впрыска: ну в смысле есть у меня график в VISUAL BASIC, я потянул за ползунок и у меня в пика сменилось значения например в таблице. Может и маразм, но мне очень интересно. Может кто что-то подскажет!!!!

Добавлено (17.05.2009, 3:09:09)
---------------------------------------------
Я думаю что так будет в самый раз!

symbol GASIN = portb.0
symbol BENZININ = portb.1
symbol nejtralIN = portb.2
symbol GASOUT = portb.3
symbol BENZIOUT = portb.4
symbol nejtralOUT = portb.5
GAS_GO VAR word
trisb = %11100000
GASOUT = 0
BENZIOUT = 0
nejtralOUT = 0
main:
GASOUT = 0
BENZIOUT = 0
nejtralOUT = 0
if BENZININ = 1 then benzin
if nejtralIN = 1 then goto main
if GASIN = 1 then gas
gas:
count GASIN, 1000, GAS_GO
if GAS_GO > 8 then goto GAS_ON
GAS_ON:
GASOUT = 1
count GASIN, 1000, GAS_GO
if GAS_GO > 8 then goto GAS_ON
goto main
benzin:
BENZIOUT = 1
if BENZININ = 0 then goto main
goto benzin
nejtral:
GASOUT = 0
BENZIOUT = 0
nejtralOUT = 0
goto main
end

ЯНДЕКС Дата: 17.05.2009
slavauk Дата: Вс, 17.05.2009, 19:08  |                                                                                                                Сообщение # 12
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 64
Репутация: 3   ±
Замечания:   ±
На сайте с 14.03.2009

Статус: Offline

symbol GASIN = portb.0
symbol BENZININ = portb.1

symbol GASOUT = portb.3
symbol BENZIOUT = portb.4

GAS_GO VAR word
trisb = %11100011
GASOUT = 0
BENZIOUT = 0
main:

if BENZININ = 1 then
BENZIOUT = 1
else
BENZIOUT = 0
endif

if GASIN = 1 then
count GASIN, 1000, GAS_GO
else
GASIN = 0
goto main
endif

if GAS_GO > 8 then
GASOUT = 1
else
GASOUT = 0
endif

goto main
end

Я так понимаю,на выходе 2 реле
одно включат бензин,второе газ?
Тогда нет необходимости проверять nejtralIN
так как если не газ и не бензин то само собой nejtralOUT = 0.
Вопрос больше по логике реботы програмы и оптимизации.
А работать будет и так и єтак.

Сообщение отредактировал slavauk - Вс, 17.05.2009, 19:19
xxxmonejall Дата: Вс, 17.05.2009, 22:02  |                                                                                                                Сообщение # 13
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 139
Репутация: 0   ±
Замечания:   ±
На сайте с 17.05.2008

Статус: Offline

Да там будет 2 реле.
Форум Picbasic.ru » Программирование МК » PicBasicPro » Автомобильный переключатель ГАЗ / НЕЙТРАЛ / БЕНЗИН. (Программа для переключения газ / бензин!)
  • Страница 1 из 1
  • 1
Поиск: