Passat B7 - Start/Stop System - Just Another Modification

Споделете опит за собственоръчно направени подобрения или ремонти на вашият Volkswagen или попитайте как да ги направите сами
Потребителски аватар
ivanspirit
Мнения: 7
Регистриран на: Съб 20 апр 2019 0:44
Автомобил: Passat B7 130kW 4Motion
Двигател:

Passat B7 - Start/Stop System - Just Another Modification

Мнениеот ivanspirit » Нед 05 май 2019 19:03


Здравейте Колеги,
Аз съм поредният който не успях да свикна с нежеланото гасене на двигателя от системата Start/Stop. Блокирах я за постоянно с VCDS-a, но след това ми се прииска да я направя както бих желал да бъде направена заводски, а именно, да запомня състоянието при което е оставена.

Видях, че други колеги преди мен вече са публикували решения за системата, но лично за мен, информацията им не ми беше достатъчна за да си направя подобно у-во. Затова реших да опиша стъпките последователно и подробно за следващи ентусиасти :-)

1. Избор на контролер - Всички представители на EMK с вграден FLASH/EEPROM са подходящи, но аз се спрях на DigiSpark (около 2$ от АлиЕкспрес)
линк : https://ru.aliexpress.com/item/Free-shipping-WAVGAT-Digispark-kickstarter-miniature-for-Arduino-ATTINY85-usb-development-board/32807895683.html?spm=a2g0v.search0104.3.17.46672ef8wLfYaX&ws_ab_test=searchweb0_0,searchweb201602_10_10065_10068_319_10059_10884_317_10887_10696_321_322_10084_453_10083_454_10103_10618_10304_10307_10820_10821_537_10302_536,searchweb201603_51,ppcSwitch_0&algo_expid=6632f038-d29d-46ef-b13f-ab98d9685995-2&algo_pvid=6632f038-d29d-46ef-b13f-ab98d9685995

2. Изработка на схемно решение с показване на всички връзки.
https://drive.google.com/open?id=13yDl9mH6ZVe2JlXYOIjCMjS3gy0NYGXJ

3. Програмен код за Arduino 1.8, предполага се , че изпълнителя на проекта е запознат със средата за програмиране и т.н.

Код: Избери всички

#include "EEPROM.h"


#define OPTRON_OUT  PB0
#define LED_BUILTIN PB1
#define LAMP_IN     PB2

#define lamp_is_on        (digitalRead(LAMP_IN) ? false : true)
#define optron_on         digitalWrite(OPTRON_OUT, HIGH)
#define optron_off        digitalWrite(OPTRON_OUT, LOW)
#define led_on            digitalWrite(LED_BUILTIN, HIGH)
#define led_off           digitalWrite(LED_BUILTIN, LOW)
#define save_ee_lamp_on   EEPROM.put(0, 1)
#define save_ee_lamp_off  EEPROM.put(0, 0)
#define ee_lamp_is_on     ((EEPROM.read(0)==1) ? true : false)


void setup() {
  pinMode(OPTRON_OUT, OUTPUT);
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(LAMP_IN, INPUT_PULLUP);

  delay(2000);

  if(ee_lamp_is_on && !lamp_is_on){
    led_on;
    optron_on;
    delay(1000);
    optron_off;
  }else{
    led_off;
  }
 
}

void loop() {
 
  delay(500);   

  if(lamp_is_on && !ee_lamp_is_on){
      save_ee_lamp_on;
      led_on;
  }


  if(!lamp_is_on && ee_lamp_is_on){
      save_ee_lamp_off;
      led_off;
  }

}


4. И накрая линк към видео за това какво трябва да се очаква като краен резултат
https://youtu.be/r0ZNDNrzroA

Успех :-)




Потребителски аватар
Vasseto
Мнения: 2637
Регистриран на: Вто 06 сеп 2005 17:09
Автомобил: Passat B7 Passat B5_5 Jetta V
Двигател: CFFB AVF BXE
Местоположение: Пловдив

Re: Passat B7 - Start/Stop System - Just Another Modification

Мнениеот Vasseto » Пон 06 май 2019 10:48


Малко градивна критика:
Ба този ред:
if(ee_lamp_is_on && !lamp_is_on){

е безмислено && !lamp_is_on. Лампата и да я проверяваш, тя винаги е off при подаване на контакат или запалване.

На схемата са 2 резистора, а на платката са 3. Според мен и тези резистори на оптрона не са задължителни.

Поздрави!


Потребителски аватар
ivanspirit
Мнения: 7
Регистриран на: Съб 20 апр 2019 0:44
Автомобил: Passat B7 130kW 4Motion
Двигател:

Re: Passat B7 - Start/Stop System - Just Another Modification

Мнениеот ivanspirit » Пон 06 май 2019 21:18


Vasseto написа:Малко градивна критика:
Ба този ред:
if(ee_lamp_is_on && !lamp_is_on){

е безмислено && !lamp_is_on. Лампата и да я проверяваш, тя винаги е off при подаване на контакат или запалване.

На схемата са 2 резистора, а на платката са 3. Според мен и тези резистори на оптрона не са задължителни.

Поздрави!


Нямах подръка резистор около 470ома и затова сложих два 750ома в паралел, та затова са три резисторите. А що се отнася до програмата - тази проверка проверява дали е записано в паметта, че е била светната лампата и в момента лампата не свети непосредствено преди да натисне бутона, аз не бих я спестил, защото междувременно в двете секунди след подаване на контакт, аз може да натисна бутона и да светна лампата.



Върни се в “Направи си сам!”

Кой е на линия

Потребители, разглеждащи този форум: FireSquad и 175 госта