这台机器是斯科普里机械工程学院建筑与CAD专业的学生项目,由五名学生组成的团队制造。
这是一台分拣两种盘子的机器。其中一个盘子有洞,另一个没有。我们的任务是研制一种能自动把这些盘子分类的机器。我们提出了这个解决方案,它在其他25台机器中获得了第一名。
亚博88下载
自动分拣机是这样工作的:
- 这些盘子是用手工送入机器的。
- 辊筒对准印版,使印版一个接一个地落在印版库中。
- 当筛板到达分拣机底部时,它会触发一个微动开关。
- 当开关打开时,LED就会打开。
- 如果平板上有一个孔,光电管就会接收到更多的光,电机就会转动到一边。
- 如果平板上没有孔,光电管接收到的光就会少一些,电机就会转动到另一边。
电路原理图
该机采用PIC16F628A微控制器,采用MikroElektronika编程。
源代码
/********************************************************************************/ /* 机械电子设计团队* / / * Proekt阿宝Konstruiranje我CAD * / / *”Dizajn razvoj na 11月了,咱razdeluvanje na dva tipa plocki " */ /* */ /* */ /* */ /* Mikrokontroler: PIC16F628A * / / * Oscilator: Interen na 4 mhz */ /* */ /* 2012年Dekemvri,斯科普里 */ /********************************************************************************/ 的(){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 = 0 x00;//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); }
这是缺少一个相机和opencv!干得好!这是一个典型的行业结构,只是大得多。
不错的项目。多有帮助。
很高兴听到这个消息,谢谢!