This shows you the differences between two versions of the page.
|
pm:prj2026:bianca.popa1106:timotei_iosif.cicu [2026/05/09 15:51] timotei_iosif.cicu [CAN transceiver] |
pm:prj2026:bianca.popa1106:timotei_iosif.cicu [2026/05/12 10:30] (current) timotei_iosif.cicu [Analog inputs, internal MAP and battery voltage] |
||
|---|---|---|---|
| Line 487: | Line 487: | ||
| So in conclusion, my injector and spark plug output blocks work as they are, but I still ordered the new resistors and I have changed them. | So in conclusion, my injector and spark plug output blocks work as they are, but I still ordered the new resistors and I have changed them. | ||
| - | With the 100Ohm resistors, I require a heating on them as they reach 80C at 25C ambient. | + | With the 100Ohm resistors, I require a heatsink on them as they reach 80C at 25C ambient. |
| ==== Crank and Cam inputs ==== | ==== Crank and Cam inputs ==== | ||
| - | When my first order from mouser came, I noticed that the comparator was missing (as can be seen in some of the images), so I placed another order. After it arrived, I soldered the comparator to the PCB. I tested the crank and cam inputs using a signal generator set at Pk-Pk 20V centered at 0V using multiple types of signals at multiple types of frequencies. On the software aspect of things, for the low speed runs I blinked the LED at the same frequency as the signal that I was reading, and at higher frequencies I divided that frequency so that I could visually see that the comparator was reading fast enough. I tested the VR detection circuit at up to 3000Hz. I also confirmed with an oscilloscope that I was detecting the VR signal at the right frequency. | + | When my first order from mouser came, I noticed that the comparator was missing (as can be seen in some of the images), so I placed another order. After it arrived, I soldered the comparator to the PCB. I tested the crank and cam inputs using a signal generator set at Pk-Pk 20V centered at 0V using multiple types of signals at multiple frequencies (max 5KHz). Using an oscilloscope I measured the output of the comparator. As can be seen in the VSS section, my Mcu is more than capable of handling the required frequencies. |
| - | TODO: Insert image of the setup. | + | {{:pm:prj2026:bianca.popa1106:timotei_iosif.cicu:whatsapp_image_2026-05-09_at_17.42.49.jpeg?300|}} |
| + | {{:pm:prj2026:bianca.popa1106:timotei_iosif.cicu:whatsapp_image_2026-05-09_at_17.42.49_1_.jpeg?300|}} | ||
| ==== Analog inputs, internal MAP and battery voltage ==== | ==== Analog inputs, internal MAP and battery voltage ==== | ||
| For the analog inputs, I checked them using a potentiometer and compared the readings from them to the readings on my multimeter. I did the same for the internal MAP and battery voltage. Afterwards, for the latter two, I converted the reading to their respective units and representations and confirmed that for the MAP I was reading around atmospheric pressure and for the battery voltage I was reading 12V (the value that I set my power supply at). | For the analog inputs, I checked them using a potentiometer and compared the readings from them to the readings on my multimeter. I did the same for the internal MAP and battery voltage. Afterwards, for the latter two, I converted the reading to their respective units and representations and confirmed that for the MAP I was reading around atmospheric pressure and for the battery voltage I was reading 12V (the value that I set my power supply at). | ||
| + | |||
| + | At first the Adc_Calibrate function failed, after investigating further in the S32K3 Datasheet and Reference Manual, and measuring VREFH and VDD_HV_A with a multimeter (and later an oscilloscope), I determined that I made an error in the hardware design. VREFH is 0.01V higher than VDD_HV_A, and the datasheet states this is only valid in transient mode (the VREFH line can jump higher than VDD_HV_A only momentarily for a short period). | ||
| + | |||
| + | To fix this, I cut the track from the 5V_SENSORS net going to VREFH and I soldered a wire from VREFH to 5V_DIGITAL. This fixed my issue | ||
| ==== CAN transceiver ==== | ==== CAN transceiver ==== | ||
| Line 504: | Line 509: | ||
| ==== VSS ==== | ==== VSS ==== | ||
| - | To test the VSS input, I used a singal generator at 5000Hz using a square wave between 0V and 5V. I then used the same methodology as the validating the Crank and Cam input blocks. | + | To test the VSS input, I used a singal generator at 60KHz using a square wave between 0V and 5V. I created a blinking LED with a divider from the frequency of my VSS input. And confirmed with an oscilloscope that all of the interrupts were caught. |
| - | TODO: Insert image of the setup | + | {{:pm:prj2026:bianca.popa1106:timotei_iosif.cicu:whatsapp_image_2026-05-09_at_17.12.49.jpeg?300|}} |
| ==== UART ==== | ==== UART ==== | ||
| Line 530: | Line 535: | ||
| ==== Hardware validation conclusions ==== | ==== Hardware validation conclusions ==== | ||
| - | (TODO) | + | After the hardware validation step, I can confirm that the PCB works as intended, and I can move unto the firmware. |
| ===== Software requirements and architecture ===== | ===== Software requirements and architecture ===== | ||