Полезная информация


avatar_verial

Программа для переделки гироскутера.

Автор verial, 23 Дек. 2018 в 08:29

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Shadow_ru

Ну вообще что показывает чушь - это нормально. Автор прошивки даже описывает процедуру калибрации.
Тут коэффициент пересчета
config.h
#define BAT_CALIB_ADC           1492      // adc-value measured by mainboard (value nr 5 on UART debug output)
Цитата: Dj.Ad от 20 Окт. 2020 в 19:07где изменить пороговое напряжение отключения гирика
По моему тут.
config.h
BAT_DEAD

Dj.Ad

#811
Цитата: Pau62 от 20 Окт. 2020 в 21:19Там я был не прав.
Но с языком по-аккуратнее будь.
падон конечно, но схемы я читать вроде тоже умею, и эту плату пол дня тыкаю тестером уже, плюс написал что она реагирует теперь на кнопку включения адекватно


вопрос, что нам д
елать теперь что в родной прошивке идет 3 измерения на колесо, это ток с шунта, и еще 2 измерения


хотя смотрите в папке hoverboard-firmware-hack-FOC-master\docs есть 2 файла со схемами, второй как раз на драйверах и там как раз 2 измерения на колесо, правда почему то проц совсем другой


овер каренты я тоже вызвонил, куда подключены операционники написал выше адреса

Dj.Ad

#812
Цитата: Shadow_ru от 20 Окт. 2020 в 20:51По моему тут.
config.h
BAT_DEAD
да изменил BAT_DEAD на 290, стал отрубаться при 28 вольтах

#define LEFT_TIM TIM8
#define LEFT_TIM_U CCR1
#define LEFT_TIM_UH_PIN GPIO_PIN_6
#define LEFT_TIM_UH_PORT GPIOC
#define LEFT_TIM_UL_PIN GPIO_PIN_7
#define LEFT_TIM_UL_PORT GPIOA
#define LEFT_TIM_V CCR2
#define LEFT_TIM_VH_PIN GPIO_PIN_7
#define LEFT_TIM_VH_PORT GPIOC
#define LEFT_TIM_VL_PIN GPIO_PIN_0
#define LEFT_TIM_VL_PORT GPIOB
#define LEFT_TIM_W CCR3
#define LEFT_TIM_WH_PIN GPIO_PIN_8
#define LEFT_TIM_WH_PORT GPIOC
#define LEFT_TIM_WL_PIN GPIO_PIN_1
#define LEFT_TIM_WL_PORT GPIOB

почему тут столько данных, еще и тамймеры указывать надо, сейчас с своих бумажек дам адреса куда подключены HI и LO выводы драйверов

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

и как писали, что управленеи драйвером верхнего и нижнего плеча может быть инвертировано, мы можем включить одновременно оба ключа)))) тут точно нужно или через резистор запускать или с лаболаторника
правый мотор: (с короткими проводами)
A_HI -  PA10  ( видимо это U)
A_LO - PB15
B_HI -  PA9    ( видимо это V)
B_LO - PB14
C_HI -  PA8   ( видимо это W)
C_LO - PB13

предлагаю запустить хотя бы 1 колесо

Shadow_ru

Цитата: Dj.Ad от 20 Окт. 2020 в 21:38второй как раз на драйверах и там как раз 2 измерения на колесо
Это в этой прошивке реализовано
https://github.com/cloidnerux/hoverboard-firmware-hack
Но она под совсем другой процс и там FOC нету. Сомнительно что выйдет запустить в FOC режиме, но синус всегда можно выдать )

Dj.Ad

Цитата: Shadow_ru от 20 Окт. 2020 в 22:22Ты лучше выпиши что и как, а к выходным я съезжу в мастерскую, откопаю осциллограф и лабораторник, соберу стенд и попробую что-то родить. Если раньше сам не разберешься ))
ты лучше скажи зачем там еще таймера указывать на каждую фазу, типа прерывания какие то?

а разбираться это чисто спортивный интерес щас, мне уже едут контроллеры из китая, вернее с доставкой из РФ, Я вчера их оплатил когда моя плата и не пикала даже

kepp

народ кто может логи расшифровать?
интересует столбец 2 и 4 вот что оно там рисует в зависимости от положения ADC2 ?
столбец 1 это положение ручки ADC1
столбец 2 это положение ручки ADC2

-- Motors enabled --
1:0 2:0 3:0 4:0 5:1514 6:4004 7:1684 8:302 крутилки по нулям
начинаем вращать ADC2
1:0 2:509 3:0 4:0 5:1514 6:4020 7:1680 8:310
1:0 2:698 3:85 4:85 5:1514 6:4020 7:1680 8:310
1:0 2:811 3:164 4:164 5:1514 6:4020 7:1680 8:310
1:0 2:810 3:183 4:183 5:1501 6:4020 7:1679 8:312
1:0 2:818 3:185 4:185 5:1514 6:4020 7:1679 8:312
1:0 2:884 3:203 4:203 5:1514 6:4020 7:1679 8:312
1:0 2:1062 3:295 4:295 5:1514 6:4020 7:1679 8:312
1:0 2:1160 3:372 4:372 5:1514 6:4020 7:1679 8:312
1:0 2:1287 3:435 4:435 5:1514 6:4023 7:1679 8:312
1:0 2:1356 3:496 4:496 5:1514 6:4020 7:1679 8:312
1:0 2:1358 3:503 4:503 5:1515 6:4020 7:1679 8:312
1:0 2:1457 3:535 4:535 5:1514 6:4023 7:1678 8:314
1:0 2:1628 3:631 4:631 5:1513 6:4023 7:1678 8:314
1:0 2:1773 3:717 4:717 5:1512 6:4023 7:1679 8:312
1:0 2:1797 3:757 4:757 5:1512 6:4023 7:1678 8:314
1:0 2:1796 3:762 4:762 5:1514 6:4023 7:1678 8:314
1:0 2:1922 3:796 4:796 5:1513 6:4023 7:1678 8:314
1:0 2:2182 3:936 4:936 5:1526 6:4023 7:1678 8:314
1:0 2:2381 3:995 4:995 5:1513 6:4023 7:1678 8:314
1:0 2:2454 3:999 4:999 5:1513 6:4023 7:1678 8:314
1:0 2:2449 3:1000 4:1000 5:1528 6:4023 7:1678 8:314 до упора

1:0 2:956 3:333 4:333 5:1532 6:4025 7:1677 8:315
1:0 2:991 3:295 4:295 5:1514 6:4025 7:1677 8:315
1:0 2:964 3:284 4:284 5:1512 6:4025 7:1677 8:315
1:0 2:936 3:272 4:272 5:1500 6:4025 7:1677 8:315
1:0 2:982 3:273 4:273 5:1514 6:4025 7:1677 8:315
1:0 2:963 3:273 4:273 5:1514 6:4025 7:1677 8:315
1:0 2:999 3:279 4:279 5:1512 6:4025 7:1676 8:317
1:0 2:968 3:287 4:287 5:1514 6:4025 7:1676 8:317
1:0 2:1133 3:321 4:321 5:1498 6:4025 7:1676 8:317
1:0 2:1045 3:335 4:335 5:1514 6:4025 7:1676 8:317
1:0 2:1176 3:355 4:355 5:1514 6:4025 7:1676 8:317
1:0 2:887 3:305 4:305 5:1513 6:4025 7:1676 8:317
1:0 2:1026 3:275 4:275 5:1529 6:4025 7:1676 8:317
1:0 2:876 3:264 4:264 5:1514 6:4025 7:1677 8:315
1:0 2:1038 3:262 4:262 5:1532 6:4025 7:1677 8:315
1:0 2:893 3:270 4:270 5:1514 6:4025 7:1676 8:317
1:0 2:1028 3:277 4:277 5:1532 6:4025 7:1677 8:315
1:0 2:915 3:274 4:274 5:1513 6:4025 7:1676 8:317
1:0 2:986 3:279 4:279 5:1499 6:4025 7:1676 8:317
1:0 2:928 3:272 4:272 5:1513 6:4025 7:1676 8:317
1:0 2:948 3:257 4:257 5:1512 6:4025 7:1676 8:317
1:0 2:968 3:262 4:262 5:1500 6:4025 7:1676 8:317
1:0 2:943 3:266 4:266 5:1513 6:4025 7:1676 8:317
1:0 2:959 3:268 4:268 5:1514 6:4025 7:1676 8:317
1:0 2:4028 3:400 4:400 5:1514 6:4025 7:1675 8:319 до упора
1:0 2:4031 3:922 4:922 5:1529 6:4025 7:1676 8:317
1:0 2:4028 3:994 4:994 5:1499 6:4025 7:1676 8:317
1:0 2:4027 3:999 4:999 5:1513 6:4025 7:1676 8:317
обратно на ноль
1:0 2:898 3:238 4:238 5:1512 6:4025 7:1672 8:325
1:0 2:897 3:234 4:234 5:1512 6:4025 7:1673 8:323
1:0 2:732 3:173 4:173 5:1523 6:4025 7:1673 8:323
1:0 2:570 3:73 4:73 5:1514 6:4025 7:1673 8:323
1:0 2:358 3:7 4:7 5:1513 6:4025 7:1672 8:325
1:0 2:358 3:0 4:0 5:1513 6:4025 7:1672 8:325
1:0 2:358 3:0 4:0 5:1512 6:4025 7:1672 8:325
1:0 2:154 3:0 4:0 5:1512 6:4025 7:1672 8:325
1:0 2:0 3:0 4:0 5:1510 6:4025 7:1672 8:325
вращаем ADC1
1:2059 2:0 3:0 4:0 5:1513 6:4025 7:1671 8:327
1:0 2:0 3:0 4:0 5:1512 6:4025 7:1671 8:327
1:0 2:0 3:0 4:0 5:1497 6:4025 7:1671 8:327
1:1954 2:0 3:0 4:0 5:1504 6:4023 7:1671 8:327
1:2102 2:0 3:0 4:0 5:1499 6:4023 7:1670 8:329
1:2274 2:0 3:0 4:0 5:1513 6:4023 7:1671 8:327
1:2399 2:0 3:0 4:0 5:1513 6:4023 7:1671 8:327
1:2523 2:0 3:0 4:0 5:1498 6:4023 7:1670 8:329
1:2633 2:0 3:0 4:0 5:1499 6:4023 7:1670 8:329
1:2757 2:0 3:0 4:0 5:1513 6:4023 7:1670 8:329
1:2877 2:0 3:0 4:0 5:1512 6:4023 7:1670 8:329
1:3023 2:0 3:0 4:0 5:1497 6:4023 7:1670 8:329
1:3168 2:0 3:0 4:0 5:1498 6:4023 7:1670 8:329
1:3335 2:0 3:0 4:0 5:1512 6:4023 7:1670 8:329
1:3479 2:0 3:0 4:0 5:1513 6:4023 7:1670 8:329
1:3671 2:0 3:0 4:0 5:1497 6:4023 7:1669 8:331
1:3831 2:0 3:0 4:0 5:1496 6:4023 7:1669 8:331
1:3874 2:0 3:0 4:0 5:1512 6:4023 7:1669 8:331
1:3917 2:0 3:0 4:0 5:1513 6:4023 7:1670 8:329
1:3947 2:0 3:0 4:0 5:1497 6:4023 7:1669 8:331
1:3966 2:0 3:0 4:0 5:1509 6:4023 7:1670 8:329
1:3978 2:0 3:0 4:0 5:1511 6:4023 7:1670 8:329
1:3989 2:0 3:0 4:0 5:1511 6:4023 7:1670 8:329
1:4009 2:0 3:0 4:0 5:1497 6:4023 7:1670 8:329 до упора

Shadow_ru

#816
Цитата: kepp от 20 Окт. 2020 в 23:37логи расшифровать
Судя по всему это дебажный вывод, а не с ардуины ? Если так, то
1:  чистые показания АЦП1 - управление
2:  чистые показания АЦП2 - управление
3:  рассчитанная скорость правого колеса в попугаях - [-1000, 1000]
4:  рассчитанная скорость левого колеса в попугаях - [-1000, 1000]
5:  чистое значение АЦП сенсора батареи
6:  пересчитанное в вольты напряжение батареи
7:  чистое значение АЦП температуры CPU
8:  пересчитанное в цельсии температура CPU

Если суть вопроса, как сделать что бы одинаково колеса крутил - то менять эти параметры
  #define ADC1_MIN            0         нулевое положение резистора 1
  #define ADC1_MID            2048      середина
  #define ADC1_MAX            4095      максимум

  #define ADC2_MIN            0         нулевое положение резистора 2
  #define ADC2_MID            2048      середина
  #define ADC2_MAX            4095      максимум

Снять показания в каждом из положений и записать сюда. Если ручка с удержанием в центральном положении - то раскомментить #define ADC1_MID_POT или/или #define ADC2_MID_POT

kepp

Цитата: Shadow_ru от 21 Окт. 2020 в 09:12Судя по всему это дебажный вывод, а не с ардуины ? Если так, то
это дебаг с правого UART ,просто не могу понять почему не проходит авто калибровка ручек,хотелось бы вывести в лог весь процесс калибровки,что бы понять в чем там дело
не тут что то не то
вот тут ручка по значениям до упора ,а колеса типа вполовину
1:0 2:4028 3:400 4:400 5:1514 6:4025 7:1675 8:319 до упора

Буратино

Цитата: verial от 08 Окт. 2020 в 07:35
https://www.youtube.com/watch?v=n5paR1dR0gw
параметры меняются в динамике как то мощность,скорость и сила тормоза
обновление прошивки по воздуху.
:ку: слюньки текут. класный вы гаджет сматерили. Вот рассказал бы как "по воздуху" шить :hello:

verial

Каждый человек индивидум оставьте его в этом состоянии.

Shadow_ru

Цитата: kepp от 21 Окт. 2020 в 10:01ручка по значениям до упора ,а колеса типа вполовину
Это значит в еепром записалась неверная информация о АЦП значениях. Я бы просто выкинул кусок с чтением в Input_Init util.c и проверил снова.

Буратино

Цитата: verial от 21 Окт. 2020 в 11:37там штатно через вебку.
что сложно рассказать более детально? Что в материнке зашит свой адрес для интернета? :-(

Pau62

Цитата: Буратино от 21 Окт. 2020 в 12:34что сложно рассказать более детально?
Со стороны гироплаты к ее uart подключают преобразователь uart - bluetooth, или uart - wi-fi.
Управляющее устройство должно поддерживать выбранный интерфейс.
Ну или иметь аналогичный преобразователь.
Таким образом, от гироплаты не требуется ничего знать ни про tcp-ip, ни про bluetooth.
Для перепрошивки по воздуху гироплата должна иметь прошитый в нее бутлоадер, способный загружать прошивку по uart.
При этом она будет прошиваться по uart , и ей опять же не требуется ничего знать ни про tcp-ip, ни про bluetooth.

Dj.Ad

#823
заменил в прошивке адреса датчиков холла, залил, подключил колеса, кручу руками и в мониторе порта есть скорость, прогресс намечается

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

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

управление ключали, в прошивке было
#define LEFT_TIM TIM8
#define LEFT_TIM_U CCR1

у меня вызвонился 3 таймер, ну ладно поменять вроде логично на 3, что такое CCR1, CCR2, CCR3?

Pau62

Цитата: Dj.Ad от 21 Окт. 2020 в 14:27у меня вызвонился 3 таймер, ну ладно поменять вроде логично на 3, что такое CCR1, CCR2, CCR3
У этого контроллера рулить моторами могут только таймеры 1 и 8.
Так что надо прозванивать внимательней.
CCR1, CCR2, CCR3  - это регистры захвата - сравнения соответствующих таймеров. В них пишутся значения ШИМ.
Каждый из них привязан к выводу (точнее, к двум) , к которым подключен драйвер.
Так что набор выводов управления моторов у всех плат на этом контроллере будет один и тот же.
Может поменяться соответствие пинов фазам, или левому/правому моторам.

Shadow_ru

Цитата: Dj.Ad от 21 Окт. 2020 в 14:273 таймер
С таймерами вот как - это некие рилтайм маленькие контроллеры, и в общем для генерации 3-х фазного ШИМ сигнала подходят только TIM1 или TIM8. У каждого таймера есть предопредленные номера каналов, жестко заведенные на ножки. Воот, соотвественно PC6 - это 1 канал, PC7 - 2 и далее смотреть в CubeMX. Единственно что, я помню что TIM3 смэпплен как TIM8, так что по идее ничего менять и надо, только номера каналов, например.

Dj.Ad

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

пойду попью чай
это левое колесо на 8 таймере, оно совпало вроде даже, правое физически сидит на 3 таймере, в настройках ставить только другие выводы, таймер оставлять 1?

Dj.Ad

Цитата: Pau62 от 21 Окт. 2020 в 14:55Так что надо прозванивать внимательней.
я мог не верно вызвонить 1 пин, ну два, ну не все же? я ж не с головы это взял я тыкал мультиком