RC SERVO為多數小型機器人最主要的致動器，它的體積小、重量輕並且可提供精確的旋轉角度與足夠的扭力，目前市面上知名的廠牌國產的有祥儀、廣營、栗研等，日、韓系則有Kondo、Hitec所生產的RC SERVO 大部份是透過PWM(脈波寬度調變)來控制。本文將逐步介紹PWM原理、RC SERVO feedback功能、如何使用單板電腦RoBoard產生PWM來控制RC SERVO，最後以KONDO的KRS 788HV RC SERVO為例，編寫一個以示教方式教導機器人完成揮手動作的程式。讓閱讀過本篇的讀者了解到RC SERVO的控制原理，以及對如何編輯機器人動作有初步的概念。
它是Pulse Width Modulation的縮寫，是將訊號編碼於脈波寬度上的一種技術，此技術以數位方式來模擬類比訊號，廣泛應用在資料傳輸上。而因數位訊號只存在High，LOW電位的變化，相較於類比訊號，比較不會受到雜訊干擾。
PWM訊號中，脈波寬度在整個週期所占的比例稱為工作週期(duty cycle)，是指位於邏輯高準位(logic high level)的波型在整個週期中占所的比例。下圖一說明兩個不同工作週期的波型差異，其中30%工作週期的波型位於邏輯高準位的時間少於50%工作週期的波型。
圖一. 固定週期不同duty cycle的PWM波型
市面上的RC SERVO控制介面可分為以下幾種:PWM、RS232、RS485、I2C，其中PWM控制是一種受歡迎的控制方式，一般是利用duty cycle high的寬度來控制RC SERVO的旋轉角度，舉例來說， KONDO KRS-788HV這個SERVO所接受的duty cycle high寬度介於700us ~ 2300us之間，因此使用者必須提供此範圍的PWM訊號才能令它動作。
下圖二為改變duty cycle high寬度來控制RC SERVO角度示意圖，以KRS-788HV為例，給予1500us的PWM訊號，它會轉到90度處（因為1500us寬度為中間值，KRS-788HV的可動角度為0 ~ 180度，所以對應到中間位置）。
圖二. 改變PWM duty cycle控制RC SERVO角度示意圖
不同的RC SERVO製造商就會有不同的預設PWM與旋轉角度範圍 (一般是180度或270度)，所以 ...
Read the rest of entry »
For 2009, twenty student teams from the following countries were invited to compete in the Embedded Development Worldwide final.
This year, twenty student teams from the following countries were invited to compete in the Embedded Development Worldwide final: Team OpenLab from Brazil Team Bamboo & Papyrus from Canada Team iSee from China Team MedBox from Egypt Team ESIEark from France Team IT WizKids from India Team Pendekar Asyik from Indonesia Team CLFS from Japan Team Wafree from Korea Team Brainy Brownie and the Marvelous Thinker Threats from Mexico Team Krejzi Dzepetto from Poland Team bdpq from Romania Team SoundStreamers from Russia Team Infusion from Singapore Team SAS-EN from Sri Lanka Team SEEDS from Taiwan Team AST from Turkey Team Intellectronics from Ukraine Team uUH from United Kingdom Team PARV from United States On the day 2, there were two rounds of competition for the Embedded Development invitational. After these two rounds of competition, 6 teams were selected to advance to the final round of competition which took place on day 3. The six teams selected to advance to the final round of ...
The Worldwide final in Egypt was an amazing event, fills will excitement and full of energy. The opening ceremony was held outdoor in the evening a the Citadel, one of the famous historic landmark in Egypt. Attendees were transported to the Citadel early and had a chance to look around the Citadel.
Here is a short video on YouTube that provide a recap of the first day for the Imagine Cup Worldwide final. http://www.youtube.com/watch?v=d5FHJA4U-js
Opening ceremony stage and sitting area.
Attendees roaming around before event start…
Egyptian folk dance
There has been a new arrival in the stable of bicycles at the Wilson household. How and why I acquired this new bike (more correctly described as a tricycle, or trike to sound more adult) is a story for another time, but suffice it to say that it involved a friend of many years who is something of a semi-professional bicycle racer. I will be forever grateful to him for making this bike, oops, trike, available to me.
As I see it, one of the great things about trikes are their potential for being "geeked out". This kind of thing is also possible with regular bicycles, but the extra weight seems more noticeable on two wheels, and there are fewer places to mount the gadgets. Which brings me to the reason for this post, to recount my experience using a Windows Mobile device as a bicycle computer. Before we begin, let me introduce you to Velma (the name of the new trike).
Velma is a recumbent bike, so the pedals are in frot while my torso reclines in a comfortable seat, far easier to cope with on long rides tha ...
I've got a first version ready for release. Here is a decription of it.
I've been working on building Mike Hall's CEFileWiz and StreamDriverWiz for CE 6 and for Windows Embedded Compact 7.
I have had my first go with WEC7. Here are some brief initial comments:
embedded Spark 2010 Summer ChallengeHW Correction (The board)
It seems that PB (CE 6 in VS 2005) doesn’t like long path names.
I’ve come across this before.
It builds OK but then fails over in makeimage as above.
C:\WINCE600\OSDesigns\LPC3250-DK_BIN with solution file in this directory worked OK.
C:\WINCE600\3rdparty\PhyCore_LPC3250_BSP_EVAL_V1_0_3_Prerelease\OSDesigns\LPC3250-DK_BIN fails as above
I seem to remember that spaces can cause problems too.
It seems a path length issue here.
Thanks to Bruce Eitman:
... And Nicolas Besson seems to have blogged about the same problem jsut when I came accross it: