Make Your Own Developement Board @ 2014.4.21 JuluOSDev

  • Published on
    12-Jul-2015

  • View
    965

  • Download
    2

Transcript

Make Your Own Development BoardATMega8 series for exampleStarNight @ 2014.4.21 JuluOSDevAfter sharing Simple Scheduler @ OSDC.tw 2014,it is a good chance to talk about the hardware implementation of Simple Osilloscope1. (Highest Order)Meet the specification.2. Smallest cost.3. Finish it in shortest time.by Boundary Conditions!!!Lessons Learned from PMP (Partial) Initiating Develop project charter Planning Collect requirements Define scope Plan Quality Estimate costs Develop schedule Excuting Monitoring & controlling ClosingThe specification going to be met.Find the smallest cost.Find the shortest time.The Specification of osilloscope Signal range: 0 ~ 5V Sampling frequency: 100 Hz Sampling channels: 6 ~ 8 channels Connects to computer with UART Communication protocal: ModbusStudents homework is a practice which finds the f(x) from x. However, engineers work is a problem which finds the x from f(x).by The Cost and Time I can use: The ADC channels of AVR. The timer of AVR for periodic sampling. The USART function of AVR. I can buy an AVR with the money that I can afford. I am familiar with AVR, which shorts development time. There are open source resource for AVR, ex: toolchain, programmer ...Read DatasheetReference from: ATmega328 datasheet Build a development boardThat will be an oscilloscope.https://github.com/starnight/ATmega328-BoardTools Toolchain:avr-gcc Libc:avr-libc Downloader/Uploader:avrdude Prgrammer:USBtinyISP, USBasp ...I flashedSimple Oscilloscopefirmware into the development board.https://github.com/starnight/Simple-OscilloscopeFunction Generator for SignalsSchmitt Trigger IntegratorCould reference: http://www.pcbheaven.com/circuitpages/Triangle_Wave_Generator/Function GeneratorOscilloscope Console by python + pyserial + matplotlibAll Circuits Analysis Begins with On - Off For a resistor:v(t) = i(t) r(t) For a capacitor:q(t) = C(t) v(t) For an inductor:v(t) = d ( L(t) i(t) ) / dtLessons Learned from OscilloscopeNyquist Frequency / Aliasinghttp://en.wikipedia.org/wiki/AliasingWe need to integrate the knowledge learned from school and use it when implementation.Build your own tools ~Thats maker !!!!!Thank you and Q & Ahttps://github.com/starnight/ATmega328-Board