V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
RtIHZ
V2EX  ›  编程

2020 年,如何编程控制马达?以及,如果一个不会编程的人想学如何控制马达,应该学什么?

  •  
  •   RtIHZ · 2020-05-12 15:36:28 +08:00 · 5089 次点击
    这是一个创建于 1656 天前的主题,其中的信息可能已经有所发展或是发生改变。

    帮一个搞装置艺术的朋友问的,她说她想学编程,追问之下才说只是想“控制马达”(并运用到她的作品中去,我猜)。

    关于编程控制马达,我只知道 arduino 可以。但我自己动手做这个已经是十年前了。所以想求助一下 V2,有没有什么更好的方案?

    以及如果她的目的仅仅是编程控制马达的话,应该如何学习编程呢(如何最小化要学习的内容)?我觉得,学习一下 if for while 之类的基本语句 应该就差不多了吧。

    谢谢各位

    32 条回复    2021-05-31 00:45:22 +08:00
    GentleSadness
        1
    GentleSadness  
       2020-05-12 16:22:02 +08:00   ❤️ 1
    歪个楼,你这个手机震动让我浮想翩翩,真不是小情侣间开车吗
    RtIHZ
        2
    RtIHZ  
    OP
       2020-05-12 16:25:49 +08:00
    @GentleSadness 指的是电动机,不是手机震动马达
    pod
        3
    pod  
       2020-05-12 16:29:44 +08:00 via Android
    可变电阻?
    misaka19000
        4
    misaka19000  
       2020-05-12 16:34:48 +08:00
    树莓派
    tetora
        5
    tetora  
       2020-05-12 16:42:53 +08:00
    感觉你朋友想学的是控制舵机
    chinvo
        6
    chinvo  
       2020-05-12 16:44:33 +08:00
    Arduino + 舵机 /电机 驱动板 最好入门

    语法也只需要 C 语言基础语法

    如果要深入就要研究指令集, 寄存器, 时钟, 机器周期, 通信协议, 电机拖动什么的了
    jworg
        7
    jworg  
       2020-05-12 16:45:09 +08:00
    这个问题建议你去 tb 问卖东西的商家,为了卖出东西,会扔给一堆教程链接的
    murmur
        8
    murmur  
       2020-05-12 16:46:20 +08:00
    控制的是马达还是步进电机?
    dingdong
        9
    dingdong  
       2020-05-12 16:59:09 +08:00 via Android
    给钱外包实现
    nutting
        10
    nutting  
       2020-05-12 17:03:35 +08:00
    乐高机器人
    TaylorJack123
        11
    TaylorJack123  
       2020-05-12 17:09:54 +08:00 via Android
    乐高或者小米那个可编程玩具车,都是控制马达,而且都是图形化编程
    systemcall
        12
    systemcall  
       2020-05-12 17:13:46 +08:00 via Android
    实现的不算特别复杂建议直接学 Arduino,用 c 写
    那些所谓的图形化编程稍微复杂点的东西就很麻烦了,没 c 直观
    最好用 vscode 写,自己搭建好环境,arduino ide 太烂了,感觉像是在拿记事本写程序
    zaiyund
        13
    zaiyund  
       2020-05-12 17:36:16 +08:00
    如果只要马达转 用有刷直流电机
    如果严格要求马达转的圈数 用步进电机
    如果是控制转的角度 用舵机
    arduino 应该最方便,虽然我也没用过。如果觉得做不好,可以出钱找人
    bibizhang
        14
    bibizhang  
       2020-05-12 17:40:40 +08:00
    TouchDesigner 可以吗
    c416593819
        15
    c416593819  
       2020-05-12 17:44:07 +08:00
    Arduino 玩具遥控车
    照这个学估计可以,需要了解写 c 语言
    marcong95
        16
    marcong95  
       2020-05-12 17:44:27 +08:00
    如果成本、体积可以接受的话,乐高 EV3 了解一下。不可以的话还是只能 arduino 了,或者 micropython 啥的?
    yeqizhang
        17
    yeqizhang  
       2020-05-12 17:57:58 +08:00 via Android
    树莓派,Python 库用起来就是了……
    Phariel
        18
    Phariel  
       2020-05-12 18:00:29 +08:00
    你这位朋友有孩子没?有孩子的话让孩子去上各种少儿编程班 硬件积木的这种 家长偷偷学一下就会了🐶
    colinrat
        19
    colinrat  
       2020-05-12 18:03:49 +08:00 via Android   ❤️ 1
    马达控制是嵌入式开发中门槛比较高的,建议系统性的学习
    zaiyund
        20
    zaiyund  
       2020-05-12 19:17:51 +08:00
    再写一点 需要学点 python/JS 比 C 简单,买一个移植了 python/JS 解释器的开源硬件,比搞树莓派简单,开源硬件插到电脑上 直接就是一个 u 盘 把代码复制进去就行,都不用下载的。最后 做个电机的驱动电路。这又是软件又是硬件的,如果只做一次两次 不如出去找人
    fengmumu
        21
    fengmumu  
       2020-05-12 20:13:32 +08:00
    推荐树莓派,可以简单了解一下 python,然后看看点击咋控制,搞个驱动模块,接好线,控制一下输出就好了,无非就是 pwa 那一套,不要理楼上的说用 c,咩有必要,玩票性质的 不用搞那么多的,
    动手能力好点的 零基础三四天就可以了 不难的,注意不要直接接,树莓派的 io 口电流很弱的
    Trim21
        22
    Trim21  
       2020-05-12 20:17:11 +08:00
    步进电机的话树莓派 gpio 和 python 就行
    yyang179
        23
    yyang179  
       2020-05-12 20:21:51 +08:00 via Android
    Arduino IDE 安装好后,自带了 Stepper 库用于控制步进电机,需要买个电机和驱动板,连下线就可以转起来了,很方便的。
    imgk
        24
    imgk  
       2020-05-12 20:36:54 +08:00 via iPhone
    树莓派+python 最简单
    Takamine
        25
    Takamine  
       2020-05-12 20:54:02 +08:00 via Android
    装个 Keil,买个开发板。:doge:
    locoz
        26
    locoz  
       2020-05-12 20:56:25 +08:00 via Android
    都是封装好的东西,没啥难度,用树莓派直接调 GPIO 库就好了。比如直流电机就设个 1 就能转、0 就能停,步进电机调用一次动一下、高频调用就转起来了,加上其他业务代码就完事。
    elfive
        27
    elfive  
       2020-05-12 20:57:12 +08:00 via iPhone
    看你是什么电机,有的可调速的可能是 PWM 信号调速,有的是电压调速,两个都很简单,前者可以暴力 TTL 模拟,后者 D-A 转换一个芯片就能搞定。
    hoyixi
        28
    hoyixi  
       2020-05-12 20:57:20 +08:00
    用 API 或者指令就可以控制,简单的很;即使没公开提供,你也可以 hack
    lloovve
        29
    lloovve  
       2020-05-12 22:14:54 +08:00 via iPhone
    简单 pwm 复杂步进电机,再复杂伺服电机,在复杂无感无刷 foc
    mason961125
        30
    mason961125  
       2020-05-13 12:33:18 +08:00 via iPhone
    @Takamine #24 先出 3W 授权费(
    sw2hw
        31
    sw2hw  
       2020-05-14 02:48:14 +08:00
    凭本人多年的工作经验和外包的经历,我想你的朋友可能是想“控制马达驱动器“---这个只需要做好软件接口即可,里面的实现细节恐怕不是你的朋友感兴趣的,也没必要知道。
    ducks
        32
    ducks  
       2021-05-31 00:45:22 +08:00
    我玩过 最简单了 有成品的 串口控制马达驱动模块,什么方向 角度,速度 步进角 细分 矢量啥的,全部靠串口指令就行,简单的不行,比如 让第一个舵机( 180 度)转到最中间 1P2000 (常见好像就 pwm 1500~2500 的) ,就这,没错就这,比如驱动直流的,就 102 (正向 速度 2 ),020 (反 20 速度),没错就这! 复杂一点的会上 modbus,加钱真的啥都好解决,一个驱动板就几十块钱,完全走串口,比如一个串口控制 32 路舵机,四路直流驱动 多路步进的(价格会上百),伺服的我还没有玩过(玩不起 :dog ),还玩过单串口测 16 路电压啥的,万能的深水宝,之前有个半个师傅(非技术向),深圳弄城中村宽带的,带着我就拿着钱和想法进了华强北,包括 pcb 设计,组装,测试,代码编写,测试全部一条龙,反正我是惊呆了!还可以这样玩?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1343 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 17:39 · PVG 01:39 · LAX 09:39 · JFK 12:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.