Mircro MKT မှ ၂၀၂၁ ဖွင့်လှစ်​သော Training များ

Micro MKT CO.,  LTD ဆိုတာဘာလဲ ?

Micro MKT CO., LTD အခြေစိုက်ရာကတော့ မန္တလေး မြို့မှာပဲဖြစ်ပါတယ်။ Microcontroller ကို အများဆုံး အသုံးပြုပြီး Embedded System Design ပြုလုပ်ပေးပြီး ၊ Railway Locomotive များအတွက် သွင်းကုန်အစားထိုး Electronic device များထုတ်လုပ်ပေးခြင်းလုပ်ငန်းကိုလုပ်ကိုင်ပါသည်။ ပြင်ပ လူသုံးကုန်ပစ္စည်းများအတွက်လည်း Safeguard များထုတ်လုပ်ပေးခြင်း ၊ မီးအားမြင့်စက် AVR ၊ အလိုအလျှောက် ရေတင်စက် ၊ တယ်လီဖုန်း တာဝါတိုင်မီးစက် Generator တွင် အသုံးပြုသော Battery Charger control box များ၊ ဆေးရုံသုံး Area Pressure Alarm Unit များ ၊ ကျောင်းသားများအတွက် PIC Development board များကို Arduino nano ကိုပါ တွဲဖက်အသုံးပြုရအောင် ထုတ်လုပ်ပေးခြင်း၊ Signal layer, Double layer , Fourth Layer Printed Circuit Board များ P.C.B Design ရေးဆွဲပေးခြင်း ၊ တရုတ်ပြည်မတွင် ပစ္စည်းတပ်ဆင်ထုတ်လုပ် ပေးခြင်းများကို ဆောင်ရွက်ပေးနေပါသည်။

ယခုအခါ နည်းပညာကျောင်းသား/ကျောင်းသူများ ၊ လုပ်ငန်းခွင်မှ လေ့လာသူများ အတွက် Electronic and Programming Language ဘာသာရပ်တွေကို စတင်လေ့လာလိုခြင်း၊ ပိုမိုတတ်ကျွမ်းလိုခြင်းအတွက် အထောက်အကူဖြစ်စေမယ့် မန္တလေးမြို့တွင် ဖွင့်လှစ်ထားသော သင်တန်းကျောင်း တစ်ခုဖွင့်လှစ်လိုက်ပါသည်။

ဖွင့်လှစ်မဲ့သင်တန်း များကတော့ ~

(1) PIC Microcontroller programming
  (a) PIC16F887/PIC16F18857/PIC18F452 basic အခြေခံ  
  (b)  PIC16F887/PIC16F18857/PIC18F452  Intermediate course  
  (c)  PIC16F887  Advanced training

(2) STM32F103 (Contrex M3) Microcontroller programming
    (a)  STM32F103RCT6 Basic Class
    (b)  STM32F103RCT6 intermediate  Class
    (c)  STM32F103RCT6 advanced Class

(3)  STM8 Microcontroller programming
     (a)  STM8 Basic
     (b)  STM8 Intermediate 
     (c)  STM8 value line application 

(4) P.C.B Design (Protel99SE)
      Protel99  PCB software ဖြင့် PCB ဆွဲနည်းသင်တန်း

 

(1) PIC Microcontroller programming

Microcontroller တစ်လုံး လုပ်ဆောင်မှု စွမ်းရည်တွေ တိုးလာနေတဲ့ အချိန်မှာ Microcontroller တွေရဲ့ အသုံးချရာ နယ်ပယ်တွေဟာ ကျယ်ပြန့်လာပြီးတော့ အသုံးပြုရတာ ပိုလွယ်လာပါတယ်။ Professional တစ်ယောက်အနေ နဲ့ သော်လည်းကောင်း Product သမား တစ်ယောက်အနေနဲ့သော်လည်းကောင်း Microcontroller တွေရဲ့ Feature and Performance တွေကို အသုံးချပြီး Product Design နဲ့ Microcontroller တစ်မျိုးမှ နောက်မျိုးသို့ Migrate လုပ်ဖို့ လိုအပ်လာမှာ ဖြစ်ပါတယ်၊ ဒီပြသာနာတွေကို ပြေလည်ဖို့က Microcontroller တစ်လုံး ကို bit level programming ထိ ပိုင်နိုင်စွာတက်မြောက်ထားပါမှ သာ ဖြေရှင်းနိုင်ဖို့အလားအလာ ရှိပါတယ်။

ကျွန်တော်များ Micro MKT CO., LTD မှ PIC 16F887 ၊ PIC16F18857 ၊ PIC18F452 (သို့) တခြား microcontroller များကို ပစ္စည်းထုတ်လုပ်ရောင်းချ နိုင်တဲ့အထိ ကျွမ်းကျင်ပိုင်နိုင်စွာ ရေးသား နိုင်မှာဖြစ်ပါတယ်။

Microcontroller သင်တန်းများကို ၂၀၁၈ မှ စတင်ဖွင့်လစ်ခဲ့ပြီး ၂၀၂၀ ခုနှစ်ထိ သင်တန်းသားဦးရေ  ၂၀၀ နီးပါး မွေးထုတ်ပေးနိုင်ခဲ့ပါသည်။ သင်တန်းများကို Micro MKT CO,.LTD ရုံးအခြေစိုက်ရာနေရာတွင် ယခင်က သင်ကြားသော်လည်း ယခု လို ကပ်ရောဂါ ကာလတွင် Zoom Metting မှ သင်ကြားပေးနေပါသည်။

သင်တန်းတက်ရောက်လိုသူများ အနေနဲ့ Basic Computer Knowledge ရှိရမှာ ဖြစ်ပြီး ၊ Analog နဲ့ Digital အခြေခံများကို သိထားပါက ပိုပြီး တက်မြောက်ဖို့ လွယ်ကူပါတယ်။ PIC သင်တန်းများအတွက်  MKT မှထုတ်လုပ်သော PIC development ကို ထည့်သွင်းပေးအပ်သွားမှာပါ။
(၁) PIC Training Board
(၂) PIC Kit2 Debugger တစ်လုံးစီ ထည့်သွင်းပေးအပ်သွားမှာမို့ အမြန်ဆက်သွယ်ပြီး စာရင်းပေးလိုက်ကြပါစို့

 

(2) STM32F103 (Contrex M3) Microcontroller programming

STM32 Family microcontroller ဟာ st micro ရဲ့ ထုတ်ကုန် တစ်ခုဖြစ်တဲ့ 32 bit microcontroller တစ်ခုဖြစ်ပြီး CPU core ကတော့ ARM Contrex M3 ကိုထည့်သွင်းတည်ဆောက်ထားတာဖြစ်ပြီး CPU clock Frequency မှာလည်း 72Mhz နှင့်အလုပ်လုပ်သောကြောင့် ပိုမိုမြန်ဆန်သောတွက်ချက်မှု့များအတွက် အဆင်ပြေမှာဖြစ်ပါတယ်။ STM32 ဟာ Programmable Logic Controlller(PLC), Variable Frequency Driver Motor Control(VFD),Home Automation,Telecom ,Flight controller,Auto Voltage Stablizer, Switch mode power supply,Solar Home system, Robot ROS တို့တွင် တွင်တွင်ကျယ်ကျုယ်အသုံးပြုလာကြပြီ ဖြစ်တဲ့အတွက် C language အသုံးပြုပြီး development လုပ်ရန် အတွက် Keil MDK အသုံးပြုပြီး သင်ကြားပေးသွားမှာဖြစ်ပါတယ်။

သင်တန်းတက်ရောက်လိုသူများ အနေနဲ့ basic computer knowledge ရှိရမှာ ဖြစ်ပြီး ၊ Analog နဲ့ Digital အခြေခံများကို သိထားပါက ပိုပြီး တက်မြောက်ဖို့ လွယ်ကူပါတယ်။STM32 Basic Programming သင်တန်းသားများတွက် သင်ထောက်ကူပစ္စည်း  များအဖြစ် MKT မှ ထုတ်လုပ်သော STM32F103 Development board  နှင့်  STLINK Debugger တစ်လုံးကို ထည့်သွင်းပေးအပ်သွားမှာပါ။ 

သင်တန်းသားများအတွက် ~
(၁) STM32F Development board
(၂) ST Link Debugger တစ်မျိုးစီ ထည့်သွင်း ပေးအပ် သင်ကြားသွားမှာ ဖြစ်တဲ့အတွက် လက်လွတ် မခံသင့်တဲ့ သင်တန်းပဲဖြစ်ပါတယ်။

 

(3)STM8 ( Value line )Microcontroller programming
        
Stm32f030f4p6 ဟာ  Contrex M0 ကို အသုံးပြုထားပြီး ကမ္ဘာပေါ်ရှိ ဈေးနှုန်း သက်သာစွာ ထုတ်လုပ်နိုင်ရန်အတွက် value line ဆိုပြီး ၂၀၁၂ ခုနှစ်မှာ စတင်ပြီးထုတ်လုပ်ခဲ့ပါတယ်။ ST က ထုတ်တဲ့  value line microcontroller ဟာ အခု STM32F0 က ပထမတော့ မဟုတ်ပါဘူး  ရှိပါသေးတယ်။

STM8 ဒီနာမည်ကို  Circuit board တော်တော်များများမှာ နေရာယူထားကြပါတယ်။ STM8 က ထုတ်လုပ်ရေးပိုင်း Development လုပ်ရလွယ်ကူခြင်း ဈေးနှုန်း အလွန်ချိုမှု့တို့ကြောင့်  Product line ထဲမှာ အသုံးများပြီး ၊ တရုတ်ပြည်မရှိစက်ရုံတိုင်း electronic device တွေထုတ်လုပ် မှု့တွေမှာ မပါမဖြစ်ပါဝင် လာပါသည်။ သို့သော် STM8 ရဲ့ စွမ်းဆောင်ရည် သည် 8 bit microcontroller တစ်လုံးစာမျှသာရှိပြီး လျှင်မြန်မှု့ နှင့် တွက်ချက်မှု့အပိုင်းမှာ အားနည်းချက်တစ်ချို့ ရှိတာကြောင့် STM32F0 Value line series တွေဟာ STM8 နေရာကို အစားဝင်ယူဖို့ကျိုးစားလာပါတော့တယ်။ CPU clock  speed 48 Mhz ရတဲ့ STM32F0 တွေဟာ  clock speed 16Mhz သာရတဲ့ STM8 တွေထက် ပိုသာလွန်ယုံမက ပဲ ARM Architecture  ရဲ့ Contrex  M0 ကို ထည့်သွင်း တည်ဆောက်ထားတဲ့အတွက်ကြောင့်  debugging  လုပ်ဖို့ပိုလွယ်ကူလာပြီး ၊ DMA controller ၊ CAN control  အပြင်နောက်ပိုင်း STM32G0 Series တွေဆိုလျှင် USB Type C ( power charging ) ကိုပါအသုံးပြုလို့ရလာပါပြီ။

ထိုကြောင့် ဈေးနှုန်းသက်သာသော Value line product များကို စိတ်ဝင်စားသူများ ၊ လေ့လာလိုသော နည်းပညာသမားများ ၊ PIC ကို ညီးငွေ့ ပြီး တခြား Microcontroller ကို စိတ်ဝင်စားသော လူငယ်များ တက်ရောက်သင့်သောသင်တန်းဖြစ်ပါသည်။

သင်တန်းတက်ရောက်လိုသူများ အနေနဲ့ Computer အခြေခံရှိရမှာ ဖြစ်ပြီး ၊ Analog နဲ့ Digital အခြေခံများကို သိထားပါက ပိုပြီး တက်မြောက်ဖို့ လွယ်ကူပါတယ်။ C language အသုံးပြုပြီး development လုပ်ရန် အတွက် IAR Embedded Workbench အသုံးပြုပြီး သင်ကြားပေးသွားမှာဖြစ်ပါတယ်။

STM8 microcontroller programming သင်တန်းသားများတွက် သင်ထောက်ကူပစ္စည်း  များအဖြစ် MKT မှ ထုတ်လုပ်သော STM8 Value line Development board  နှင့်  STLINK Debugger တစ်လုံးကို ထည့်သွင်းပေးအပ်သွားမှာပါ။ 

 (4) P.C.B Design

Electronic ပစ္စည်း တစ်ခု ထုတ်လုပ်ရန် အတွက်သောလည်းကောင်း ၊ ဒီဇိုင်းနာ တစ်ယောက်အနေနဲ့ အသက်မွေး ဝမ်းကြောင်းပြုမယ် လည်းကောင်း သင်ယူရမဲ့ ပညာရပ်တစ်ခုပါ။ Printed Circuit Board ကို Software အမျိုးမျိုး သုံးပြီး ရေးဆွဲ ရာတွင် Photoshop , Adobe လို Graphic Software တွေနဲ့ပါ ရေးဆွဲ နေကြတာတွေ့ရပါတယ် ၊သို့သော် Printed Cricuit Board အတွက် သီးသန့် ထုတ်လုပ် ထားတဲ့ software များနှင့်သာ လွယ်ကူသက်သာပြီး အမှားနည်း မှာဖြစ်ပါတယ်။ ဒီ software တွေထဲမှ Protel 99SE version နဲ့ ရေးဆွဲသော P.C.B design များဟာ ကျနော်တို့ အိမ်နီးခြင်း တရုတ် နိုင်ငံအတွင် တွင်တွင် ကျယ်ကျယ် အသုံးပြုနေပြီး Altium Design ကိုလဲ export လုပ်တာမို့ အဆင်ပြေဆုံး software တစ်ခုလဲဖြစ်ပါတယ်။ 1 layre , 2 layer, 4 layer P.C.B များ ကိုယ်တိုင်ရေးဆွဲပြီး ဈေးကွက်တွင် ပြန်လည်ရောင်းချ နိုင်သည်အထိ သင်ကြားပေးသွားမှာဖြစ်ပါတယ်။

သင်တန်းတက်ရောက်လိုသူများ အနေနဲ့ basic computer knowledge ရှိရန်သာလိုအပ်ပါတယ်။ သင်တန်းကာလအတွင်း PCB ရေးဆွဲပြီး ကိုယ်တိုင်ပြုလုပ်ပြီး စမ်းသပ်နိုင်တဲ့အဆင့်ထိသင်ကြား ပေးမှာဖြစ်ပါတယ်

ဦးမျိုးကျော်သူ
MKT Electronic
Micro MKT CO., LTD.

Phone: 09976047814/ 09444006564

~ သင်တန်းလိပ်စာ ~

မဟာအောင်မြေ / ၆၆ နှင့် ၆၅ လမ်း ကြား / ၄၀ နှင့် ၄၁ လမ်းကြား/ နဝရတ်လမ်းသွယ်/ အိမ် အမှတ် ( ဓ၃/၄၁ )

Website : https://www.mktelectronic.com
 

 

Rotary encoder

ဒီ Project လေးကတော့ Rotary encoder အမျိုးအစား တစ်ခုဖြစ်တဲ့ EC11 encoder လေးကို ဖတ်ဖို့အတွက် PIC ရဲ့ GPIO တွေဖြစ်တဲ့ PORTA ရဲ့ PIN0 နဲ့ PIN1 ကို အသုံးပြုပြီး ENCODER ရဲ့ Channel1 နဲ့ Channel2 ကို တစ်ပြိုင်တည်း ဖတ်ပြီး Counter ကို တိုးခြင်း ၊ လျှော့ခြင်း တို့ကို 7 segment Display ပေါ်မှာ ကိန်းကဏန်း အနေဖြင့် ဖော်ပြခြင်းဖြင့် encoder ရဲ့ အတိုး အလျှော့ လှည့်ခြင်းကို လိုက်မှတ်ပြီး မိမိ အလိုရှိရာ အသုံးပြုရသော program code လေးကို ဖော်ပြပေးထားပါတယ်။


Rotary encoder အသုံးပြုပြီး အသုံးချသော ပစ္စည်းအချို့ကို ဖော်ပြလိုက်ပါတယ်။

(1) Automotive coil winding machine
(2) Digital volume control

အစရှိသည် ပစ္စည်းများတွင် အသုံးပြုကြသည်။


/*Example code

  ယခုဖော်ပြပါ code သည် PIC16F887 ပေါ်တွင် ရေးသားထားပြီး Encoder Input အနေဖြင့် RA0 , RA1 ကို အသုံးပြုပြီး

7 segment Display ကို PORTD မှ နေပြီး အသုံးပြုပြီး ၊ 7 segment မှ common များကို PORTC မှ RC0,RC1,RC2,RC3

တို့ကိုအသုံးပြုထားပါသည်။

   MKT မှ ထုတ်လုပ်သော PIC board ပေါ်တွင် လွယ်ကူစွာ အသုံးပြုနိုင်ပသည်။

*/

#include <pic.h>

__CONFIG(INTIO & WDTDIS & PWRTEN & MCLRDIS & LVPDIS);// Configuration bit များကြေညာခြင်း

void delay_ms(int ms);

void PIC_Init(void);// function prototype

void display(void);//function prototype


void Save(unsigned int count);

const char segment[16]={0b00000011,//0

0b10011111,//1

0b00100101,//2

0b00001101,//3

0b10011001,//4

0b01001001,//5

0b01000000,//6

0b00011110,//7

0b00000001,//8

0b00001001,//9

0b00010001,//A

0b11000001,//b

0b01100011,//C

0b10000101,//d

0b01100001,//E

0b01110001//F

};

__EEPROM_DATA(0xbc,0x61, 0x4e, 3, 4, 5, 6, 7);

__EEPROM_DATA(‘1′,’2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’);

__EEPROM_DATA(‘9′,’A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’);

unsigned int Delay=0;

char cnt,state=0,Push1=0;

unsigned char Digit[4];

unsigned int Counter=0;

unsigned char Disdelay=5;

unsigned int  Cntdelay=1000,Pushdelay=0;

char EC11[4],Index=0;


 unsigned char Digit[4];

void interrupt isr(void)

{

  if(T0IF)//1ms

  {

   T0IF=0;

   TMR0 = 6;

   

   if(Delay)

    –Delay;

   

   if(Disdelay)

    –Disdelay;

   

    if(Cntdelay)

    –Cntdelay;

  

   }


}


void main(void)

{


 PIC_Init(); 

 Counter  = eeprom_read(0)<<8;

 Counter =  Counter | eeprom_read(1);

  

 while(1)//Forever

 {

    if(Disdelay==0)//5ms

    {

    display();

    Disdelay=5;//Reload delay value

    }

    

    if(Cntdelay==0)

    {

    

    Digit[0]=Counter%10;

Digit[1]=Counter%1000%100/10;

Digit[2]=Counter%1000/100;

Digit[3]=Counter/1000;

Cntdelay=100;

    

    }

    

    if(!RB0)

    {

     if(!Push1)

     {

      Push1=1;

      Save(Counter);

     

     }

    

    }

    else Push1=0;

   

   switch(PORTA & 0b00000011)

  {

     case 0b00000000://A=0,B=0

     if(EC11[1] & EC11[2])

     {

       Counter++;

       if(Counter>9999)

        Counter=0;

       EC11[1]=0;

       EC11[2]=0;

     }

     else if(EC11[3] & EC11[2])

     {

        Counter–;

        if(Counter<21)

        Counter=0;

        EC11[3]=0;

        EC11[2]=0;

     

     }

     break;

     

     case 0b00000001://A=1,B=0

     if(EC11[2]==1)

     {

       EC11[1]=1;

     }

     break;

     

     case 0b00000011://A=1,B=1

     EC11[2]=1;

     break;

     

     case 0b00000010://A=0,B=1

     if(EC11[2]==1)

     {

      EC11[3]=1;

     }

     break;

     

     default:

     break;

 

  }

}

}


void PIC_Init(void)

{

 TRISD = 0;//PORTD all OUTPUT

 PORTD = 0;//PORTD Clear

 

 TRISE = 0b00000111;//RE0,RE1,RE2 input

 ANSEL = 0b00011100;//AN5,AN6,AN7 disable digit I/O

 PORTE = 0; 

 

 TRISC = 0;//PORTC are output

 PORTC = 0;

  

 TRISA = 0b00000011;//RA0 , RA1 Input

 PORTA = 0;//Clear porta

 

 TRISB =  0b00000001;//RB0 input

 ANSELH = 0; //Analog off Digital ON

 WPUB = 0b00000001;//RB0 pull up

 RBPU = 0;//PORTB Pull up enable

 

  OPTION = 0x81; // PortB pull-up disable, Timer0 prescaler 1:2

  TMR0 = 6; // Timer 0 ထဲကို Reload value 6 ထည့်ခဲ့မယ်

  INTCON = 0xA0;// Global Interrupt set လုပ် ပြီး ၊ Timer 0 interrupt ဖြစ်တဲ့ T0IF ကို set လုပ်




}


void delay_ms(int ms)

{

  Delay=ms;

  while(Delay)

  {

  

  }


}


void display(void)

{

switch(state)

{

case 0:

PORTD = segment[Digit[0]];// Digit array ထဲက အခန်းနံပါတ်က segment array ထဲကအခန်း နံပါတ် ကိုယူပြီး PORTD ထဲကိုထည့်

  RC0=1;//Digit 0 ON

  RC1=0;//Digit 1 OFF

  RC2=0;

  RC3=0;

  state=1;

  break;

 

case 1:

PORTD = segment[Digit[1]];

  RC0=0;//Digit 0 OFF

  RC1=1;//Dgiit 1 ON

  RC2=0;

  RC3=0;

  state=2;

  break;

 

 

case 2:

PORTD = segment[Digit[2]];

  RC0=0;//Digit 0 ON

  RC1=0;//Digit 1 OFF

  RC2=1;

  RC3=0;

  state=3;

  break;

 

case 3:

PORTD = segment[Digit[3]];

  RC0=0;//Digit 0 OFF

  RC1=0;//Dgiit 1 ON

  RC2=0;

  RC3=1;

  state=0;

  break;

 

  default:

  break;

}

}


void Save(unsigned int count)

{ char x;

x = count>>8; 

/* Counter သည်  int 16bit ဖြစ်သောကြောင့်  သိမ်းဆည်းရမည့်  EEPROM သည် 8bit                                                                  သာဖြစ်သောကြောင့် LSB , MSB ခွဲထည့်ရပါသည်။ */

  eeprom_write(0,x);

  x = count;

  eeprom_write(1,x );

}


Temperature Meter & Cutoff project

Temperature meter & cutoff project လေးတင်ပေးလိုက်ပါတယ်………
ဒါလေးက….အလွယ်ဆုံးဖြစ်အောင်ရေးထားတာပါ…..
ဒါကတော့..initial ပါ..port တွေ…AD converter အတွက်..set up လုပ်တာပါ
void Init_ADC()
{
ADFM=1;
setup_adc(adc_clock_internal);
set_adc_channel(WATER_TEMP);
}
void read_temp_task()
{
set_adc_channel(WATER_TEMP);
Temp=read_adc();
Temp=Temp/LM35_DIV;
conv_adc_ready=1;
}
ဒါက program တစ်ခုလုံးရဲ့ system timer ပါ….function တွေကို တလှည့်စီအလုပ်လုပ်ဖို့အတွက်…timer နဲ့ flag တွေကို on ပေးပါတယ်
interrupt နဲ့ CCP ကို special event trigger ကိုသုံးထားပါတယ်
Read More …

MKT PIC Training Board

MKT PIC Training Board ရဲ့ example code တွေ တင်ပေးထားပါ။

အောက်ကလင့်မှာ ဒေါင်းလုပ် ရယူပြီး လေ့လာကြည့်ပါ။


Link (1) >> Download Now

Link (2) >> Download Now

Speed Recorder for RBE railway Car

Speed Recorder for RBE railway Car

လိုအပ်သူများ အောက်ပါလင့်တွင် ဒေါင်းလုပ်ရယူနိုင်ပါသည်။


Speed Recorder for RBE railway Car

လိုအပ်သူများ အောက်ပါလင့်တွင် ဒေါင်းလုပ်ရယူနိုင်ပါသည်။

Link (1)  Download Now

Link (2) Download Now