Jump to content


Full Members
  • Content count

  • Joined

  • Last visited

Community Reputation

44 Excellent

About KingQueenWong

  • Rank
  • Birthday 10/06/1991

Contact Methods

  • Website URL
  • ICQ

Profile Information

  • Gender
  • Location
  • Interests
    Motor Control,Electronic,STM32,Arduino

Recent Profile Visitors

383 profile views
  1. Firmware

  2. Firmware

  3. Firmware

    I don't think you are right what so ever.You try to add a bad tag for this open project,which make others uncomfortable.I will try my best to do somthing for this project.
  4. Firmware

    @electric_vehicle_lover I am busy in the last days.I try my best to do something for this open source project.I found some codes that designed for two wheel balance cars.The good news is that it use bldc motor too.The bad news is that it annotate in Chinese.The algorithm maybe very reasonable.I think this code will take us more thinkings about balance control. bldc.rar
  5. Firmware

    This board is well as Microwork 30B4. http://www.znphc.com/b2b/index.php/store/index/index/id/248.html Operational amplifier: LM324 60VDC-12VDC: LM5007 MCU: STM32F103C8T6 5V: 78M05 3.3V: LM1117 SHUNT: 0.007Ohm Gyro: MPU6050
  6. Firmware

    @electric_vehicle_lover 1.Just like you,I wanna learn motor control; 2.Beause of you insist on learn and study motor control in forum,which cause me just wanna join with you,at the same time,i could contribute my effort to many open source projects; 3.Thanks to forum,everyone can share ideas and informations in here; 4.I love electronic hardware and sofware; 5.The world always keep moving whether without me or nor; 6.You are the only one that love so many China’s electronic hardware and try to develop firmware for them,i can buy this hardware in China easily,why not take part in this project? If the hardware is difficult for me to buy,nothing i can do for it,maybe i will keep quiet.If the project is a closed source project all,maybe need a explanation to support it actively; 7.I have ever been crazy about motor control for a while before i know your project and this forum issue,it's my first time discuss so much about motor control and join the open source project. Just like many people at once smoke tobacoo, they will can't stop liking it easily.I don’t know that it is good for me.Actually,i refuse smoking.
  7. Firmware

    Thanks,i got it.I will buy a GEN1 board which only cost $9 in China(I know the GEN1 board's weakness,but It's very very very cheap for me to buy one).I will try my best to translate it(it's not difficult for me).You are right,the firmware of EBike should come first.
  8. Firmware

    I have not GEN1 board,so now i can not find the difference between the firmware and the GEN1 board.But it seem that this firmware is designed for GEN1 board(Maybe i need to buy a GEN1 board to confirm my guess).I may will spend the next days to translate all the comments in English.Everyone just need more patience to my hard work.
  9. Firmware

    The guy said nothing about the hardware.
  10. Firmware

    @electric_vehicle_lover I found a chinese guy who release the generic EUC firmware that be annotated in Chinese! The guy said that the firmware can work well! I think the code is good for your EUC banlance control! I review the code,it don't run foc,just square wave. ZKTF_STM32_BALCAR_V5.rar
  11. Firmware

    The schematic has been done. S06S-Controller.PDF
  12. Firmware

    I buy a board which cost $29 from https://s.2.taobao.com/list/
  13. Firmware

    I implemented TIM1(TIM1_TRGOSOURCE_OC3REF) trigger ADC conversion throttle value. void adc_init (void) { //init GPIO for the used ADC pins GPIO_Init(THROTTLE__PORT,THROTTLE__PIN,GPIO_MODE_IN_FL_NO_IT); //de-Init ADC peripheral ADC1_DeInit(); //init ADC2 peripheral ADC1_Init(ADC1_CONVERSIONMODE_SINGLE,ADC1_CHANNEL_4,ADC1_PRESSEL_FCPU_D2,ADC1_EXTTRIG_TIM,ENABLE,ADC1_ALIGN_RIGHT, ADC1_SCHMITTTRIG_CHANNEL9,DISABLE); ADC1_ITConfig(ADC1_IT_EOCIE,ENABLE); } void pwm_init (void) { // TIM1 Peripheral Configuration TIM1_DeInit(); TIM1_TimeBaseInit(0, // TIM1_Prescaler = 0 TIM1_COUNTERMODE_UP, (1024 - 1), // clock = 16MHz; counter period = 1024; PWM freq = 16MHz / 1024 = 15.625kHz 0); // TIM1_RepetitionCounter = 0 TIM1_OC1Init(TIM1_OCMODE_PWM1, TIM1_OUTPUTSTATE_ENABLE, TIM1_OUTPUTNSTATE_DISABLE, 0, // initial duty_cycle value TIM1_OCPOLARITY_HIGH, TIM1_OCNPOLARITY_LOW, TIM1_OCIDLESTATE_RESET, TIM1_OCNIDLESTATE_SET); TIM1_OC2Init(TIM1_OCMODE_PWM1, TIM1_OUTPUTSTATE_ENABLE, TIM1_OUTPUTNSTATE_DISABLE, 0, // initial duty_cycle value TIM1_OCPOLARITY_HIGH, TIM1_OCNPOLARITY_LOW, TIM1_OCIDLESTATE_RESET, TIM1_OCNIDLESTATE_SET); TIM1_OC3Init(TIM1_OCMODE_PWM1, TIM1_OUTPUTSTATE_ENABLE, TIM1_OUTPUTNSTATE_DISABLE, 0, // initial duty_cycle value TIM1_OCPOLARITY_HIGH, TIM1_OCNPOLARITY_LOW, TIM1_OCIDLESTATE_RESET, TIM1_OCNIDLESTATE_SET); // break, dead time and lock configuration TIM1_BDTRConfig(TIM1_OSSISTATE_DISABLE, TIM1_LOCKLEVEL_OFF, // hardware nees a dead time of 1us 16, // DTG = 0; dead time in 62.5 ns steps; 1us/62.5ns = 16 TIM1_BREAK_DISABLE, TIM1_BREAKPOLARITY_HIGH, TIM1_AUTOMATICOUTPUT_ENABLE); TIM1_SelectOutputTrigger(TIM1_TRGOSOURCE_OC3REF); TIM1_Cmd(ENABLE); // TIM1 counter enable TIM1_CtrlPWMOutputs(ENABLE); // main Output Enable } uint16_t Conversion_Value; INTERRUPT_HANDLER(ADC1_IRQHandler, 22) { if(ADC1_GetFlagStatus(ADC1_FLAG_EOC)!= RESET) { Conversion_Value = ADC1_GetConversionValue(); GPIO_WriteReverse(GPIOA,GPIO_PIN_1); ADC1_ClearITPendingBit(ADC1_IT_EOC); } } while (1) { //static uint16_t adc_value; //adc_value = adc_read_throttle (); //adc_value = map (adc_value, ADC_THROTTLE_MIN_VALUE, ADC_THROTTLE_MAX_VALUE, 0, 1023); //pwm_value = adc_value; printf("%d\n\r",Conversion_Value); Delay(100000); //pwm_set_duty_cycle_channel1 (pwm_value); //pwm_set_duty_cycle_channel2 (pwm_value); //pwm_set_duty_cycle_channel3 (pwm_value); }
  14. Firmware

    STM8's TIM1 TRGO event can trigger ADC conversion.
  15. Firmware

    This controller's 3 phase all connect a inductor in series. motordriver.PDF