搜索
bottom↓
回复: 6

N76E003at20 XY-LPWM3 -> 3 phase sine generator

[复制链接]

出0入0汤圆

发表于 2020-1-9 16:48:53 | 显示全部楼层 |阅读模式
本帖最后由 izhadapter 于 2020-1-9 17:12 编辑

_mcu.goodboard.ru/viewtopic.php?id=116#p2024
Данный кусок кода  предназначен для  переделки  готового продукта (XY-LPWM3) который показан на картинке.
Это обычный  генератор прямоугольных импульсов на три канала.
из него можно  сделать трехфазный генератор синуса.
....
Это не полный код но основная заготовка с настройками и чтением  таблицы значений синуса.
Значения таблицы  синуса можно сгенерировать  здесь: _daycounter.com/Calculators/Sine-Generator-Calculator2.phtml
Sine Look Up Table Generator Calculator:
второй и третий массив надо просто сместить первый на 1\3 (120 градусов)

_s.taobao.com/search?q=3%E8%B7%AFPWM%E8%84%89&imgfile=&js=1&stats_click=search_radio_all%3A1&initiative_id=staobaoz_20200109&ie=utf8

  1. #include "N76E003.h"
  2. #include "Common.h"
  3. #include "Delay.h"
  4. #include "SFR_Macro.h"
  5. #include "Function_define.h"





  6. /************************************************************************************************************
  7. *    Main function
  8. ************************************************************************************************************/
  9. void main(void)
  10. {
  11.    
  12.         P12_PushPull_Mode;                    // Cofigure pin to PP mode
  13.         P10_PushPull_Mode;
  14.         P11_PushPull_Mode;
  15.        
  16. /**********************************************************************
  17.         PWM frequency = Fpwm/((PWMPH,PWMPL) + 1) <Fpwm = Fsys/PWM_CLOCK_DIV>
  18.            
  19.          PWM frequency =16MHz/256=62,5KHz                    
  20. ***********************************************************************/
  21.    
  22.           PWM0_P12_OUTPUT_ENABLE;     // Enable PWM outputs channel
  23.           PWM1_P11_OUTPUT_ENABLE;
  24.           PWM2_P10_OUTPUT_ENABLE;
  25.            
  26.           PWM_INT_PWM0;                          // Inerrupts from 0 channel
  27.           PWM_FALLING_INT;                 //Setting Interrupt happen when PWM0 falling signal
  28.           
  29.           
  30.        
  31.     PWMPH = 0x00;                    //Setting PWM period
  32.     PWMPL = 0xff;
  33.        
  34.     PWM0H = 0x00;                    //Setting PWM duty for 0,1,2 channel
  35.     PWM0L = 0x01;
  36.     PWM1H = 0x00;                   
  37.     PWM1L = 0x01;       
  38.     PWM2H = 0x00;                   
  39.     PWM2L = 0x01;       
  40.    
  41.     set_EPWM;                        //Enable PWM interrupt
  42.     set_EA;                        //Enable interrupts
  43.     set_LOAD;                   // Load value from buffers to duty register
  44.     set_PWMRUN;             // Run PWM
  45.     while(1);
  46. }



  47. /************************************************************************************************************
  48. *   PWM interrupt subroutine
  49. ************************************************************************************************************/
  50. void PWM_ISR (void) interrupt 13
  51. {
  52.         static volatile uint8_t  counter;
  53.         uint16_t temp;
  54.         clr_PWMF;               // clear PWM interrupt flag
  55.    
  56.           
  57.           set_LOAD;     //Update duty register from buffers
  58.           temp=counter*3;
  59.           PWM0L = sine_wave[temp];                 // Load sine_wave value from table to buffers
  60.           PWM1L = sine_wave[temp+1];
  61.           PWM2L = sine_wave[temp+2];
  62.           
  63.          
  64.           
  65.    
  66.           counter++;
  67.                   
  68. }
复制代码







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出20入128汤圆

发表于 2020-1-9 16:49:39 | 显示全部楼层
好像某宝买过的单独PWM的,也是你设计的吗?

出0入0汤圆

发表于 2020-1-9 16:55:55 | 显示全部楼层
老哥是外国友人吗?

出0入0汤圆

发表于 2020-1-9 17:36:03 | 显示全部楼层
PCBBOY1991 发表于 2020-1-9 16:55
老哥是外国友人吗?

俄文  不是外国有人是啥呢

出330入1862汤圆

发表于 2020-1-9 18:49:21 | 显示全部楼层
хорошая работа, Этот чип действительно очень дешевый. Если вы можете, вы можете попробовать сделать простой VFD с ним.

good job man, this chip is very cheap. You can try make a simple VFD with it.

点赞,这个芯片真的很便宜。如果可以,你可以试着用它做一个简单的变频器。

出0入0汤圆

发表于 2020-1-10 09:33:27 | 显示全部楼层
机翻了一下
这段代码旨在重制图片中所示的成品(XY-LPWM3)。
这是常见的三通道方波发生器。
从中可以制成一个三相正弦波发生器。
....
这不是完整的代码,而是带有设置和读取正弦值表的主要工件。
可在此处生成
正弦表值:_daycounter.com/Calculators/Sine-Generator-Calculator2.phtml 正弦查找表生成器计算器:
您只需要将第二个和第三个数组移动1 \ 3(120度)

出0入0汤圆

发表于 2020-9-14 08:27:33 | 显示全部楼层
也没有电路图
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 22:08

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表