Giter Site home page Giter Site logo

fescron / project-labembeddeddesign2 Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 1.0 243.32 MB

Project-LabEmbeddedDesign2

License: GNU General Public License v3.0

C 98.58% JavaScript 1.42%
microcontroller efm32hg uart simplicity-studio slstk3400a accelerometer adxl362 temperature-sensor ds18b20 spi onewire kicad dramco lora lorawan iot rn2483 doxygen low-power kuleuven

project-labembeddeddesign2's Introduction

Project-LabEmbeddedDesign2

License GitHub last commit GitHub Release Date GitHub release Target device GitHub code size in bytes


This repository contains the presentation, reports and code for the project constructed for Embedded System Design 2 - Lab.

Project Project


1 - Quick links


2 - GIT repo structure

Location Content
/docs/ Doxygen code documentation.

/documentation/current measurements/ Documents containing current measurements.
/documentation/current measurements/measurements-SF/ Pictures depicting current profiles for sending 6 measurements at full gain with different LoraWAN Spreading Factors. More information can be found in section "3 - LoRaWAN spreading factor (RN2483)" in this file .

/documentation/datasheets/ General datasheets regarding the used items.
/documentation/datasheets/hardware-design/ Documents regarding hardware design for the EFM32HG microcontroller.
/documentation/datasheets/timers-energy-rtc/ Documents regarding timers, the RTC and energy modes on the EFM32HG microcontroller.

/documentation/figures/ Figures used in reports and the README.
/documentation/figures/installation/ Pictures taken during the project installation.
/documentation/reports/ Reports and presentation.
/documentation/schematics/ Schematics.
See this file for the schematic of the self designed PCB and this file for the schematic of the DRAMCO LoRaWAN shield.

/hardware/project-embeddedSystemDesign2/ KiCad PCB design files.
See this file for the schematic and this file for the BOM.
/hardware/project-embeddedSystemDesign2/3d-renders/ Pictures of 3D renders of the self designed PCB.
On this picture the dimensions are displayed.
This is a render of the front and this is a render of the back.

/software/EFM32HG-Embedded2-project/ Code for the project.
See this page for general important documentation and this page for information regarding individual files and their methods. This is the decoder for use on The Things Network.

3 - Code flow

Note: The code is developed using Simplicity Studio v4 on Ubuntu 18.04 LTS. The code also has dbprint functionality.

Flowchart

Extra notes on the flowchart:

  • (*1): The following things get initialized:
    • Chip
    • GPIO wakeup (buttons & ADXL INT1)
    • ADC
    • Disable RN2483
    • Accelerometer (initialize SPI and use it to configure the accelerometer
  • (*2): On every external temperature measurement the VDD and DATA pin get re-configured. The oneWire protocol is achieved using bit-banging.
  • (*3): The RN2483 module gets enabled and configured before sending the data. Afterwards it gets disabled again. The status message is always send, measurements only if there are any recorded.
  • (*4): Only one set of measurements are send along with the status message.
  • (*5): The value of X depends on a configured setting.
  • (*6): A status message is send along with any recorded measurements.

  • Before entering a sleep state all GPIO (data) pins are disabled so they can't consume any power.
  • Clocks and peripherals are only enabled when necessary.
  • If an error occures this gets forwarded to the cloud using a LoRaWAN status message.
  • To conserve sended bytes a custom data-format was used (along with a decoder).
  • Negative internal and external temperatures were successfully send and displayed. The internal temperature seems to be 2 - 3 °C off.

4 - Extra hardware changes

The schematic for the custom PCB misses two resistors. A surface mount 10 kΩ resistor was added between the data and power pin for the DS18B20 temperature sensor. A 3,3 kΩ resistor with wires was added between the BREAK_1pin and VDD. These added resistors can be seen on the bottom right on the left most picture below.

Added resistors Shield modifications

An SMA connector for an external antenna was also added to the DRAMCO LoRaWAN shield. This was done by removing the chip-antenna, capacitors C3 and C4 and inductor L1 and replacing it with an SMA connector directly connected to the signal pin of the RN2483 module. This modification can be seen on the right on the right most picture above.

To protect the PCB's from moisture and other contaminants, they were given 2 coats of PLASTIK 70.

Protection during coating Coating process


project-labembeddeddesign2's People

Contributors

fescron avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

spstankov

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.