Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AutomationShield QuickStart for Students #65

Open
gergelytakacs opened this issue Oct 25, 2018 · 0 comments
Open

AutomationShield QuickStart for Students #65

gergelytakacs opened this issue Oct 25, 2018 · 0 comments
Assignees
Labels
AutomationShield common Common functionality for the entire library readme Important "sticky" posts.

Comments

@gergelytakacs
Copy link
Owner

gergelytakacs commented Oct 25, 2018

This issue describes the common tasks needed for an efficient start of a thesis work. This issue is meant for bachelor's theses aimed at the AutomationShield project.

Hardware

Hardware design

  • Must follow the AutomationShield Hardware Style Guide.
    This list will be changed and perfected.
  • Select an idea from our own and cache or bring your own. Must be a dynamic system ready for feedback control.
  • The system must fit on the Arduino R3 layout.
  • What is the actuator? What is the sensor?
  • Are there any extra sensors that can make the control or identification of the dynamics more interesting?
  • Are there any extra actuators that can be added as a form of external and repeatable disturbance?
  • Is a reference potentiometer needed?
  • Identify any issues that will be difficult to realize.
  • The board must not contain ugly, improvised parts. Try to use off the shelf components. Avoid custom manufacturing, 3D printed parts are to be avoided but permitted if there is no other solution.
  • Can your board made compatible with the 3.3V boards, such as the Zero?
  • Is there enough voltage/current on-board or is external power needed?

DipTrace

  • Download and install the Freeware version DipTrace PCB design tool.
  • Learn to use DipTrace by tutorials, they are recommended for a beginner. There is an official tutorial in a PDF form, but there are good tutorials on YouTube as well. I would probably recommend the this one by Bme Builds that is how I started.
  • We have the editable files for the previous designs. Study, dissect and change them to learn.
  • We have our own parts library for the shields. The entire Arduino is there, so you don't have to do that...

Thesis writing

Writing

  • Read previous thesis works on AutomationShield.

LaTeX

  • Download and install the proTeXt package. (Warning it's a 2GB file.) Alternatively you can download and install just the MikTeX package, but you have to find your own viewer and editor and possibly set up the compilation process manually.
  • Read about LaTeX on Wikipedia. Try to compile the example in the Wikipedia article to a PDF.
  • Download and look through the STU thesis sample. Try to change things around and work with it.
  • I do not think tutorials are necessary, learn as you use it.
    Just as most of other LaTeX users I never "learned" I it, just started using it by dissecting templates and samples, and a lot of Googling.
  • Do not worry, LaTeX is a lot easier than it seems. It will grow on you and you will be happy to use it for your thesis.

Software

Software design

GitHub

  • Join the GitHub community by registering to the service.
  • Download the desktop tool.
  • Mess around with your own trial repository.
  • Command line level Git is not necessarily needed for this scope of work.
  • Don't get intimidated by the language of Git, this can be daunting at first.

Others

  • Register an account on Dropbox if you don't already have one.
  • Ask to join the shared folder for previous designs and DipTrace libraries.

Work style

General

  • Trying hard and then failing is not such a big deal. That's how you learn.
  • Don't do sloppy work, try to be precise and careful.
  • Meet each week to discuss progress.
  • Don't leave writing the thesis to the last minute, start to work on the text as soon as possible.
  • A bachelor's or diploma thesis is actually a scientific work.

How to handle @gergelytakacs

  • I am never really satisfied, but that's okay.
  • I tend to blurt out a lot of things to do and issues to solve during the weekly consultation meeting. I assume you can prioritize and see what's important and what's not that important. If not, ask me.
  • Ask questions. A lot of them.
  • Sometimes I only have a half-assed idea, it's up to you to finish and execute. Don't expect detailed instructions on everything.
  • Consult your Google Calendar for the most up-to date information about consultation times. I try to stick to a pre-set schedule, however, sometimes I am forced to move around the meetings.
  • I have no clue nor interest on the administrative side of submitting a thesis and the required paperwork.
  • If you think I'm wrong or mistaken, say it freely. I do not want to breed "yes-men", I want you to think for yourself.
  • Respect hardware and try not to ruin it, but an occasional "magic black smoke" is not a tragedy, it happens and I consider it a part of learning.
  • I do not tolerate any sort of plagiarism.
  • If you have read this text up to this point, email me a picture of a raccoon.
  • I expect pretty drawings and photos in your thesis done by you personally. Will haggle you until its done.

Skills you will learn

Every thesis work is a bit different, so is every student. Do not forget that you are doing this to learn, so you can eventually say (maybe on your CV) that you know

  • PCB design, CAD software for PCB layout (DipTrace, but if you know one, its easy to learn others)
  • C/C++
  • Microcontroller programming (AVR architecture)
  • Electronics
  • Feedback control
  • System identification
  • Version management by Git
  • Kanban basics
  • Professional text preparation in LaTeX
  • and more...
Repository owner locked and limited conversation to collaborators Oct 26, 2018
@gergelytakacs gergelytakacs added AutomationShield common Common functionality for the entire library readme Important "sticky" posts. labels Oct 29, 2018
@gergelytakacs gergelytakacs self-assigned this Oct 29, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
AutomationShield common Common functionality for the entire library readme Important "sticky" posts.
Projects
None yet
Development

No branches or pull requests

2 participants