自动分拣机 - 机电一体化学生项目

这台机器被创建为主题建筑和CAD的学生项目,由五名学生的团队在斯科普里的机械工程学院。
这是一台机器,用于对两种类型的板进行分类。其中一个板有孔,另一个板材没有。我们的任务是开发一台机器,它将自动整理这些板块。我们解决了这个解决方案,它实际上赢得了25个其他机器的第一名。


betway


这是自动分拣机的工作原理:

  • 将板用手送入机器。
  • 滚轮将板上逐个将板落在板盒中。
  • 当板到达分拣机的底部时,它会触发微开关。
  • 开关打开时,LED开启。
  • 如果板具有孔,则光电池将获得更多光,并且电动机将旋转到一侧。
  • 如果板没有孔,则光电池将接收较少的光,并且电动机将旋转到另一侧。

电路原理图


机器使用PIC16F628A微控制器,并使用Mikroelektronika编程。

源代码


/ ********************************************************************************/ /* Mechatronic Design Team */ /* Proekt po Konstruiranje i CAD */ /* "Dizajn i razvoj na nov ured za razdeluvanje na dva tipa plocki" */ /* */ /* */ /* */ /* Mikrokontroler: PIC16F628A */ /* Oscilator: Interen na 4MHz */ /* */ /* Dekemvri, 2012, Skopje */ /********************************************************************************/ void left () { RB2_bit = 1; //motorot pocnuva da se dvizi na levo delay_ms (500); // motorot se dvizi do krajna leva polozba delay_ms (500); delay_ms (500); delay_ms (500); PORTB = 0x00; //koga ke stigne do krajnata leva polozba se gasi delay_ms (200); //vreme za kocenje na motorot RB3_bit = 1; //se aktivira relejot za promena na nasokata delay_ms (20); RB2_bit = 1; //motorot pocnuva da se dvizi desno delay_ms (500); //sredna pozicija na motorot delay_ms (500); delay_ms (500); delay_ms (500); PORTB = 0x00; //motorot se gasi koga ke dojde do sredina delay_ms (150); //vreme za kocenje na motorot } ////////////////////////////////////////////////////////////////////////////// void right () { RB3_bit = 1; //Se uklucuva relejot za promena na nasoka na motorot delay_ms (30); RB2_bit = 1; //motorot pocnuva da se dvizi desno delay_ms (500); delay_ms (500); delay_ms (500); delay_ms (500); //motorot se dvizi do krajna desna polozba PORTB = 0x00; //koga ke stigne do krajna desna polozba se gasi delay_ms (200); //vreme za kocenje na motorot RB2_bit = 1; //motorot pocnuva da se dvizi levo delay_ms (500); //sredna pozicija na motorot delay_ms (500); delay_ms (500); delay_ms (500); //sredna pozicija na motorot PORTB = 0x00; //motorot se gasi koga ke dojde do sredina delay_ms (150); //vreme za kocenje na motorot } ////////////////////////////////////////////////////////////////////////////// void main() { //pocetok na glavna programa TRISB = 0x00; //PORTB Izlezi TRISA = 0xff; //PORTA Vlezovi CMCON = 0x07; //gasenje na komparatori do { delay_ms (50); PORTB = 0x00; if (PORTA.b0==1) { //dali ima kocka? delay_ms (100); if (PORTA.b1==0) { //dali ima otvor? left (); } //ako ima otvor dvizi se levo else (right ()); }} //ako nema dvizi se desno while (1); }

3回复

发表评论

您的电子邮件地址不会被公开。

受到推崇的

2019年初学者和爱好者的最佳进入级示波器

为初学者和爱好者最好的示波器

受到推崇的

2019年初学者的8个最佳Arduino Starter Kits

初学者的8个最佳Arduino Starter Kits

受到推崇的

用于初学者和爱好者的最佳3D打印机 -  3D打印

初学者和爱好者的最佳3D打印机