Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Date

Individual

Progress

Concerns

sept. 18

Jess

Got CANable adapters working, updated smoke_mcp2515 firmware so it works now.

verified mcp2515 works on MCI rev 5 that has the CANable adapter soldered to it.

Questions:

  • is steering rev 4 ok to validate on?

  • where are all the power supplies? how long will the aux battery last?

CANable adapter should probably not be soldered to the board in future. Also had to sacrifice a system CAN terminating resistor in the debug process, sorry

Blockers:

  • missing pedal

  • missing steering stalk + steering rev 5?

sept 21 - 9am

Aashmika + Kristen

  • we went in and put away aashmika’s stuff and organized a bunch of boxes

  • looked for pedal

  • could not find pedal → thinking someone on the team maybe took it home?

  • found steering stalk and steering board (dont remember rev, but it’s attached to the stalk)

sept 25

Jess

Figured out how to connect steering stalk to rev 4, tested some firmware

  • not much of it worked 😞

  • returned MCI box (including aux battery) to the rest of the boxes

  • Put CANable adapters in the firmware box on the shelf next to the wire rack

  • Will have to do some work to fix firmware for steering? or at least work to figure out where all the gpio pins go

Oct 11

Jess

Found source of CC DECR not working on steering. We implement interrupts in firmware using the STM32 external event input interface, which only has 16 lines. We set this up in firmware so we can register an interrupt on each pin number, e.g. PB1 and PA2 works but if you register PB1 then PA1 registering for PA1 will fail.

The regen button and the CC on/off button still don’t consistently trigger interrupts.

ADC values for CC on/off are consistently ~1600, with no noticeable variability when the button is pressed. The interrupt never triggers.

ADC values for regen toggle are ~1600 when the button is unpressed, then they jump to ~1800 when the button is pressed. Occasionally the interrupt triggers, but not consistently.

To have minicom ADC and interrupt logging, use branch soft_151_steering_validation and project debug, so make program PROJECT=debug

Couldn’t find the center console board.

Tried switching cables for driver display, but it seems pretty busted.

  • does this mean we need a new steering rev?

  • Where’s the center console board? it wasn’t in the box above the microscope

  • Driver display is probably broken, it’s supposed to work out of the box with windows. Tried a different HDMI cable and tried various computers, but banding occurs no matter what. Last thing we could try is a different power supply, otherwise I’m in favour of sending it back and claiming warranty.

Oct. 12 🦃

Jess

===== DAY =====

Tested MCI with a bugfix from MPXE validation, the flow for setting drive output → getting pedal commands seems to work now.

Precharge used to flip PB0 properly, but not PA10 (I was told this was because it only flips PA10 if the relay is connected, which it wasn’t, so this was expected behaviour).

Now, precharge doesn’t seem to flip either, but this is under progress by hardware at the moment so hopefully will be fixed soon.

Aside from that, MCI counts as validated.

===== EVENING =====

Steering: decided it’s not worth fixing it in hardware (too many jumpers required), but stuff sorta works intermittently. Functionality confirmed in firmware, but need to fix up actual project to work in all functionality. Decided DRL toggle is the lane assist button (PA6) and horn (PB1) pin needs to change to allow CC DECR (PA1) to have an interrupt.

MCI: drive fsm + pedal → mcp2515 output flow all works. Precharge logic being validated by hardware.

Power distro: learned how to set it up for testing, will work on it tomorrow w/ Ryan.

Power select: things seem ok, seems like there’s a lot of problems in hardware. Some preliminary test results shown below:

Readings for pins with the front power distro wires hooked up to e-load @ 0.5A (12 volts shown) and aux power wires hooked up to power supply & 12V.

Code Block
=============== rand# 971464216
DIGITAL:
VALID_1 - 1
VALID_2 - 1
VALID_3 - 0
DCDC_FAULT - 0

ANALOG:
DCDC_I - 458
DCDC_T - 0
DCDC_V - 1817
PWRS_I - 602
PWRS_V - 1532
AUXB_I - 0
AUXB_T - 0
AUXB_V - 2259

Oct. 13

Jess + Aashmika

Worked on power distro, work is on branch bts7200-messs

  • ADC driver is broke AF, fixed by adding a volatile bool while while ing rather than using the flag that’s cleared in the IRQhandler.

Code Block
a different way to fix it that doesn’t involve any volatile variables would be to use 
while (!ADC_GetFlagStatus(ADC1, ADC_IT_EOSEQ)) 
then not clear the EOSEQ bit at the end of the irq handler 
and instead clear it after the while loop
it looks to me like ADC_ClearITPendingBit and ADC_ClearFlag do exactly the same thing

Problem was the load switches couldn’t handle eload in constant current mode and were overload protecting (greater than 500 mA @ 12V for example). Putting eload into constant resistance mode allowed load switch to work consistently.

Also added initialization to pin on PCA9539r to set it properly.

We might have destroyed U6 and U5 from the overloading with constant current mode as they are constantly enabled now. We also shorted a controller board (3v3 or 12v) and it died. RIP.

Aashmika cries. Couldn’t work on MCI.

Oct 14

Jess

Power selection, working on branch soft_151_power_selection_validation. Aux Vsense was already calculated to be approximately right. Tested aux isense, seems correct with a conversion factor of 10/3, i.e. (mA drawn) = (mV read) * 3.333333

The “valid” signals work for aux and DCDC, i.e. they’re all 1 except valid_3 when aux is plugged in, and all 1 except valid_2 when dcdc is plugged in.

Thermistors didn’t seem to be populated.

Power distro, working on branch bts7200-messs. Got ricky to solder on an extra wire to both channel 7 and 3 bts7200s, got what seemed like reasonable readings from both. Gonna call power distro done validation for now until the elec mockup.

Oct 15

Jess + Aashmika + Ricky

Driver Display: did some setup on raspi, working on getting flutter-pi running. Got stuck at a missing header issue, filed an issue on github, the dev is pretty active so should get a response soon. Display itself works well from a power supply, draws ~.6A at 5V.

Precharge: Having problems with precharge and testing to see what could be the issue. Checked fets Q2, Q4 and Q5 all working fine, trying to figure out how the SR latch works. Checked to see if the capacitor is connected to the board and it is connected. Testing the And_out (yellow), reset pin (blue), and SR latch output (purple).

Evening shift: Got the driver display app running on the display, steps here: Driver Display setup

Oct 17

Jess

Tried to talk to new motor controllers. Note: LAWICEL slcan dongle must be used, can’t use peak-can dongle. The old software we were using for the WaveSculptor 20s doesn’t seem to work; it connects but doesn’t seem to read messages and can’t upload/download configs. I suspect the old version of the software isn’t compatible with these controllers. I submitted a request for the newer version of the software through the ‘contact us’ page on their website since the software isn’t listed there.

Candumping using karl ding’s old dbc file on github https://github.com/karlding/wavesculptor-22-dbc (with device id changed to 0x400 rather than 0x80 via kvaser DBC editor) gave some output.

Next steps are hopefully wait for tritium to give us the new software, otherwise reach out to other solar car teams / post in the solar racing reddit to see if anyone else has a copy of the software. Do we have any contacts at tritium?

Oct 24

Hewitt

Worked on figuring out why MCP2515 smoke test isn’t working on MCI rev. 4. Wasn’t working on the MCI rev. 5 either, but loopback tests passed on the MSXII charger interface board.

We’re also not communicating with the MCP2515 on the MCI rev. 4 (registers read either 0 or 255 before and after trying to change them), but other two boards seem to be working okay in that regard. MCP2515 SPI connections should be identical across all boards, so seems like the rev. 4 one isn’t working.

Since it seems to be working, will try to get the charger interface board connected to the WaveSculptor 22 CAN bus tomorrow and start looking at getting readings from it + figuring out whether the MCI is sending all CAN messages at once.

Oct 25

Selina + Jess

I2C communication not working with ads1015 on pedal board (failing at i2c_write). It was working last time though, before the two potentiometers were soldered on.

Also tried to run the smoke test for bts_7200. It’s working on the power distro board when running from the bts7200-messs branch, but not from master, so it’s definitely just a firmware issue. We created a new branch off of master called soft_151_power_distro_validation , and are currently working on migrating relevant changes from the bts7200-messs branch so that it can get merged eventually.

Oct 25

Hewitt

Got MSXII charger interface board connected to the WaveSculptor CAN bus. It didn’t seem to be receiving messages when running the MCP2515 smoketest, but was sending messages fine. Flashed MCI FW to the board and verified that it can see CAN messages; it consistently stops calling both velocity and bus message CBs once it gets a bus measurement message. Will look into figuring out the cause of this and look into manually triggering MCI CAN messages tomorrow/later on in the week.

Additionally, looks like the WaveSculptor is sending all the update messages at the same time, so we’ll need to look into ways to make this work with the MCP2515.

Oct 26

Jess

Found another pedal board in the box, so since the ADS1015 is fried on the original one we’re using, Ricky is porting the connectors to the working one. We fried the old one because the potentiometer used was shorted, so now we’re just not connecting the grounds on the pots for the new one. Didn’t get to check it worked fully, but it should work.

Oct 26

Aashmika + Ricky

Precharge:

  • After much testing for several days (lol) found out that the weird spike on 12V_ISO_SW was caused by by the cap that turns the fet q10 to temporarily turn on, which causes iso_latch out to go high and latch high even when 12V_ISO_SW is GND (when the cap is charged + the 12V from latch out is high and since its a latch this makes sense why it stays 12V on the output). I took out C25 and found that it no longer latches! which is good because it wasn't supposed to since I did not even connect HV in.

  • Now I connect 37V to the HV in of the board and see that everything works up until Q2 which doesnt turn on because there is -2.2V at the gate wrt source. Looking at the datasheet, James and I believe that we need to have it at least at -4.5V to turn on, so we will change R13 to be 100k. I will do that tomorrow and see if it works out