Tuesday, March 30, 2010

Labview Application building

ข้อดีของการทำ Labview Application คือผู้ที่นำโปรแกรมเราไปใช้งานจะไม่สามารถเห็น Code ของเราว่าเขียนอะไรลงไปบ้าง และสามารถนำไปใช้งานได้อย่างสะดวกเหมือนโปรแกรมที่เราใช้งานทั่วๆไป เช่น data logger ที่มีขายทั่วไป ซึ่งขั้นแรกจะต้องลง driver ก่อน จากนั้นก็คือทำการ Install Program ก่อนแล้วจึงจะสามารถใช้งานโปรแกรมได้ ใน บทความนี้เราจะมาพูดถึงวิธีการทำ Labview Application กัน เมื่อเราเขียนโปรแกรมที่เป็น file.vi แล้วให้เราสร้าง labview project ขึ้นมาจากนั้นก็นำเอา file.viที่สร้างมาก่อนหน้านี้ เข้ามาใน labview project ที่หน้าต่างของ labview project ให้คลิกขวาที่ Build Specfications แล้วไปที่new>>Application(exe) แล้วจะได้หน้าต่างขึ้นไหม่ ขั้นต่อมาเราจะมาปรับแต่งเล็กน้อยโดยให้ไปที่ Source file settings ดูที่มุมขวาแล้วเลือก startup VI

จากนั้นให้ไปที่ advanced แล้วคลิกช่องสี่เหลี่ยมที่ว่างช่องที่สองและสาม ในช่องที่สองจะมีช่องที่เขียนว่า Wait for debugger on launchให้ เลือกด้วย เพื่อที่จะให้โปรแกรมทำงานก็ต่อเมื่อกดปุ่ม run 

เพราะถ้าไม่คลิกช่องนี้ถ้าเราเปิดโปรแกรมมามันจะ run อัตโนมัติ จากนั้นก็คลิก build เลยที่มุมด้านขวาล่างเป็นอันเรียบร้อย







Monday, March 29, 2010

Asimo - The Engineering of the Humanoid Robot

By Benedict Yossarian

Asimo (Advanced Step in Innovative Mobility) is a two-legged humanoid robot that stands at 130 centimeters and weighs 54 kilograms. Asimo resembles an astronaut who wears a backpack. He can walk or run at speeds up to 4.3 mph on its two feet.
This humanoid robot was created by the engineers of Honda Motors, a company that is known as a producer of cars and power supplies. They began developing helper robots in 1986. Their vision is to create a robot that can easily move around or inside the house, and that means they have to perfect the walking technology of their project. Honda engineers started their first attempt with the use of boxes with legs. After the walking mechanism has been developed, they had added the head, arms and hands.
After all the hard work, Honda engineers developed a new technology that created a walking robot, and named it Asimo. Asimo is using a PowerPC that controls all the 26 joints. He can be controlled using a workstation or via remote control. He is powered by small but powerful servo motors that have a rotating shaft which can move the limbs or surfaces to an angle as commanded by the use of a controller. In addition, Honda engineers had created a 3D CPU that will give Asimo more computing power.

Asimo has many features that enables him to interact better with the people, here are some of them:
(a) Asimo can recognize moving objects- with the use of visual data captured by his camera that is attached to his head, he can recognize the movements of an object, the direction were it going and the distance it travels. Other applications that are included in this feature is the ability to follow a person, follow his/her movements or greet them when he or she approaches him.
(b) Asimo can recognize gestures and postures - because Asimo can interpret the movement and position of the human hand, Asimo can react accordingly to the natural movements of people. An example of this is when a person offers a handshake or give a wave, he will then respond to them by accepting the handshake or wave back to them. In addition to that, he can also recognize given directions like pointing to a specific place.
(c) Asimo can also recognize its environment and act in a safe way for him and to humans. An example of this is that he can recognize potential hazards like stairs and avoid humans being hit or bump by him.
(d) Asimo can distinguish sounds - he can distinguish voices and other sounds and identify the source of it. He can identify the person that is talking and responds to the persons name and face. Also, he can respond to different questions as he can either nod for yes or shake his head for no and can even speak out with a verbal answer.
As of year 2007, there are already 46 Asimo units being assembled by Honda engineers. Each of these units is available to for hire for $166,000 a year and cost less than $1,000,000 to manufacture.
Emics is a UKAS accredited laboratory specialising in Calibration [http://www.emics.co.uk/] and Inspection services.

Article Source: http://EzineArticles.com/?expert=Benedict_Yossarian

http://EzineArticles.com/?Asimo---The-Engineering-of-the-Humanoid-Robot&id=1508116

Mini fuel cell powering a robot fish

 Robots of all kinds fascinate us, regardless of how big or how small they are. Now it seems that some of the brains at the Faculty of Engineering at Osaka City University have come up with a robotic fish that can swim around the tank powered by just a solid-polymer fuel cell, dubbed the “Power Tube”. The 10cm long robotic fish can swim, as well as dive and rise, owing to a joint at the front end of the fish. Initially the idea was to use a motor to get this little fish alive and kicking (swimming), but when they found out that the power consumption was about 1W, they switched to a magnet system that reduced the number to just 10mW. It seems that they’re planning to eventually develop a robotic fish that can swim for three consecutive days on a single charge. Maybe someday we’ll see such cool little fishes being mass produced and sold at your local toy store, eh? Video of this robotic fish in action is available after the jump.

                                                     


VDO:Reference By...

Sunday, March 28, 2010

Waveform Graph building

ในบางกรณีข้อมูลที่เราอ่านมาจะเป็นแบบหนึ่งค่า(point)ต่อรอบการทำงานของ while loop/For loop หรือเป็นข้อมูลชนิด double ซึ่งการรับข้อมูลแบบนี้เราจะไม่สามารถนำไป plotใน waveform graph ได้ และหรือ ไม่สามารถนำไปวิเคราะห์เกี่ยวกับสัญญาณได้ เช่นการวิเคราะห์ spectrum เนื่องจากข้อมูลที่วัดมาได้นั้นยังไม่ได้นำเวลามาเกี่ยวข้องเลย(dt) ดังนั้นในหัวข้อนี้จะผูดถึงการสร้าง waveform graph โดยจะอาศัย feed black node หรืออาจจะใช้ shift register ก็ได้ซึ่งใช้งานได้เหมือนกันเราจะใช้ feed black node เก็บข้อมูลให้อยู่ในรูปของ array ก่อนและหลังจากนั้นก็สร้างเป็น waveform graph ในภายหลังเพียงเท่านี้เราก็สามารถนำข้อมูลไปวิเคราะห์หรือไป save เก็บไว้ใน PC ได้อย่างง่ายและสะดวก                                                   




Saturday, March 27, 2010

การใช้ Property Node ของ Program labview

การใช้ Porperty Node
ในบางครั้งเราต้องการที่จะเปลี่ยนแปลงคุณสมบัติต่างๆของกราฟ แต่ก็ไม่รู้ว่าจะไปปรับแต่งที่ไหนในหัวข้อนี้เราจะกล่าวถึงเรื่องนี้กัน ก่อนอื่นหลังจากเปิดโปรแกรมขึ้นมาสมมุติเราต้องการปรับเปลี่ยนผลการแสดงแกนในแนวแกนx ของกราฟ ให้เราคลิกขวาที่กราฟ (ในbock diagram)ไปที่ create-->Proper node-->y-scal-->Rank-->Maximumเราก็จะได้กล่องสี่เหลี่มขึ้นมา จากนั้นให้คลิกขวาที่กล่องนั้นแล้วเลือกไปที่ Chang to Readจากนั้นเราก็สามารถที่จะกำหนดค่าการแสดงผลตามที่เราต้องการโดยอาจจะใช้ปุ่ม Knob มาเป็นตัวควบคุมก็ได้ เพียงเท่านี้เราก็สามารถนำไปประยุกต์ใช้งานต่างๆอีกมากมาย การสร้าง Osilloscope


ขั้นตอนการเลือก Property Node





Block Diagram


Front Panel

Friday, March 26, 2010

การควบคุมแบบปรับตัว ( adaptive control)

เนื่องจากในระบบควบคุมในโรงงานอุตสาหกรรมโดยส่วนมากแล้วจะใช้ controller pid มาทำการควบคุมซึ่งมันก็ทำงานได้ดีในช่วงที่เรา Liberalization รอบๆจุดทำงานแต่เมื่อใดก็ตามถ้าจุดทำงานของเราเริ่มมีการเปลี่ยนแปลงหรือว่า Parameter บางตัวมีการเปี่ยนแปลงเช่น มวลของระบบ,ความยาว และอื่นๆหรืออาจมีparameter ที่เราไม่ได้นำมาคิด (Uncertainty) มันจะทำให้controller ที่เราออกแบบไว้เริ่มทำงานไม่ได้หรือไม่สามารถทำงานได้เลยดังนั้น Adaptive control จึงเป็นอีกทางเลือกหนึ่งที่นำมาใชแก้ปัญหานี้

จุดสำคัญหลักๆของการควบคุมแบบ adaptive controlคือมันสามารถปรับ gain ของตัวเองได้ถ้าเมื่อระบบมีการเปลี่ยนแปลง parameter ดังนั้นค่า gain จะเปลี่ยนแปลงไปตามความเหมาะสม เนื่องจากมันจะนำเอาค่าความผิดผลาดที่ไดจาก plant จริงมาเปรียบเทียบกับ model ที่เราออกแบบเมื่อไดที่มีค่าความผิดพลาดเกินขึ้นค่า gain จะมีการปรับตัวโดยอัตโนมัติโดยที่จะเอาข้อมูลที่เก็บไว้ในอดีต(i-1) y(r),u(r) โดยที่ r น้อยกว่า t เมื่อ t คือเวลาปัจุบัน มาทำการประมวลผล





labview rs232




Rs232เป็นการติดต่อสื่อสารระหว่าง Hardware และ Software สามารถนำไปประยุกต์ใช้ในงานตรวจวัดต่างๆ เช่น Data-Logger โดยที่ Software ก็มีหลายตัวที่นำมาเขียน เช่น Labview ni เราใช้ ni เพื่อเป็นตัวรับค่าจาก Hardware เพราะสามารถเขียนได้ง่ายไม่ยุ่งยากมากเพราะเป็นโปรแกรมแบบ graphic Language และ Hardware ใช้ Micro controller ตระกูล PIC โดยการเขียนโปรแกรมลงใน PIC เพื่อรับส่งข้อมูลระหว่าง Hw/Sw และนำข้อมูลที่ได้ไปแสดงเป็นกราฟหรือเก็บใน Lab tops
โดยทั่วไปงานตรวจวัดต่างๆจำเป็นอย่างยิ่งที่เราต้องการนำค่ามาแสดงผลไม่ว่า จะมาแสดงที่ Personal computer หรือ LCD ต่างๆ เหตุผลหลักคือเราต้องการนำข้อมูลเหล่านั้นมาเก็บและนำออกมา วิเคราะห์ในภายหลังได้ ในหัวข้อนี้เราจะกล่าวถึงการนำข้อมูลที่ได้จาก ตัวตรวจรู้ (Sensor) ผ่าน Micro Controller มาแสดงผลโดยใช้ Program labview มาเป็นตัวรับค่า ขั้นตอนแรกเมื่อเมื่อเปิดโปรแกรมขึ้นมาแล้วไปที่ block diagram->Instrument I/O -> Serial แล้วนำ block ที่มีชื่อดังต่อไปนี้
1.configure Port
2.Read
3.Close
ค่าที่ได้ออกมานั้นข้อมูลจะยังคงเป็นชนิด String อยู่ เราก็สามารถแปลง ไปเป็นตัวเลข Double ได้เพื่อที่จะนำไปแสดงผลเป็น waveform graph


                              

  วิดีโอสาธิตขั้นตอนการเขียนโปรแกรม





วิดีโอสาธิตประยุกต์ใช้งานจริง Temperature Data-logger



การปรับแต่ง Labview properties

เมื่อเปิดโปรแกรม labview ขึ้นมาแล้วให้ไปที่ file->VI properties แล้วจะมีปุ่ม pop-up ให้เลือกไปที่ window appearance->customize จากนั้นก็ให้เราเลือกว่าจะให้ Front panel แสดงและไม่แสดงอะไรก็ได้เช่น เราไม่ต้องการให้ปุ่ม abort button แสดงบน Front panel เพียงแค่เลือกตรงช่องสี่เหลี่ยมด้านซ้ายมือ เราก็สามารถเลือก Front Panel เป็นไปตามที่เราต้องการได้แล้ว



Thursday, March 25, 2010

การปรับแต่งกราฟLabview

เนื่องจากบางทีเราต้องการเขียนกราฟที่มีรูปแบบให้เส้นกำกับแกนอยู่ตรงกลางหรือข้างก็ตามแต่เราก็สามารถปรับแต่งได้ด้วยขั้นตอนดังต่อไปนี้ เริ่มต้นให้เรานำกราฟมาลงใน bock diagram แล้วคลิกขวาที่มุมดานใดด้านหนึ่ง และไปที่ Advance
-->Customize มันก็จะได้หน้าต่างไหม่ขึ้นมา จากนั้นให้คลิกรูปประแจด้านบนซ้ายมือ เราก็สามาเลื่อนแกนไปที่ตำแหน่งใดก็ได้แล้วจากนั้นเราก็กด save เราก็จะได้กราฟตามที่เราต้องการ


เมื่อคลิกไปที่ customize แล้วจะได้รูปข้างล่างนี้

Wednesday, March 24, 2010

Discrete Kalman Filter

บทคัดย่อ

รายงานนี้เป็นการนำเสนอการควบคุมความเร็วมอเตอร์กระแสะตรง (Dc servo motor) โดยมีเซนเซอร์วัดตำแหน่งการหมุน ของมอเตอร์ และประมาณความเร็วเชิงมุมโดยใช้วิธี Kalman Filter มาทำการประมาณหาความเร็ว การทดลองนี้ใช้การควบคุมแบบ PI Control โดยออกแบบให้ Kp=0.15, Ki=0.454 ส่วน Kalman Gain K1=0.1038,K2=0.4789 และหาแบบจำลองทางคณิตศาสตร์ของมอเตอร์กระแสตรงโดยใช้ System Identification เพื่อใช้หา Kalman gain ใน Program Matlab และนำข้อมูลมาประมวลผลใน Laptop ติดต่อโดย Rs-232ผ่าน program labview แสดงผลด้วยกราฟเพื่อให้ง่ายในการวิเคราะห์และเก็บข้อมูล


1.บทนำ


ในปัจุบันระบบควบคุมแบบอัตโนมัติมีบทบาทสำคัญมากในโรงงานอุตสาหกรรม วิศวกรรมการบิน และเทคโนโลยียานยนต์ เช่น


กระสวยอวกาศ เครื่องบินไร้คนขับ และอื่นๆ เป็นต้น ซึ่งทั้งหมดนี้ก็ใช้วิธีการควบคุมแบบอัตโนมัติทั้งสิ้น ดังนั้นในการศึกษาส่วนที่เป็นทฤษฎีและการนำไปใช้งานจึงมีส่วนสำคัญมากที่จะ ต้องทำการศึกษา โดยพื้นฐานของทฤษฎีการควบคุมจะเกี่ยวข้องกับหลายศาสตร์วิชา เช่น สมการเชิงอนุพันธ์ กลศาสตร์ในภาคพลศาสตร์ คอมพิวเตอร์โปรแกรม และอื่นๆ ซึ่งในแต่ละวิชาก็จะมีความยากง่ายแตกต่างกันไป ในการที่จะออกแบบระบบควบคุมให้มีประสิทธิภาพนั้นเราจำเป็นที่จะต้องเข้าใจ พื้นฐานในแต่ละวิชา ดั้งนั้นในรายงานนี้จะพูดในส่วนย่อยๆของระบบควบที่นำเอาทฤษฎีมาประยุกต์ใช้ ในงานจริงเพื่อให้เกิดองค์ความรู้และนำไปสู่การเข้าใจในระบบที่มีความซับ ซ้อนต่อไป



2. ทฤษฎี/งานวิจัยที่ผ่านมา


การควบคุมอัตโนมัติสามารถจำแนกออกเป็นสองส่วน 1.การควบแบบยุคเก่า (Classical Control), 2.การควบคุมสมัยใหม่ (Modern Control) ซึ่งการควบคุมแบบสมัยเก่าจะออกแบบตัวควบคุมโดยอาศัยโดเมนความถี่ด้วยแปลงลาปลาช และเขียนระบบอยูในรูปของฟังชันก์ถ่ายโอน ส่วนของการวิเคราะห์เสถีรภาพของระบบ จะใช้การวิเคราะห์ทางเดินของรากสมการ ซึ่งในการควบคุมแบบสมัยเก่านี้สามารถควบคุมได้ในกรณีที่มีหนึ่งอินพุตและหนึ่งเอ้าพุตเท่านั้นซึ่งเป็นขีดจำกัดของการควบคุมแบบนี้ จึงนำไปสู่การควบคุมแบบสมัยใหม่ซึ่งการควบคุมนี้จะเขียนแบบจำลองทางคณิตศาสร์อยู่ในรูปของปริภูมิสเตท (state-space) ใน การควบคุมแบบสมัยใหม่นี้เราสามารถที่จะควบคุมได้หลายอินพุตและเอ้าพุต ดังนั้นด้วยวิธีการจึงทำให้เป็นที่นิยมในปัจุบัน ในการควบคุมแบบนี้เราจำเป็นที่จะต้องวัดตัวแปรสถานะมาให้ครบทุกตัวซึ่งในปฎิ บัติแล้วอาจจะเป็นไปได้อยาก เพราะบางสเตทก็มีราคาแพง และอาจจะมีปัญหาเกี่ยวกับสัญญาณรบกวน ซึ่งทางออกนี้ก็มีการแก้ปัญหาโดยการประมาณสเตทที่ไม่ได้วัดด้วยการนำข้อมูล ของสเตทที่วัดได้มาทำการประมาณภายไต้เงื่อนเงื่อนไขที่ว่าระบบจะต้องสามารถ สังเกตได้

วัตถุประสงค์


1.เพื่อสามารถออกแบบและวิเคราะห์ตัวควบคุมแบบ PI ได้

2.สามารถติดต่อกับอุปกรณ์ภายนอกด้วย rs-232

3.สามารถประมาณ State ที่ไม่สามารถวัดได้ โดยใช้ Kalman Filter

4.เพื่อสามารถนำทฤษฎีการควบคุมแบบป้อนกลับมาประยุกต์ใช้งานได้จริง

ผลการทดลอง



Sunday, March 21, 2010

เครื่องวัดอุณหภูมิ

เป็นอุปกรณ์ที่ใช้สำหรับวัดอุณหภูมิโดยสามารถวัดได้ 3ช่อง โดยใช้ Thermocouple Type k สมารถวัดอุณหภูมิได้ถึง 1200 องศา และสามารถแสดงค่าของอุณหภูมิบนหน้าจอคอมพิว และสามารถ เก็บข้อมูลได้อย่างง่ายสามารถเลือกช่วงเวลาในการเก็บได้โดย มีMicrocontroller เป็นตัวรับสัญญาณ Analog โดยมีความละเอียดในการอ่านถึง 10 bit และมี software แสดงผล ซึ่งติดตั้งไม่ยากโดยเป็นโปรแกรมนามสกุล .exe ติดตั้งลงในเครื่อง ส่วนการติดต่อเป็นการติดต่อแบบ Rs-232 สามารถ Download Driver ไปทดลองใช้

ขั้นตอนการติดตั้งโปรแกรม
1.ติดตั้ง Driver ก่อนเพื่อที่จะสามารถลงโปร.exe ได้ Download Application, Download Driver



2. Sand to Application ไปที่หน้า Desktop

Build Oscilloscope By Labview

เทคนิคการเขียนโปรแกรมแรบวิวเพื่อแสดงผลที่มีหน้าต่างคล้ายกับ Oscilloscope โดยสามารถปรับ scal x-y ได้เพื่อที่จะได้ดูกราฟตามความเหมาะสมและสามารถกดหยุดเพื่อตรวจสอบดูความถี่ หรือ Amplitude ของสัญญาณด้วยการลาก cursor ไปตำแหน่งที่ต้องการสามารถโหลดโปรแกรมและศึกษาโปรแกรมได้ที่นี้


Download Code: Download example
สิ่งที่ต้องมี: Driver