找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4449|回复: 14
打印 上一主题 下一主题
收起左侧

想DIY一个MACH3手轮

[复制链接]
跳转到指定楼层
楼主
想DIY一个MACH3手轮外观大致就这样,有没有爱好者提点建议。

12手轮.jpg (691.97 KB, 下载次数: 191)

12手轮.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:277550 发表于 2021-10-29 11:09 | 只看该作者

X轴、Y轴、Z轴 三维

如果可能,还有A轴
回复

使用道具 举报

板凳
ID:304321 发表于 2021-10-29 11:59 | 只看该作者
有4轴切换功能  侧面的按钮就是 切换速度和轴的
回复

使用道具 举报

地板
ID:304321 发表于 2021-10-29 12:00 | 只看该作者
红色按钮 是急停 绿色做成对刀
回复

使用道具 举报

5#
ID:304321 发表于 2021-10-29 12:17 | 只看该作者
基本结构 再设计几个提示led

12手轮2.png (5.79 MB, 下载次数: 147)

后面两个孔安装磁铁

后面两个孔安装磁铁

12手轮1.png (3.91 MB, 下载次数: 141)

12手轮1.png
回复

使用道具 举报

6#
ID:304321 发表于 2021-10-29 14:15 | 只看该作者
3D打印 外壳

手轮底部.png (4.12 MB, 下载次数: 151)

手轮底部.png
回复

使用道具 举报

7#
ID:262 发表于 2021-10-30 05:47 | 只看该作者
干得漂亮,开始加工了吗?
回复

使用道具 举报

8#
ID:304321 发表于 2021-10-30 15:40 | 只看该作者
基本外形测试

k.jpg (206.37 KB, 下载次数: 126)

k.jpg
回复

使用道具 举报

9#
ID:304321 发表于 2021-10-30 15:42 | 只看该作者
这个外壳是不是该刷刷漆哦
回复

使用道具 举报

10#
ID:304321 发表于 2021-11-5 12:49 | 只看该作者
基本上可以用了,编码器用差了 用的1元一个的EC11  20脉冲,     我准备改成用磁角度传感器 来做脉冲信号。

51hei图片_20211105124619.jpg (241.81 KB, 下载次数: 140)

51hei图片_20211105124619.jpg

51hei图片_20211105124630.jpg (428.8 KB, 下载次数: 141)

51hei图片_20211105124630.jpg
回复

使用道具 举报

11#
ID:304321 发表于 2021-11-5 12:50 | 只看该作者
stm8F103芯片 全代码如下:
#include "IOSTM8S103F3.h"
#define u8 uint8_t
#define u16 uint16_t
#define u32 uint32_t

#define LED10  PA_ODR_ODR2
#define LED100 PA_ODR_ODR3
#define LEDX   PD_ODR_ODR4
#define LEDY   PD_ODR_ODR5
#define LEDZ   PD_ODR_ODR6
#define LEDA   PA_ODR_ODR1

#define KZ10  PD_ODR_ODR2
#define KZ100 PD_ODR_ODR3
#define KZX   PC_ODR_ODR4
#define KZY   PC_ODR_ODR5
#define KZZ   PC_ODR_ODR6
#define KZA   PC_ODR_ODR7

typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned long uint32_t;

u8 XYZA=0;

void Delayms(unsigned int ms)
{
   u8 i,y;
   while(ms != 0)
   {
       for(y=0;y<100;y++)
       {
       }
       for(i=0;i<200;i++)
       {
   }
    ms--;
   }         
}



//****************io口初始化****************/
void GPIO_INIT()
{

PA_DDR = 0xFF;//
PA_CR1 = 0xFF;
PA_CR2 = 0xFF;
PA_ODR = 0xFF;

PB_DDR = 0x00;//按钮
PB_CR1 = 0x00;
PB_CR2 = 0xFF;

EXTI_CR1=0xAA;  

PC_DDR = 0xFF;//
PC_CR1 = 0xFF;
PC_CR2 = 0xFF;
PC_ODR = 0xFF;


PD_DDR = 0xFF;//
PD_CR1 = 0xFF;
PD_CR2 = 0xFF;
PD_ODR = 0xFF;
}

//*********************************主函数************************************/
main()
{   
  
  //Delayms(50);//稳定
  CLK_CKDIVR=0x00; //时钟不分频 16M
  Delayms(100);//稳定
  
  GPIO_INIT();

  KZX=0;
  LEDX=0;
  
  asm("rim");


  while (1)
  {
     //asm("sim");
  //LED10=1;
  //LED100=1;
  //Delayms(200);//稳定
     //asm("rim");   //如果进入死循环 表明输入端口上有电 仔细检查

   }
   
      
}


//PB中断服务函数
#pragma vector=0x06 //PB 中断响应
__interrupt void EXTI_PORTB_IRQHandler(void) //PB 服务函数   
{
  if((PB_IDR&0x20)==0)
  {
    Delayms(100);// 消按钮抖动
    if((PB_IDR&0x20)==0)
    {
      if(LED10==1&&LED100==1) //10倍
      {
        LED10=0;
        KZ10=0;
        KZ100=1;
      }
      else
      {  
        if(LED10==0&&LED100==1)//100倍
        {  
        LED10=0;  
        LED100=0;
        
        KZ10=1;
        KZ100=0;
        
        }     
        else
          if(LED10==0&&LED100==0)//1倍
          {
            LED10=1;
            LED100=1;
            
            KZ10=1;
            KZ100=1;
          }
      }
  }
  while((PB_IDR&0x20)==0x20);//释放按钮
  }
  
  if((PB_IDR&0x10)==0)//4选1
  {
    Delayms(100);// 消按钮抖动
    if((PB_IDR&0x10)==0)
    {
     if(XYZA==0)
     {
      LEDX=0;
      LEDY=1;
      LEDZ=1;
      LEDA=1;
      
      KZX=0;
      KZY=1;
      KZZ=1;
      KZA=1;
      
     }
     if(XYZA==1)
     {
      LEDX=1;
      LEDY=0;
      LEDZ=1;
      LEDA=1;
      
      KZX=1;
      KZY=0;
      KZZ=1;
      KZA=1;
     }
     
     if(XYZA==2)
     {
      LEDX=1;
      LEDY=1;
      LEDZ=0;
      LEDA=1;
      
      KZX=1;
      KZY=1;
      KZZ=0;
      KZA=1;
     }
     if(XYZA==3)
     {
      LEDX=1;
      LEDY=1;
      LEDZ=1;
      LEDA=0;
      
      KZX=1;
      KZY=1;
      KZZ=1;
      KZA=0;
      
      
      XYZA=0;
     }
      else XYZA++;
     
     while((PB_IDR&0x10)==0x10);//释放按钮
     }
   
    }

}
回复

使用道具 举报

12#
ID:1004318 发表于 2022-2-7 21:14 | 只看该作者
楼主厉害,我也准备低压一个,外观已经做好了,显示界面还在弄还没好,加好友聊聊可以吗
回复

使用道具 举报

13#
ID:1004318 发表于 2022-2-7 21:16 | 只看该作者
wuyu3399 发表于 2021-11-5 12:50
stm8F103芯片 全代码如下:
#include "IOSTM8S103F3.h"
#define u8 uint8_t

我准备用esp32做个,楼主加个好友交流下
回复

使用道具 举报

14#
ID:149332 发表于 2022-12-20 12:18 | 只看该作者
wuyu3399 发表于 2021-11-5 12:50
stm8F103芯片 全代码如下:
#include "IOSTM8S103F3.h"
#define u8 uint8_t

能提供电路原理图学习学习吗?对这个很感兴趣。
回复

使用道具 举报

15#
ID:269675 发表于 2023-11-27 18:18 | 只看该作者
楼主能给一份引脚定义吗,我是菜鸟,不知道哪个是接编码器的,哪个是按钮
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表