找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 3174|回復(fù): 1
收起左側(cè)

stm32f10x控制舵機四足小狗 源程序

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

四足小狗.jpg

STM32單片機源程序如下:
#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;//腳尖到原點的距離
float h2_0;
float h1_1;
float h2_1;
float h1_2;
float h2_2;
float h1_3;
float h2_3;

float a0;//腳尖和原點的連線與y軸無偏角時舵機角度
float a1;
float a2;
float a3;

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

float b0;//腳尖和原點的連線與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的舵機角度計算
{

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

評分

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

查看全部評分

回復(fù)

使用道具 舉報

ID:222477 發(fā)表于 2019-7-16 22:27 | 顯示全部樓層
很強,謝謝分享
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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