RP Store Tìm linh kiện theo mã, gửi BOM nhận báo giá Gửi BOM

Xin các Bác giàu kinh nghiệm về AVR chỉ giáo cho em với!

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts

  • tuanvjpro
    replied
    ^^ đặt tụ vào trễ tín hiệu thì em hiểu còn mấy cái từ kia em mù tịt , nghe quen quen mà quên tiệt cả rồi, chả là ngày xưa học điện tử tương tự hơi lơ là

    Leave a comment:


  • VNarmy
    replied
    À nhân nói về các thể loại gọi là nhấp nhô thì trong code cũng phải debounce chứ nhở. Nếu ko thì nên dùng 1 con trigger schmidt. Chứ đặt con tụ kia vào thì trễ hết tín hiệu. Giá trị mấy con trở để tính dòng đóng mở không cần chính xác lắm nhưng đảm bảo để nó đóng/mở đúng bởi vì tín hiệu là 1/0 thôi.

    Leave a comment:


  • tuanvjpro
    replied
    Cảm ơn lời khen tặng của bác hoahauvn.
    Em tự thấy mình còn nhiều điều chưa biết lắm, lên diễn đàn gặp được những người nhiệt tình như các bác để học hỏi em thực sự rất khoái. Lập topic mà có người quan tâm, giúp đỡ mình thì còn gì bằng nữa.
    Em cũng xin đính chính lại để bác rõ hơn về câu hỏi hum trước của em.
    Cái công thức mà em đưa ra là em tính cái dòng Ice(opto) khi nó open=........
    Ý em muốn hỏi Bác là em tính thế có đúng không thôi mà. ^^ không tự tin lắm vào tính toán nên nhờ Bác xác nhận giúp thôi ạ.hii

    Leave a comment:


  • tuanvjpro
    replied
    Em cảm ơn anh đã chỉ giáo. Trong lúc thiết kế mạch này do gia đình không có điều kiện nên em ráp 3 con trở 1 k+470+470 lại để hạn dòng cho led. Led này là Led tín hiệu báo cho ta biết sensor trả tín hiệu có đúng không. Ý định của em là vậy mà anh,^^ nên hơi lằng nhằng anh thông cảm. Còn về 2 con Tụ kia em muốn lọc đi những nhấp nhô của tín hiệu. Như Bác hoangdai nói cũng rất đúng, cảm biến công nghiệp nên độ tin cậy cao, tuy vậy em để 2 con tụ chắc cũng không sao chứ ạ?
    Em đã ráp mạch này rồi, thông qua cách ly quang thì sensor trả tín hiệu cho vi điều khiển nhận về ngon Bác ạ.
    Cảm ơn Bác nhé!

    Leave a comment:


  • VNarmy
    replied
    Nguyên văn bởi tuanvjpro Xem bài viết
    Còn đây là mạch lấy tín hiệu từ cảm biến:
    Mạch còn đang lởm khởm thế này có mà chạy bằng niềm tin. Con led với mấy cái trở râu ria cùng với 2 con tụ giải tán hết. Tín hiệu cảm biến đưa nối tiếp với con trở 330 ôm đưa vào chân âm của diode opto. Chân dương diode nối VCC. Giá trị điện trở thì tính dựa vào dòng mở của opto. Cái này coi thêm datasheet. Con R4 có lẽ phải là 10k chứ nhỉ.

    Leave a comment:


  • hoangdai
    replied
    Các bạn làm vấn đề trở lên phức tạp nhiều quá rồi. Các modul sensor trong CN nó ra chuẩn 24v (ví dụ nhé) thì đầu ra của nó chả bao giờ nhảy loạn nên đâu, nhảy loạn thì có mà vứt hết, bán cho ma nó mua, chính vì thế mà mấy cái lọc RC có vẻ hơi thừa. Mình thì thấy mạch ra của phần opto sao lại mắc con tụ 105 vào làm cái gì? CÓ thì xung nó thành cong con hết à? Nhớ ko nhầm đây là mạch sửa xung vuông thành tam giác ( Nếu R và C hợp lý thì chắc dốc hơn nhiều đó). Vài điều phát ngôn hy vọng ko có sai nhiều.

    Leave a comment:


  • hoahauvn2
    replied
    Umm cái mạch nhận tín hiệu cảm biến mình chỉnh lại 1 chút theo kinh nghiệm của mình có lẽ nó tốt hơn cái cũ chút
    Click image for larger version

Name:	mach 03.png
Views:	1
Size:	8.7 KB
ID:	1373980
    về 1 số thắc mắc của bạn thì thế này:
    _ Đúng là mình phải mắc diode chống dòng dội về của cuộn cảm solenoid, kiến thức của bạn tuanvjpro tốt đấy
    _Ice max của các opto thông thường đúng là 50mA, vậy khi opto mở nó cho dòng qua tương đối thoải mái dưới mức Ice max chứ ko dựa theo công thức bạn nêu bên trên (2 hoặc 3 led vẫn sáng tốt), với những thiết bị lấy dòng lớn như cuôn dây rơle (cần 150mA để đóng rơle) thì lúc này Ice opto chỉ có thể cung cấp 50mA, kết quả role ko đóng+ opto nóng và có thể chết tiếp điểm CE của opto.
    _trong trường hợp vi điều khiển có sự cố lung tung bạn nên làm một mạch điều khiển dự phòng và nạp lại code vào VDK khác để kiểm tra lại xem ( mình từng gặp trường hợp thiết bị vận hành hoặc để ko trong một thời gian dài thì có lỗi vdk cần nạp lại chương trình)
    _cái mạch RC bác Lupine nói chẳng qua là 1 hệ lọc nhiễu nhỏ thôi, tụ 105 mắc song song với tải nhưng tải có khả năng là hàng công suất cao sẽ quánh lủng tụ nên cần con 68 ohm đỡ mạng dùm.
    Last edited by hoahauvn2; 29-01-2013, 14:17.

    Leave a comment:


  • tuanvjpro
    replied
    Như mạch này thì em tính thế này có đúng không anh?
    Vce của opto=5v
    Ice(opto)max=50mA
    Vậy khi opto cho dòng qua thì Ice=?mA có phải = Ice(Q1)+(24-5)/22K=9.15+0.86=10mA?
    Ice(Q1)=(24-5-0.7)/2K=9.15(mA)
    Anh chỉ giáo cho ạ!
    Last edited by tuanvjpro; 29-01-2013, 11:58.

    Leave a comment:


  • tuanvjpro
    replied
    Xin cảm ơn Nhà thám tử nhé!
    Cảm ơn bác vì đã bỏ time dò bệnh giúp em!
    Em xin cung cấp thêm cho bác để bác dò ra giúp em tên tội phạm này nhé:
    - Ban đầu em sử dụng mã Code 1 anh ạ, thấy nó không được ổn định, em đã chuyển sang dùng mã code 2. Tình hình có vẻ khả quan hơn một chút, nhưng bệnh cũ thì vẫn còn. Cụ thể là :
    + Em dùng ngắt ngoài, mỗi khi có ngắt ngoài thì thực hiện 1 chương trình con điều khiển phối hợp 3 xi lanh làm việc.( Mạch ngắt ngoài em đã test với nhiều ứng dụng rồi, đều OK cả. ) Vậy mà khi máy làm việc được 1 thời gian (không cố định, lúc thì được lâu, lúc thì nhanh) vẫn OK rồi đột nhiên ngắt ngoài có 1 lần mà nó lại làm việc 2 lần==> máy làm việc sai. Mạch ngắt em có bố trí đèn tín hiệu nên theo dõi được dễ dàng, không có chuyện tín hiệu ngắt chập chờn đâu anh ạ. Thế nên em mới tìm tới các anh giàu kinh nghiệm nhờ sự giúp đỡ.
    - Về đường mass của 2 tầng công suất và điều khiển là cách ly hoàn toàn anh ạ, không bị xung đột gì gì đâu anh ạ.
    - Phần tử điều khiển piston là van solenoid mã hiệu :SY 5140-5D-X148 của hãng SMC. Dùng điện 24V điều khiển piston khí nén.
    - Em xin hỏi anh vài điều nhỏ ạ: Anh ơi câu trở 220K vào chân 6 xuống mass có phải là đảm bảo là ông Opto không được mở lung tung phải không ạ? và nhiệm vụ mạch R-C khi mắc thêm vào là như thế nào hả anh?
    Em cảm ơn anh nhiều nhé!^^
    Last edited by tuanvjpro; 29-01-2013, 11:51.

    Leave a comment:


  • tuanvjpro
    replied
    Vâng ạ! Cảm ơn về sự nhiệt tình của anh ^^! Em lấy mạch của Navitas vẽ lại để hỏi các anh mà.hì. Em cũng chưa hiểu về cách mắc Thyristo của mạch, sao lại mắc như thế, nên muốn hỏi các anh để hiểu rõ hơn. em cũng thấy nó mắc khó hiểu. Nếu dùng opto để phân cực cho Tran như anh nói sẽ đơn giản hơn. Để điều khiển van solenoid em cho thêm vào một con diode nữa để dập dòng cảm ứng tránh làm hỏng tran nữa phải không anh?
    Chúc anh một ngày vui vẻ nhé !

    Leave a comment:


  • tuanvjpro
    replied
    Vâng. Em cảm ơn anh, em viết 2 mã code này và cũng đã hiểu chỗ đó anh ạ, em muốn hỏi anh, trong cái vòng While(ss2!=0){} đó, em không viết câu lệnh gì thì vi điều khiển sẽ làm gì? Nó không làm gì phải không ạ? Có nghĩa là cũng tương đương while(ss2!=0){nope;} phải không anh?
    Mục đích đoạn code mã 1 em muốn viết đó là :
    Piston1=0;// Gán cho piston1 giá trị =0;
    while(ss2!=0){};// Không làm gì hết khi mà thằng ss2 còn chưa =0
    ............(thay đổi piston 1)// Nếu mà cái vòng While(....) thoát ra rồi thì ta thay đổi giá trị cho thằng piston1
    Lúc này ss2 đã phải =0 rồi.
    Vì câu lệnh gán "piston1 =0" này em đặt ở đầu chương trình và khi này thì chắc chắn "ss2!=0" nên công việc thực hiện của 2 thằng là tương đương.
    Vậy nên theo em về mặt cú pháp và ý nghĩa 2 đoạn code khác nhau chứ còn công việc mà 2 thằng thực hiện là giống nhau phải không ạ?
    Em cảm ơn anh ^^!

    Leave a comment:


  • Acxen_lupine
    replied
    Nguyên văn bởi tuanvjpro Xem bài viết
    Vâng em cảm ơn các Bác đã tư vấn giúp em. Em đang vẽ lại cái mạch nguyên lý mong các bác chỉ giúp. Em viết bài trong lúc đang vội vàng mong bác Acxen_Lupin thông cảm cho em nhé. Em sẽ rút kinh nghiệm. Một lần nữa cảm ơn sự góp ý của các bác

    Mình đã xem các câu hỏi mới của bạn.... vừa bị chê ít thông tin, thì bạn tuôn một tràng xối xả... từ từ thôi kẻo tẩu hỏa nhập ma thì khổ!!!
    Trước hết:
    - Ở con opto-cuppler, bạn cần có thêm trở 220k nối chân 6 xuống đất.
    - Về cơ bản mạch bạn đưa ra không có vấn đề.
    - Hai đoạn mã bạn đưa ra về công dụng không khác nhau, nhưng về tính an toàn thì code 2 tốt hơn.
    Mình cần thêm vài thông tin nữa để có thể trả lời rõ hơn:
    - Đường đất ở các phần: Cảm biến, Mạch VXL, Piston có chung nhau không?
    - Piston mà bạn nói có phải là van thủy lực dùng rơ le điều khiển không? điện áp cuộn hút là bao nhiêu?
    - Cho mình xem thêm mã hiệu hoặc hình ảnh của PISTON?
    - Bạn có thể mô tả rõ hơn về "căn bệnh" mắc phải không:
    + Bạn để ý kỹ xem "khi bất thường - không trơn tru" có phải rơi vào những lúc bạn đóng cắt tải không?
    + Muốn thử thì bạn hãy dùng tải là 1 bóng LED - có điện trở hạn dòng nhé, thay cho tải PISTON, nếu mạch chạy OK thì đúng là do PISTON gây ra...
    + Nếu xác định đúng hiện tượng bất bình thường xảy ra khi đóng cắt tải, bạn hãy làm như sau: Lấy 1 tụ 1uF (loại tụ không phân cực, ký hiệu 105) mắc nối tiếp với 1 điện trở 68 ôm. Mang mạch RC này mắc song song với tải PISTON... đảm bảo mạch sẽ trơn tru hơn...

    Hy vọng vài góp ý sẽ giúp được bạn.
    Last edited by Acxen_lupine; 28-01-2013, 23:32.

    Leave a comment:


  • vietthanh123
    replied
    Mã 1:
    piston1=0; // gán biến piston1=0;
    while(ss2!=0){} // lệnh này ko có ý nghĩa gì cả vì trong ngoặc kép không có lệnh gì hết.
    ........(Thay đổi giá trị Piston1)
    Mã 2:

    while(ss2!=0){piston1=0; } // Nếu ss2 khác 0 thì piston1 được gán =0.
    ...........(Thay đổi giá trị Piston1)
    Em cảm ơn!
    Do đó 2 lệnh này khác nhau, Mã 1 thì piston1 luôn =0, mã 2 thì piston1 chỉ =0 khi ss2 khác 0.
    Last edited by VNarmy; 29-01-2013, 14:30.

    Leave a comment:


  • hoahauvn2
    replied
    Fuse bit Ext. Crystal/Resonator High Freq Startup time 16kCK +64ms đúng chứ. Cái fusebit này là cho thạch anh trên 8Mhz đấy
    Mình có chỉnh lại cho bạn cái mạch điều khiển van solenoid rồi đó, nếu làm theo mình mà chạy thì sẽ ổn hơn (KO chạy xin PM lại mình chỉnh cho), cái mạch cũ thấy con SCR phức tạp quá vả lại nó mắc trở phân cực hơi khó hiểu.
    Click image for larger version

Name:	HINH 01.png
Views:	1
Size:	14.2 KB
ID:	1373206

    mình hơi bận nên cái mạch nhận tín hiệu cảm biến tối mình sẽ trả lời.
    Còn 2 cái code của bạn đưa trên thì nó khác nhau hoàn toàn.
    cái code thứ nhất thì nó đóng cái piston1 bất chấp điều kiện thì nó vào thực hiện while và ko hề dính líu gì đến piston1 nữa.
    code thứ hai thì khi nào thỏa điều kiện trong while thì nó mới đóng piston1

    Leave a comment:


  • tuanvjpro
    replied
    Tiện đây các anh cho em hỏi: 2 mã code này có khác nhau không?
    Mã 1:
    piston1=0;
    while(ss2!=0){}
    ........(Thay đổi giá trị Piston1)
    Mã 2:

    while(ss2!=0){piston1=0; }
    ...........(Thay đổi giá trị Piston1)
    Em cảm ơn!

    Leave a comment:

Về tác giả

Collapse

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

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

Collapse

Đang tải...