avatar_verial

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

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

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

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

Shadow_ru

Цитата: Dj.Ad от 20 Окт. 2020 в 17:57на РС2 идет через делитель с батареи
Ну да, все так. Странно, правда, судя по коду оно транслируется именно в управляющий сигнал.

Dj.Ad

Цитата: Shadow_ru от 20 Окт. 2020 в 18:03Но DCLINK_PIN это пин для подключения ручки скорости )
DCLINK_PIN стоял на РС2 я и подумал что DCLINK_PIN это и есть напряжение батареии, ладно где кусок кода где считывается напряжение батареии и с какого порта?

#define SWITCH_PIN GPIO_PIN_1 //
#define SWITCH_PORT GPIOA

#define BUTTON_PIN GPIO_PIN_1 //
#define BUTTON_PORT GPIOA

ничего не правил почему две переменные забиты на РА1?

Shadow_ru

Цитата: Dj.Ad от 20 Окт. 2020 в 18:06DCLINK_PIN это и есть напряжение батареии
Да не, все верно. Я что-то видно не понимаю в функции управления, посмотрю.

Pau62

Цитата: Dj.Ad от 20 Окт. 2020 в 18:06почему две переменные забиты на РА1?
Одна для включение, другая на выключение или хз.
Забей, тут нет проблемы.

Shadow_ru

Цитата: Dj.Ad от 20 Окт. 2020 в 18:06где кусок кода где считывается напряжение батареии и с какого порта
Тут чуть сложнее схема. Сначала проставлется режим пина - с этого пина читать напряжение. А потом в иницализации АЦП еще раз проставляется с какого канал тянуть. И тут надо внести номер канала - и PС2 это 12 канал.

А какой надо теперь - скажи номер ножки куда приходит.

Dj.Ad

Цитата: Shadow_ru от 20 Окт. 2020 в 18:16А какой надо теперь - скажи номер ножки куда приходит.
РС0 я писал где то раньше же, что после его изменения плата пиликает

переписал та кже кнопки включения, теперь плата реагирует на одиночное нажатие кнопки и остается сама включена

Shadow_ru

Цитата: Dj.Ad от 20 Окт. 2020 в 18:23РС0
Это 10 канал. Надо поменять в setup.c функция MX_ADC1_Init поменять

sConfig.Channel = ADC_CHANNEL_12;  // pc2 vbat

на

sConfig.Channel = ADC_CHANNEL_10;  // pc0 vbat


И поменять в MX_ADC2_Init

sConfig.Channel = ADC_CHANNEL_10;  // pc0 right cur   -> left

на канал сенсора тока левого колеса. Ну и соотвественно сменить LEFT_DC_CUR_PIN

Dj.Ad

смотри прикол

КАК быть? мы щас все поперепутаем

Добавлено 20 Окт. 2020 в 18:35

Цитата: Shadow_ru от 20 Окт. 2020 в 18:27И поменять в MX_ADC2_Init
это в каком файле?

Pau62

Прозванивать.
На сколько я помню, правильнее в проге.

Shadow_ru

Цитата: Dj.Ad от 20 Окт. 2020 в 18:31
КАК быть? мы щас все поперепутаем
Ну тут надо по кускам есть ) Пока надо что бы напруга читалась и выводилась в ком-порт. Можно просто забиндить на левую ножку.
Ну левый-правый если перепутан весь в коде оптом, то ничего страшного тут нет.  Потом разберемся в коде, какие же пины куда смотрят.

Добавлено 20 Окт. 2020 в 18:39

Цитата: Dj.Ad от 20 Окт. 2020 в 18:31в каком файле
setup.c

Dj.Ad

Цитата: Shadow_ru от 20 Окт. 2020 в 18:38Потом разберемся в коде, какие же пины куда смотрят.
зачем и где это менять?

И поменять в MX_ADC2_Init
Код: [Выделить]
sConfig.Channel = ADC_CHANNEL_10;  // pc0 right cur   -> left
на канал сенсора тока левого колеса. Ну и соотвественно сменить LEFT_DC_CUR_PIN

Shadow_ru

Цитата: Dj.Ad от 20 Окт. 2020 в 18:40зачем и где это менять
Ну дело заключается в том, что АЦП в STM32, насколько я помню, не умеют шарить каналы. Т.е. у нас есть АЦП1, который иницализирован на чтение 10 канала и потом АЦП2, который потом тоже инциализирован на чтение того же канала. Ну и в итоге, опять же насколько помню - АЦП1 получит либо 0, либо 1. Поэтому идея в том, что бы АЦП2 был зацеплен на какой-то другой канал. Сейчас он висит на PC0, просто перекинуть на какую-то другую ножку. Пусть даже на PC2, например - 12 канал. Ну и для порядку можно и LEFT_DC_CUR_PIN сменить на PC2. Наверно хуже не будет.

Pau62

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

Dj.Ad

Цитата: Shadow_ru от 20 Окт. 2020 в 18:47Ну дело заключается в том, что АЦП в STM32, насколько я помню, не умеют шарить каналы. Т.е. у нас есть АЦП1, который иницализирован на чтение 10 канала и потом АЦП2, который потом тоже инциализирован на чтение того же канала. Ну и в итоге, опять же насколько помню - АЦП1 получит либо 0, либо 1. Поэтому идея в том, что бы АЦП2 был зацеплен на какой-то другой канал. Сейчас он висит на PC0, просто перекинуть на какую-то другую ножку. Пусть даже на PC2, например - 12 канал. Ну и для порядку можно и LEFT_DC_CUR_PIN сменить на PC2. Наверно хуже не будет.

кароче что то наменял, напряжение в порте не появилось

что бы заработала кнопка сделал так
#define SWITCH_PIN GPIO_PIN_14 //AIN_V_BAT был PA1
#define SWITCH_PORT GPIOC

#define OFF_PIN GPIO_PIN_13  //
#define OFF_PORT GPIOC

#define BUTTON_PIN GPIO_PIN_14 //AIN_V_BAT был PA1
#define BUTTON_PORT GPIOC

Pau62

Цитата: Shadow_ru от 20 Окт. 2020 в 18:47Ну и в итоге, опять же насколько помню - АЦП1 получит либо 0,
они просто измерят одно и тоже

Balbes323

Частота шины i2c меняется в файле setup.c

Прошу прощения, что сразу это не указал.
На будущее, в платформио и кейле есть поиск, можно вбить любую переменную и он найдет её во всех вкладках, где она есть.
P.s. исправил.
Осталось 99%...

Pau62

#define OFF_PIN
#define BUTTON_PIN

Это должен быть один и тот же пин.
Надо в схему смотреть и прозванивать, а не выдумывать.

Dj.Ad

#809
Цитата: Pau62 от 20 Окт. 2020 в 19:02Это должен быть один и тот же пин.
Надо в схему смотреть и прозванивать, а не выдумывать.
не умничай пожалуйста, а я бля по твоему не звонил? еще раз говорю это так

Добавлено 20 Окт 2020 в 19:08



и не нужно выдумывать вам если схему не смотрели

Добавлено 20 Окт 2020 в 19:11

Цитата: Balbes323 от 20 Окт. 2020 в 18:58Частота шины i2c меняется в файле setup.c
у меня всеравно почему то не запустилось, я смотрел осликом на выводах шевеления не было, сейчас собрал где юарт3 используется на управление

операционники, правый,
РС4 - скорее общий всего ток правого колеса
РС5 - фазный ток
левый
РА0 - общий ток левого колеса
РС3 - фазный, 
что измеряют это не точно, но подключены они так, в прошивке же измерение идет общего тока с шунта и 2 измерения с фазных проводов похоже, у нас же одно измерение

напряжение батареии походу заработало, только завышает на пару вольт, лаболаторника нет, позже найду ДС-ДС и буду понижать и смотреть есть ли изменения в порте, отрубаю акум доходит до 33 вольт и отрубается, видимо срабатывает защита, показывает так 42, по факту там 39,5
забыл что вольтметр занижает этот, замерил другим 42,3В


где изменить пороговое напряжение отключения гирика? лень  подключать БП с ругулировкой