Giter Site home page Giter Site logo

plmwd / hkn-sae-project Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 7.41 MB

A collaboration between UCF's HKN Zeta Chi and SAE club to expand SAE's measurement network for their formula racecar.

Makefile 15.25% C 73.02% C++ 4.34% Assembly 6.75% Shell 0.64%

hkn-sae-project's Introduction

hkn-sae-project's People

Contributors

jiglesiasmorales avatar moses-quiliche avatar plmwd avatar

Stargazers

 avatar

Watchers

 avatar  avatar

hkn-sae-project's Issues

Write wiki

Write documentation for the device - all probably not possible by milestone

  1. How to setup and program device
  2. How to connect and control from PC
  3. PC functionality
  4. Connector pin-out and descriptions
  5. CAN configuration details for Motec C125 logger
  6. Program description and explanation
  7. Program flowchart
  8. Device specifications
  9. BOM
  10. Testing procedures (?)
  11. Pictures of device
  12. Troubleshooting

Command Terminal

  • Figure out commands to implement

Command terminal functions:

  • Calibration
  • View ADC readings
  • View calibration data
  • Assign device ID and name (?)
  • View log (if implemented)

PCB rev 1.1

Board changes TODO 01/10/2020

  • Verify connector fitting
  • shorten PCB at connector. The connector has a seal and screw holes to mount to an enclosure
  • re-route CAN differential tracks to connector
  • search different shunt jumper
  • search for cheaper cheaper 47 uF cap
  • search for cheaper cheaper 6.8 uF cap. Replaced with 2 4.7 uF
  • verify cap footprints around buck
  • rewire programming jumper or remove it. Removed it.
  • op amp package
  • label header functions
  • footprint for the crystal needs indication of pin 1 and orientation
  • Choose protection diode
  • silk screen text for config resistors
  • Protection diodes for MCU ADC inputs? No. Voltage divider for voltage sensing for range 0-20V and max voltage for buck is 17V so have protection diode for 15-17V only across input power to the device
  • Clean up board layout
  • SSOP CAN transceiver ? None
  • [ ] Fix differential amplifier - op amp orientation
  • TVS zener diodes: https://www.diodes.com/assets/App-Note-Files/TVS-in-Automotive-Applications.pdf
  • Update BOM
  • Review layout
  • Review routing
  • Review BOM
  • Order PCB
  • Order parts

Misc system functionalities

  • Detect and change device parameters for low/high current mode
  • Debug Logging
  • LED indicators
  • Reconfigure PGC and PGD pins to be UART if in PCC mod

ADC and data processing

  • Process voltage function
  • Process current function
  • Test and confirm process voltage function functionality
  • Test and confirm process current function functionality
  • CalibrationData function
  • Rewrite library
  • Configure DMA for ADC

Device testing

  • Test CAN communication to logger
  • Test PCB connections and functionality
  • Test measurement accuracy
  • Test how long the device can operate
  • Test temperature stability
  • Test PC calibration routine

Firmware task list

Edit issue and assign yourself to a feature

Note: DMA channels (only 4) are allocated in dma.h

CAN (!!!) @paulwood15

  • MCP2542FD state machine
  • MCU CAN module configuration
  • DMA configuration
  • Send messages to address
  • Handle bus errors
  • Handle collisions
  • C125 ECU configuration
  • Test and verify communication

ADC & Data (!!!) @jiglesiasmorales

  • Select ADC configuration for low/high current mode (maybe not needed)
  • Write function to map unsigned int ADC reading to current or voltage using device parameters
  • Adjust data depending on calibration data
  • Figure out how to calibrate data before UART/USB implementation

UART/USB (low priority) @jiglesiasmorales and @paulwood15

  • Configure UART module
  • Reconfigure PGC and PGD pins to be UART if in PCC mode
  • Figure out how to talk to terminal on PC and be able to send/receive data to and from dsPIC
  • Edit device parameters
  • Run basic functions - restart, get system log data (if implemented), run calibration routine
  • DMA config

Flash Memory (low priority)

  • Be able to read/write data to memory (calibration data, logging, whatever else we need)
  • Make it so device parameters are stored in flash

System (!!) @jiglesiasmorales

  • Detect and change device parameters for low/high current mode
  • Debug Logging?
  • LED indicators
  • Detect PCC mode (PC Communication - use programmer pins for UART/PC communication)

CAN communication

  • DMA configuration
  • MCP2542FD state machine
  • Remap GPIO pins to CAN module

Handle interrupts

  • Message transmission successful/unsuccessful
  • Bus errors - rudimentary handled
  • Receive messages

Charge Pump PWM

  • Figure out how to use the PWM module and create more todo points

NVM

  • Create a function for writing to the NVM
  • Create a function for reading from the NVM
  • Test changing MCU nonvolatile memory from PC

Weekly task list - Started 6/7/2019

Assigned - 6/7/2019
Updated - 7/2/2019

All

  • Coordinate a next meeting - design review - have individual parts completed

Jan

  • Microchip Power IC configuration
  • Vcc Caps, ADC protection (zener diodes)
  • Make Schematic for Power Sensor & other required components

Jan and Moses

  • Power IC implementation - learn how power IC works
  • SPI

Paul

  • MCU PIN configurations
  • VDD Caps
  • Make schematic for MCU part
  • CAN transceiver
  • CAN bus/Implementation (MCU)
  • Find zener diodes

Moses

  • Buck I/O Caps
  • Implement power systems - buck and linear reg
  • PG Pin to MCU

UART communication with PC

  • Research
    Questions
  1. Implementing routines for PC to call - interrupts? how does a received UART message get processed?
  2. how to communicate with COM port and terminal
  3. processing and memory space overhead
  • Figure out how to use PuTTy with USB to UART adapter
  • Send hello world from MCU to PC
  • Read a multi-character string from UART
  • Create blocking read() function to be used for scanf(). See pic30-libs section in the dsPIC language tools manual.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.