91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用STM32F103C8控制伺服馬達(dá)的電路連接及代碼說明

芯情觀察猿 ? 來源:芯情觀察猿 ? 作者:芯情觀察猿 ? 2022-07-04 10:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

伺服馬達(dá)(Servo motor)憑準(zhǔn)確、小型、高效,易用在機(jī)器人領(lǐng)域應(yīng)用廣泛,其高扭矩特性非常適合升降重物。本項(xiàng)目用電位器改變馬達(dá)轉(zhuǎn)子位置,用STM32F103C8(藍(lán)丸)控制伺服馬達(dá),用LCD顯示角度值。

項(xiàng)目BOM表及電路連接

項(xiàng)目BOM表如下:

1、STM32F103C8藍(lán)丸板 x1

2、伺服馬達(dá)(SG90) x1

3、LCD(16x2) x1

4、電位器 x2

5、面包板 x1

6、跳線 若干


pYYBAGLCUFKAP7dRAACkYYRGUkM70.jpeg?source=d16d100b

?

STM32F103C8有10路ADC引腳(PA0-PB1),本項(xiàng)目使用PA3作為analogread(),通過電位器設(shè)定馬達(dá)的位置。在STM32引腳的15 PWM引腳中(PA0, PA1, PA2, PA3, PA6, PA7, PA8, PA9, PA10, PB0, PB1, PB6, PB7, PB8, PB9),我們只使用其中的一個(gè)引腳,為伺服馬達(dá)的PWM引腳(該引腳通常帶有顏色)提供脈沖信號。

STM32F103C8與LCD的連接如下:

STM32F103C8 LCD

GND VSS

+5V VDD

電位器中心PIN V0

PB0 RS

GND RW

PB1 E

PB10 D4

PB11 D5

PC13 D6

PC14 D7

+5V A

GND K


伺服馬達(dá)與STM32F103C8的連接如下:

STM32F103C8 伺服馬達(dá)

+5V RED (+5V)

PA0 ORANGE (PWM pin)

GND BROWN (GND)


poYBAGLCUFKAe1HgAAC4_QBAFKY58.jpeg?source=d16d100b

?

本項(xiàng)目使用兩個(gè)電位器:

(1)右邊的用來改變LCD對比度。左邊接5V電源,右邊接地,中間引腳與LCD的V0連接。

(2)左邊的用來模擬輸入電壓的大小,以改變伺服馬達(dá)轉(zhuǎn)子的位置。左邊引腳接3.3V電源,右邊接地,中間連接與的STM32板子的PA3引腳。

編程及代碼說明

如果電腦安裝了Arduino IDE,連接上USB接口,就可以像使用Arduino一樣,對STM32F103C8進(jìn)行編程了,無須使用FTDI編程器。


首先,載入馬達(dá)和LCD函數(shù):

#include

#include


其次,聲明LCD顯示器引腳并初始化。同時(shí)還要聲明其他幾個(gè)用于PWM和電位器的變量:

const int rs = PB0, en = PB1, d4 = PB10 , d5 = PB11 , d6 = PC13, d7 = PC14;

LiquidCrystal lcd(rs,en,d4,d5,d6,d7);

int servoPin = PA0;

int potPin = PA3;


這里,我們創(chuàng)建了伺服變量,并將其賦予前述聲明的PWM引腳。

Servo servo;

servo.attach(servoPin);


然后,從ADC引腳——PA3讀取模擬值,將模擬電壓(0-3.3)轉(zhuǎn)換成數(shù)字形式(0-4095)。

analogRead(potPin);

該ADC為12位,我們需要獲得的0-170模擬值,要將其均分為(0-4096)數(shù)字形式。

angle = (reading/24);


下面指令使伺服馬達(dá)以給定的角度旋轉(zhuǎn)轉(zhuǎn)軸:

servo.write(angle);

完整的代碼如下:

//INTERFACE SERVO WITH STM32

//CIRCUIT DIGEST

#include //including servo library

#include //including LCD display library

const int rs = PB0, en = PB1, d4 = PB10 , d5 = PB11 , d6 = PC13, d7 = PC14; //declaring pin names and pin numbers of lcd

LiquidCrystal lcd(rs,en,d4,d5,d6,d7);//setting lcd and its paramaters

int servoPin = PA0; //declare and initialize pin for servo output PWM

int potPin = PA3; //potentiometer ADC input

Servo servo; // creating variable servo with datatype Servo

void setup()

{

lcd.begin(16,2); //setting lcd as 16x2

lcd.setCursor(0,0); //setting cursor at first row and first column

lcd.print("CIRCUIT DIGEST"); //puts CIRCUIT DIGEST in LCD

lcd.setCursor(0,1); //setting cursor at second row and first column

lcd.print("SERVO WITH STM32"); //puts SERVO WITH STM32 in LCD

delay(3000); // delays for 3 seconds

lcd.clear(); //clears lcd display

servo.attach(servoPin); //it connects pin PA0 with motor as control feedback by providing pulses

}

void loop()

{

lcd.clear(); //clears lcd

int angle; //declare varible angle as int

int reading; //declare varible reading as int

reading = analogRead(potPin); //read analog value from pin PA3

angle = (reading/24); //it divides ADC the value according to max angle 170 deg

servo.write(angle); //it puts angle value at servo

lcd.setCursor(0,0); //setting cursor at first row and first column

lcd.print("ANGLE:"); //puts ANGLE in LCD

lcd.print(angle); //puts value at angle

delay(100); //delay in time

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • lcd
    lcd
    +關(guān)注

    關(guān)注

    36

    文章

    4618

    瀏覽量

    177290
  • 伺服馬達(dá)
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    8360
  • 電路連接
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    6882
  • STM32F103C8
    +關(guān)注

    關(guān)注

    1

    文章

    23

    瀏覽量

    8490
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    國產(chǎn)MCU無縫替代新選擇:FT32F103R8AT7完美兼容STM32F103R8Tx實(shí)操解析!

    在全球半導(dǎo)體供應(yīng)鏈持續(xù)波動(dòng)、國產(chǎn)替代成為產(chǎn)業(yè)共識(shí)的當(dāng)下,STM32F103R8Tx作為意法半導(dǎo)體經(jīng)典的Cortex-M3內(nèi)核MCU,雖長期占據(jù)消費(fèi)電子、工業(yè)控制等領(lǐng)域的核心地位,卻也面臨著交貨周期長
    的頭像 發(fā)表于 02-08 15:19 ?1294次閱讀
    國產(chǎn)MCU無縫替代新選擇:FT32<b class='flag-5'>F103R8</b>AT7完美兼容<b class='flag-5'>STM32F103R8</b>Tx實(shí)操解析!

    CW32L012與STM32F103的三角運(yùn)算性能對比

    ? ?CW32L012和STM32F103在定位和性能上差異顯著,在三角函數(shù)的運(yùn)算性能上的對比亦非常直觀。 一、 硬件架構(gòu)對比(性能基礎(chǔ)) 芯片型號 CW32L012C8 STM32F103C8
    的頭像 發(fā)表于 12-29 15:32 ?2327次閱讀
    CW32L012與<b class='flag-5'>STM32F103</b>的三角運(yùn)算性能對比

    Proteus中配置STM32外部時(shí)鐘HSE如何配置

    有大佬會(huì)配置Proteus中的STM32F103C8的外部時(shí)鐘嗎 這個(gè)proteus中打印不出來數(shù)據(jù),但是在實(shí)物的連接中可以正常打印 代碼如下: 并且配置proteus中的虛擬串口打印波特率也是
    發(fā)表于 11-02 13:54

    創(chuàng)建stm32f103c8工程后為什么終端沒有打印Hello RT_Thread?

    創(chuàng)建stm32f103c8工程后為什么終端沒有打印Hello RT_Thread!,程序好像也沒有下載進(jìn)去
    發(fā)表于 09-26 08:24

    CherryUSB +STM32F103C8 example usb cdc device不識(shí)別是怎么回事?

    stm32f103c8t6 配置cdc,使用cubeMX 配置生成xxx_msp.c 為什么 放開 CONFIG_USBDEV_SETUP_LOG_PRINT 發(fā)現(xiàn) usb 中斷 一直未能進(jìn)入 ____usbd_event_ep0_setup_complete_hand
    發(fā)表于 09-10 07:03

    STM32F103c8上做DLQR最優(yōu)控制算法的C編程資料

    這是我近期做的一個(gè)項(xiàng)目--基于STM32F103c8的DLQR控制算法的C編程,涉及DLQR最優(yōu)控制算法、嵌入式STM32F103編程、CM
    發(fā)表于 07-23 15:30 ?0次下載

    STM32F103C8出現(xiàn)找不到\'STM32100B_EVAL/stm32100b_eval.h\' file not found的情況,為什么?

    我是STM32新手,這幾天在創(chuàng)建STM32F103C8新工程時(shí),在編譯之後都會(huì)出現(xiàn) ./Libraries/STM32F103_StdPeriph_Driver/incstm32
    發(fā)表于 06-18 07:56

    STM32F103C6T6 DCAC逆變器原理圖

    STM32F103C6T6 DCAC逆變器原理圖
    發(fā)表于 05-19 17:48 ?2次下載

    stm32f103c8t6主控芯片無人機(jī)原理圖

    stm32f103c8t6主控芯片無人機(jī)原理圖
    發(fā)表于 04-29 17:02 ?3次下載

    基于STM32C8T6控制,F(xiàn)SR402壓力傳感器+oled屏幕顯示代碼

    基于STM32C8T6控制,F(xiàn)SR402壓力傳感器+oled屏幕顯示代碼
    發(fā)表于 04-14 15:06 ?8次下載

    STM32F103x8 STM32F103xB單片機(jī)數(shù)據(jù)手冊

    STM32F103x8STM32F103xB單片機(jī)數(shù)據(jù)手冊
    發(fā)表于 04-14 14:55 ?8次下載

    創(chuàng)建stm32f103c8工程后為什么終端沒有打印Hello RT_Thread?

    創(chuàng)建stm32f103c8工程后為什么終端沒有打印Hello RT_Thread!,程序好像也沒有下載進(jìn)去
    發(fā)表于 04-01 06:55

    STM32F103C8T6開發(fā)板最小系統(tǒng)原理圖

    電子發(fā)燒友網(wǎng)站提供《STM32F103C8T6開發(fā)板最小系統(tǒng)原理圖》資料免費(fèi)下載
    發(fā)表于 03-24 09:09 ?92次下載

    STM32F103×8/STM32F103×B MCU手冊

    本文提供了STM32F103x8STM32F103xB中密度高性能系列微控制器的訂購信息和機(jī)械器件特性。有關(guān)整個(gè)STMicroelectronics STM32F103xx系列的更
    發(fā)表于 03-18 16:37 ?0次下載

    STM32F103C8T6使用CubeIDE燒錄運(yùn)行報(bào)硬件錯(cuò)誤,相同代碼MDK燒錄卻可以正常運(yùn)行,為什么?

    自制PCB使用STM32F103C8T6,通過STM32CubeMX生成了CubeIDE項(xiàng)目和MDK項(xiàng)目,編譯下載相同的代碼CubeIDE不能正常執(zhí)行,經(jīng)過調(diào)試發(fā)現(xiàn)進(jìn)入了硬件錯(cuò)誤循環(huán)。而使用MDK燒錄卻沒有任何問題,完美執(zhí)行
    發(fā)表于 03-12 06:18