2020 年,如何编程控制马达?以及,如果一个不会编程的人想学如何控制马达,应该学什么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
RtIHZ
V2EX    编程

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

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

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

    关于编程控制马达,我只知道 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 语言基础语法

    如果要深入就要研究指令集, 寄存器, 时钟, 机器周期, 通信协议, 电机拖动什么的了
        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     Solana     5270 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 09:11 PVG 17:11 LAX 02:11 JFK 05:11
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86