Javelin Stamp TM Andrew Prunicki Nov. 8, Overview ● Hardware – Microcontrollers – Robot Demo – Javelin Stamp Capabilities ● Software – Javelin Stamp.

Slides:



Advertisements
Similar presentations
INTRODUCTION TO ROBOTICS AND MICROCONTROLLERS Instructors: Tijjani “TJ” Mohammed and Tarek Abdel-Salam.
Advertisements

Robotics Club, Snt Council2 The 3 Schools of Robotics: Mechanical Design – Types of motors – Material selection –
Microcontroller – PIC – 4 PIC types PIC architecture
Introduction to Microprocessors Number Systems and Conversions No /6/00 Chapter 1: Introduction to 68HC11 The 68HC11 Microcontroller.
Microcontrollers Lecture L12.2 Section Microcontrollers Microcontrollers vs. Microprocessors Two standard architectures PIC microcontroller 68HC12.
Introduction.
Khaled A. Al-Utaibi  What is Arduino?  Arduino Boards  Arduino Shields  Arduino Uno Hardware.
BLDC MOTOR SPEED CONTROL USING EMBEDDED PROCESSOR
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
Fundamental of Microcontrollers
1 © Unitec New Zealand Embedded Hardware ETEC 6416 Date: - 10 Aug,2011.
Department of Electronic & Electrical Engineering Embedded system Aims: Introduction to: Hardware. Software Ideas for projects ? Robotics/Control/Sensors.
NetBurner MOD 5282 Network Development Kit MCF 5282 Integrated ColdFire 32 bit Microcontoller 2 DB-9 connectors for serial I/O supports: RS-232, RS-485,
Arduino Josh Villbrandt February 4, Digital Circuits Analog versus digital – What’s the difference? – How to represent an analog signal in a computer?
Revised: Aug 1, ECE 263 Embedded System Design Lesson 1 68HC12 Overview.
RC CAR CONTROLLER BASED ON INTEL GALILEO SOC PLATFORM Nadav Shiloach Sagi Sabag Supervisor: Idan Shmuel Spring 2014 One Semester Project PROJECT’S ENDING.
Daniel Pickem and Rowland O’Flaherty 12/04/2012 Mechatronics (ME 6405) Student Lecture On Arduinos *Some slides courtesy of Eoin Brazil
ECE Lecture 1 1 Introduction to Microcontrolllers Department of Electrical and Computer Engineering The Ohio State University ECE 2560.
Arduino. What is it? A open-source software suite and single-board microcontroller. Allows easy and affordable prototyping of microcontroller applications.
Arduino 101 Instructors: Ted Markson / Jim Sweeney.
Microcontroller Presented by Hasnain Heickal (07), Sabbir Ahmed(08) and Zakia Afroze Abedin(19)
Digital Electronics Introduction to Microcontrollers and the Board of Education.
Lecture 7: Overview Microprocessors / microcontrollers.
Robocon 2007, Hong Kong University of Science & Technology Robocon 2007 Electronics Quickstart! Session 1 Hello! Microcontroller. Prepared by KI Chi Keung.
Components of a typical full-featured microcontroller.
CEng3361/18 CENG 336 INT. TO EMBEDDED SYSTEMS DEVELOPMENT Spring 2007 Recitation 01.
1 Microcontrollers. 2 Programmers work in the virtual world Machinery works in the physical world Microcontrollers connect the virtual and physical world.
Case Study #1 Microcontroller System. What is a microcontroller? A microcontroller can be considered a self-contained system with a processor, memory.
Arduino.
ARDUINO BASED UNDERGROUND CABLE FAULT DETECTION
Basic Computer Fundamentals
Chapter 1: Introduction to the Personal Computer
IF I ONLY HAD A BRAIN THE MICROCONTROLLER
Michael Rahaim, PhD Candidate Multimedia Communications Lab
Obstacle avoiding robot { pixel }
Popular Microcontrollers and their Selection by Lachit Dutta
Scrolling LCD using Arduino.
Arduino Based Industrial appliances control system by decoding dual tone multi frequency signals on GSM / CDMA network. Submitted by:
ARDUINO BASED AUTOMATIC TEMPERATURE BASED FAN SPEED CONTROLLER
Microcontrollers, Basics Fundamentals of Designing with Microcontrollers 16 January 2012 Jonathan A. Titus.
Automatic human detector garbage can.
An Arduino Workshop A Microcontroller.
Microcontroller Applications
SUBMITTED BY EDGEFX TEAM
UNIT – Microcontroller.
Technology Literacy Hardware.
Introduction to Microcontrollers and the Board of Education
ARDUINO LINE FOLLOWER ROBOT
The Arduino Microcontroller: Atmel AVR Atmega 328
Invent the future of small intelligent devices here.
Introduction to Microprocessors and Microcontrollers
Computer Science I CSC 135.
Multicultural Social Community Development Institute ( MSCDI)
Journey: Introduction to Embedded Systems
Programming Languages
Introducing the PIC Mid-Range Family and the 16F84A
CSCI1600: Embedded and Real Time Software
National Diploma in Computer Studies
CSCI1600: Embedded and Real Time Software
Manual Robotics ..
Invent the future of small intelligent devices here.
Arduino Workshop University of Jordan.
Java Programming Introduction
Arduino Workshop University of Jordan.
Introduction to Arduino
Arduino Board.
Arduino म्हणजे काय?.
Introduction to arduino
Course Code 114 Introduction to Computer Science
Presented By,  Mamata Yadav (BE Elex & Comm.) Vice R&D Coordinator(HW), PCRT  Payal Shah (BE Elex & Comm.)  Ananta Das (BE Elex & Comm.) R&D Team,PCRT.
Presentation transcript:

Javelin Stamp TM Andrew Prunicki Nov. 8, 2007

Overview ● Hardware – Microcontrollers – Robot Demo – Javelin Stamp Capabilities ● Software – Javelin Stamp TM – Java differences – Javelin IDE - debugging – Source

What is the Javelin? ● The Javelin is a microcontroller that runs Java. ● Can be programmed to perform a variety of tasks.

What is a Microcontroller? ● Essentially a small, self-contained computer ● Its a single Integrated Circuit (IC) with: – CPU (anywhere from 4 bits to 64 bits) – I/O interface(s) – Volatile RAM for data – ROM, EPROM, EEPROM or Flash for program storage – Analog to Digital converter(s) – Clock Generator

So who cares? ● Microcontrollers are everywhere – in our clocks, cars, TVs, etc. ● Capable of lots of direct I/O. ● With the right programming and devices, microcontrollers have the ability to “sense” the outside world. ● Programming them is fun!

Microcontrollers & Robotics ● Microcontrollers are an important part of most any robot ● Can be the “brain” of an unsophisticated robot ● Can serve as “sensory centers” in more sophisticated robots – communicating sensory information to the “brain”.

Microcontrollers in larger robots ● 2005 DARPA Grand Challenge - “Tommy” ● Microcontrollers (Jstamps) controlled “extremities” ● PC “brain”

Robot Demo ● Simple Javelin- powered Robot ● Based on BOE-BOT, plus a PING :))) module

Javelin Stamp Specs ● Runs Java (subset) via an on-board JVM ● 25 Mhz (turbo) ● 32k of volatile RAM ● 32k of Flash ROM ● 16 I/O pins ● Voltage regulator: 6 – 24V input, 6V output up to 150mA ● Digital - Analog Conversion ● Pulse Width Modulation

Virtual Peripherals ● The Javelin's way to perform pre-emptive multitasking ● The main thread and the VPs share program execution. ● Every 8.68 µs, the VPs execute. Normal program flow resumes when VPs are done. ● A maximum of 6 VPs may be installed at any given time. ● Example VPs: Uart, PWM, timer, ADC

Pulse Width Modulation (PWM) ● A square wave with high and low states. ● Used for controlling devices, such as: – Controlling servos – Generating tones

Power ● Power demands can be high. ● The Javelin includes a voltage regulator, producing 6V and 150ma. The Javelin consumes 60ma, leaving 90ma available. ● Peripherals beyond 90ma will need to have their own power supply. ● Vin can be used if the boards power supply is regulated and its voltage meets your needs. ● Must be taken into consideration in programming.

Why the Javelin? ● Programs are written in a familiar language ● You can take a more OO approach to embedded development. ● Great documentation from Parallax TM

Developing for the Javelin ● Subset of Java 1.2 ● No garbage collection ● No thread support (although background tasks are supported). ● Supports on-board debugging ● Simple ability to send/receive discrete pulses (PWM)

Other Notable Differences ● Core Java classes are customized. ● “main” method has differing method signature – no arguments ● No concurrency support. In fact, “notify” has been hijacked. ● Must be compiled with Jikes v. 0.47

Javelin Programming & OO ● Javelin development allows use of OO concepts, but: – Be prepared to compromise for memory size and speed. – Lack of GC requires that you double-think object creation. – Cooperative multitasking approach is different from dealing with threads

Cooperative multi-tasking ● Your main code must perform cooperative multi-tasking ● “Task” code is included with the Javelin to help. ● Make usage of state machines in your design. ● Timers for pre-emptive multi-tasking. – Useful for quick tasks, such as a watchdog.

Real-Time Progamming ● Real-Time Programming does not mean fast. ● Predicability – a task can always be completed within a set amount of time ● Hard vs. Soft ● Garbage collection poses a problem for RTP. – Javelin Stamp has none – RTJ (JSR-001) – provides control over GC with a new GC algorithm

Development process ● Write your code ● Compiling & Linking – Code must be compiled with Jikes v – All classes (included java.lang) are linked into a jem file. ● Uploading – Jem files are uploaded to the Javelin via serial or usb. ● The Javelin IDE handles most of these details

Programming Demo ● TestPing ● Robot code ● Basic Stamp version of robot code

Miscellaneous ● Programs are stored in flash memory ● At runtime, programs are copied from flash memory to RAM. ● Small bits of information can be stored in flash. This information is stored at the “other end”, making it available even after re-programming. This is fairly common feature in embedded programming.

Other Notable Microcontrollers ● Other Parallax microcontrollers – Basic Stamp – Propeller – SX ● Systronix Java-powered microcontrollers – Jstamp (Ajile AJ-80) – JStik (Ajile AJ-100) ● Arduino (Atmel ATmega168) ● PIC ● OOPIC

JavelinTools ● Open source project started by me to allow programming the Javelin on non-MS Windows platforms. ● Contains a bug that prevents all but the most trivial programs from being uploaded. ● Currently only Linux is supported. Mac OS X support may be added once all essential features are implemented. ●

References, Links ● ● ● ● ● ● ● ●