Ò»¡¢JMDM-2038 ¼ò½é
JMDM-2038ÊÇÒ»¿î¶à¹¦ÄÜÈË»ú½çÃæºÍµ¥Æ¬»ú¿ØÖÆÆ÷Ò»Ìå»ú£¬ËüÓ²¼þ²ÉÓþßÓиßÐÔÄÜ¡¢¹¤Òµ¼¶±ðµÄ½ø¿Úµ¥Æ¬»ú¼°Á㲿¼þ¡¢×¨ÒµµÄÎȶ¨ÐÔ¡¢¿¹¸ÉÈŵç·Éè¼Æ£¬Èí¼þ²ÉÓÃCÓïÑÔ±à³Ì£¬¾ßÓÐÁ¼ºÃµÄ¿ÉÀ©Õ¹ÐԺͶ๦ÄÜ£¬¸ù¾Ý¹¦ÄÜ¿É·ÖΪ2¿î£ºJMDM-2038ADDA¡¢JMDM-2038M¡£¿ÉʵÏÖIO¡¢Ä£ÄâÁ¿ÊäÈëÊä³ö¡¢²½½øËÅ·þµç»úµÄÈË»ú½»»¥¶à¹¦ÄÜ¿ØÖÆ¡£
¶þ¡¢²úÆ·¹¦ÄܽéÉÜ
2.1¡¢Ä£ÄâÁ¿¿ØÖÆÆ÷£ºJMDM-2038ADDA¹¦ÄÜ£º
1¡¢¿ØÖÆ12¸öI/Oµã£¬È«¹âµç¸ôÀë¡£
6·ÊäÈ룺NPN ÊäÈëÐÎʽ£¬ÊäÈëµçÁ÷Ϊ10mA¼´¿É£¬Ä¬ÈÏ12V--24VµÄ¿ª¹ØÁ¿ÊäÈë¼ì²â£¬5V¿ª¹ØÁ¿ÊäÈë¼ì²âÐ趨×ö¡£6·ÊäÈë¿ÉÒÔ×÷ΪÐгÌÏÞλ¿ª¹Ø¡¢ºìÍâ´«¸ÐÆ÷¡¢½Ó½ü¿ª¹Ø¡¢°´Å¥µÈµÄ¼ì²â¡£
6·¾§Ìå¹ÜÊä³ö£º×î´óÿ·Êä³öÄܳÐÊÜ4AµçÁ÷¡£Êä³öµÍµçƽÓÐЧ¡£¿ÉÇý¶¯5---30VÖ®¼ä¹¤×÷µÄ¸ºÔØ¡£
¿ÉÒÔÓÃÀ´¿ØÖƵç´Å·§¡¢µç´Å¼ÌµçÆ÷¡¢¹Ì̬¼ÌµçÆ÷¡¢Æø¸×µÈ¸ºÔØ¡£
2¡¢4·¹âµç¸ôÀëPWMÊä³ö¡£
PWMÊä³ö¹¤×÷µçѹΪ£¨5¡«12V£©¡£PWMÊä³ö¾«¶ÈÊÇ13λµÄ£¬¿ÉÓÃÓÚ¿ØÖƱÈÀý·§¡¢IGBTµÈ¡£Õ¼¿Õ±È¿ÉÒÔ±à³ÌÉ趨£¬Õ¼¿Õ±È·¶Î§Îª(0.000¡«1.000)¡£¿ÉÓÃÓÚ¿ØÖÆƵÂÊÆ÷¡¢¼¤¹â·¢ÉäÆ÷¡¢µç»úµ÷ËÙ¡¢µ÷¹âµÈÓ¦Óó¡ºÏ¡£4·PWMÊä³ö¿Éͨ¹ý³ÌÐò¾«ÃÜ¿ØÖÆÕ¼¿Õ±È£¬Ò²¿Éµ±×÷Ä£ÄâÁ¿Êä³öʹÓá£
3¡¢ 8·ģÄâÁ¿¿ØÖÆ£º4Èë4³ö¡£
ÊäÈ룺4·¸ßËٸ߾«¶ÈADÄ£ÄâÁ¿¼ì²âͨµÀ¡£¼ì²âµçѹ·¶Î§ÊÇ0--5V¡£¿ÉÒÔ¶¨×ö³É0--10V¼ì²âÁ¿³Ì¡£
ADλÊý¿ÉÒÔͨ¹ýÈí¼þÀ´Ð޸ģ¬¿É¸ÄλÊýΪ12λ¡¢14λ¡¢16λºÍ18λ¡£¼ì²âËٶȷֱðΪ4ms¡¢20ms¡¢60msºÍ245ms¡£IIC×ÜÏ߶ÁÈ¡Êý¾Ý·½Ê½¡£¿ÉÓÃÓÚÄ£ÄâÁ¿µÄ¼ì²â¿ØÖÆ£¬Èçµçѹ£¬µçÁ÷£¬Î¶ȣ¬Êª¶È£¬Ñ¹Á¦µÈÄ£ÄâÁ¿Ðźŵļì²â¿ØÖÆ¡£
2.2¡¢Ô˶¯¿ØÖÆÆ÷£ºJMDM-2038M¹¦ÄÜ£º
1¡¢¿ØÖÆ18¸öI/Oµã£¬È«¹âµç¸ôÀë¡£
12·ÊäÈ룺NPN ÊäÈëÐÎʽ£¬ÊäÈëµçÁ÷Ϊ10mA¼´¿É£¬Ä¬ÈÏ12V--24VµÄ¿ª¹ØÁ¿ÊäÈë¼ì²â£¬5V¿ª¹ØÁ¿ÊäÈë¼ì²âÐ趨×ö¡£12·ÊäÈë¿ÉÒÔ×÷ΪÐгÌÏÞλ¿ª¹Ø¡¢ºìÍâ´«¸ÐÆ÷¡¢½Ó½ü¿ª¹Ø¡¢°´Å¥µÈµÄ¼ì²â¡£
6·¾§Ìå¹ÜÊä³ö£º×î´óÿ·Êä³öÄܳÐÊÜ4AµçÁ÷¡£Êä³öµÍµçƽÓÐЧ¡£¿ÉÇý¶¯5---30VÖ®¼ä¹¤×÷µÄ¸ºÔØ¡£
¿ÉÒÔÓÃÀ´¿ØÖƵç´Å·§¡¢µç´Å¼ÌµçÆ÷¡¢¹Ì̬¼ÌµçÆ÷¡¢Æø¸×µÈ¸ºÔØ¡£
2¡¢Á½Â·Âö³åÐźÅÊä³ö¡¢Á½Â··½ÏòÐźÅÊä³ö£¬¿Éͬʱ¿ØÖÆÁ½Â·²½½ø»òËÅ·þµç»úÁª¶¯¡£
3¡¢Ò»Â·¿É³Ì¿ØƵÂÊÐźÅÊä³ö£¬ÓÃÓÚһЩµ÷ËٵȿØÖƳ¡ºÏ¡£
2.3¡¢¹²ÐÔ£º JMDM-2038ADDAºÍJMDM-2038M¾ù¾ß±¸ÒÔϹ¦ÄÜ£º
1¡¢ÓÐÒ»¸ö128*64Òº¾§ÏÔʾÆÁ£¬ÁÁ¶È¿Éµ÷¡£¿ÉÏÔʾ4ÐÐ6Áбê×¼ºº×Ö¡£±³¹âµÆ¿ÉÒÔͨ¹ýÈí¼þ¿ªÆôºÍ¹Ø±Õ¡£
2¡¢´øÓÐRS485ͨÐŶË×ÓºÍRS232ͨÐŶ˿ڣ¬RS232ºÍRS485¿ÉÒÔͨ¹ýÁ½¸öÌøÏßñÀ´½øÐÐÇл»¡£
3¡¢RS232½Ó¿ÚÖ±½ÓÔÚÏßͨ¹ý´®¿ÚÏßÏÂÔسÌÐò¡£
4¡¢ÓÐÒ»¸ö·äÃùÆ÷Êä³ö£¬¿ÉÒÔÓÃÓÚ±¨¾¯ÌáÐÑ¡£
5¡¢ÓµÓÐ10¸ö°´Å¥Ãæ°å¿ÉÒÔÉèÖòÎÊý¡£
Èý¡¢¼¼Êõ²ÎÊý
1¡¢8λ¸ßÐÔÄܵ¥Æ¬»ú×÷ΪÖ÷¿ØÖÆоƬ£¬³ÌÐò¿Õ¼äΪ64K£»
2¡¢32K×Ö½ÚµÄÊý¾Ý´æ´¢Æ÷£¬¿ÉÒÔÓÃÀ´±£´æ²ÎÊýµÈÊý¾Ý£¬¶ÏµçÊý¾Ý²»¶ªÊ§£»
3¡¢Ô¤ÁôIIC×ÜÏß½Ó¿Ú£¬¿ÉÒÔº¸½Ó24C02µÈϵÁеĴ洢оƬ£»
4¡¢¿ØÖÆÆ÷¹¤×÷µçÔ´£º±êÅä24VÖ±Á÷1A¿ª¹ØµçÔ´¡£12V-30VÖ±Á÷(»ò9V-20V½»Á÷)Ö®¼ä¾ù¿ÉÒÔÕý³£ÔËÐУ»
5¡¢ÓÐ1 ·±ê×¼µÄRS232 ´®ÐÐͨÐŽӿڣ¬¿ÉÒÔÓëµçÄÔµÈÉÏλÈí¼þͨÐÅ£¬Ò²¿ÉÓë¶à¸ö¿ØÖÆÆ÷Ö®¼äÁª»ú¹¤×÷¡£¿ÉÒÔͨ¹ýÌõÏßñÇл»³ÉRS485½øÐÐͨÐÅ£¬¿ÉÓÃÓÚ¶à»ú×éÍø£»
6¡¢¿ÉÖ±½Óͨ¹ýRS232½Ó¿ÚÏÂÔسÌÐò£¬ÎÞÐèÉÕ¼Æ÷£¬·½±ã³ÌÐòÐ޸ġ¢Éý¼¶£»
7¡¢ÏµÍ³²ÉÓùâµç¸ôÀëºÍÆôÓÃÄÚ²¿¿´ÃŹ·¼°ÑϸñµÄ¸ßƵÂ˳ýÌØÐÔ£¬²¢ÓÐרҵµÄµçÔ´¼à¿Øµç·ʹϵͳ¹¤×÷Îȶ¨¿É¿¿£¬ÎÞËÀ»úÏÖÏó£»
8¡¢128*64Òº¾§À¶ÆÁÏÔʾ£¬Ò»ÆÁ¿ÉÏÔʾ6ÁÐ*4ÐÐ=24¸öºº×Ö£»Ò²¿ÉÏÔʾͼÐÎÊý×Ö·ûºÅµÈ£»
9¡¢ÓÐ10¸öÇá´¥°´¼ü£¬¿ÉÔÚÏßÉèÖòÎÊý£»
10¡¢ÍâÐγߴ磺½ô´ÕÐÍ»ú¿Ç£¬¿ØÖÆÆ÷»ú¿Ç³ß´ç£º150mm*145mm*55mm£¬°²×°³ß´ç£º145mm*140mm£¬¿ÉÓÃÅäÌ×µÄÍ¿¨°²×°£»
11¡¢ÓÃKeil C±à³Ì£¬Óû§±à³ÌÓÐÀ§ÄѵĿɰѹ¤ÒÕÁ÷³Ì·¢¸øÎÒ˾£¬ÎÒ˾¿É´úΪ¿ª·¢³ÌÐò¡£
ËÄ¡¢Ó¦Óó¡ºÏ
1¡¢¿ÉÓÃÓÚ¸÷Êý×ÖÁ¿ÊäÈëÊä³öµÄ¿ØÖÆϵͳ£¬¿É¿ØÖÆÆø¸×¡¢µç´Å·§¡¢¼ÌµçÆ÷µÈ£»¿ÉÍâ½Ó¸÷ÖÖ¹âµç´«¸ÐÆ÷¡¢ºìÍ⿪¹Ø¡£
2¡¢¿É¿ØÖÆζȡ¢Ñ¹Á¦¡¢¼¤¹âÄÜÁ¿¡¢±äƵÆ÷µÈÄ£ÄâÁ¿ÐźÅÊäÈëÊä³ö¡£
3¡¢¿É¿ØÖƲ½½øµç»úºÍËÅ·þµç»ú¡£
4¡¢Ò²¿ÉÓÃÓÚÌæ´úPLCÓÃÓÚ¸÷ÖÖ¿ØÖƳ¡ºÏ£¨Èç¸÷ÖÖ»úÆ÷¿ØÖÆ£©£¬¹¦ÄÜÉϱÈPLC¼ÓÎı¾ÏÔʾÆ÷¸üΪǿ´ó¡¢Áé»î¡£ÐÔÄÜÎȶ¨£¬ÐԼ۱ȸߡ£Ä¿Ç°Òѹ㷺ӦÓÃÓÚÆø¸×¡¢µç´Å·§¡¢¼ÌµçÆ÷¡¢Ñ¹Á¦²âÊÔÒÇ¡¢ÒºÑ¹¿ØÖÆÆ÷¡¢¼¤¹â¿ØÖÆÆ÷¡¢²½½øËÅ·þ¿ØÖÆ¡¢¶à¶Î¶à·Î¶ȿØÖÆÆ÷µÈÒªÇó¸ß¾«¶È¡¢¸ßËٶȵĹ¤Òµ»·¾³ºÍÉ豸ÉÏ£¬ÔËÐÐÎȶ¨¿É¿¿£¬³É¹¦µØ¾ÊÜÁ˶ñÁÓ¹¤Òµ»·¾³³¡ºÏµÄÇ¿µç´Å¡¢¸ßƵ¸ÉÈŵĿ¼Ñ飬ÒÔ¸ßÐÔ¼Û±ÈÓ®µÃÁ˹ã´ó¿Í»§µÄÐÅÀµ£¬²¢Ô¶Ïúº£ÄÚÍâ¡£
Îå¡¢´æ´¢Ìõ¼þ
¹¤×÷ζȣº-10~+65¡ãC£» ´¢´æζȣº-20~+80¡ãC £»
ʪ¶È£º5~95% ÎÞÄý½á £» ¹¦ºÄ(ÎÞÍⲿÉ豸)£º+24V@1A (µäÐÍÖµ) £»
Áù¡¢ ¿âº¯Êý˵Ã÷
6.1ÏÔʾº¯Êý
void io_init(void); //³õʼ»¯IO¿Ú
void LcmInit( void ); //Òº¾§ÆÁ³õʼ»¯
void LcmPutBMP( unsigned char *puts ); //µ÷ÓÃÏÔʾ»Ã棻
È磺LcmPutBMP(Workbmp); //µ÷ÓÃÏÔʾ»Ãæ¡°Workbmp¡±
void LcmReverseBMP( void ); //ÆÁÄ»·´ÏàÏÔʾ
void disp_char(unsigned char xp,unsigned char yp,unsigned char chr,bit col);
¹¦ÄÜ£ºÏÔʾµ¥¸öÊý×Ö¡£
˵Ã÷£º¿ÉÏÔʾ£º"¡®0¡¯¡¢¡®1¡¯¡¢¡®2¡¯¡¢¡®3¡¯¡¢¡®4¡¯¡¢¡®5¡¯¡¢¡®6¡¯¡¢¡®7¡¯¡¢¡®8¡¯¡¢¡®9¡¯¡¢¡®.¡¯¡¢¡®+¡¯¡¢¡®-¡¯¡¢¡® ¡¯¡¢¡®:¡¯"¡£·Ö±ð¶ÔÓ¦chrµÄÊýֵΪ£º0¡¢1¡¢2¡¢3¡¢4¡¢5¡¢6¡¢7¡¢8¡¢9¡¢10¡¢11¡¢12¡¢13¡¢14¡£
disp_char( XÖá×ø±ê, £ÙÖá×ø±ê, ËùÒªÏÔʾµÄÊý×Ö, ·´É«); X·¶Î§:0--128 Y·¶Î§:0,2,4,6¡£
¾ÙÀý£ºdisp_char(112,6,7,1);
void disp_character(unsigned char xp,unsigned char yp,unsigned char*puts,bit col);
¹¦ÄÜ£ºÏÔʾ×Ö·û£¬¿É×ÔÐж¨ÒåÈÎÒâ×Ö·û£¬È¡Ä£Èí¼þÉú³É¼´¿É¡£
˵Ã÷£ºdisp_character( XÖá×ø±ê,£ÙÖá×ø±ê,ÒªÏÔʾµÄÊý×éÖ¸Õë,·´É«);
¾ÙÀý£ºdisp_character(104,6,ASC_A,0);
void disp_HZ(unsigned char xp,unsigned char yp,unsigned char*puts,bit col); //ÏÔʾµ¥¸öºº×Ö
È磺disp_HZ(72,2,zhong,0);
void disp_float(unsigned char xp,unsigned char yp,unsigned long your_data,unsigned char bit_T,unsigned char bit_int,bit hue); //ÏÔʾ¸¡µãÊý
˵Ã÷£ºdisp_float ( XÖá×ø±ê, £ÙÖá×ø±ê, ÒªÏÔʾµÄÊý¾Ý, ×ÜλÊý, ÕûÊýλÊý,·´É«);
¾ÙÀý£ºdisp_float(104,6,lost_pa,7,3,0);
void disp_int(unsigned char xp,unsigned char yp,unsigned long your_data,unsigned char bit_T,bit hue); //ÏÔʾÕûÊý
void disp_int( XÖá×ø±ê, £ÙÖá×ø±ê£¬ÒªÏÔʾµÄÊý¾Ý, ×ÜλÊý, ·´É«);
È磺disp_int(160,0,now_count,4,0);
void disp_var(unsigned char xp, unsigned char yp,unsigned int your_data,unsigned char bit_int,bit hue); //ÏÔʾÊýÖµ
void disp_var( XÖá×ø±ê, £ÙÖá×ø±ê, ÒªÏÔʾµÄÊý¾Ý, ×ÜλÊý, ·´É«); È磺disp_var(140,0,hours,5,0);
unsigned char edit(char bitnum,char page,unsigned char xdata *add_para,unsigned char *add_bk);
unsigned char edit(²ÎÊýλÊý,Ò³Âë,²ÎÊýµØÖ·Ö¸Õë,²ÎÊýÉèÖÃÒ³ÃæµÄÊý×éÖ¸Õë);
È磺a=edit(23,0,0x2000,Workbmp1);
6.2 ÊäÈë¡¢Êä³öº¯Êý
IN1 ¡¢IN2¡¢IN3 ¡¡IN5¡¢IN6 ÊäÈëµã£¨µÚ1µ½µÚ6µã£©
È磺IN1==0ΪÓÐÊäÈ룬IN1!=0ΪÎÞÊäÈë¡£
void out_bit(unsigned char num,bit value);//void out_bit(Êä³öµã,λֵ);
DOÊä³ö(0 ÊÇ¿ªÊä³ö,1ÊǹØÊä³ö) Êä³öµã£¨µÚ1µ½µÚ8µã£©
È磺
out_bit(1,0); //Êä³öÒ»¿ª out_bit(1,1); //Êä³öÒ»¹Ø
¡¡
out_bit(6,0); //Êä³ö¶þ¿ª out_bit(6,1); //Êä³ö¶þ¹Ø
out_bit(7,1);//¿ªÒº¾§ÆÁ out_bit(7,0);//¹ØÒº¾§ÆÁ
out_bit(8,1);//¿ª·äÃùÆ÷ out_bit(8,0);//¹Ø·äÃùÆ÷
void IIC_MCP3424_Init(void);//³õʼ»¯AD
void IIC_MCP3424_CHANGE_CHL(unsigned char channel);// 17ms²ÅÄÜÎȶ¨ Çл»Í¨µÀÐè¼ä¸ô20ms£¬³ö³§Ä¬ÈÏ14λAD¡£ÀýÈ磺IIC_MCP3424_CHANGE_CHL(1);Çл»ÎªADͨµÀÒ»¡£20msÒÔºóÔÚµ÷ÓÃAD¶ÁÈ¡º¯Êý¡£
unsigned int IIC_MCP3424_READ(void)//¶ÁÈ¡ADͨµÀµÄADÖµ¡£
6.3 ÑÓʱº¯Êý
void delay_ms(unsigned int a);//È磺delay_ms(100); //ÑÓʱ100ms
void delayus(unsigned char us);//È磺delayus(50); //ÑÓʱ50us
6.4 Êý¾Ý±£´æ¡¢¶ÁÈ¡º¯Êý
unsigned long read_data(unsigned char xdata *address,unsigned char bytenum); //Êý¾Ý¶ÁÈ¡
È磺now_count=read_data(0x3000,4); //½«0x3000 µØÖ·µÄÄÚÈݶÁµ½±äÁ¿now_countÖÐ
Void save_data(unsigned char xdata *address,unsigned long your_data,unsigned char bytenum); //Êý¾Ý±£´æ£»Èç:save_data( 0x3000,now_count, 4 );//½«±äÁ¿now_countµÄÖµ±£´æµ½0x3000µØÖ·ÖÐÈ¥¡£
¶ÁÈ¡ºÍ±£´æÊDzÙ×÷µÄÊ®½øÖÆÊý¡£
6.5 Ô˶¯¿ØÖƼĴæÆ÷˵Ã÷
XSPEED XÖáËٶȿØÖƼĴæÆ÷
XPOS XÖáÂö³åÊý¿ØÖƼĴæÆ÷
XSTA XÖá·½Ïò¿ØÖƼĴæÆ÷
XSTOP XÖáÔËÐÐ״̬¿ØÖƼĴæÆ÷
YSPEED YÖáËٶȿØÖƼĴæÆ÷
YPOS YÖáÂö³åÊý¿ØÖƼĴæÆ÷
YSTA YÖá·½Ïò¿ØÖƼĴæÆ÷
YSTOP YÖáÔËÐÐ״̬¿ØÖƼĴæÆ÷
ZSPEED ZÖáËٶȿØÖƼĴæÆ÷
ZSTA ZÖá·½Ïò¿ØÖƼĴæÆ÷
ZSTOP ZÖáÔËÐÐ״̬¿ØÖƼĴæÆ÷
6.6 ÆäÓຯÊý˵Ã÷
void Led_ON(void); //LED¿ª
void Led_OFF(void); //LED¹Ø
void LcmClear( void ); //ÇåÆÁ
Æß¡¢¶©¹ºÐÅÏ¢
1¡¢¶¨¹ºµÄJMDM-2038²úÆ·°üÀ¨£º¿ØÖÆÆ÷¡¢°²×°Í¿¨1¶Ô¡¢±à³ÌÏÂÔØÏߣ¨¸½ËÍ£©¡¢µç×Ó°æ¼¼Êõ×ÊÁÏ£¨±à³ÌÈí¼þ¡¢·¶Àý³ÌÐò¡¢ËµÃ÷Êé¼°½ÓÏßͼ¡¢²úƷͼƬ£©¡¢Ê¹ÓÃ˵Ã÷Êé¡£
2¡¢·¢»õ·½Ê½£º¿ìµÝ¡£
°Ë¡¢ÊÛºó·þÎñ
1¡¢Õý³£Ê¹ÓÃÏ£¬×Ô¹ºÂòÖ®ÈÕÆðÒ»ÄêÄÚ£¬JMDM¿ØÖÆÆ÷³öÏÖÖÊÁ¿ÎÊÌâ¿É»ñÃâ·ÑάÐÞ£»±£ÐÞÆÚ¹ýºóάÐÞÊÕȡάÐ޳ɱ¾·ÑÓá£
2¡¢±äѹÆ÷¡¢´®¿ÚͨÐÅÏßµÈÔùÆ·»ò¸½ÊôÆ·ÊôÓÚÒ׺ÄÆ·£¬²»ÔÚ±£ÐÞ·¶Î§¡£
3¡¢Òò×ÔÈ»Á¦¡¢ÈËΪË𻵡¢Î´°´ËµÃ÷ʹÓᢲ»Ç¡µ±µÄ²Ù×÷¡¢²ðÐÞ£¬»ò³¬³öʹÓ÷¶Î§µÄÀÄÓõÈÔì³ÉµÄ¹ÊÕÏ£¬²»ÔÚ±£ÐÞ·¶Î§ÄÚ¡£ÈçÐèάÐÞʱ£¬ÊÕȡάÐÞ·Ñ¡£