總網頁瀏覽量
2020年6月4日 星期四
安裝U-blox的GPS驅動產生COM PORT
下載u-blox GNSS Sensor Device Driver for Windows, v2.40,電腦管理頁面會多出一個SENSOR項目,把它移除並同時勾選移除Driver後,重新插入USB,就會產生COM PORT。
2020年5月31日 星期日
MOSFET教學_電子學CH8-4 MOSFET構造與特性
MOSFET教學
https://www.youtube.com/watch?v=9DJQcOVc5bk
MOS管寄生二極體的方向如何判斷?
https://kknews.cc/zh-tw/news/jbonvnq.html
https://www.youtube.com/watch?v=9DJQcOVc5bk
MOS管寄生二極體的方向如何判斷?
https://kknews.cc/zh-tw/news/jbonvnq.html
How Transistors Work - The Learning Circuit
MOS管寄生二極體的方向如何判斷?
MOS管寄生二極體的方向如何判斷?
MOS管寄生二極體的方向如何判斷?
MOS管寄生二極體的方向如何判斷?
MOS管寄生二極體的方向如何判斷?
MOS管寄生二極體的方向如何判斷?
磁性感應元件的原理與應用
https://makerpro.cc/2019/08/the-principles-and-application-of-magnetic-sensors/
arduino + Various Hall Effect Sensors
2020年5月6日 星期三
BLDC無刷馬達控制(一)
BLDC無刷馬達有許多優點,愈來愈受人歡迎,但馬達的運轉原理比較抽象,借用影片說明可提高對BLDC的認識,以下是不錯的參考影片。
1. Renesas
https://www.renesas.com/in/en/support/technical-resources/engineer-school/brushless-dc-motor-02-inverter-pmw.html
2. Nidec Motor Corporation
https://www.roboteq.com/applications/all-blogs/2-uncategorised/46-how-brushless-motors-work
3. Elprocus
https://www.elprocus.com/brushless-dc-motor-advantages-applications-and-control/
4. DigiKey
https://www.digikey.com/en/articles/how-to-power-and-control-brushless-dc-motors
5. EETech Media
https://www.allaboutcircuits.com/technical-articles/sensorless-brushless-dc-bldc-motor-control/
6. TI
https://www.youtube.com/watch?v=0mQunSe2_FM
7. Quora
https://www.quora.com/How-does-a-bldc-motor-works
8. TI
https://www.youtube.com/watch?v=szgVUfyX8JM
9. for HALL Sensor
https://www.youtube.com/watch?v=jdgU49ne4gA
10. Brushless Gimbal With Arduino
https://www.instructables.com/id/Brushless-Gimbal-with-Arduino/
11. Sensored brushless DC motor control with Arduino
https://simple-circuit.com/arduino-bldc-brushless-dc-motor-control/
12. 無刷 DC 馬達控制介紹
https://www.digikey.tw/zh/articles/an-introduction-to-brushless-dc-motor-control
13. 馬達基本認識與 BLDC 驅動實驗
https://www.slideshare.net/roboard/bldc
14. BLDC FOC 控制原理
https://www.slideshare.net/roboard/bldc-foc
15.Brushless DC Motor,How it works?
https://www.learnengineering.org/brushless-dc-motor.html
16. How does a MOSFET work?
https://www.learnengineering.org/how-does-a-mosfet-work.html
17. 如何控制無刷直流電動機?---凱利訊半導體
https://zhuanlan.zhihu.com/p/33059467
18. 無刷電機控制及電機供電方法
http://www.wsqdfa-bldc.com/news/zhishi/315.html
19. Motion Simulator Software
https://www.xsimulator.net/
20. MOSFET原理
https://www.youtube.com/watch?v=GrvvkYTW_0k
21. how brushless motor and esc work and how to control them using arduino
https://www.youtube.com/watch?v=uOQk8SJso6Q
電週期和機械週期
若轉子是由2對永久磁極組成,則兩個電週期會使轉子機械旋轉一圈(一週)。
1. Renesas
https://www.renesas.com/in/en/support/technical-resources/engineer-school/brushless-dc-motor-02-inverter-pmw.html
2. Nidec Motor Corporation
https://www.roboteq.com/applications/all-blogs/2-uncategorised/46-how-brushless-motors-work
3. Elprocus
https://www.elprocus.com/brushless-dc-motor-advantages-applications-and-control/
4. DigiKey
https://www.digikey.com/en/articles/how-to-power-and-control-brushless-dc-motors
5. EETech Media
https://www.allaboutcircuits.com/technical-articles/sensorless-brushless-dc-bldc-motor-control/
6. TI
https://www.youtube.com/watch?v=0mQunSe2_FM
7. Quora
https://www.quora.com/How-does-a-bldc-motor-works
8. TI
https://www.youtube.com/watch?v=szgVUfyX8JM
9. for HALL Sensor
https://www.youtube.com/watch?v=jdgU49ne4gA
10. Brushless Gimbal With Arduino
https://www.instructables.com/id/Brushless-Gimbal-with-Arduino/
11. Sensored brushless DC motor control with Arduino
https://simple-circuit.com/arduino-bldc-brushless-dc-motor-control/
12. 無刷 DC 馬達控制介紹
https://www.digikey.tw/zh/articles/an-introduction-to-brushless-dc-motor-control
13. 馬達基本認識與 BLDC 驅動實驗
https://www.slideshare.net/roboard/bldc
14. BLDC FOC 控制原理
https://www.slideshare.net/roboard/bldc-foc
15.Brushless DC Motor,How it works?
https://www.learnengineering.org/brushless-dc-motor.html
16. How does a MOSFET work?
https://www.learnengineering.org/how-does-a-mosfet-work.html
17. 如何控制無刷直流電動機?---凱利訊半導體
https://zhuanlan.zhihu.com/p/33059467
18. 無刷電機控制及電機供電方法
http://www.wsqdfa-bldc.com/news/zhishi/315.html
19. Motion Simulator Software
https://www.xsimulator.net/
20. MOSFET原理
https://www.youtube.com/watch?v=GrvvkYTW_0k
21. how brushless motor and esc work and how to control them using arduino
https://www.youtube.com/watch?v=uOQk8SJso6Q
電週期和機械週期
若轉子是由2對永久磁極組成,則兩個電週期會使轉子機械旋轉一圈(一週)。
2020年5月4日 星期一
STM32 UART串列通訊程式設計(一)
STM32 Uart串列通訊使用的技術主要有三種:
1. POLL :使用HAL提供的函式:HAL_UART_Transmit
HAL_UART_Receive
2. INTERRUPT:使用HAL提供的函式:HAL_UART_Transmit_IT
HAL_UART_Receive_IT
3. DMA :使用HAL提供的函式:HAL_UART_Transmit_DMA
HAL_UART_Receive_DMA
1. POLL
一般是用所謂的blocking mode(阻斷模式),就是傳送/接收data時不被中斷,一直到傳送/接收完成為止,因此,如果只是使用UART沒有做其它的事,可用這種方式,但是如果還有其它的事要做,可能會受影響。
基本上,用POLL方式有幾個地方要注意。POLL使用HAL提供的函式形式如下,
HAL_UART_Transmit (&huart, Tx_data, sizeof (data), time);
HAL_UART_Receive(&huart, Rx_data, n, time); //接收 n bytes data
其中huart是Uart handle, Tx_data是要傳送的data buffer位址,sizeof (data)是傳輸量,Rx_data是接收buffer,time是timeout時間,timeout稱超時時間,也就是在此時間必須把data傳輸/接收完成,否則會有error或異常現象出現。因此傳大量data時,timeout要設長一點,timeout是以1ms為單位。
從上述可知,若有重要的事要做,又必須等它傳完data才能去做,在此情況下,可以改用INTERRUPT或DMA方式。
2. INTERRUPT
在INTERRUPT 模式,是使用所謂的non-blocking mode 模式(非阻斷模式),當傳送完成會呼叫 HAL_UART_TxCpltCallback( )函式,接收完成會呼叫HAL_UART_RxCpltCallback( )函式,使用者可在這些函式內寫上傳送/接收完成後要做的事情。
3. DMA
DMA也是使用non-blocking mode 模式(非阻斷模式),在DMA模式,DATA傳送/接收一半會有一個半傳輸完成的INTERRUPT被觸發產生,呼叫 HAL_UART_TxHalfCpltCallback /HAL_UART_RxHalfCpltCallback函式。
而當DATA傳送/接收完成,會呼叫 HAL_UART_TxCpltCallback / HAL_UART_RxCpltCallback 函式。
這樣的設計意義,對傳送端來說,是當後半段的DATA開始要傳輸時,便可將新的DATA寫入前半段,以加速資料的傳輸,這也是所謂的circular mode。
1. POLL :使用HAL提供的函式:HAL_UART_Transmit
HAL_UART_Receive
2. INTERRUPT:使用HAL提供的函式:HAL_UART_Transmit_IT
HAL_UART_Receive_IT
3. DMA :使用HAL提供的函式:HAL_UART_Transmit_DMA
HAL_UART_Receive_DMA
1. POLL
一般是用所謂的blocking mode(阻斷模式),就是傳送/接收data時不被中斷,一直到傳送/接收完成為止,因此,如果只是使用UART沒有做其它的事,可用這種方式,但是如果還有其它的事要做,可能會受影響。
基本上,用POLL方式有幾個地方要注意。POLL使用HAL提供的函式形式如下,
HAL_UART_Transmit (&huart, Tx_data, sizeof (data), time);
HAL_UART_Receive(&huart, Rx_data, n, time); //接收 n bytes data
其中huart是Uart handle, Tx_data是要傳送的data buffer位址,sizeof (data)是傳輸量,Rx_data是接收buffer,time是timeout時間,timeout稱超時時間,也就是在此時間必須把data傳輸/接收完成,否則會有error或異常現象出現。因此傳大量data時,timeout要設長一點,timeout是以1ms為單位。
從上述可知,若有重要的事要做,又必須等它傳完data才能去做,在此情況下,可以改用INTERRUPT或DMA方式。
2. INTERRUPT
在INTERRUPT 模式,是使用所謂的non-blocking mode 模式(非阻斷模式),當傳送完成會呼叫 HAL_UART_TxCpltCallback( )函式,接收完成會呼叫HAL_UART_RxCpltCallback( )函式,使用者可在這些函式內寫上傳送/接收完成後要做的事情。
3. DMA
DMA也是使用non-blocking mode 模式(非阻斷模式),在DMA模式,DATA傳送/接收一半會有一個半傳輸完成的INTERRUPT被觸發產生,呼叫 HAL_UART_TxHalfCpltCallback /HAL_UART_RxHalfCpltCallback函式。
而當DATA傳送/接收完成,會呼叫 HAL_UART_TxCpltCallback / HAL_UART_RxCpltCallback 函式。
這樣的設計意義,對傳送端來說,是當後半段的DATA開始要傳輸時,便可將新的DATA寫入前半段,以加速資料的傳輸,這也是所謂的circular mode。
總結:
1. 關於STM32的UART 串連通訊,最重要的是使用INTERRUPT模式,POLL模式一般不使用,因系統不會只單純做UART通訊,且效率不好。
2. 在實際的應用上,往往不知要接收的資料有多長,所以使用HAL提供的函式,有點不切實際,唯一可以利用的是只接收一個CHARACTER就產生INTERRUPT的方式,再以接收的DATA來判斷是否是最後一個CHARACTER,(例如以"ENTER"做判斷標準),若不是最後字元,就照順序存入接收BUFFER,等收到"ENTER"後,就知道已完整收到DATA,可以繼續處理後續的事。
訂閱:
文章 (Atom)