Start a new topic

Pin recovery.

 I have a V4 motherboard converted for Europe. I only use the AC contactor, so I removed the DC relay control. I want to use the pins for something else. How can I do this?

How can I set the MENU pin to another pin? I have now marked that I have unused PD7, PB0, PD4, PD5, A6.

If I change "// button sensing pin" to any other, the system turns on as if I kept holding the button down.

Only works, as I change to 2/3 then PP to GND allows you to go through MENU. But I don't want to lose PP.

I use a regular display and I don't have an additional button like in the LCD evse.

Can you help?


The official OpenEVSE hardware uses a button on an IO expander not hardwired to the controller. There may have been code at one point for a button on the microprocessor. In theory, if you may be able to remap the pins in the source code. Any digital pin should work. A5 and A6 are analog only and can not be used as a digital pin.

Where in the code can you find the place where the pin map is made?

open_evse.h


#define CURRENT_PIN 0 // analog current reading pin ADCx

#define PILOT_PIN 1 // analog pilot voltage reading pin ADCx

#define PP_PIN 2 // PP_READ - ADC2

#ifdef VOLTMETER

// N.B. Note, ADC2 is already used as PP_PIN so beware of potential clashes

// voltmeter pin is ADC2 on OPENEVSE_2

#define VOLTMETER_PIN 2 // analog AC Line voltage voltmeter pin ADCx

#endif // VOLTMETER

#ifdef OPENEVSE_2

// This pin must match the last write to CHARGING_PIN, modulo a delay. If

// it is low when CHARGING_PIN is high, that's a missing ground.

// If it's high when CHARGING_PIN is low, that's a stuck relay.

// Auto L1/L2 is done with the voltmeter.

#define ACLINE1_REG &PIND // OpenEVSE II has only one AC test pin.

#define ACLINE1_IDX 3


#define CHARGING_REG &PIND // OpenEVSE II has just one relay pin.

#define CHARGING_IDX 7 // OpenEVSE II has just one relay pin.

#else // !OPENEVSE_2


 // TEST PIN 1 for L1/L2, ground and stuck relay

#define ACLINE1_REG &PIND

#define ACLINE1_IDX 3

 // TEST PIN 2 for L1/L2, ground and stuck relay

#define ACLINE2_REG &PIND

#define ACLINE2_IDX 4


#ifndef RELAY_AUTO_PWM_PIN

// digital Relay trigger pin

#define CHARGING_REG &PINB

#define CHARGING_IDX 0

// digital Relay trigger pin for second relay

#define CHARGING2_REG &PIND

#define CHARGING2_IDX 7

//digital Charging pin for AC relay

#define CHARGINGAC_REG &PINB

#define CHARGINGAC_IDX 1

#endif // !RELAY_AUTO_PWM_PIN


// obsolete LED pin

//#define RED_LED_REG &PIND

//#define RED_LED_IDX 5

// obsolete LED pin

//#define GREEN_LED_REG &PINB

//#define GREEN_LED_IDX 5

#endif // OPENEVSE_2


// N.B. if PAFC_PWM is enabled, then pilot pin can be PB1 or PB2

// if using fast PWM (PAFC_PWM disabled) pilot pin *MUST* be PB2

#define PILOT_REG &PINB

#define PILOT_IDX 2


#ifdef MENNEKES_LOCK

// requires external 12V H-bridge driver such as Polulu 1451

#define MENNEKES_LOCK_STATE EVSE_STATE_B // lock in State B

//#define MENNEKES_LOCK_STATE EVSE_STATE_C // lock in State C


//D11 - MOSI

#define MENNEKES_LOCK_PINA_REG &PINB

#define MENNEKES_LOCK_PINA_IDX 3


//D12 - MISO

#define MENNEKES_LOCK_PINB_REG &PINB

#define MENNEKES_LOCK_PINB_IDX 4

#include "MennekesLock.h"

#endif // MENNEKES_LOCK

 Thank you, I succeeded :)

Login or Signup to post a comment