Registration (position capture)

Slides:



Advertisements
Similar presentations
© 2013 SPiiPlus Training Class Homing. © 2013 Homing Homing is a very important aspect for almost any motion system. With a wide variety of mechanical.
Advertisements

KEB COMBIVERT F5-M Exercises.
More fun with Timer/Counters
Poster: Light sensor Various types (photo-transistors, -resistors or -diodes) exhibit a wide range of response.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
1/1/ / faculty of Electrical Engineering eindhoven university of technology Introduction Part 3: Input/output and co-processors dr.ir. A.C. Verschueren.
Available at: – Program Optical Quad Encoders in Autonomous Mode Program optical quad encoders in autonomous mode.
OUTLINE Introduction Basics of the Verilog Language Gate-level modeling Data-flow modeling Behavioral modeling Task and function.
1 COMP541 Sequencing and Control Montek Singh Mar 29, 2007.
Midterm Tuesday October 23 Covers Chapters 3 through 6 - Buses, Clocks, Timing, Edge Triggering, Level Triggering - Cache Memory Systems - Internal Memory.
Timers and Interrupts Shivendu Bhushan Summer Camp ‘13.
Today’s Lecture Process model –initial & always statements Assignments –Continuous & procedural assignments Timing Control System tasks.
Timers and Interrupts Shivendu Bhushan Sonu Agarwal.
SoftLogic 1 About SOLO SoftLogic Doojin Han
1 Timing System Timing System Applications. 2 Timing System components Counting mechanisms Input capture mechanisms Output capture mechanisms.
Engineer Training Motion Control TJ8300 / TJ8500 Motion Control.
1 COMP541 State Machines Montek Singh Feb 8, 2012.
ARM Timers.
System Clocks.
1 Computer System Overview Chapter 1. 2 n An Operating System makes the computing power available to users by controlling the hardware n Let us review.
1.Overview 2. Hardware 3. Software Interface 4. Triggering 5. Installation 6. Configuring.
Analog to Digital conversion. Introduction  The process of converting an analog signal into an equivalent digital signal is known as Analog to Digital.
ECE 447 Fall 2009 Lecture 10: TI MSP430 Timers and Capture Modes.
MIPS I/O and Interrupt. .data val1:.float 0.6 val2:.float 0.8 msg_done:.asciiz "done\n".text.globl main main: li.s $f0, mfc1 $a0, $f0 jal calsqrt.
Data Capture Understand the concept of data encoding. Describe methods of data capture and identify appropriate contexts for their.
Tuning. Overview Basic Tuning Difference between commutation methods Use of digital filters Vertical axis – no brake Overview 2.
PROBLEM SOLVING WITH LOOPS Chapter 7. Concept of Repetition Structure Logic It is a computer task, that is used for Repeating a series of instructions.
Behavioral Modelling - 1. Verilog Behavioral Modelling Behavioral Models represent functionality of the digital hardware. It describes how the circuit.
R P OD & Y OU Dennis Kaloi October 27, Software Overview Operating System 1 Command Line Interface 2 Scripting 3 Clips 4.
Handling multiple input signals Version #2 – co-operative scheduler Version #3 – pre-emptive scheduler.
Network and Systems Laboratory nslab.ee.ntu.edu.tw.
1 Logic State Analyzers A tool for observing logic states of multiple signals at once, in time A logic probe can show only one bit at a time. Extremely.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Operating Systems Overview: Using Hardware.
One more PIC18F252 example and revision for exam B222L Branislav Vuksanovic, UoP, ECE.
THE MOTION FUNCTION OF ASDA-A2
SPiiPlus Training Class
Why are Timer Functions Important?
SPiiPlus Training Class
EKT 221 : DIGITAL 2.
Lecture 10: TI MSP430 Timers and Capture Modes
Timers and Event Counters
Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir. A.C. Verschueren Eindhoven University of Technology Section of Digital.
Sensors Quadrature Encoders Mike Zook 30-Aug-2016.
Last Lecture Talked about combinational logic always statements. e.g.,
Lecture 13 Derivation of State Graphs and Tables
BRX Technical Training
IBM PC Controlled Keypunch4b
COCO - Session #19 Today: Get to know the Logic State Analyzer
Sensors Quadrature Encoders Mike Zook 30-Aug-2016.
Software Design Team KANG Group 1.
Programmable Interval Timer
Webinar 2011 New PTO Utility
AVR Addressing Modes Subject: Microcontoller & Interfacing
12 Examination 1. Which of the below commands can be used to make decision in program based on a condition? a. If…else b. Set c. Switch d. Assignment e. Wait.
ECE 3430 – Intro to Microcomputer Systems
8259 Chip The Intel 8259 is a family of Programmable Interrupt Controllers (PIC) designed and developed for use with the Intel 8085 and Intel 8086 microprocessors.
Latches and Flip-flops
Programmable Interval timer 8253 / 8254
Thermal arm-wrestling
Programmable Interval timer 8253 / 8254
Structures- case, sequence, formula node
Sequential Logic.
Controller interfaces
ECE 3430 – Intro to Microcomputer Systems
Thermal arm-wrestling
Computer System Overview
New DCM, FEMDCM DCM jobs DCM upgrade path
Safety Framework and Program Management
Trio Training Motion 1.
Preliminary design of the behavior level model of the chip
Presentation transcript:

Registration (position capture) Trio Training Registration (position capture) Hardware Registration How it works and some examples

What is Hardware Registration? Hardware Registration gives us the ability to: Accurately record the position of an event Can be triggered from many sources with 24V output signal Proximity sensor Optical sensor Magnetic sensor Output from vision system Or the zero mark on an axis encoder

What is Hardware Registration? Registration Input

BASIC Commands for registration REGIST(mode, channel, source, edge, window) mode Set to 20, 21 or 22 for most applications channel HW capture channel or module input number source Selects external input or Z encoder index edge Rising or falling edge trigger window 0 for no window, or set to 1 or 2 to use window OPEN_WIN position where the search for regist event will start CLOSE_WIN position where the search for regist event will stop

Hardware position capture REGIST(20, channel, source, edge, window) When channel = 0: MARK Flag to show that event has happened REG_POS Position where event happened REGIST_SPEED Captured MSPEED where event happened When channel = 1: MARKB Flag to show that 2nd event has happened REG_POSB Position where 2nd event happened REGIST_SPEEDB Captured MSPEED where 2nd event happened

Benefit of Hardware Registration External Event 1.2ms / 6mm 1ms 5mm 2ms 10mm 3ms 15mm 4ms 20mm 4ms 20mm 4mm SPEED = 5m/s MARK=TRUE REG_POS=6 IN(x)=ON MPOS=10 REGIST

OFFPOS Example 1 REGIST(20,0,0,0,0) WAIT UNTIL MARK OFFPOS = -REG_POS Registration Input MC405 The Application: Boxes appear randomly on a conveyor. A label has to be applied relative to the leading edge of the box (MOVELINK). The Solution: Optical sensor senses the leading edge of the box Use REGIST to capture the position and use OFFPOS to reset the encoder to zero at this point. The conveyor position is now absolute in relation to the leading edge of the box. REGIST(20,0,0,0,0) WAIT UNTIL MARK OFFPOS = -REG_POS

Interpolated position capture REGIST(21, channel, 0, edge, window) channel The module input number to use R_MARK(channel) Flag to show that event has happened R_REGPOS(channel) Position where event happened R_REGISTSPEED(channel) Captured MSPEED where event happened A “time-stamp” is generated when the input is triggered. The event time is then used to calculate event position by interpolation between MPOS now and MPOS from the previous servo tick.

Multiple registration inputs When more than 2 registration events are needed on one axis, some hardware supports multiple registration channels. REGIST(22, channel, source, edge, window) channel The module input number to use R_MARK(channel) Flag to show that event has happened R_REGPOS(channel) Position where event happened R_REGISTSPEED (channel) Captured MSPEED where event happened Note: If this mode is used, all 8 inputs are assigned to the one axis. You cannot mix REGIST(22) and REGIST(20) on one bank of inputs.

Registration Example pitch Reg. mark BASE(lab_feed) REGIST(21,4,0,1,0) DEFPOS(0) `sets the “at rest” position = 0 MOVELINK(pitch+radj,lnkdst,20,20,conv,2,lpos) WAIT UNTIL R_MARK(4) or MTYPE=0 IF R_MARK(4) THEN ‘ Reg mark seen, calculate error reg_err = expected-R_REGPOS(4) radj = reg_err*0.4 ‘Adjust by reg.‘gain’ ELSE ‘ Did not see reg mark misses=misses+1 IF misses>max_misses THEN GOTO reg_fail ENDIF

MOVEABS(100) MOVEMODIFY(140) MOVEMODIFY Remember that MOVEMODIFY enables the program to change the end point of a move which is already in motion. 100 140 MOVEABS(100) MOVEMODIFY(140)

Credit card punch Registration Input MC405 Input

Credit card punch Loop: WAIT UNTIL IN(punch_clr)=ON MOVE(index_length) “Perfect” Case without Registration Loop: WAIT UNTIL IN(punch_clr)=ON MOVE(index_length) WAIT IDLE GOTO loop Real Application with Registration Loop: WAIT UNTIL IN(punch_clr)=ON MOVE(index_length) REGIST(20,0,2,0,0) WAIT UNTIL MARK MOVEMODIFY(REG_POS + offset) WAIT IDLE GOTO loop

Registration and MOVEMODIFY Additional Code for Error Trapping loop: WAIT UNTIL IN(punch_clr) = ON MOVE(index_length) REGIST(3)’ rising edge of R WAIT UNTIL MARK OR IDLE IF MARK THEN MOVEMODIFY(REG_POS + offset) WAIT IDLE ELSE PRINT #3,”WARNING! No Mark Seen” misses = misses+1 IF misses>20 THEN GOTO reg_failed ENDIF GOTO loop