一、總體任務描述
某創業公司正設計一台自動咖啡機,已完成基本結構設計,如下圖所示(本例項來自貝加萊公司文件),需要開發咖啡機的嵌入式控制軟體,實現如下功能:
1)使用者在咖啡機面板上選擇自己想要喝的咖啡(美式、拿鐵、卡布奇諾...)並按下開始按鈕後,咖啡機開始按照設定的配方製作咖啡。
2)製作流程為:feeder機構取一空杯放到傳送帶上,傳送帶把空杯送到龍頭下,牛奶、糖漿、濃縮咖啡液和熱水按照配方比例混合後裝入空杯,傳送帶把滿杯的咖啡送到使用者取杯處,使用者取走咖啡後,自動咖啡機可以繼續響應面板上的按鈕製作下一杯咖啡。
公司希望軟體開發團隊採用基於模型的設計方法完成軟體開發,具體要求如下:
1)第一階段,軟體團隊與咖啡機產品經理(老師和助教)溝通軟體開發需求,形成軟體設計規格書,清晰的定義控制軟體的各項功能、硬體輸入和輸出介面。(本階段交付件:軟體設計規格書)
2)第二階段,在matlab/simulink環境中,實現咖啡機的物理建模,同時完成控制軟體的概要設計,劃分成若干個軟體模組,確保模組覆蓋設計規格書的所有功能,清晰定義各個模組的介面。(本階段交付件:咖啡機物理模型檔案和概要設計說明書)
3)第三階段,基於simulink/stateflow建模方法,設計各個軟體模組的控制邏輯和演算法,並與咖啡機物理模型進行協同**,實現整個咖啡製作流程。(本階段交付件:控制軟體模組stateflow模型檔案)
4)第四階段,基於模組的stateflow模型,手動編寫或用自動**生成工具,完成c**設計工作。(本階段交付件:模組c**及**自動生成報告)
5)第五階段,基於matlab工具,對模組c**進行software in loop測試或processor in loop測試,得到測試報告。(本階段交付件:sil/pil測試報告)
6)第六階段,提交專案總結和軟體說明文件。(本階段交付件:專案總結和軟體說明文件)
二、小組工作進度
階段一已經完成,並且正在進行階段二。
三、個人工作介紹
上週參與了小組討論,確定了一共分為五個模組:杯子夾取模組、傳送帶模組、沖泡模組、水溫控制模組、使用者互動介面模組。
1、杯子夾取模組:有輸入訊號時,控制推桿電機下移,取下杯子,控制伺服電機旋轉180°,放下杯子,控制推桿電機上移,完成乙個步驟的迴圈。
2、傳送帶模組:第乙個位置感測器接收到訊號,控制傳送帶電機執行,傳送帶開始輸送杯子,直到杯子運動至混合口下方,第二個位置感測器接收到訊號,傳送帶電機停止,並延時一段時間,之後電機重新開始運動。第二個位置感測器接收到訊號後向沖泡模組傳送杯子到位訊號,控制沖泡模組開始工作。當傳送帶上的杯子執行到出口位置,第三個位置感測器接收到訊號,傳送帶電機停止執行。
3、沖泡模組:接收到杯子到位訊號後,讀取咖啡種類訊號,確定各個成分的配比,轉化為對應的電磁閥和水幫浦開啟持續時間。按照對應時間開啟和關閉電磁閥和水幫浦。同時開啟混合器中攪拌電機對混合液進行攪拌。
4、水溫控制模組:當水溫低於設定最低溫度時,加熱器開始加熱。當溫度達到設定溫度上限時,加熱器停止加熱。
5、使用者互動介面模組:通過取出口感測器確認取出口沒有咖啡的情況下,使用者按下咖啡種類按鈕後,向模組一輸出開始工作訊號,向模組三輸出咖啡種類訊號。
除此之外,我還學習了如何進行matlab/simulink建模,正在著手建模。
四、後續任務安排
在matlab/simulink環境中,實現咖啡機的物理建模。
第二次作業U201410699趙巨集偉
1 在github上,fork例程專案 到自己的個人賬號。2 clone專案到本地電腦的ubuntu虛擬機器中 虛擬機器環境在第一次作業中已搭建 開發環境搭建同第一次 3 按照 projects demo1 readme.md中的提示編譯demo1例程並通過qemu執行例程。3 測試qemu能否正常...
機器學習大作業1
晚上不想看編譯原理了,就把吳恩達老師第一次的大作業看了一下。我是用matlab寫的 和c 比真的簡單多了 還挺成功的,一次暴力一次梯度下降算出來的幾乎相等 這個是for for暴力跑出來的 太醜就不放了 這是用梯度下降跑出來的,剛開始學習率太大調了一會 下面是自己寫的 data load ex1da...
《機電傳動控制》大作業 作業1
概要設計文件 1.系統硬體介面定義 1.電梯外部人機互動介面 在電機外部,兩部電機都要有按鍵,2 有向上與向下的按鍵,只有向上按鍵,只有向下的按鍵。需要兩個led數字顯示管來顯示電梯目前所在樓層,需要四個led顯示屏來顯示電梯目前的執行方向狀態。2.電梯內部人機互動介面 在電梯內部,需要有1 7層的...