Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Getting the timings from other batteries #2

Open
KodeZ opened this issue Aug 28, 2023 · 7 comments
Open

Getting the timings from other batteries #2

KodeZ opened this issue Aug 28, 2023 · 7 comments

Comments

@KodeZ
Copy link

KodeZ commented Aug 28, 2023

I need to send the Stiga signal for SC 48 AE, which is basically the same as this Greenworks model:
https://greenworkstools.eu/no/en/garden/cutting/chainsaws/gd40cs40
(not entirely sure that the battery voltages match perfect, but the battery fits perfect, that is for sure. Stiga seems to claim actual 48V)

It turns on and runs for 4-5 seconds, then start beeping and shuts off. I saw another guy pulling a pin in an inverter low to avoid the battery verification part, but this has the PCB completely covered in glue so I cannot do that. I am hoping to bootstrap the tool using this magnificent code.

My questions are as follows:

  1. How do I hook up the battery to see the signal coming from it so I can read it out? I suspect I would pull one of the middle pins low or high, then get a signal on the other pin compared to ground, but fearing damaging something I would love input here.
@softwarecrash
Copy link
Owner

hey,
simple get ground and the signal connector from the battery, you need a logik analyzer or osziloskope to do that. when you wake the orginal battery it start sending data, when not connect a little load to it

@KodeZ
Copy link
Author

KodeZ commented Aug 30, 2023

Oh, I just realized that I must have deleted one of the questions.
So basically, put a bit of load on the battery, say a 100 OHM resistor or something like that, and it should start transmitting? I will test that on the greenworks battery, very good, thanks! I was thinking it would start if one of the two "signal" leads was pulled low or high.
Second question was, how would you electrically connect the 40V->5V buck converter with the arduino and the output signal, given the four connectors on the battery.

@softwarecrash
Copy link
Owner

the buck connect to the 40v line, the data line is 5V by greenworks.

yes, put a load on the battery and his start talking, or wake it up by pressing the charge state button

@KodeZ
Copy link
Author

KodeZ commented Aug 30, 2023

Is one of the two signal connectors really just a ground cable connected to the negative on the battery?
Dude, what a response time you operate with! Much appreciated.

@softwarecrash
Copy link
Owner

i know only the greenworks (and forks) batterys, this have only 3 real contacts, the 20/40/80V-VCC and GND, the third is the "omega" port, so some batterys have one more, that is just a NTC port

@RandoMan70
Copy link

Hi there, there is my capture of full exchange sequence from the beginning. My tool is 40V snow thrower (2600607), batt is 5ah (2927207)
Battery starts transmitting when a tool is rising Ohm line up, initially it passes 5 different signals in 100ms interval, then starts transmitting one sequence until a tool release the line. Not sure how long it will cycle this, may be it will periodically retransmit whole greeting sequence (say, for older devices).

Initial sync pulse length: 397us (marked as S below)
Long pulse length: 198us (marked as 1 below)
Short pulse length: 94us (marked as 0 below)

Initial sequence

Q means query from battery side
R means tool response
1. nearly +700ms from line is up
  Q: S 0 x 24
  R:   0 x 15
2. +800 ms  
  Q S 0 x 24
  R   1 0 1 1 0 1 0 0 0 1 0 0 1 0 1 1
3. +900 ms
  Q S 1 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0
  R   1 0 1 1 0 1 0 0 0 1 0 0 1 0 1 1
4. +1000 ms
  Q S 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0
  R   1 0 1 1 0 1 0 0 0 1 0 0 1 0 1 1
5. +1100 ms
  Q S 0 0 1 1 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 1 1 1 0 0
  R   1 0 1 1 0 1 0 0 0 1 0 0 1 0 1 1

Note: Surprisingly, first response is really only 15 bits. All further are 16 bits length

Continuous mode

6. +1300ms
  Q S 1 1 1 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0
  R   1 0 1 1 0 1 0 0 0 1 0 0 1 0 1 1
7. +1500ms
  Q S 1 1 1 0 0 0 0 0 1 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0
  R   1 0 1 1 0 1 0 0 0 1 0 0 1 0 1 1
... etc

Grabbing tool is instrustar's cheap USB-oscilloscope, I have .osc files recorded is someone needs it.

I going to simulate this sequence soon using arduino and I'll share the code if it works.

@RandoMan70
Copy link

RandoMan70 commented Jan 17, 2024

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants