Thông báo

Collapse
No announcement yet.

Điều khiển động cơ bước

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Điều khiển động cơ bước

    ai làm về động cơ bước rồi xem giúp em bị sai chỗ nào mà khi em tes mạch thật thì động cơ chỉ giật tại chỗ không có quay gì cả.mục đích của em là cho động cơ quay 1 góc 90° thank các bác nhá
    Code:
    #include <REGX52.H>
    sbit chuc1=P0^5;
    sbit dv1=P0^4;
    sbit chuc2=P0^7;
    sbit dv2=P0^6;
    sbit dc1=P1^0;
    sbit dc2=P1^1;
    sbit dc3=P1^2;
    sbit dc4=P1^3;
    sbit dc11=P1^4;
    sbit dc22=P1^5;
    sbit dc33=P1^6;
    sbit dc44=P1^7;
    sbit cb_quang=P0^1;
    sbit cb_hongngoai=P0^2;
    sbit cb=P0^0;
    unsigned char cao,thap;
    maled[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
    void delay_us(int a)
    {
    	while(--a);
    }
    void delay_ms(int b)
    {
    	while(--b) delay_us(1000);
    }
    void hienthi_cao()
    {  
    	unsigned char chuc,dv;
    	chuc=cao/10;
    	dv=cao%10;
    	chuc2=dv2=1;
    	chuc1=1;dv1=0; P2=maled[dv];  delay_ms(3);
    	dv1=1;chuc1=0; P2=maled[chuc];delay_ms(3);
    }
    void hienthi_thap()
    {
    	unsigned char chuc,dv;
    	chuc=thap/10;
    	dv=thap%10;
    	chuc1=dv1=1;
    	chuc2=1;dv2=0; P2=maled[dv]; delay_ms(3);
    	dv2=1;chuc2=0; P2=maled[chuc]; delay_ms(3);
    }
    void chaydcthuan()
    {
    	dc4=1;dc1=0;
    	hienthi_cao();
    	hienthi_thap();
    	dc1=1;dc2=0;
    	hienthi_cao();
    	hienthi_thap();
    	dc2=1;dc3=0;
    	hienthi_cao();
    	hienthi_thap();
    	dc3=1;dc4=0;
    	hienthi_cao();
    	hienthi_thap(); 
    }
    void chaydcnguoc()
    {
    
    	dc1=1;dc4=0;
    	hienthi_cao();
    	hienthi_thap();
    	dc4=1;dc3=0;
    	hienthi_cao();
    	hienthi_thap();
    	dc3=1; dc2=0;
    	hienthi_cao();
    	hienthi_thap();
    	dc2=1;dc1=0;
    	hienthi_cao();
    	hienthi_thap();	
    }
    void chaydcthuan1()
    {
    	dc44=1;dc11=0;
    	hienthi_cao();
    	hienthi_thap();
    	dc11=1;dc22=0;
    	hienthi_cao();
    	hienthi_thap();
    	dc22=1;dc33=0;
    	hienthi_cao();
    	hienthi_thap();
    	dc33=1;dc44=0;
    	hienthi_cao();
    	hienthi_thap(); 
    }
    void chaydcnguoc1()
    {
    	dc11=1;dc44=0;
    	hienthi_cao();
    	hienthi_thap();
    	dc44=1;dc33=0;
    	hienthi_cao();
    	hienthi_thap();
    	dc33=1; dc22=0;
    	hienthi_cao();
    	hienthi_thap();
    	dc22=1;dc11=0;
    	hienthi_cao();
    	hienthi_thap();
    }
    void kiem_tra_cam_bien()
    {
    	int i;
    	if(cb_quang==0)
    	{  cao++;
    	   while(cb_quang==0)
    		{
    			for(i=0;i<50;i++)
    			chaydcthuan();
    		}
    		for(i=0;i<20;i++)
    		{
    			hienthi_cao();
    			hienthi_thap();
    		}
    		for(i=0;i<50;i++)
    		chaydcnguoc();
    	}
    	if(cb==0)
    	{
    	   while(cb==0)
    		{
    			for(i=0;i<50;i++)
    			chaydcthuan1();
    		}
    		for(i=0;i<20;i++)
    		{
    			hienthi_cao();
    			hienthi_thap();
    		}
    		for(i=0;i<50;i++)
    		chaydcnguoc1();
    	}
    	if(cb_hongngoai==0)
    	{
    		thap++;
    		while(cb_hongngoai==0)
    		{ 
    			hienthi_cao();
    			hienthi_thap();
    		}
    	
    	}
    }		
    void main()
    {  
    	while(1)
    	{
    		kiem_tra_cam_bien();
    		hienthi_cao();
    		hienthi_thap();
    	}
    }

  • #2
    không ai giúp em à

    Comment


    • #3
      hep me! cả nhà sửa giúp em với

      Comment


      • #4
        Nguyên văn bởi chemgio12199 Xem bài viết
        hep me! cả nhà sửa giúp em với
        Đầu tiên bạn hãy viết một chương trình đơn giản nhât là cho động cơ quay từng bước một thật chậm (0.5 s / bước) và kiểm tra điện áp đầu ra xem đã được chưa. Nếu đầu ra đã đúng và động cơ cứ giật một chỗ thì có khả năng bạn đã xác định sai thứ tự cuộn dây của động cơ bước rồi.
        Mua bán thiết bị điện công nghiệp tại Hà Nội, toàn quốc.
        http://diencongnghiep360.com/
        http://tudienhathe.vn/

        Comment


        • #5
          giúp mình với.viết ct đk đc bước quay thuận 1 bước bằng nút nhấn

          Comment

          Về tác giả

          Collapse

          chemgio12199 Tìm hiểu thêm về chemgio12199

          Bài viết mới nhất

          Collapse

          • bqviet
            Trả lời cho Đấu tắt điện cho máy tính bảng
            bởi bqviet
            Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
            06-12-2025, 17:17
          • nguyendinhvan
            Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
            bởi nguyendinhvan
            Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
            05-12-2025, 19:59
          • afrendly
            Trả lời cho Đấu tắt điện cho máy tính bảng
            bởi afrendly
            Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
            04-12-2025, 01:27
          • nick22
            Trả lời cho Máy điện châm ?
            bởi nick22
            Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
            01-12-2025, 13:23
          Đang tải...
          X