roboforum.ru

Технический форум по робототехнике.

строю платформу для робота на основе гироскутера.

Re: строю платформу для робота на основе гироскутера.

Dmitry__ » 24 июн 2016, 19:39

Madf писал(а):Глянул ссылку и чот не понял, как у них на 16МГц получается "16-bit output PWM with full clock rate resolution (~18kHz PWM with a POWER_RANGE of 800 steps)"?

Там жесткий хак, все софтово и на асме. На асме можно и не такое :)
Смотреть тут:

Код: Выделить всёРазвернуть
pwm_on_fast:
      sbrc   flags2, A_FET
      PWM_A_on
      sbrc   flags2, B_FET
      PWM_B_on
      sbrc   flags2, C_FET
      PWM_C_on
      ldi   ZL, pwm_off
      mov   tcnt2h, duty_h
      out   TCNT2, duty_l
      reti

pwm_wdr:               ; Just reset watchdog
      wdr
      reti

pwm_off:
      cpse   tcnt2h, ZH      ; 2 cycles to skip when tcnt2h is 0
      rjmp   pwm_again
      wdr            ; 1 cycle: watchdog reset
      sbrc   flags1, FULL_POWER   ; 2 cycles to skip if not full power
      rjmp   pwm_on         ; None of this off stuff if full power
      lds   ZL, pwm_on_ptr      ; 2 cycles
      mov   tcnt2h, off_duty_h   ; 1 cycle
      sbrc   flags2, A_FET      ; 2 cycles if skip, 1 cycle otherwise
      PWM_A_off         ; 2 cycles (off at 12 cycles from entry)
      sbrc   flags2, B_FET      ; Offset by 2 cycles here,
      PWM_B_off         ; but still equal on-time
      sbrc   flags2, C_FET
      PWM_C_off
      out   TCNT2, off_duty_l   ; 1 cycle
      .if CPWM_SOFT
      sbrc   flags2, SKIP_CPWM   ; 2 cycles if skip, 1 cycle otherwise
      reti
      .if DEAD_TIME_LOW > 9
      .equ   EXTRA_DEAD_TIME_LOW = DEAD_TIME_LOW - 9
      .else
      .equ   EXTRA_DEAD_TIME_LOW = 0
      .endif
      cycle_delay EXTRA_DEAD_TIME_LOW - 2
      .equ   CPWM_OVERHEAD_LOW = 9 + EXTRA_DEAD_TIME_LOW
      sbrc   flags2, A_FET
      PWM_COMP_A_on
      sbrc   flags2, B_FET
      PWM_COMP_B_on
      sbrc   flags2, C_FET
      PWM_COMP_C_on
      .endif
      reti            ; 4 cycles

Re: строю платформу для робота на основе гироскутера.

verial » 25 июн 2016, 06:52

не на регулях очень не плохо сделать управление моторами только у меня пока не получается тормоз, вперед назад это еще куда не шло а вот полноценный тормоз чтоб как вкопанный не получается.

Re: строю платформу для робота на основе гироскутера.

Madf » 26 июн 2016, 13:04

Dmitry__ писал(а):Там жесткий хак, все софтово и на асме.

Ну, вообще там 800 шагов всего, а это не 16-бит, а всего лишь с натягой 10, физику не обманишь (маркетологи). :roll:

Re: строю платформу для робота на основе гироскутера.

verial » 28 июн 2016, 08:09

Регули не подходят, нету у них резкого торможения только плавное, во общем продолжаю работать со штатной платой только теперь с той которая одна плата на один мотор.

Re: строю платформу для робота на основе гироскутера.

linvinus » 28 июн 2016, 10:02

не могу понять что у вас за проблема с торможением?
управление по датчиках Холла?
pwm синусоидой или блочная коммутация?

Re: строю платформу для робота на основе гироскутера.

verial » 28 июн 2016, 10:28

все очень просто, на фазу по схеме идут два одинаковых сигнала по всем параметрам если работает в штатном режиме на гироскутерной прошивке то все работает хорошо, стоит мне залить свою прошивку с повторением сигнала начинает греться транзистор в плече из одной из фаз ну и сгорает.

Re: строю платформу для робота на основе гироскутера.

Madf » 28 июн 2016, 12:23

Сразу в голову приходит идея поставить ESC с реверсом, пример: http://www.hobbyking.com/hobbyking/stor ... sion_.html
Но возникает вопрос, при торможении, усилие/нагрузка возрастет в разы - это будет хлеще чем "разгон".

Re: строю платформу для робота на основе гироскутера.

verial » 28 июн 2016, 13:08

Давайте закроем тему с установкой регулей от всяких радио моделей, не подходят и точка.

Re: строю платформу для робота на основе гироскутера.

Madf » 28 июн 2016, 13:34

мотором тормозить не выйдет
придется ставить механику...

Re: строю платформу для робота на основе гироскутера.

verial » 28 июн 2016, 14:13

Ну механический тормоз это на закуску, щаз с дайтамингами ни как не получаеться.

Re: строю платформу для робота на основе гироскутера.

linvinus » 28 июн 2016, 14:17

verial писал(а):все очень просто, на фазу по схеме идут два одинаковых сигнала по всем параметрам если работает в штатном режиме на гироскутерной прошивке то все работает хорошо, стоит мне залить свою прошивку с повторением сигнала начинает греться транзистор в плече из одной из фаз ну и сгорает.


схему где посмотреть можно? прошивку ту часть что отвечает за pwm выложите?

Madf писал(а):мотором тормозить не выйдет
придется ставить механику...

посмешили

Re: строю платформу для робота на основе гироскутера.

verial » 28 июн 2016, 15:12

Я же написал в начале ни схему ни программу пока сюда постить не буду.

"мотором тормозить не выйдет
придется ставить механику..."
посмешили

аргументируйте. ведь на гоночных машинках тормоз механический.

Re: строю платформу для робота на основе гироскутера.

linvinus » 28 июн 2016, 15:26

verial писал(а):Я же написал в начале ни схему ни программу пока сюда постить не буду.

"мотором тормозить не выйдет
придется ставить механику..."
посмешили

аргументируйте. ведь на гоночных машинках тормоз механический.

понятно, извиняйте не так вас понял,
всё есть в учебнике по электрическим машинам.

Re: строю платформу для робота на основе гироскутера.

Dmitry__ » 28 июн 2016, 18:13

verial, классно ты начал, не дам, давайте не будем. Молодец, только ты потерял больше, удачи тебе в таком сложном деле :D

Re: строю платформу для робота на основе гироскутера.

verial » 28 июн 2016, 18:31

Ни чего я не потерял, все и везде отправляют в инет :P
Звиняйте если обидел но прошивку от гироскутера не дам, не вижу смысла(это для вас). Я вообще тут просто написал типо записной книжки ну и на тот момент если кому будет интересно мне помочь :oops: :pardon:
а вообще спасибо что ни чем не помогли а воду всю в решето :pardon:
Изображение

Во, похожее и с датчиками :crazy:
Последний раз редактировалось verial 28 июн 2016, 19:01, всего редактировалось 6 раз(а).


Rambler\'s Top100 Mail.ru counter