目錄
- 普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU簡介
- 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode開發(fā)環(huán)境
- 普冉PY32系列(三) PY32F002A資源實測 - 這個型號不簡單
- 普冉PY32系列(四) PY32F002A/003/030的時鐘設(shè)置
- 普冉PY32系列(五) 使用JLink RTT代替串口輸出日志
- 普冉PY32系列(六) 通過I2C接口驅(qū)動PCF8574擴(kuò)展的1602LCD
- 普冉PY32系列(七) SOP8,SOP10,SOP16封裝的PY32F002A/PY32F003管腳復(fù)用
- 普冉PY32系列(八) GPIO模擬和硬件SPI方式驅(qū)動無線收發(fā)芯片XN297LBW
- 普冉PY32系列(九) GPIO模擬和硬件SPI方式驅(qū)動無線收發(fā)芯片XL2400
- 普冉PY32系列(十) 基于PY32F002A的6+1通道遙控小車I - 綜述篇
- 普冉PY32系列(十一) 基于PY32F002A的6+1通道遙控小車II - 控制篇
- 普冉PY32系列(十二) 基于PY32F002A的6+1通道遙控小車III - 驅(qū)動篇
基于PY32F002A的6+1通道遙控小車I - 綜述篇
以下介紹基于 PY32F002A 和 XL2400 的低成本無線遙控實現(xiàn). 因為內(nèi)容較多, 分三篇說明.
實物圖
先放上最終的實物
遙控器
- 遙控器包含兩個十字電位器, 兩個旋鈕電位器, 六個輕觸開關(guān)和兩個滑動開關(guān), 顯示部分為12864LCD.
- 兩個十字電位器, 兩個旋鈕電位器組成了六個模擬通道. 模擬通道數(shù)量受PY32F002A的PIN腳限制, 全部用上可以做到八個, 因為我想保留SWD口, 所以只做了六個. 普通應(yīng)用只需要雙搖桿加兩個雙調(diào)節(jié), 基本夠用了.
- 第七個通道是一組開關(guān)量, 六個輕觸開關(guān)和兩個滑動開關(guān)共8個bit, 是通過74HC165擴(kuò)展實現(xiàn)的, 當(dāng)前的設(shè)計只用了一片74HC165, 采集8個開關(guān)信號, 通過串聯(lián)更多的74HC165可以擴(kuò)展到16個或24個開關(guān)信號.
- 無線模塊是可插拔設(shè)計, 便于替換XL2400和XN297LBW, 以及測試不同天線的性能
驅(qū)動器
- 中間9個通道為高速IO通道, 直接關(guān)聯(lián)到PY32F002A的PIN腳, 這些PIN都關(guān)聯(lián)到TIM1或TIM3(看下面的PIN分配表), 可以設(shè)置為原生PWM輸出
- 兩側(cè)的8PIN排針一共16個通道為擴(kuò)展IO通道, 使用74HC595擴(kuò)展產(chǎn)生, 可以輸出開關(guān)量或低速PWM
- 當(dāng)前的小車的電機控制僅用到擴(kuò)展IO
- 無線模塊是可插拔設(shè)計
- 驅(qū)動端可以控制的通道并不受6+1限制, 驅(qū)動器并不局限于驅(qū)動小車, 9路高速IO加16路擴(kuò)展IO可以驅(qū)動很多設(shè)備
- 模塊的螺絲孔位是針對這種小車底盤設(shè)計的, 但是只能上一邊, 不能全上
設(shè)計目標(biāo)
看完實物, 回到最初的設(shè)計思路. 因為是從零開始, 在這一階段設(shè)計中為快速驗證, 先確定結(jié)構(gòu), 避免復(fù)雜設(shè)計, 只考慮數(shù)顯和單向傳輸, 不考慮回傳數(shù)據(jù).
無線控制端
- 雙十字搖桿加雙調(diào)節(jié), 需要至少共6個模擬通道
- 2+6或4+4開關(guān)按鍵, 共8個開關(guān)信號
- LCD屏顯
電機驅(qū)動端
- 至少8個高速IO通道, 支持原生PWM信號輸出
- 16個低速IO通道, 支持開關(guān)信號輸出, 或模擬PWM信號輸出
硬件部分
主要組件
硬件選型
- MCU: PY32F002A TSSOP20
- 2.4GHz: XL2400 or XN297LBW
- IO Ext: 74HC165, 74HC595
- LCD: ST7567 12864
- Motor Driver: YX-1818
PIN分配
控制板
- 為保持調(diào)試的便利, 保留SWD口PA13, PA14作為SWD, SWC使用, 在開發(fā)中使用JLink RTT輸出日志. JLink RTT日志輸出可以參考這篇 使用JLink RTT代替串口輸出日志.
- 將NRST口復(fù)用為IO, 屏蔽RST功能, 參考 SOP8,SOP10,SOP16封裝的PY32F002A/PY32F003管腳復(fù)用
- 使用ST7567是因為正好手里有不少1寸的ST7567LCD屏, 而且能和XL2400復(fù)用SPI口(其實也就復(fù)用了兩個PIN), 可以換成I2C接口的SD1306.
- XL2400使用了硬件方式的SPI通信, 具體可以看前一篇GPIO模擬和硬件SPI方式驅(qū)動無線收發(fā)芯片XL2400
- ST7567和XL2400合用一個硬件SPI口, 通信時使用PB2和PB3進(jìn)行選擇
- 模擬信號的輸入使用 PA0, PA1, PA2, PA3, PA4, PA5 這六個ADC通道
- 開關(guān)信號的輸入使用一片74HC165進(jìn)行轉(zhuǎn)換, 理論上可以級聯(lián)2~3片, 每片能擴(kuò)充出8個開關(guān)信號
具體的PIN分配如下
ST7567 | XL2400 | 搖桿1 | 搖桿2 | 調(diào)節(jié)1 | 調(diào)節(jié)2 | 74HC165 | ||
---|---|---|---|---|---|---|---|---|
PA0 | X | |||||||
PA1 | x | |||||||
PA2 | X | |||||||
PA3 | X | |||||||
PA4 | X | |||||||
PA5 | X | |||||||
PA6 | CLK | |||||||
PA7 | QH | |||||||
PA13 | SWD | |||||||
PA14 | SWC | |||||||
PB0 | RESET | |||||||
PB1 | DC/AO | |||||||
PB2 | CSN | |||||||
PB3 | CSN/CE | |||||||
PF0 | SCK | SCK | ||||||
PF1 | DATA | |||||||
PF2 | NRST | MOSI | DATA | |||||
PF4/PB6 | BOOT0 | SH/LD |
驅(qū)動板
- 保留SWD口PA13, PA14作為SWD, SWC
- 將NRST口復(fù)用為IO, 屏蔽RST功能
- ST7567和XL2400合用一個硬件SPI口, 通信時使用PB2和PB3進(jìn)行選擇
- 一共9個高速IO輸出通道, 都有對應(yīng)的時鐘, 可以產(chǎn)生PWM信號. 使用PIN腳: PA0, PA1, PA2, PA3, PA6, PA7, PB0, PB1, PB3
- 使用兩片74HC595作為IO輸出擴(kuò)展, 產(chǎn)生16個低速IO輸出通道
具體的PIN分配如下
XL2400 | 原生PWM | 74HC595 | ||
---|---|---|---|---|
PA0 | TIM1_3 | |||
PA1 | TIM1_4 | |||
PA2 | TIM3_1 | |||
PA3 | TIM1_1 | |||
PA4 | SER/DS | |||
PA5 | SRCLK/SHCP | |||
PA6 | TIM3_1 | |||
PA7 | TIM3_2 | |||
PA13 | SWD | |||
PA14 | SWC | |||
PB0 | TIM3_3 | |||
PB1 | TIM3_4 | |||
PB2 | CSN | |||
PB3 | TIM1_2 | |||
PF0 | SCK | |||
PF1 | DATA | |||
PF2 | NRST | DATA | ||
PF4/PB6 | BOOT0 | RCLK/STCP |
電路原理圖
遙控器
- 遙控器使用了一片PY32F002A TSSOP20和一片74HC165D SOP16,
- 手柄輸入使用的是兩個16x16的搖桿電位器. 搖桿電位器有13x13和16x16兩種尺寸, 如果需要使用13x13可以自行更換.
- 電源部分使用的是一節(jié)18650. 除了XL2400耐壓為3.6V以外, PY32F002A和其它元件都可以工作在5V, 因為滿電電壓會超過4V, 為了防止損壞XL2400, 這里使用一顆二極管做簡單降壓兼反接保護(hù). 經(jīng)實測驗證 XL2400 可以工作在 3.8V.
- 如果需要嚴(yán)格意義上的3.3V輸入, 可以替換成低壓降的XC6206P332MR.
- 微動開關(guān)都加了上拉電阻
- 兩側(cè)搖桿電位器的開關(guān)和對應(yīng)最外側(cè)的開關(guān)相通, 按壓等效
- 遙控面板不包含無線模塊
驅(qū)動控制
- 驅(qū)動端使用的是一片 PY32F002A TSSOP20 和兩片 74HC595D SOP16
- PY32F002A 和 74HC595D 供電由一片AMS1117提供, 工作在3.3V. 因此電源輸入不能低于4V, 不能使用單節(jié)18650
- 電機供電部分與電源輸入直通. 為避免復(fù)雜度, 電路中未內(nèi)建DC-DC轉(zhuǎn)換, 如果電機/舵機需要5V或6V的準(zhǔn)確電壓, 需要外接DC-DC模塊供電
- 電源部分有一個1A的自恢復(fù)保險
- 控制板不包含無線模塊, 不包含電機驅(qū)動
電機驅(qū)動
電機驅(qū)動使用的是 YX-1818, 支持兩組有刷直流電機, 外圍元件簡單, 也可以采用成品的 MX1616 驅(qū)動模塊或者L9110, L298等. 驅(qū)動玩具DC電機只需要幾百毫安, 選擇哪種都可以.
無線模塊
無線部分使用的是 XL2400, 也可以換成XN297LBW, 這兩個芯片的電路是兼容的. 具體可以參考GPIO模擬和硬件SPI方式驅(qū)動無線收發(fā)芯片XL2400, 這里的電路一樣但是PCB部分做了改進(jìn), 占用尺寸更小. 注意模塊的PIN腳和遙控器, 驅(qū)動板的排針孔位是對應(yīng)的, 如果買成品的XN297LBW模塊, 需要自行修改PIN腳順序.
PCB
在一塊 10cm x 10cm 的 PCB 上集中了上面提到的所有模塊, 可以在嘉立創(chuàng)上一次打印, 但是需要自行分割. PCB上包含的內(nèi)容
- 遙控面板 * 1
- 驅(qū)動控制板 * 1
- 電機驅(qū)動 * 2
- 無線模塊 * 3
正面
文章來源:http://www.zghlxwxcb.cn/news/detail-746681.html
反面
文章來源地址http://www.zghlxwxcb.cn/news/detail-746681.html
參考
-
PY32F002A+Ci24R1遙控器
在立創(chuàng)開源廣場搜到的一個同類設(shè)計, 參考了部分元件選擇(例如YX-1818驅(qū)動).
到了這里,關(guān)于普冉PY32系列(十) 基于PY32F002A的6+1通道遙控小車I - 綜述篇的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!