Programming ASI Bac 8000

Get all your technical information about electric bikes here.
Doust72   10 mW

10 mW
Posts: 25
Joined: Aug 29 2019 8:08am

Programming ASI Bac 8000

Post by Doust72 » Oct 14 2019 2:31am

Hello I have a controller 8000 and I can not manage it. I have everything connected cable phase engine sensors hall and accelerator the controller turns on well I connect with the application android but I can not start the detection engine (when I click on rum nothing that passes)
I have a controller over voltage error !

Motor qs 205 v3
Batterie 20s20p vtc6
Bike vector vortex
Attachments
Screenshot_20191013-102805_Gallery.jpg
Screenshot_20191013-102805_Gallery.jpg (64.09 KiB) Viewed 10493 times
Screenshot_20191013-102833_Gallery.jpg
Screenshot_20191013-102833_Gallery.jpg (64.34 KiB) Viewed 10493 times

john61ct   100 GW

100 GW
Posts: 8628
Joined: Dec 18 2018 2:06pm

Re: Programming ASI Bac 8000

Post by john61ct » Oct 14 2019 8:08am

I also would like to find a freelance professional willing to tune these controllers to a given motor.

Obviously getting paid for that is fair enough.

Otherwise I would continue to avoid buying them.

User avatar
ElectricGod   1 GW

1 GW
Posts: 3404
Joined: Nov 01 2015 5:24pm
Location: 3 OH 3

Re: Programming ASI Bac 8000

Post by ElectricGod » Oct 14 2019 11:38am

I know how to program them. There's a fairly steep learning curve since it's all the "ASI way".
There's lots of manual settings to do up front and things to try in various ways.
ASI controllers can be rather quirky how they deal with some motors. Pack voltage and other details can also get in the way.
There's an inrunner I have, 4 poles, but for this specific motor I have to use the number of magnets instead.
Other motors, the controller does the pole count correctly, but the halls have to be manually configured.
Each time I set up my ASI with a different motor, there's invariably a different set of hoops to jump through before the motor runs correctly.

They really could have done a better job of making them user friendly and also provided a wizard for auto-detection that actually works.
XB-502: viewtopic.php?f=10&t=83302&p=1222730#p1222730

Currie scooter: viewtopic.php?f=35&t=83830&p=1227407#p1227407

Benjamin Franklin - "Any fool can criticize, condemn and complain and most fools do."

Doust72   10 mW

10 mW
Posts: 25
Joined: Aug 29 2019 8:08am

Re: Programming ASI Bac 8000

Post by Doust72 » Oct 14 2019 1:27pm

If you have indications to give me for programming

I do not know if I'm wrong but I think I saw that there was the possibility of using this software to control the asi bac 8000. I am wrong ?

grin software for phaserunner
Attachments
20191014_202916.jpg
20191014_202916.jpg (80.42 KiB) Viewed 10460 times

User avatar
PaulD   1 kW

1 kW
Posts: 323
Joined: Aug 28 2008 5:42pm
Location: Ashland, OR, USA
Contact:

Re: Programming ASI Bac 8000

Post by PaulD » Oct 14 2019 1:52pm

john61ct wrote:
Oct 14 2019 8:08am
I also would like to find a freelance professional willing to tune these controllers to a given motor.
I've been considering this for a while. I've spent a lot of time tuning for a few different motors. Feel free to shoot me a PM.

Doust72   10 mW

10 mW
Posts: 25
Joined: Aug 29 2019 8:08am

Re: Programming ASI Bac 8000

Post by Doust72 » Oct 27 2019 12:11pm

I have advanced on the programming of the controller the bike works there is just a problem again when I leave from 0kmh to 5kmh I have vibrations with the engine when I accelerate very gently no tremor and once arrived at 10kmh more worries the bike works well and I can accelerate thoroughly without problem if you have ideas to help me thank you

here is a video of the problem :
https://youtu.be/5BJhSFInrNM
Attachments
ebike 7.xml
(38.55 KiB) Downloaded 176 times

User avatar
PaulD   1 kW

1 kW
Posts: 323
Joined: Aug 28 2008 5:42pm
Location: Ashland, OR, USA
Contact:

Re: Programming ASI Bac 8000

Post by PaulD » Nov 02 2019 2:14pm

For the benefit of the community, I'll summarize our email discussion, firstly, here were the suggestions on battery protection parameters.
ASIerrors.png
ASIerrors.png (30.19 KiB) Viewed 10310 times
Then you had instantaneous undervoltage errors due to incorrect SOC algorithm parameters, since you are using the ASI battery protection scheme.
Next, you had communication timeout issues, and I suggested setting your Command timeout threshold to 0, same with average Command timeout threshold. This is in the communications tab of bacdoor. This perhaps should be a temporary fix, since it might be indicative of some other issue.
Anyways, hope this helps someone.

Doust72   10 mW

10 mW
Posts: 25
Joined: Aug 29 2019 8:08am

Re: Programming ASI Bac 8000

Post by Doust72 » Mar 08 2020 8:05am

hello i have a question. So with my bac 4000 controller I connected an analog brake on brake 2 as indicated on your if it works very well on my bac 8000 I made the same connection and same setting but brake 2 always remains at 4.6v when it is connected and when it is plugged in nothing suddenly it does not work nothing happens when I use the brake I do not understand why on a controller it works and on the 2nd no with that I plugged in the same way thank you
Attachments
thumbnail_Screenshot_20200307-090059_Chrome.jpg
thumbnail_Screenshot_20200307-090059_Chrome.jpg (27.81 KiB) Viewed 9718 times

xenodius   10 kW

10 kW
Posts: 549
Joined: Sep 03 2012 6:55pm
Location: Florida

Re: Programming ASI Bac 8000

Post by xenodius » May 10 2020 5:24pm

Doust72 wrote:
Mar 08 2020 8:05am
hello i have a question. So with my bac 4000 controller I connected an analog brake on brake 2 as indicated on your if it works very well on my bac 8000 I made the same connection and same setting but brake 2 always remains at 4.6v when it is connected and when it is plugged in nothing suddenly it does not work nothing happens when I use the brake I do not understand why on a controller it works and on the 2nd no with that I plugged in the same way thank you
Hey, I'm trying to solve the exact same issue with my BAC8000. I bought direct from ASI and my first unit arrived with a dead logic board-- would not power on, could not connect to it. 3 months later, I got my replacement and it had some kind of internal short and I couldn't precharge it. 3 months later, here I am and I've wired everything up, still need to do some tuning but while my throttle works, the hall throttle on my brake2 input also floats at ~4.6v.

Reading in the knowledge base, there's a post from 5 years ago that seems to address this:

Code: Select all

Posted on November 10, 2015 by  Support
I found both brake 1 and brake 2 voltage reading are 4.8V when I connected a throttle to them. I set regen brake source and active the analog brake feature. I can feel the motor has some resistant when I spin it. But seems my throttle doesn’t work.

———–

I have not tried  a throttle on a brake input. The difference between a brake input and a throttle input is the 4.7k pull-up resistor which may cause a hall type throttle output not to work.So far most customers have just been working with a standard on/off brake.

 

I have not looked too seriously, but I think  there are analog brakes that work differently than a throttle? Is there such a thing as two wire potentiometer type brakes?
If I'm understanding correctly, this input may not actually work with a hall throttle and may require a potentiometer-type control. But this has been the standard approach with Adaptto, Sabvoton, etc... Can anyone with some experience programming these describe how they setup regen braking? Variable regen is a very essential feature for me.

EDIT: Also having issues with the motor autotune. First off, the motor resistance/inductance test pulse determined values for my QS205 4T that are both about half of what I expected from other reports (22mOhm, 88uHenries vs. 48.5mOhm, ~200uHenries reported). Second, the hall wiring/offset and RPM autotune doesn't work-- the motor just buzzes, rocking back and forth regardless of my phase order or resistance/inductance values. Seems in like with ElectricGod's experience that the autotune doesn't work and hall order must be set manually. Looks like my greatly-anticipated testride will be another day...

Doust72   10 mW

10 mW
Posts: 25
Joined: Aug 29 2019 8:08am

Re: Programming ASI Bac 8000

Post by Doust72 » May 11 2020 6:07pm

actually it does not work with the halls for the electric brake I used a potentiometer me and it works. I also have the qs 205 engine

xenodius   10 kW

10 kW
Posts: 549
Joined: Sep 03 2012 6:55pm
Location: Florida

Re: Programming ASI Bac 8000

Post by xenodius » May 20 2020 10:04pm

Doust72 wrote:
May 11 2020 6:07pm
actually it does not work with the halls for the electric brake I used a potentiometer me and it works. I also have the qs 205 engine
Good info, does a pot provide graded regen on brake1? Or are you using brake2? And where did you find a potentiometer throttle? The only ones I know of are full twist e.g. Domino.

Although not stated in their "Hardware Inputs" summary which would lead you to believe both Brake1 and Brake 2 are appropriate for a standard hall regen throttle, according to the fine print on the 'Brake Configuration' page, analogue regen only works on Brake2. I tried connecting a 10k pulldown resistor between the Brake1 signal line and ground, essentially this makes it function like a potentiometer and I got the right signal range (1v regen hall throttle off, 4.1 volts full engaged) however the controller seemed to only interpret this as a binary on/off signal when it passed ~2.6V, regardless of analogue regen range settings. Based on the digital input readouts, anyway-- hours later and I haven't gotten past autotune.

For my setup with a hall-based chain tension "torque" sensor, hall throttle, hall regen brake, and motor temperature sensor I have no choice but to put the throttle on brake1, regen throttle on brake 2, torque sensor on throttle, and motor temperature sensor on the analog BMS. There are subtle distinctions between each of the overlapping inputs on their summary page. In total all the inputs allow practically any hardware configuration, but if it's anything other than a very simple one, you probably won't be using the inputs you'd expect.

I did discover that you can use the walk-mode input as an additional torque-sensor/PAS only power profile, no throttle. Essentially can be used as a "Class 3" ebike switch, in addition to a separate 'alternate' power profile switch.

xenodius   10 kW

10 kW
Posts: 549
Joined: Sep 03 2012 6:55pm
Location: Florida

Re: Programming ASI Bac 8000

Post by xenodius » May 23 2020 2:05pm

So, in the 6 months I spent RMAing DOA units, the BAC8000's got newer firmware that the copy of BacDoor I got months prior did not support. Once I got updated dictionaries for BacDoor, it took me all of a half hour to setup. Very impressed with the performance. :mrgreen:

The new library has bits in Features2 that allow you to toggle the pullups on brake1/2, so you can use either a hall, potentiometer, or switch on these inputs for regen braking or cutoffs without having to use your own pulldown resistors.

Tommm   100 kW

100 kW
Posts: 1276
Joined: Apr 03 2018 2:32am

Re: Programming ASI Bac 8000

Post by Tommm » May 23 2020 3:33pm

xenodius wrote:
May 23 2020 2:05pm
So, in the 6 months I spent RMAing DOA units, the BAC8000's got newer firmware that the copy of BacDoor I got months prior did not support. Once I got updated dictionaries for BacDoor, it took me all of a half hour to setup. Very impressed with the performance. :mrgreen:

The new library has bits in Features2 that allow you to toggle the pullups on brake1/2, so you can use either a hall, potentiometer, or switch on these inputs for regen braking or cutoffs without having to use your own pulldown resistors.
Whats the newest firmware and how do I know if I have it?

xenodius   10 kW

10 kW
Posts: 549
Joined: Sep 03 2012 6:55pm
Location: Florida

Re: Programming ASI Bac 8000

Post by xenodius » May 23 2020 10:25pm

Tommm wrote:
May 23 2020 3:33pm
Whats the newest firmware and how do I know if I have it?
My controller is running firmware 6.012, bootloader 1.324. You can view these data in the Android app under "BAC Information", and in BacDoor also but you may have to add parameters to read. Happy to share the updated dictionary and config files, just PM me (I get PM but not thread notifications).

Unrelated edit: I was able to slightly reduce the subtle vibrations when accelerating from a complete stop or regenerating at low speed by making small adjustments to the Current Regulator Kp/Ki values.

User avatar
PopTart   1 mW

1 mW
Posts: 15
Joined: Jul 12 2019 4:35pm

Re: Programming ASI Bac 8000

Post by PopTart » May 25 2020 3:51am

Hey just curious, when you say "bought direct from ASI", do you mean that "eval kit" on their web site?

Doust72   10 mW

10 mW
Posts: 25
Joined: Aug 29 2019 8:08am

Re: Programming ASI Bac 8000

Post by Doust72 » May 25 2020 12:24pm

anyone have an idea how to program the cruise control with the asi 8000/4000/2000 ?

Tommm   100 kW

100 kW
Posts: 1276
Joined: Apr 03 2018 2:32am

Re: Programming ASI Bac 8000

Post by Tommm » Jun 05 2020 12:25pm

Doust72 wrote:
May 25 2020 12:24pm
anyone have an idea how to program the cruise control with the asi 8000/4000/2000 ?
It is a pin out on the connector

Doust72   10 mW

10 mW
Posts: 25
Joined: Aug 29 2019 8:08am

Re: Programming ASI Bac 8000

Post by Doust72 » Jun 07 2020 11:25am

You do how I failed
you have more details

xenodius   10 kW

10 kW
Posts: 549
Joined: Sep 03 2012 6:55pm
Location: Florida

Re: Programming ASI Bac 8000

Post by xenodius » Jun 22 2020 4:42pm

PopTart wrote:
May 25 2020 3:51am
Hey just curious, when you say "bought direct from ASI", do you mean that "eval kit" on their web site?
I bought the BAC8000 evaluation kit before they raised their price from $800 to $1600, yes. They are currently revamping their support page and documentation, thankfully! I was concerned about issues with ERT, didn't know of another distributor, wanted the option to get troubleshooting support, and wanted to ensure I had a login so I could program it myself.

Currently very happy with it although I still haven't gotten the temperature sensor to work properly... the input voltage appears to track properly, but the calculated temperature does not even though it's mapped to use the temp sensor for that same input.

User avatar
TorgueRPM   100 W

100 W
Posts: 121
Joined: Jan 09 2019 3:27pm
Location: Milwaukee, Wisconsin, USA

Re: Programming ASI Bac 8000

Post by TorgueRPM » Jul 30 2020 10:04am

Apparently controllers running on 5.xx firmware use a different chipset than the 6.xx controllers, so newer firmware meant for a v6 controller will not work on a V5 controller.

From ASI support:

"Yes, we have two versions of firmware: version 5 for “old” and version 6 for current production controllers. If your controllers are on v5, all of them will use the same firmware. The same goes for v6. The only thing is if you have a mix of v5 and v6 controllers, then you will be running different firmware since the v5 will not work on v6 controllers and vice-versa.

The difference between v5 and v6 is the chipset, thus the incompatibility."

So the 5.xx firmware works on all v5 controllers but not on v6 controllers, and 6.xx firmware works on all v6 controllers, but not V5 controllers. If you have an older controller, running 5.xx software, you may brick your controller trying to upgrade to 6.xx firmware.

xenodius   10 kW

10 kW
Posts: 549
Joined: Sep 03 2012 6:55pm
Location: Florida

Re: Programming ASI Bac 8000

Post by xenodius » Aug 20 2020 4:32pm

So I've been trying to decipher the serial protocol of the ASI controllers, to find a way to quickly reprogram entire profiles of parameters by a hardware switch instead of just the speed/max power available by the native street/race modes through digital inputs. For example, change phase amps and min/max field weakening for an 'efficiency' profile at the saturation limit and a 'wheelie' profile to drop jaws :twisted: As well, I'd prefer to have my torque sensor and throttle as separate inputs on the BAC8000 and use its assist profiles to disable/adjust the torque sensor or control max power natively, rather than externally through a cycle-analyst and shunt. I tried *many* port sniffing applications but none worked for various reasons-- driver, x32 architecture, unmentioned trial limitations.

So I asked Martin about it. He provided this very helpful attached document on the MODBUS implementation used by ASI controllers. With this information, after checking the slave ID in BacDoor (1 for this serial input) I was able to read or edit parameters using only a PuTTy serial terminal. Turns out this is quite straightforward and I'll be using these findings to develop a python-based display for ASI controllers to run on a Raspberry Pi.

For example, to read the field weakening value I send the following command (in hex):

Code: Select all

01 03 00 81 00 01 d4 22
01 is the slave ID. 03 represents the command, read register. 00 81 is the hex for address 129 (register 128!). 00 01 represents the number of registers from 129 to be polled-- just this one. D4 22 is a "CRC" code, kind of like a two-byte hash generated from all the previous bytes of the request and calculated independently on each device, compared to ensure the data was properly transmitted.

As you can see, it is really quite easy to program these values. I have since discovered a nice program Modbus Master that makes it easy to experiment with commands and log the actual serial data between the PC and controller. Conveniently, many of the parameters are logically grouped. With one command, you can poll controller temperature, vehicle speed, motor temperature, motor current, motor RPM, motor speed, battery voltage, battery current, battery SOC, and battery power by reading address 259 and the following 10 registers:

Code: Select all

01 03 01 03 00 0a 34 31

So to adjust field weakening to 0% on my controller, the value is 0 and the command 10 to write holding register 128 (address 129) results in the follow line:

Code: Select all

01 10 00 81 00 01 02 00 00 b8 41
To adjust to 50% field weakening, the value is 2048 and the resulting hex command is:

Code: Select all

01 10 00 81 00 01 02 08 00 bf 81
In both cases, in accordance with the attached protocol, the controller sends the following to confirm successful receipt of the command at that register:

Code: Select all

01 10 00 81 00 01 51 e1
I've now decided a simple profile switch would be too easy. There is great support for MODBUS on a variety of devices... I want to make my own display. Arduino is too slow to write to a display one pixel at a time, so I think Raspberry Pi is the answer. It's a bit like using a sledgehammer on an ant but cost is comparable to Arduino and it will guarantee exceptional responsiveness on the display, and can be used for many other purposes e.g. dashcam logging, interfacing with other onboard devices like a lowjack or relays for accessories, running Android/navigation, Diablo2, whatever. :lol:

So, I'm developing an open-source Pi-based display for ASI controllers. I'll do just one screen with key stats... maaaybe a 2nd screen with interesting trip stats. Main screen will show speed, power, Ah from logged current/time and from that Wh/mi trip average and "instantaneous" rolling average, battery voltage with a most sag in last x seconds indicator/value, motor temperature with indicator when foldback initiates, controller temperature, buttons to increment and display current assist profile, and a few buttons to switch preset configuration profiles based on exported .xml... and a button to arm my GeogramOne lowjack, engage antitheft, display a keypad and wait for a PIN to unlock.
Attachments
ASI Modbus Protocol Rev 1.21.pdf
(1.03 MiB) Downloaded 247 times
Last edited by xenodius on Aug 22 2020 10:17pm, edited 5 times in total.

jonnydrive   100 W

100 W
Posts: 174
Joined: May 11 2015 7:16am
Location: Italy

Re: Programming ASI Bac 8000

Post by jonnydrive » Aug 22 2020 11:11am

xenodius wrote:
May 23 2020 2:05pm
The new library has bits in Features2 that allow you to toggle the pullups on brake1/2, so you can use either a hall, potentiometer, or switch on these inputs for regen braking or cutoffs without having to use your own pulldown resistors.
Is this similar to your configuration for analog brake?
Mine is still not working, I can't change value for Bit 12 and bit 13.
I am using traditional hall throttle as a analog brake.

Many Thanks
j
Attachments
Screenshot_2020-08-22-18-09-20-51_62d4deb04d2944ef725c78981e37173f.jpg
Screenshot_2020-08-22-18-09-20-51_62d4deb04d2944ef725c78981e37173f.jpg (64.25 KiB) Viewed 8420 times
Screenshot_2020-08-22-18-09-31-47_62d4deb04d2944ef725c78981e37173f.jpg
Screenshot_2020-08-22-18-09-31-47_62d4deb04d2944ef725c78981e37173f.jpg (67.94 KiB) Viewed 8420 times

xenodius   10 kW

10 kW
Posts: 549
Joined: Sep 03 2012 6:55pm
Location: Florida

Re: Programming ASI Bac 8000

Post by xenodius » Aug 22 2020 2:15pm

Brake 1 input for me only operated like a switch for regen. I think both are listed as analog inputs but you might need to use Brake 2 for a hall sensor or potentiometer. As you realized the Brake 2 pullup you have on should only be on if you're using a potentiometer that increases resistance as you engage it, versus a hall sensor that reduces resistance as you engage it. You could overpower it with a pulldown resistor but its preferable to keep the signal lines as clean as possible. 20mA max IIRC.

I had the same problem with the pullups when I tried to program a 6.xx hardware controller with 6.xx firmware using the 5.xx parameter dictionary I had on either PC or android BacDoor apps. I have attached the parameter dictionary (ASIObjectDictionary.xml) a nice layout for PC BacDoor (ApplicationLayout.xml) and the firmware file I got on 5/23/2020 (90-000280 BAC_Application_28035_6013.ehx). You probably just need the parameter dictionary, but you're not the only one who has had this or a similar issue-- 14 other people have PMed me to ask about similar issues related to their recent hardware/software revision that required these so I'm just gonna post them, but emphasize that other people stumbling upon this verify that they have a 6.xx controller as I'm not sure what problems could result from flashing 6.xx firmware onto 5.xx software. If in doubt email ASI with the serial/hardware information stickered on your controller.

Sending

Code: Select all

01 10 00 ad 00 01 02 00 00 bf ed
in a serial terminal would also disable the pullup on 6.xx :wink:
Attachments
ASI.zip
(148.89 KiB) Downloaded 202 times

jonnydrive   100 W

100 W
Posts: 174
Joined: May 11 2015 7:16am
Location: Italy

Re: Programming ASI Bac 8000

Post by jonnydrive » Aug 23 2020 1:37am

xenodius wrote:
Aug 22 2020 2:15pm
Brake 1 input for me only operated like a switch for regen. I think both are listed as analog inputs but you might need to use Brake 2 for a hall sensor or potentiometer. As you realized the Brake 2 pullup you have on should only be on if you're using a potentiometer that increases resistance as you engage it, versus a hall sensor that reduces resistance as you engage it. You could overpower it with a pulldown resistor but its preferable to keep the signal lines as clean as possible. 20mA max IIRC.
Thank you very much 4 your support!
My firmware is 6.012 with 1.324 bootloader

Some updates with my configuration (following your precious suggestions :o ):
  • Wired the Brake Hall sensor (a thumb throttle) on Brake 2 input
  • Brake 1 input (switch regen) for now shortcutted with +5v
  • "Bit 13 Brake 2 Pullup enable" -> finally I can set the option to on
    (NOTE FOR THE FUTURE READERS this settings needs to be added to BACDoor app, use "Insert Parameter" to find it)
My actual Setup still not working, when I press the regen brake now controller cut off the engine, but regeneration did not happens. Probably there is some other settings need to be configured and I hope that there is no bug of 6.x firmare!

Pleeeease xenodius or something else could share an exaple xml of working regen configuration?

I have attached my own, I noticed that my xml has any parameter with a comment, it will be easy to find the parameters with other settings directly opening the xml file (I am using Beyond Compare 4 to do that)
Config02.xml
(38.64 KiB) Downloaded 93 times
thanks
j
Attachments
Screenshot_2020-08-23-11-16-07-07_62d4deb04d2944ef725c78981e37173f.jpg
Screenshot_2020-08-23-11-16-07-07_62d4deb04d2944ef725c78981e37173f.jpg (68.88 KiB) Viewed 8369 times

xenodius   10 kW

10 kW
Posts: 549
Joined: Sep 03 2012 6:55pm
Location: Florida

Re: Programming ASI Bac 8000

Post by xenodius » Aug 25 2020 2:39pm

I poked around in the config file a bit (very nice of you to comment it like that) but for faster debugging just loaded your configuration onto my controller to test it live using PC BacDoor. Right away I noticed that contrary to the mobile app images you showed that the Cutoff brake sensor source and Regen brake source are both 0 (brake 2) so you are likely triggering cutoff and preventing both regen and throttle. Changing your Cutoff brake sensor source to network or an unused input should do it. Did you update your mobile application parameter dictionary with the previously attached file? Here's my config-- I'm also using Brake 2 for regen and have Cutoff brake sensor source set to Network.

Also you said you could finally set brake 2 pullup to on, but it is off in your config-- as it should be for a hall throttle!
Attachments
Taranis.xml
(53.29 KiB) Downloaded 114 times

Post Reply