原创 STM32電機驅動庫調試經驗

1.使用Motor Profiler 測試電機性能,它可以粗略的測出電機的內阻,電感,最高轉速,轉動慣量,感生電動勢係數Ke等電機參數以供Workbench在生成代碼的時候使用。    在此過程中不多以描述。區分開SPM和IPM,簡單來說

原创 ST 電機驅動庫源碼學習

庫版本:ST MC SDK\tVer.5.4.0 以下都是WorkBench自動生成的文件。 1. motorcontrol.c  : 電機控制初始化文件。 MCI_Handle_t   對接ST電機驅動庫的結構體  mc_interfa

原创 STM32串口RS485輸出異常

解決方案:使用RS422 RS485芯片時,串口輸出的引腳不能配置爲OD模式,必須是PP推輓輸出模式纔行。

原创 輸入阻抗與輸出阻抗

DATA:2019年5月7日14點42分 輸出阻抗:輸出阻抗越小,說明他的驅動能力越強! 輸入阻抗:輸入阻抗越小,說明他對電壓源的負載越強!

原创 STM32硬件浮點運算測試

總結: 1.使用浮點運算的小數點後面必須加(f),不然就默認成了雙精度浮點類型,計算速度變得很慢。(和編譯器無關,測試使用最新KEIL)。 2018 / 12 / 15 arm_matrix_instance_f32 pSrcA; //聲

原创 STM32DAC輸出遇到的問題

DATA:2018/12/05: 問題: DA輸出波形示波器顯示正常,使用記錄儀後信號被拉低,而且會有其他AD採集口的串擾。 解決方案: 軟件:增加ADC的採樣週期,串擾問題會有所減小,但不能完全解決;提高DAC輸出的驅動能力,DAC輸出

原创 PWM控制電機遇到的電磁干擾問題

DATA:2018/11/27: 問題: 1.PWM電機控制方式,在開關的瞬間會產生很大的電磁波干擾和對系統地上面引入很大的尖峯干擾信號。 2.使用MAX3485芯片的時候,這些干擾會使485總線掛掉。 解決方案: 軟件:對測量機構的輸入

原创 STM32串口多機通訊

主機使用串口藍牙(HT-06),從機使用兩個STM32 經過測試,IO口配置成普通的推輓模式,單對單沒問題,通訊正常,但單對多通訊會出現異常,主要原因是推輓輸出能力太強,總線上多個推輓輸出的話會影響TTL電平的通訊。把所有通訊IO口設置成

原创 PID調節參數

提高了P的值一定程度上消除了靜差,提高了響應速度,但是會導致系統震盪,加入微分D可以有效抑制震盪.微分具有滯後性 會使輸出穩定,減小波動積分的作用是把偏差進行累加,可以使波動減小

原创 PID學習筆記

PID 調節器出現於上世紀 30 年代。所謂 PID 控制,就是對偏差進行比例、積分和微分的控制。PID 由 3 個單元組成,分別是比例(P)單元、積分(I)單元、微分(D)單位。在工程實踐中,一般 P 是

原创 RTT任務間同步及通信之調度器鎖

和中斷鎖不同的是調度鎖在啓動時候系統還可以響應其他中斷,但是!只能在調度鎖解鎖後才能響應其他中斷!調度器鎖和中斷鎖都不能用於中斷與線程之間的同步或通知。但是使用方便,它可以方便的用於線程與線程之間的同步

原创 RTT任務間同步及通信之關閉中斷

關閉中斷也叫中斷鎖,是禁止多任務訪問臨界區最簡單的一種方式,即使是在分時操作系統中也是如此。當中斷關閉的時候,就意味着當前任務不會被其他事件打斷(因爲整個系統已經不再響應那些可以觸發線程重新調度的外部事件)

原创 小蜜蜂單片機串口發送字符串

void UART0_SendString(unsigned char *String, int start, int stop) { int i = 0; if (stop <= start) { stop = start;

原创 關於static的認知。

首先說一下堆和棧堆和棧都是在內存區也就是RAM區,全局變量也是在程序運行時自動存放在RAM區int a=0; //全局初始化區 RAM char *p1; //全局未初始化區 RAM main() { int b; /

原创 C語言動態內存學習筆記

一、malloc返回參數有兩種情況 1,當分配的內存池是空的時候返回一個NULL指針。 2,當可用內存無法滿足要求,malloc向操作系統請求,要求更多內存,如果它無法向malloc提供更多內存就返回一個NULL指針 二、free的