Jump to content

Gotway MCM4 Android app improved


Recommended Posts

wow, cool! where did you find the source code?

looking forward to testing it on my old htc as soon as my wheel's up and running.

some ideas for future versions if you feel like continuing with this :) :

-fixing the speed indication to accurate real-world speed

-testing if tiltback can at all be set to higher speed (i.e. if sending this command works at all above 24km/h app speed)

-vibration alarms

Link to comment
Share on other sites

@Tomek What I like about Java&Android is that the source code is always bundled with application :) . 

@edwin_rm I haven't analyzed application the code in detail, but there doesn't seem to be anything suspicious, it's using Bluetooth permissions only.

Link to comment
Share on other sites

The wheel reports both voltage and current as a number with two decimal places, though I'm not sure how accurate the values actually are. Two decimal places are displayed only when value is lower than 10, because it didn't seem to be very useful to display bunch of rapidly changing numbers. I'll probably add smoothing of values  with some kind of moving average.

Link to comment
Share on other sites

image.thumb.jpg.c64c5f112164e070983fcca3

 

I have a MCM4 680Wh, which have supposedly 4 packs (170Wh) of NCR18650PF or CGR18650CH cells. So 4 x 10A continuous is possible (which I did not do). need to check for peak...

But the voltage drop (around 2,5V) seems more consistent with a 4 x 5A continuous discharge following the discharge curve I found. Also, there was around 15°C raise with several brief attemps to catch a sharp picture while pushing, which is not easy.

Link to comment
Share on other sites

 

Previous app (any wheel Gotway /Rockwheel GT-14/Microworks 30B, etc.) and now (МСМ4) shows bullshit but not the current from the battery.
Therefore the testimony of the power in watts and consumption in watt-hours/ampere-hours are not correct  

At a current of 70A thin wire AWG14/16 burn from overheating. Not to mention the phase wires of the motor.  And where them to take from the batteries are not capable of delivering more than 25-30A ;)

The same app cheating in the speed by 10% (as before)... And if to consider the compression of the tyre and reducing the length of the circumference of the wheel , it will an exaggeration at all to 15-20%
So do not can ride our wheels on 35+ km/h. ;)

Link to comment
Share on other sites

Speed indication is not correct for sure.

About power (but not voltage), you have to put some load and the wheel on the floor to have any chance to get corret data. My picture was taken while I was riding it against a wall, my data was not as inconsistent as yours (not saying they are accurate !). Some video capture outdoor (flat /hill) in stabilised conditions is necessary to see if the informations provided can be of any use.

Link to comment
Share on other sites

6 hours ago, LEE4ER said:

At a current of 70A thin wire AWG14/16 burn from overheating. Not to mention the phase wires of the motor.  And where them to take from the batteries are not capable of delivering more than 25-30A ;)

I don't know how accurate the readings are (I plan to test it at some point with a proper measuring device), but what you say is not really correct.

1. In MCM4 the wire is good quality 200oC certified, 13 AWG

2. four standard packs can together deliver 40A sustained, and should be able to deal with short peaks of significantly more

edit: the readings do seem to be quite a bit over the top, but who knows...

edit2: @LEE4ER proved to be right after all .')

Link to comment
Share on other sites

The myth with the current reading was destroyed almost a year ago. But many didn't believe it, had to prove :)

Here for МСМ2 - when 13-15A, the app shows 50-60(something).

 

 

Here are the tests МСМ4 with a blocked motor (peak 31A)

 

 

Here's a test МСМ4 after using (peak 26A)

 

Wire all of the my batteries Gotway, for discharge to the controller is 16AWG, for charge 20AWG

IMG_20160320_153353_HDR.thumb.jpg.97138c

At a current of about 30A, they are heated, but not much. But the phase wires of the motor are heated very strongly. 
Long-term at this current exploit is dangerous.
About 50-70A and talk funny)))

Link to comment
Share on other sites

I've uploaded updated app to https://github.com/bergmannm/GotwayEUC/releases with a few new features
- vibration alarm
- trip distance reset
- options for adjusting values of displayed speed & current
According to http://forum.electricunicycle.org/topic/870-gotwaykingsong-protocol-reverse-engineering/ , wheel reports current as 16bit integer,  1/100th. But @LEE4ER 's measurment suggests, it's more likely 1/400th.

 

Link to comment
Share on other sites

11 hours ago, jbwheel said:

After a quick try I would set speed correction factor at 1.2 on MCM4, any opinions ?

For МСМ2 was calculated by video 240 fps at a few turns of the wheel for different speeds - error of indications 10%
For МСМ4  roughly calculated by video 120 fps and one turnover for different speeds - received +/- the same

The wheel circumference ~112cm
At a load of 97.5 kg and pumped tyres to 3 bar, circumference ~107cm
So for me, correction factor equals 1,15 equals  (10% error application + 5% due to the compression of the tyre)
If the rider weighs more or tire less pumped, the correction factor should be higher.
If the rider weighs less or tire inflated  stronger, the correction factor can be left at the level of the application error - 1,1

Link to comment
Share on other sites

@mich, if not difficult, it is possible to reduce the delay between the vibra-signal to a couple of seconds, or enter  variable "delay between vibra-alerts"

now between the series vibration signals delay of about 5 second:
1st alarm - bzz...delay 5 sec...bzz...delay 5 sec...bzz...
2nd alarm - bzz-bzz...delay 5 sec...bzz-bzz...delay 5 sec...bzz-bzz...
3rd alarm - bzz-bzz-bzz...delay 5 sec...bzz-bzz-bzz...delay 5 sec...bzz-bzz-bzz...

Link to comment
Share on other sites

1 hour ago, LEE4ER said:

So for me, correction factor equals 1,15 equals  (10% error application + 5% due to the compression of the tyre)
If the rider weighs more or tire less pumped, the correction factor should be higher.
If the rider weighs less or tire inflated  stronger, the correction factor can be left at the level of the application error - 1,1

Following the protocol discussion, there is no App error but only wheel error. Speed is communicated in cm/s by the wheel and not a rotation count. 14 inches * 1,15 = almost 16 inches, good value would be 1,143. Maybe the firmware programmer didn't know on which wheel it was going to be used or just reuse some code...

The value given by the odometer need to be checked to see if the same correction factor apply and it can be used to have a more precise value of it. If it is providing the accurate distance, then it is just the wheel giving fake optimistic value of speed...

 

Link to comment
Share on other sites

6 hours ago, jbwheel said:

Following the protocol discussion, there is no App error but only wheel error. Speed is communicated in cm/s by the wheel and not a rotation count. 14 inches * 1,15 = almost 16 inches, good value would be 1,143. Maybe the firmware programmer didn't know on which wheel it was going to be used or just reuse some code...

The value given by the odometer need to be checked to see if the same correction factor apply and it can be used to have a more precise value of it. If it is providing the accurate distance, then it is just the wheel giving fake optimistic value of speed...

 


I understand that application is not engaged in any calculation speed, but only shows that the controller transmits ;)
I measured the error of an optical method use - comparing number of turns wheel on current indications speed app
All calculations, materials and video on the link (in russian)
At different speeds, for a diameter of 14 inches (35.56cm * Pi = 111.715cm), the application always shows more on 10%

Example:
One turn wheel on 105 frames (video 239fps in link upper). On the application screen 10-10,2km/h (piece of the video is less than 1 second)
111.715cm / 105frame * 239fps/100000cm * 3600sec = 9.154km/h
10.1 / 110%=9.18km/h
and other speed always +10% with very small error (not 1.143 (14%))

Measure the speed and compare with the readings from the wheel more precise than the optical method is not possible.
You can calculate the speed sensors Hall, but it need another controller or have full control over firmware on gotway controller or something else to read the change of poles 

PS: 1.15 is an correction factor for my tire pressure (3 bar) and my weight (97.5kg), which was I measured for me:)

Link to comment
Share on other sites

@LaRoueDeSecours If Gotway uses the same communication protocol for ACM16, my App should work with it.

I've uploaded new version with a few changes

  • setting moved to preferences tab, last wheel settings configured (mode, tiltback speed, audio alarm) remain displayed
  • vibration patterns updated (1 sec apart)
  • basic data recording (to CSV file)

Anyway, it's still work in progress, it's going to take a few days to add graphs presenting recorded data, Android development is new to me and I've a lot to learn.

Link to comment
Share on other sites

14 hours ago, mich said:

@LaRoueDeSecours If Gotway uses the same communication protocol for ACM16, my App should work with it.

I've uploaded new version with a few changes

  • setting moved to preferences tab, last wheel settings configured (mode, tiltback speed, audio alarm) remain displayed
  • vibration patterns updated (1 sec apart)
  • basic data recording (to CSV file)

Anyway, it's still work in progress, it's going to take a few days to add graphs presenting recorded data, Android development is new to me and I've a lot to learn.

The application crashes with an error.
Once installed, everything is up and working (all functions not tested). During the next turn on wheel and run the application is crashes. Reloaded smartphone and app normal started and worked.
When in later again turned on the wheel, the app exited with an error even after restarting the phone
If I run the application without BT module in phone and turn on his later, app starts but pairing the phone with the wheel is not happening
 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...