最帅的老饼 发表于 2017-9-29 09:45:37

PINKWALKMAN 发表于 2017-9-22 08:24
建议不要用裸露的齿轮传动,不好买零件且容易生锈,建议用现成的减速电机结合链条传动好一些;电机功率需要 ...

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

warriorkings 发表于 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

在两只门上面安装了两只电位器,用来检测门的位置。

最帅的老饼 发表于 2017-10-5 23:18:45

门销,用舵机改装后的直流电机驱动。

maxims 发表于 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中,。。。。。。。

galaxy 发表于 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 ...

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

galaxy 发表于 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 毫秒之间,杂讯是很有可能。
谢谢!!
页: 1 [2] 3 4
查看完整版本: 新手做第一个ARDUINO 应用项目