极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: 最帅的老饼

新手做第一个ARDUINO 应用项目

[复制链接]
 楼主| 发表于 2017-9-29 09:45:37 | 显示全部楼层
PINKWALKMAN 发表于 2017-9-22 08:24
建议不要用裸露的齿轮传动,不好买零件且容易生锈,建议用现成的减速电机结合链条传动好一些;电机功率需要 ...

多谢你的建议!!
同步带和连条后期修理、保养麻烦,被我排除了。
齿轮等这些小零件有足够设备制造,这些零件只要能用不锈钢都用。
悬挂都想好了。
门机已经快好了,近期会上图。
回复 支持 1 反对 0

使用道具 举报

发表于 2017-9-29 11:15:50 | 显示全部楼层
步进电机的扭矩是个问题,不过速度小的时候扭矩还可以。控制步进电机用支持ardunio的函数库Accelstepper,简单方便实用。只不过在我的项目中,它与ardunio Uno的配合不行,现在考虑用Due板子来驱动控制。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-30 16:04:56 | 显示全部楼层
sam413 发表于 2017-9-23 10:47
我觉得用液压缸泵来开关大门更合适一点。其它案例比如:货车尾板。

我可不想把脚夹断。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-30 16:06:22 | 显示全部楼层
warriorkings 发表于 2017-9-29 11:15
步进电机的扭矩是个问题,不过速度小的时候扭矩还可以。控制步进电机用支持ardunio的函数库Accelstepper, ...

有Accelstepper 的详细资料吗
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-30 16:16:10 | 显示全部楼层
shihaipeng04 发表于 2017-9-22 13:10
经验表明,这种大扭矩粗活的地方用步进电机不给力。不如直流减速给力,或者也可以考虑弄个拉绳来驱动门的开 ...

有大扭矩步进电机,我用的就是大扭矩步进电机,加上齿轮的  9:1 减速扭矩是没问题的。在前期的试验中发现开关门看着简单,实际都需要一定的精准控制,特别是在关门时要减速慢进,到位要刹车,否则门会撞击后反弹门就没法关上。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-9-30 16:36:07 | 显示全部楼层
在两只门上面安装了两只电位器,用来检测门的位置。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-5 23:18:45 | 显示全部楼层
门销,用舵机改装后的直流电机驱动。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2017-10-6 14:05:46 | 显示全部楼层
我去,好牛叉的diy
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-6 22:15:24 | 显示全部楼层
本帖最后由 最帅的老饼 于 2017-10-6 22:33 编辑

步进电机驱动代码

今天测试了一段步进电机驱动代码,不敢私藏。

                      digitalWrite ( left_Enbl , LOW );     //开启左边步进电机使能
                      delay(500);   
                      digitalWrite ( left_Dir , LOW );     //方向 LOW 是开门.
                      pinMode ( left_Puls , OUTPUT );           //把脉冲针脚定义为输出,26号针脚。
                                             
                      randNumber = random(140 , 165);      
                      randNumber = randNumber * 5 ;         //生成一个700 — 825 之间的随机数,用于开门的角度。
                       
                        tone (left_Puls , 4800 , 400 );         //26号脚开始输出脉冲,开左门动作开始。
                        delay (300 );
                        tone (left_Puls , 9600 , 400 );       //加速
                        delay (300 );
                        tone (left_Puls , 15000 , 400 );
                        delay (300 );
                        tone (left_Puls , 22000 , 400 );
                        delay (300 );
                        
                        tone (left_Puls , 30000 );                  //中段的开门速度,再高就会出现失步,当然这是对于我这个物理环境。
                       
                        do{
                           *p_vl = analogRead(A0);                //不断读出左边电位器值。
                                                                                       //这里用了个指针变量,这不是必须的。只是想工作效率高点。
                            delay (50 );                                           //这里用了个do...while   当开门量达到就跳出循环。
                        }while ( *p_vl < randNumber );           //randNumber是开门的量,这量我用随机产生。
                                                                                   //左电位器达到随机值,跳出 do—while
                                tone (left_Puls , 22000 , 400 );   //减速
                                delay (300 );
                                tone (left_Puls , 15000 , 400 );   //减速
                                delay (300 );
                                tone ( left_Puls , 9600 , 400 );
                                delay ( 300 );  
                                 tone (left_Puls , 4800 , 400);
                                delay ( 300 );
                                                                                //  noTone 函数好象不给力,我用下面方法来停止脉冲输出。
                                pinMode( left_Puls , INPUT );         //把脉冲针脚定义为输入来停止脉冲的输出。

注:
                tone () ; 脉冲输出比 digitalWrite ( );     +   delay( );  给力很多。
                以上是我测试了两天的代码,工作时感觉很好、很给力,合适这个项目使用。
               



回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-6 22:41:59 | 显示全部楼层
以上就是门机驱动的核心代码。
但是。。。门是两扇,arduino板好象同一时间只能使用一个 tone () 函数。
现在只能加多一块板来实现两扇门的同时驱动。
另外一个门机在DIY中,。。。。。。。
回复 支持 反对

使用道具 举报

发表于 2017-10-7 06:14:19 | 显示全部楼层
最帅的老饼 发表于 2017-9-23 22:22
作为论坛新手的我今晚上来睇到很多网友的意见。很开心但又很痛苦。因为我每小时才能回复一个贴。

所以我 ...

>>>后来发现舵机的外壳只要与大门接触到就不正常,离开又恢复正常工作

光是看這問題的描述 , (空載是ok的) 感覺是~~
1.接觸不良
2.地線沒接好
供您參考
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-7 08:06:00 | 显示全部楼层
galaxy 发表于 2017-10-7 06:14
>>>后来发现舵机的外壳只要与大门接触到就不正常,离开又恢复正常工作

光是看這問題的描述 , (空載是o ...

都检查过,还是找不到原因。
但是,现在我把问题绕开了。
谢谢!
回复 支持 反对

使用道具 举报

发表于 2017-10-7 10:49:17 | 显示全部楼层
本帖最后由 galaxy 于 2017-10-7 10:50 编辑
最帅的老饼 发表于 2017-10-7 08:06
都检查过,还是找不到原因。
但是,现在我把问题绕开了。
谢谢!


剛想到一個問題,

雜訊....導致誤動作

加大電源供應器的濾波電容試試看,或並個 0.1u 的旁路電容 ,濾雜訊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-7 13:24:26 | 显示全部楼层
galaxy 发表于 2017-10-7 10:49
剛想到一個問題,

雜訊....導致誤動作

多谢你的意见,这项目我已经把舵机电路板都拆了。
以后遇到这些问题我会想到你的意见。
谢谢!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-10-7 13:33:02 | 显示全部楼层
本帖最后由 最帅的老饼 于 2017-10-7 17:58 编辑
galaxy 发表于 2017-10-7 10:49
剛想到一個問題,

雜訊....導致誤動作


因为你的回复,我专门去查了下舵机的控制机制。
50Hz信号  脉冲宽度 1.25 毫秒 为 0度  1.75 毫秒为 180 。
调整就在 0.5 毫秒之间,杂讯是很有可能。
谢谢!!
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-26 12:41 , Processed in 0.042830 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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