Wednesday, January 17, 2018

Bài 1 : Giới thiệu về dòng điện, điện áp và điện trở.

Bài 1 :  Giới thiệu về dòng điện, điện áp và điện trở.

Mạch điện tử cơ bản
Hình 1 : Mạch điện tử cơ bản


Với những bạn yêu thích điện tử và có ý định đeo đuổi với nghề thì điện trở, điện áp và dòng điện là những khái niệm vô cùng quan trọng và không thể nhầm lẫn.

1. Định nghĩa

Tôi xin đưa ra định nghĩa về 3 khái niệm quan trọng này trước đã :
  • Điện áp là hiệu số điện thế giữa hai điểm khác nhau của mạch điện. Thường thì trong mạch điện họ sẽ chọn 1 điểm có điện thế được quy định = 0.
  • Dòng điện là dòng chuyển dời có hướng của các điện tích trong mạch điện tử. Các điện tích ở đây có thể là electron, ion dương, ion âm, hay là các lỗ trống..
  • Điện trở là khả năng ngăn cản dòng điện chuyển dời bên trong vật liệu. Trong tự nhiên thì kim loại là chất dẫn điện tốt tức là chúng có điện trở nhỏ, những chất như polyme, giấy ,gỗ là chất cách điện tức là chúng có điện trở lớn.

2. Công thức

Định luật Ôm
Hình 2 : Định Luật Ôm
U: Đơn vị đo là V (Vol).
I : Đơn vị đo là A  (Ampe).
R : Đơn vị đo là Ω (Ôm).

Với công thức về định luật Ôm trên chúng ta có thể tính được các giá trị của điện trở, điện áp , hay dòng điện.
Ví dụ : Cho mạch điện như hình 1: ở trên. Cấp điện áp là 3V và sử dụng điện trở 10Ω. Lúc này dòng điện I = 3V / 10Ω = 0.3A.

3. Nhân xét quan trọng

  • Điện áp luôn được đo tại 2 điểm khác nhau trong mạch.
  • Dòng điện thì chỉ được đo tại 1 điểm trong mạch.
  • Dòng điện đi vào tại 1 điểm của mạch thì phải luôn bằng dòng điện đi ra .
 Ví dụ như hình 1. chúng ta đo dòng điện bằng Ampe kế ở phía trước của điện trở phải bằng dòng điện khi ta mắc ampe kế phía sau điện trở. Ở đây điện trở là 1 điểm.

Wednesday, May 17, 2017

Hướng dẫn làm mạch in thủ công

  

 Với các bạn mới bắt đầu bước chân vào lĩnh vực điện tử, hay chỉ cơ bản là các bạn muốn chế 1 mạch điện tử nào đó thì mạch in 1 phần tất yếu không thể thiếu được trong quá trình desgin.
   
Tôi đã làm 1 video nhỏ hướng dẫn từng bước làm mạch in và các linh kiện cần thiết.
  • Giấy in (giấy catalog, quảng cáo, có 1 mặt bóng, giấy màu thủ công )
  • Bàn là
  • khoan
  • Chất ăn mòn (  FeCl3) tên ngoài chợ là muối ăn mòn phip đồng
  • Phíp đồng tốt.



Thursday, February 25, 2016

Hướng dẫn làm đồng hồ điện tử số bằng Led 7 đoạn và 89S52


Rảnh rỗi sinh nông nổi chế 1 cái đồng hồ treo tường nho nhỏ chia sẻ với anh em yêu điện tử .
mạch này tôi đã vẽ lại PCB cho đỡ phải câu dây quá nhiều
Đầu tiên show hàng tẹo chứ nhỉ :



List linh kiên gồm có

3 con led 7 đoạn đôi loại Anot chung

6 tran sistor A1015

Pin 3V và đế pin

1 IC Ds1307

1 Thạch anh 12Mhz

1 thạch anh 32,768khz

Trở 1k : từ R1 -> R14

trở R15 10k

trở R16 và R17 4.7k loại trở dán 0805

IC 7805 1 con

tụ C1 và C3 100u 2 con

tụ C7 C8 22p 2 em

trở thanh 10k 1 con

vi điều khiển 89S52 1 con

Tổng thiệt hại khoảng 80k


Chỗ khoanh tròn màu đỏ trên hình vẽ là 2 con trở dán loại 0805
Download file PCB và file hex tại đây

p thêm cả code cho các bạn tham khảo viết bẳng trình biên dịch SDCC 
đã fix lỗi.
IC 89S52 cần được "nạp đạn" là file hex trước khi chạy nhé

Nguồn điện cung cấp

Mạch đồng hồ này sử dụng điệ áp 1 chiều từ 9 -> 12V.
Các bạn có thể dễ dàng làm được với 1 củ biến áp nhỏ với dòng tầm 1A. và 1 diot cầu

2 chân giữa nối với 2 đầu thứ cấp 9V hoặc 12V của biến áp . Còn 2 chân kia là nguồn đưa vào mạch đồng hồ.

Hướng dẫn cài đặt đồng hồ :

Sau khi làm sau và cắm điện " 1 chiều 12V " . Các bạn sẽ thấy mạch hiện thị số 00-00-80. Ok. như vậy là coi như các bạn đã hoàn thành bước đầu tiên.

Các bạn ấn nút "Set" nút ngoài bên trái để cài đặt giờ, phút, và giây.Giờ và phút thì không có gì để nói. Riêng phần giây thì các bạn ấn nút "Dow" là nút ngoài cùng bên phải để lùi "giây" lại nhỏ hơn 60 , chẳng han giây = 59 chẳng hạn.Sau đó ân "Set" lần nữa để chọn các chế độ 12h hoặc 24h.Ấn "Set" lần nữa để đồng hồ chạy.

Các bạn ùng tham gia nhóm Face với tôi nhé https://www.facebook.com/groups/dientuungdung123/

1 vài sản phẩm đồng hồ của các bạn trên Facebook

  Tác phẩm của Minh châu https://www.facebook.com/uchiha.HN

Tác phẩm của Dương

Wednesday, February 17, 2016

Cách sử dụng Arduino như 1 board lập trình ATmega328 .


   Arduino là 1 board lập trình vi điều khiển Atmega328. Lập trình trực tiếp trên IDE và nạp chương trình luôn trên đó là rất nhanh.
   Nhưng có 1 bất cập đó là khi bạn chỉ muốn coi nó là 1 board AVR thì làm thế nào nạp file hex được biên dịch bằng WinAVR hoặc codeVision đây ??????

Điều đó đã được giải quyết với phần mềm Xloader V1.0

Chỉ cần chọn Cổng Com và file hex sau đó ấn Upload là xong.
Download phần mềm tại : http://xloader.russemotto.com/


Tuesday, February 9, 2016

Tính toán quấn máy biến áp 1 pha tần số 50Hz

    


      Máy biến thế có thể thay đổi hiệu điện thế xoay chiều, tăng thế hoặc hạ thế, đầu ra cho 1 hiệu điện thế tương ứng với nhu cầu sử dụng. Máy biến áp được sử dụng quan trọng trong việc truyền tải điện năng đi xa. Ngoài ra còn có các máy biến thế có công suất nhỏ hơn, máy biến áp (ổn áp) dùng để ổn định điện áp trong nhà, hay các cục biến thế, cục xạc, ... dùng cho các thiết bị điện với hiệu điện thế nhỏ (230 V sang 24 V, 12 V, 3 V, ...). Bài này hướng dẫn các bạn tự quấn lấy 1 cái máy biến áp phù hợp với mục đích sử dụng của mình. Không cần phải đi mua cho dù nó rẻ hơn.
Để quấn được máy biến áp thì chúng ta cần phải lưu ý mấy vấn đề cơ bản sau đây :
+ Công suất biến áp
+ Điện áp đầu vào
+ Điện áp đầu ra
+ Tổn hao của máy biến áp
+ Quan trọng hơn nữa cần để ý đến vật tư quấn máy biến áp[separator]
I ) Cấu tạo máy biến áp
Máy biến áp có cấu tạo rất đơn giản nó gồm những phần sau :



+ Thứ 1 : Nó có 1 cuộn dây sơ cấp. Đây là cuộn dây đầu vào. Điện áp đầu vào được đưa vào cuộn dây này.
+ Thứ 2 : Cuộn dây sơ cấp. Đây là cuộn dây đầu ra. Điện áp đầu ra được lấy từ cuộn dây này
+ Thứ 3: Lõi sắt hay Ferit. Đây cũng là gông đỡ cho biến áp và là phần cảm ứng giữa hai cuộn sơ cấp và thứ cấp
Máy biến áp nó cấu tạo gồm 3 phần chính đó. Chỉ có điện áp xoay chiều mới truyền được qua biến áp chuẩn nhất là điện áp hình sin.

II ) Tính toán các thông số của máy biến áp
















Kết Quả





Bạn hãy mua cỡ dây gần với kết quả nhất.
Nếu chương trình có gì chưa chính xác rất mong nhận được góp ý của các bạn vào Comment bên dưới.

Phần mềm tính điện trở cho Led


Chương trình này giúp bạn tính luôn điện trở cần mua cho bảng led
Số bóng led trên 1 hàng bạn có thể nhập tuỳ theo sở thích



  • Kết Quả


  • Công cụ tính toán mạch điện của IC MC34063

    Mạch gồm các linh kiện sau:
    • Tụ điện đầu vào: 100uF, tụ hóa
    • condensator iesire: 470uF, tụ hóa, low ESR
    • diot xung: 1N5818, 1N5819, 1N5820, ...
    • cuộn cảm L: 100uH...220uH
    Mạch này có tác dụng nâng điện áp, hạ áp .v.v
    Vin V (max  40V)
    Vout V
    Iout mA (max 1500mA)
    Vripple mV(pp)
    Fmin kHz (max 100KHz)
    mc34063 stepdown

    Monday, February 1, 2016

    Cách lập trình vào I/O ra ATmega với WinAVR giống với VodeVision

    WinAVR là 1 trình biên dịch C cho Atmega. Nó là 1 phần mềm miễn phí hiện đang sử dụng rộng rãi trên toàn thế giới mà điển hình đó là Arduino.

    Như các bạn đã biết về cơ bản thì WinAVR và CodeVision là giống nhau. Nhưng chỉ có 1 vài cái hơi khác đó là về cách sử dụng các cổng vào ra của Atmega.

    Với CodeVision thì điều đó thật dễ dàng.
    Ví dụ cổng PB3 được cấu hình là cổng ra thì muốn có tín hiệu "1" thì chúng ta chỉ cần viết là PORTB.3=1 là xong .
    Hoặc cổng PD1 được cấu hỉnh là cổng đầu vào thì để đọc được tín hiệu trên chân này chúng ta chỉ cần if(PIND.1==0) là xong.

    Với WinAVR thì điều đó hơi phức tạp hơn 1 chút xíu
    vẫn ví dụ trên cổng PB3 được cấu hình là cổng ra thì muốn có tín hiệu "1" thì chúng ta cần phải viết:
    PORTB|=1<<PB3;
    Câu lệnh này chả có gì là khó hiểu nó có nghĩa là PORTB=PORTB|(1<<PB3). Với các bạn hiểu và nắm vững C nó là "muỗi"
    Và để xuất tín hiệu "0" thì chúng ta dùng dòng lệnh:
    PORTB&=~(1<<PB3);
    Với lệnh đọc tín hiệu trên chân PD1 chẳng hạn chúng ta dùng lệnh
    if(!(PIND&(1<<PD1)))
    Câu lệnh này tức là nếu PD1 về "0) thì PIND&(1<<PD1)=0 sau lệnh đảo sẽ =1 . dòng lệnh if sẽ được thực hiện.
    Điều này đòi hỏi bạn phải thành thạo các lệnh logic và nắm vững kỹ năng sử dụng byte và bit.

    Để lập trình WinAVR cũng dễ dàng như vậy tôi đã viết 1 file port.h hỗ trợ lập trình WinAVR như Codevision
    Các bạn có thể download nó tại :


    Cách sử dụng :

    Chúng ta làm quen nó qua 1 ví dụ:

    Chân PB3 là chân đầu ra, và chân PD1 là chân đầu vào. ấn nút bấm tại chân PD1 thì đèn led tại chân PB3 sáng , nhả tay ra thì đèn tối.

    Code :
    #include<avr/io.h>
    #include "port.h"
    void main()
    {
    DDRB=0x08;//cong PB la dau ra
    PORTD=0x02;// gan tro treo cho cong PD1 la dau vao
    while(1)
     {
    if(_PIND.b1==0)
    _PORTB.b3=1;
    else
    _PORTB.b3=0;
     }
    }
    Về cơ bản khi sử dụng thì các bạn dùng nó như với Codevision nhưng thêm dấu "_" và "b3".
    Toàn bộ mã C và file hex các bạn download tại

    Saturday, January 23, 2016

    Đồng hồ để bàn đơn giản với ATmega8


    Rảnh ở nhà, kiếm trong hòm đồ còn con atmega8 lôi ra làm cái đồng hồ để bàn chơi chia sẻ với anh em design chơi.
    Sơ đồ mạch :
    Linh kiện cần mua:
    1- Atmega8 1 con
    2- trở 120 ôm , trở 10k loại dán 0805.
    3- nút bấm 3 cái
    4- ds1307 1 con
    5- thạch anh 32.768kHz 1con
    4- tụ 100u 3 con
    5- tụ 10u 1 con
    6- tụ 22p 2 con
    7- led đồng hồ 4 số 1 cái loại 0.28inch anot chung
     Lúc đâu tôi định mua loại 0.56 inch nhưng họ hết hàng chỉ còn loại 0.28 inch . thôi thì lấy tạm vậy.
    8- IC 7805
    9- Jac DC loại 3.5mm nhỏ

    II- mạch nguyên lý hoàn chỉnh 

    Những chỗ đi dây màu đỏ là đoạn câu dây.
    fusebit ở tần số 8Mhz nội

    Cách sử dụng:
    Nút J3 là nút Setup. khi bắt đầu sử dụng thì bạn ấn nút Setup. đèn phút sẽ nhấp nháy sử dụng các phím J1 và J2 để tăng giảm thời gian.
    Ấn J3 lần nữa thì đến đèn Giờ sẽ nhấp nháy. tương tự như trên.
    Ấn J3 lần nữa để kết thúc . và đồng hồ bắt đầu chạy

    PCB và code (C+ file hex)
    các bạn download

    Mọi sự trợ giúp xin đăng lên Group

    Friday, January 8, 2016

    Sử dụng board Arduino như 1 mạch nạp ISP.




       Chúng ta thường dùng board arduino như là 1 thiết bị lập trình thông thường. Nhưng cũng có khi để làm 1 mạch khác nhưng vẫn sử dụng code arduino vậy là chúng ta cần phải mua 1 mạch nạp nữa ư?????
    Điều đó là không cần thiết vì board Arduino đã là một mạch nạp hoàn chỉnh với đầy đủ các tính năng như fusebit, nạp file hex với tốc độ cao.
    Cách làm như sau :
    1-   Cấu hình board Arduino như 1 mạch nạp
    Mở chương trình Arduino IDE và chọn như hình vẽ :


    Các bạn upload file đó xuống board Arduino


    Sau khi hoàn thành bước này thì board Arduino đã là 1 mạch nạp hoàn chỉnh.

    2-   Kết nối “mạch nạp” Arduino as ISP với vi điều khiển AVR cần nạp

    Chân vi điều khiển AVR
    Board Arduino
    Reset
    10
    MOSI
    11
    MISO
    12
    SCK
    13

    3-   Chương trình nạp avrdude
    Avrdude là chương trình nạp đi kèm với arduino. Nó là 1 chương trình thuộc dạng dòng lệnh. Vì vậy có thể hơi khó sử dụng với 1 số bạn. Nhưng nếu dùng quen bạn sẽ thấy rằng nó là 1 chương trình rất tuyệt vời.
    Cú pháp làm việc :
    Vào Start menu và gõ "cmd" .
    Các bạn dùng lệnh “cd” để di chuyển đến folder chứa file hex cần nạp.
    -       Cách fuse bit
    Avrdude –c avrisp –P COM27 –b 19200 –p atmega8 –e –U lfuse:w:0xef:m  hfuse:w:0xc9:m
    Đây là cách fuse bit
    -c : đây là tham số khai báo tên mạch nạp . như ví dụ trên mạch nạp là avrisp
    -P : là tham số khai báo tên cổng COM kết nối với arduino .
    -b : là tham số khai báo tốc độ baund của cổng Com
    -p: là tên của chíp vi điều khiển cần nạp .vd : atmega8, atmega48, atmega328
    -e : là tham số xóa chíp.
    -U : là tham số làm việc với chip
    Lfuse:w:0xef:m đây là cách ghi giá trị vào LOW FUSE
    Hfuse:w:0xC9:m là cách ghi giá trị vào HIGH FUSE        
    Cách nạp chương trình
    -       Cách nạp chương trình
    Avrdude –c avrisp –P COM27 –b 19200 –p atmega8 –e –U flash:w:main.hex
    ở đây –U flash:w:main.hex nghĩa là ghi file main.hex vào vi điều khiển.

    Tuesday, December 29, 2015

    Chế tạo thành công chip quang-điện tử đầu tiên trên thế giới

    Một chip xử lý điện tử thông thường sẽ có những giới hạn về tốc độ và nhiệt độ hoạt động, do vậy từ lâu các nhà nghiên cứu đã nỗ lực làm ra một con chip xử lý hoạt động bằng ánh sáng, nhằm giải quyết cùng lúc tất cả các vấn đề trên.

    Di chuyển dữ liệu bên trong máy tính nghĩa là đẩy các tín hiệu kỹ thuật số đó qua các đoạn dây điện, với những giới hạn hẹp về băng thông và còn sản sinh ra rất nhiều nhiệt. Tuy nhiên, khi các dữ liệu đó được đưa lên trên mạng internet, các tín hiệu kỹ thuật số đó sẽ được chạy trong các đoạn cáp quang học, với khả năng truyền tải đi xa và băng thông cực lớn mà không cần một nhà máy điện nguyên tử để cung cấp năng lượng cho hệ thống đó.

    Sự đối nghịch giữa hai phương pháp này đã làm phần lớn các công ty tìm cách đưa các kết nối quang học vào bên trong máy tính, và cuối cùng là bên trong bản thân các con chip. Điều này đặt ra một thách thức đáng kể cho các nhà nghiên cứu. Mặc dù công nghệ hiện tại cho phép sử dụng silicon có khả năng xử lý ánh sáng, nhưng bộ xử lý như vậy không tương thích với kỹ thuật CMOS được sử dụng trong các mạch điện. Kết quả là, hầu hết các nỗ lực trong lĩnh vực này đều phải sử dụng hai con chip riêng biệt, một con chip cho bộ xử lý thông thường, một chip khác dành cho kết nối quang học.


    Chip xử lý điện tử.

    Nhưng giờ một nhóm nghiên cứu đã thành công trong việc tạo ra một chip duy nhất có thể xử lý cả kết nối quang học cũng như kết nối điện, và được kết nối với bộ nhớ chính bằng quang học. Mặc dù băng thông vẫn còn tương đối thấp, nhưng toàn bộ hệ thống đã được sản xuất bằng các quy trình chuẩn của chip CMOS, do vậy các nhà sản xuất sẽ không phải thay đổi một quy trình mới để sản xuất loại chip này. Chip này được tích hợp với một bộ xử lý nhỏ, với kiến trúc RISC, nhằm cung cấp khả năng chạy các văn bản chuẩn và các chương trình đồ họa.

    Nguyên lý của chip quang điện tử mới

    Mặc dù có nhiều điều tương đồng, một điều khác biệt của con chip này với các nỗ lực trước đây là sự xuất hiện của nguồn phát tia laser. Đó là một phần cứng riêng biệt, với ánh sáng đầu ra hướng vào bên trong chip. Tuy nhiên, khi ánh sáng đến chip, mọi bộ phận để xử lý ánh sáng đó, phải được làm bằng silicon. Các bộ phận đó bao gồm các ống dẫn sóng để hướng ánh sáng đến một vị trí cụ thể, các bộ biến điệu quang học để chia nhỏ ánh sáng đó thành từng bit, và các bộ tách sóng quang học để ghi lại các bit này.

    Trong trường hợp này, tia laser là một nguồn sáng ở bước sóng ánh sáng 1180 nanomet. Đó là tần số có thể truyền qua được silicon, nhưng các nhà nghiên cứu đã thực hiện một số chỉnh sửa để có thể thay đổi thuộc tính của tia laser đó. Ví dụ, một hợp kim silicon – germanium có thể hoạt động như một bộ tách sóng ánh sáng, tiếp nhận các hạt photon và chuyển đổi chúng thành các xung điện.

    Nỗ lực kết hợp chip điện tử và chip quang học trên một chip duy nhất đòi hỏi các nhà nghiên cứu phải hình dung ra hàng loạt các cách tiếp cận khác nhau để làm việc trên một không gian giới hạn. Ví dụ, phải khắc vùng vạt liệu bao quanh vật liệu như thế nào để ánh sáng, qua các ống dẫn sóng bằng silicon, đi vào vùng vật liệu bao quanh đó. Hiệu suất của các bộ biến điệu biến đổi theo nhiệt độ, vốn thay đổi theo khối lượng dữ liệu mà chip phải xử lý. Vì vậy, các nhà nghiên cứu đã tạo ra một hệ thống phản hồi thông tin để phát hiện sự sụt giảm của cường độ sáng, và kích hoạt bộ cấp nhiệt điện trở nhằm giữ nhiệt độ ở mức cần thiết.

    Kết quả thử nghiệm

    Với tất cả các vấn đề đã được xử lý, các tác giả của dự án đã có thể làm một con chip, kết hợp điện tử và quang tử, bao gồm 70 triệu bóng bán dẫn và 850 linh kiện quang tử. Bản thân bộ xử lý này là một chip lõi kép, với kiến trúc RISC-V, một kiến trúc đã được giới nghiên cứu sử dụng, do phù hợp với khả năng hoạt động ở tần số Gigahertz. Bộ nhớ là một con chip riêng biệt, được đặt ở một khoảng cách tùy ý, nhưng giới hạn bởi chiều dài sợi cáp quang.


    Một điều khác biệt của con chip này với các nỗ lực trước đây là sự xuất hiện của nguồn phát tia laser.

    Cả chip xử lý và chip nhớ đều có ba lớp chuyển tiếp quang học bên ngoài. Lớp chuyển tiếp đầu tiên chỉ đơn giản là nhận ánh sáng từ một nguồn sáng laser. Lớp chuyển tiếp thứ hai làm nhiệm vụ chuyển dữ liệu từ chip xử lý đến chip nhớ. Lớp thứ ba sẽ chuyển dữ liệu ngược lại từ chip nhớ đến chip xử lý. Mỗi đường dẫn trong các liên kết này có băng thông lên tới 2,5 Gb/giây, tạo ra một băng thông tổng hợp tới 5 Gb/giây. Băng thông đó tương đương với băng thông bộ nhớ điện thoại hiện nay và cũng thấp hơn nhiều so với với các hệ thống quang học, vì vậy vẫn còn rất nhiều việc phải làm. Khi chip xử lý bị khóa, không cho truy cập đến nhân của bộ nhớ, nghĩa là chip xử lý sẽ bị hãm ở tốc độ 31 Mhz, khi chỉ sử dụng bộ nhớ quang học.

    Dù sao đi nữa, hệ thống đã thực sự vận hành được. Như video trên cho thấy, các bus quang học có thể hỗ trợ mọi thứ, từ chương trình "hello world" đơn giản đến các chương trình phức tạp để chiết xuất (render) một ấm trà trong hình ảnh 3D.

    Trong khi vẫn còn rất nhiều việc phải làm để đưa công nghệ này lên đúng tiềm năng của nó, các phần cứng quang học đã bắt đầu tiến gần hơn đến việc trở thành một CPU, dựa trên các chip quang học riêng biệt. Bước đi tiếp theo sẽ là bắt đầu liên kết phần cứng bên trong các chip này với nhau, thông qua các cáp kết nối quang học (hơn là dây đồng), và một số công ty đã bắt đầu thử nghiệm hệ thống phần cứng này. Bước tiếp theo, cần phải có một hệ thống lưu trữ mới cho các kết nối quang học này, trước khi triển khai các công việc tiếp theo.

    Dù theo cách nào đi nữa, nhưng nghiên cứu này thực sự đang đạt được những bước tiến rõ rệt. Tuy nhiên, đây cũng là một bước đi sớm cho một vấn đề, mà hiện tại chúng ta chưa thực sự cần phải giải quyết ngay lập tức. Dù vậy, bằng việc xác định một cách tiếp cận thông qua kỹ thuật CMOS cũng như các hạn chế và những vấn đề gây bế tắc, nhóm nghiên cứu đã có thể đặt ra con đường sẽ đưa chúng ta đến nơi chúng ta muốn đến.

    Tuesday, December 22, 2015

    Làm mạch điện tử

    Chuyên : Mạch in nhà máy giá tốt thời gian giao hàng nhanh 7-10 ngày

    Bảng giá

     Mạch in 1-2 lớp : Đặt lẻ 10 bản 10x10cm Giá 250K. Đặt nhiều 1,6 triệu/m2 + Phí Setup 250K

     Mạch in 4 lớp : 4,7 triệu /m2 + Phí setup 1,6 triệu


    Liện hệ:
    Số điện thoại : 01686714114 . Mr Huy
    gmail : ngongochuy89@gmail.com
    địa chỉ : 67. ngõ 345 , KHương Trung (gần ngã tư Sở) . thành phố Hà Nội

    Wednesday, November 25, 2015

    Khóa học lập trình vi điều khiển


    Trong tuần này mình sẽ tổ chức dạy học Lập Trình Tại Hà Nội
    Bạn nào có nhu cầu đăng ký học thì liên hệ với mình nhé
    Đến với khóa học bạn sẽ được hướng dẫn tận tình và chi tiết trên mạch và thiết bị thật.

    Tất cả các học viên đều được hướng dẫn tận tình cho đến khi làm được mới thôi với lớp học chỉ tối đa 5 học viên
    Sau khóa học:
           >> Học viên sẽ thu được những kiến thức căn bản về  kỹ thuật vi xử lý, vi điều khiển. Và đặc biệt là lắm chắc các kiến thức cơ bản liên quan đến vi điều khiển 
         >> Tự tay xây dựng được các project liên quan đến vi điều khiển 
              >> Thành thạo ứng dụng lập trình C cơ bản vào từng project.
    Đề cương bài giảng
    HƯớng dẫn lập trình C cơ bản (khoảng 1 buổi) (Nếu các bạn đã biết thì có thể lướt qua)



    Hướng dẫn lập trình board vi điều khiển  (7 buổi)

    Bài 1: Làm quen với vi điều khiển  

    ·         Clock của hệ thống

    ·         Lập trình với chức năng ouput, điểu khiển module led đơn



    Bài 2: Lập trình với chức năng input và ouput



    ·         Lập trình input, đọc tín hiệu từ module phím bấm



    ·         Lập trình ouput, quét led 7 thanh

    Bài 3: Giới thiệu về ngắt, lập trình điều khiển ngắt ngoài

    ·         Ngắt: biết cấu hình và cơ chế xử lý ngắt

    ·         Thực hành trên kit arduino với nút bấm, module hồng ngoại để đếm sự kiện...

    Bài 4: Bộ đình thời (Timer)

    ·         Giới thiệu về timer, ngắt timer của Atmega328 

    ·         Thực hành tạo ngắt timer 1s để điều khiển bật tắt thiết bị

    Bài 5: Giới thiệu về PWM

    ·         Tìm hiểu về PWM

    ·         Lập trình PWM điều khiển động cơ sử dụng pwm

    Bài 6:  Bộ chuyển đổi tương tự - số (ADC)
    ATmega328
    ·         Biết cách cấu hình và sử dụng ADC 

    ·         Thực hành đo điện áp và đo nhiệt độ...

    Bài 7: Giao tiếp truyền thông nối tiếp UART

    ·         Biết cách cấu hình và sử dụng UART

    ·         Thực hành giao tiếp Kit arduino vơi máy tính, hiển thị các thông số điện áp, nhiệt độ...
    Học phí như sau:
    -Khóa C+8051 : 600.000 VNĐ
    -Khóa C+AVR  : 800.000 VNĐ

    Khóa C+ stm8 : 800.000 VNĐ
    Áp dụng chung cho tất cả mọi người đi học và đi làm
    thời gian học vào thứ 246 và chủ nhật
    Địa điểm học: số 67, ngõ 345, đường Khương Trung ( gần Ngã tư sở), Thanh Xuân, Hà Nôi.
    Điện thoại: 01686714114.

    Gmail : ngongochuy89@gmail.com
    inbox facebook : https://web.facebook.com/huy.ngo.35175
    Admin group Điện tử ứng dụng : https://www.facebook.com/groups/dientuungdung/

    Thursday, September 24, 2015

    chia sẻ 1 ít tài liệu tích góp được


    link download
    Để có thể tìm thấy được nhiều điều bổ ích hơn trong học tập điện tử và các thiết bị điện thì bạn nên tham gia thảo luận tại Group 

    Tuesday, September 22, 2015

    Bài 7: Làm việc với UART1 trong STM8

    UART là 1 ngoại vi quan trọng trong vi điều khiển. Nó có rất nhiều ứng dụng trong giao tiếp với các thiết bị khác như máy tính, các modul sử dụng UART khác. v.v.
    Trong bài này tôi sẽ hướng dẫn các bạn sử dụng bộ UART1 của STM8S003.
    Để sử dụng UART cần có 2 thư viện là stm8s_uart1.c và stm8s_clk.c 
    các hàm trong thư viện stm8s_uart1.c
    void UART1_Init
    (
    uint32_t BaudRate, //tốc độ truyền
    UART1_WordLength_TypeDef WordLength, // độ dài byte truyền
    UART1_StopBits_TypeDef StopBits, //bit stop
    UART1_Parity_TypeDef Parity, // parity
    UART1_SyncMode_TypeDef SyncMode, //chế độ truyền
    UART1_Mode_TypeDef Mode  //kiểu truyền
    )




    tốc độ truyền UART thường là 9600 ,.v.v
    độ dài byte là 
    UART1_WORDLENGTH_8D   8 bits Data
    UART1_WORDLENGTH_9D   9 bits Data 
    thường sử dụng là 8bit
    StopBit nên sử dụng UART1_STOPBITS_1
    Parity nên sử dụng UART1_PARITY_NO
    SyncMode UART1_SYNCMODE_CLOCK_DISABLE chế độ truyền không đồng bộ
    Mode có các kiểu sau
    UART1_MODE_RX_ENABLE  0x08 chỉ nhận dữ liệu

    UART1_MODE_TX_ENABLE  0x04 chỉ truyền dữ liệu

    UART1_MODE_TX_DISABLE  0x80 vô hiệu truyền

    UART1_MODE_RX_DISABLE  0x40 vô hiệu đường nhận dữ liệu ( chỉ có đường truyền)

    UART1_MODE_TXRX_ENABLE  0x0C kích hoạt cả đường Tx và Rx
    ví dụ như sau :
      UART1_Init((uint32_t)9600, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE);

    sau đây là 1 đoạn code ví dụ:
    /**
      ******************************************************************************
      * @file    Project/main.c 
      * @author  MCD Application Team
      * @version V2.2.0
      * @date    30-September-2014
      * @brief   Main program body
       ******************************************************************************
      * @attention
      *
      * <h2><center>&copy; COPYRIGHT 2014 STMicroelectronics</center></h2>
      *
      * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
      * You may not use this file except in compliance with the License.
      * You may obtain a copy of the License at:
      *
      *        http://www.st.com/software_license_agreement_liberty_v2
      *
      * Unless required by applicable law or agreed to in writing, software 
      * distributed under the License is distributed on an "AS IS" BASIS, 
      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      * See the License for the specific language governing permissions and
      * limitations under the License.
      *
      ******************************************************************************
      */ 


    /* Includes ------------------------------------------------------------------*/
    #include "stm8s.h"

    /* Private defines -----------------------------------------------------------*/
    /* Private function prototypes -----------------------------------------------*/
    /* Private functions ---------------------------------------------------------*/
     INTERRUPT_HANDLER(UART1_RX_IRQHandler, 18)
     {
        /* In order to detect unexpected events during development,
           it is recommended to set a breakpoint on the following instruction.
        */
       char ch;
       ch=UART1_ReceiveData8();
       if(ch=='a')
         GPIO_WriteHigh(GPIOD,GPIO_PIN_3);
       else
       if (ch=='b')
         GPIO_WriteLow(GPIOD,GPIO_PIN_3);
     }
    void main(void)
    {
      GPIO_Init(GPIOD,GPIO_PIN_3,GPIO_MODE_OUT_PP_LOW_FAST);
      UART1_Init((uint32_t)9600, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE);
      UART1_ITConfig(UART1_IT_RXNE_OR , ENABLE);
      UART1_Cmd(ENABLE);
       enableInterrupts();
      /* Infinite loop */
      while (1)
      {
      }
      
    }

    #ifdef USE_FULL_ASSERT

    /**
      * @brief  Reports the name of the source file and the source line number
      *   where the assert_param error has occurred.
      * @param file: pointer to the source file name
      * @param line: assert_param error line source number
      * @retval : None
      */
    void assert_failed(u8* file, u32 line)
      /* User can add his own implementation to report the file name and line number,
         ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */

      /* Infinite loop */
      while (1)
      {
      }
    }
    #endif


    /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
    Link download project:

    Mời các bạn tham gia thảo luận tại :

    Monday, August 31, 2015

    Hướng dẫn sử dụng trình biên dịch SDCC với 89S52 - Trình biên dịch mã nguồn mở cực mạnh


    Lâu nay các tín đồ của 89x52 thường sử dụng KeilC để lập trình vì đó là 1 trình biên dịch mạnh nhưng điểm yếu cốt lõi là nó không phải là phần mềm miễn phí mà là 1 phần mềm trả tiền và chúng ta  phải crack mới sử dụng được.
    Sau đây tôi xin hướng dẫn các bạn cách sử dụng nó với Notepad++
    đầu tiên các bạn cần download SDCC và cài đặt tại địa chỉ :

    Dowload Notepad++ tại :
    Cài đặt thì chỉ click và click thôi.

    Sau khi cài đặt các bạn mở NotePad và làm như trong hình. Vào "Tool->Options"

    Ấn vào nút "Add"  và điền thông số như trong hình dưới đây

    và cuối cùng là ấn ok thôi.
    Làm việc với Notepad++ các bạn không cần phải lập project làm gì. mà chỉ cần tạo 1 file main.c là xong và cứ thế là lập trình thôi
    1 lưu ý nhỏ cho các bạn : Thư mục chứa file main.c thì không được có dấu . tốt nhất kiểu như là D:\ten_xx\main.c
    nếu đặt là D:\ten xx\ thì đó là sai . Và trình biên dịch sẽ báo lỗi
    Sau khi lập trinh xong bạn vào "Tool" ấn vào lệnh "89x52" để chạy chương trình SDCC biên dịch code
    Sau đây là 1 ví dụ về led trái tim mà tôi sử dụng SDCC
    Các bạn có thể download mã code về tại đây
    Nói 1 chút về ngắt trong SDCC
    để khai báo hàm ngắt các bạn sử dụng cấu trúc sau
    void ten_ham(void) __interrupt (a) 
    với a=0 ngắt ngoài INT0
    a=1 ngắt timer0
    a=2 INT1
    a=3 timer1
    a=4 ngắt truyền thông UART



    Mời các bạn tham gia thảo luận tại :