找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 3201|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

stm32f10x控制舵機(jī)四足小狗 源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
第一次寫的一個(gè)舵機(jī)小狗,程序還處于特別幼稚的階段,希望大佬們不喜勿噴。我做的小狗腿部是由兩個(gè)舵機(jī)進(jìn)行控制,是一個(gè)四邊形的結(jié)構(gòu),由兩個(gè)自由度。
我先建立一個(gè)坐標(biāo)系,然后定義好小狗的腳尖的軌跡,通過腳尖x,y軸的位置算出舵機(jī)的轉(zhuǎn)角,最后通過轉(zhuǎn)角反應(yīng)pwm占空比。



STM32單片機(jī)源程序如下:
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "pwm.h"
#include "usart.h"
#include "math.h"


u16 set1_0;//pwm占空比(u16)
u16 set2_0;
u16 set1_1;
u16 set2_1;
u16 set1_2;
u16 set2_2;
u16 set1_3;
u16 set2_3;

float output1_0;//pwm占空比(float)
float output2_0;
float output1_1;
float output2_1;
float output1_2;
float output2_2;
float output1_3;
float output2_3;

float pai=3.141592653;

float x0=-2;//x軸位置
float y0=8;
float x1=2;
float y1=8;
float x2=2;
float y2=8;
float x3=-2;
float y3=8;

float h1_0;//腳尖到原點(diǎn)的距離
float h2_0;
float h1_1;
float h2_1;
float h1_2;
float h2_2;
float h1_3;
float h2_3;

float a0;//腳尖和原點(diǎn)的連線與y軸無(wú)偏角時(shí)舵機(jī)角度
float a1;
float a2;
float a3;

float a1_0;//舵機(jī)的角度
float a2_0;
float a1_1;
float a2_1;
float a1_2;
float a2_2;
float a1_3;
float a2_3;

float b0;//腳尖和原點(diǎn)的連線與y軸的偏角
float b1;
float b2;
float b3;

int i;

int dir0=1;
int dir1=2;
int dir2=2;
int dir3=1;

void foot_0(float x,float y)//腿1的舵機(jī)角度計(jì)算
{

全部資料51hei下載地址:
四足機(jī)器人直行.7z (194.79 KB, 下載次數(shù): 21)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:222477 發(fā)表于 2019-7-16 22:27 | 只看該作者
很強(qiáng),謝謝分享
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表