原创 CANOE CAPL編程 HEX文件讀取

 最近在學習CAPL編程,簡單的操作基本掌握了。其實CAPL就是C語言的簡化版本,少了挺多特性的。剛開始上手有點不太懂,後面看了幾個別人的實例後就手癢癢想動手做點什麼。剛好在工作上遇到一些問題,想要用CAPL編寫一個UDS刷寫器。但是網上

原创 通過Excel學習PID算法(一步步理解它的KP,KI,KD)

 PID原理  PID控制算是應用非常廣泛的經典控制算法。但是怎麼理解PID這三個參數呢?在參考了別人的文章之後,我還是有點一知半解,這時候發現不自己動手算一算是很難理解PID了,但是我又不想做這種重複的計算,於是想到了通過Excel來

原创 UDS學習筆記(四)——ISO15765

前面的文章說過了ISO15765在幀的封裝的時候,在首位加了一個02表示幀的有效數據是兩個,但如果僅僅表示有效數據位的話,CAN總線協議上也有表示數據長度代碼。實際上ISO15765有很多的功能,在CAN總線的基礎上,主要實現單幀傳輸以及

原创 UDS學習筆記(五)——ISO14229

在學習完ISO15765後,我們就可以正式的學習UDS了,也就是ISO14229。我們前面知道了,所有的ISO14229中的服務啊,請求啊,都是在ISO15765基礎上進行的。例如10功能代碼表示的就是切換對話模式的功能。接收端接收到消息

原创 在Arduino平臺上使用ESP8266:訂閱ROS消息,通過tcp無線控制IO

在本教程之前,請先確認是否安裝好arduino的IDE和加載了ROS的庫文件; 安裝IDE的參考文章 :https://blog.csdn.net/zengqz123/article/details/82712648 加載ROS庫的參考文

原创 在嵌入式linux環境下,搭建ROS下位機

最近在ros官網上發現rosserial支持embeddlinux,於是對這個產生了很大的興趣,傳統大家都是用arduino來做下位機,通過串口的形式來做控制的,但是有時候我們的下位機可能需要很大的計算量,這時候用普通的單片機可能性能就不

原创 通過Excel學習PID算法(連續系統的PID)

在之前,我們用倒水的例子通俗易懂的解釋了什麼是PID算法。在這裏先回顧一下之前的學習的內容。P表示對誤差的比例係數。與目標值差多少,就在下一次修正中加上這個誤差與P的乘積,同時會導致系統有一個超調量,即超出我們所需的高度。I表示對誤差的積

原创 慶釗的Micropython學習筆記(一):簡介

最近開始學習Micropython(以下簡稱爲mp),能翻到這篇文章的想必對mp有一定了解了。我也不對mp進行介紹了。說一下我選擇學習mp的原因吧: 工作的時候需要接觸到CAN總線,而stm32的mp版本就能實現can總線的快速發送以及接

原创 UDS學習筆記(二)——硬件的搭建以及配置開發環境

網上上對CAN總線的介紹很多,對於CAN總線的介紹就到這了。接下來是對硬件的搭建。前文說過了硬件使用的是樹莓派與MCP2515模塊。 MCP2515模塊 MCP2515是一個CAN總線控制器,其實上面還集成了一個CAN收發器。但是由於MC

原创 UDS學習筆記(三)——協議的理解

在理解了CAN總線之後,我們就需要學習UDS協議了。百度一下UDS協議,出現很多的兩個標準是ISO14229,ISO15765。ISO14229就是我們說的UDS診斷協議了,那還有一個ISO15765又是什麼呢?這麼多的標準要把腦袋都搞大

原创 UDS學習筆記(六)——基於UDS的程序燒寫流程

    在學習了這麼多的服務之後,我們就可以正式開始學習程序燒寫流程這一環節了。根據ISO14229提供的文檔或者網上的很多資料都能知道,程序燒寫可以分爲三大流程:預編程階段,編程階段,後編程階段。本文也是根據這三大流程進行一步步的分析的

原创 UDS學習筆記(一)——CAN總線介紹

最近剛入職車企,在燒寫汽車整車控制器的時候,接觸到了UDS協議。因此想要做一個能夠燒寫整車控制器的硬件。在查閱網上的資料之後,發現很多的資料都不齊全,同時自己也是一個新手,對CAN總線也接觸不是很多。因此看那些資料的時候也十分的困惑。我之

原创 在arduino上使用Modbus協議控制無編碼器減速電機(一)

使用硬件: GA-12減速電機、arduino uno、L298N電機驅動板 使用軟件:modbus poll、python 首先要明白電機驅動板的工作原理: 通道A使能可以通過PWM調節輸出A的電壓,從而調節其轉速。 其邏輯輸入有:

原创 使用python,通過串口ROS直接控制電機驅動器(8)

在有了別人的代碼後,我就很容易的參考他的方法來實現電機的這個功能,因此我簡單的寫了一個Python程序,通過調用之前寫的Python驅動程序,實現了對單輪電機的速度控制。 該程序的實現原理: 第一:將導入單輪電機的類實例化,創建對象。 第

原创 在Arduino平臺上使用ESP8266芯片:直接讀取MPU9250數據,在ESP8266上解析輸出四元數和歐拉角。

在前面我們使用了六軸傳感器MPU6050,通過調用DMP庫,直接讓傳感器輸出歐拉角或四元數。這種方式能減少單片機的運算負擔,但是我們無法調節裏面的濾波算法和 姿態解析。而且對於九軸傳感器MPU9250來說,調用DMP庫輸出的最大速度爲20