avatar_verial

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

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

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

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

999

Подскажите такая плата пойдет для прошивки от Виктора. Проц gd. Или сразу СТМ запаять,а этот оставить с родной прошивкой?




belamore

Я открыл даташит на стм32. Сверил некоторые дорожки с принципиальной схемой вложенной на гитхабе, на моей плате другая разводка.

Так же я перепаял мс на стм32, ситуация не изменилась, что подтверждает ещё раз, что плата не та.

Так что под мою платку, надо или прошивку править или дорожки перерисовывать. Одно мне не по зубам, второе считаю нецелесообразным.

ЭФЭ

Цитата: belamore от 10 Апр. 2019 в 14:54Так что под мою платку, надо или прошивку править или дорожки перерисовывать. Одно мне не по зубам, второе считаю нецелесообразным
В гитхабовской есть отдельный файл ( лист или как там обязывают программисты), всем пинам присваиваются индивидуальные имена. Переписать только на соответсвенную схему. Надо быть и электронщиком и программистом.
Проще купить бу- шную плату.

Dima8181

#111
Цитата: fender90 от 08 Апр. 2019 в 12:26
Есть такой проект для Arduino, называется Dabble. У них есть мобильное приложение и библиотеки для контроля Arduino девайсов через блютус- в том  числе и джойстиком.
Ссылка на раздел на их сайте
https://thestempedia.com/docs/dabble/game-pad-module/page/6/
Ссылка на приложение
https://play.google.com/store/apps/details?id=io.dabbleapp

В принципе можно это использовать для управления моторами гироскутера.
Все документация на проект доступна на разделе сайта.
Так по-черному накидал код копи пастом для показания принципа. Думаю найдете кучу ошибок ))
Подскажите плз, верное ли хоть направление?
Тип возвращаемого значения у функций getx_axis() и gety_axis() - float в значениях от -7  до 7.  Они выдают позиции джойстика в осях Х и Y


#define CUSTOM_SETTINGS
#define INCLUDE_GAMEPAD_MODULE
#include <Dabble.h>
#include <stdint.h>
int16_t mspeed =0;
int16_t msteer =0;
void setup() {
  // put your setup code here, to run once:
  Serial.begin(19200);  // Serial for communication with hoverboard mainboard
  Dabble.begin(9600);  //Change this baudrate as per your bluetooth baudrate. Connect bluetooth on digital pin 2(RX) and 3(TX) for Uno/Nano and on Serial3 pins for Mega.
}



void loop() {
Dabble.processInput();  //this function is used to refresh data obtained from smartphone.
  Serial.print("KeyPressed: ");
  // read the X axis
  float c = GamePad.getx_axis();
  Serial.print("x_axis: ");
  Serial.print(c);
  Serial.print('\t');
  mspeed = (int16_t) map(c, -7, 7, -1000, 1000);

  // read the Y axis         
  msteer = (int16_t) map(d, -7, 7, -1000, 1000);     

// write X & Y axis values       
Serial.write((uint8_t *) &msteer, sizeof(msteer));
Serial.write((uint8_t *) &mspeed, sizeof(mspeed));
delay(20);
}

не вижу библы но ты в инит должен заранее вписать диапазон а в цикле его проверять а именно лимит если вдруг у тебя будет износ.
Добавь условие если нет то break и нет проблем . только for или if . swich,case даже не думай.
Это не тот случай
Да и в лупе что то много даже если будет в 32 битном камне опрос
Если сходу вникнешь в проект то ты должен понимать что твои задержи в рамках периферии

fender90

Цитата: Dima8181 от 10 Апр. 2019 в 23:51
не вижу библы но ты в инит должен заранее вписать диапазон а в цикле его проверять а именно лимит если вдруг у тебя будет износ.
Добавь условие если нет то break и нет проблем . только for или if . swich,case даже не думай.
Это не тот случай
Да и в лупе что то много даже если будет в 32 битном камне опрос
Если сходу вникнешь в проект то ты должен понимать что твои задержи в рамках периферии



Цитата: Dima8181 от 10 Апр. 2019 в 23:51#define CUSTOM_SETTINGS
#define INCLUDE_GAMEPAD_MODULE
#include <Dabble.h>
#include <stdint.h>
int16_t mspeed =0;
int16_t msteer =0;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(19200);  // Serial for communication with hoverboard mainboard
  Dabble.begin(9600);  //Change this baudrate as per your bluetooth baudrate. Connect bluetooth on digital pin 2(RX) and 3(TX) for Uno/Nano and on Serial3 pins for Mega.
}



void loop() {
 Dabble.processInput();  //this function is used to refresh data obtained from smartphone.
  Serial.print("KeyPressed: ");
  // read the X axis
  float c = GamePad.getx_axis();
  Serial.print("x_axis: ");
  Serial.print(c);
  Serial.print('\t');
  mspeed = (int16_t) map(c, -7, 7, -1000, 1000);

  // read the Y axis         
  msteer = (int16_t) map(d, -7, 7, -1000, 1000);     

// write X & Y axis values       
 Serial.write((uint8_t *) &msteer, sizeof(msteer));
 Serial.write((uint8_t *) &mspeed, sizeof(mspeed));
 delay(20);
}




Как то так?


#define CUSTOM_SETTINGS
#define INCLUDE_GAMEPAD_MODULE
#include <Dabble.h>
#include <stdint.h>
const int min_val= -7;
const int max_val = 7;

int16_t mspeed =0;
int16_t msteer =0;
void setup() {
  // put your setup code here, to run once:
  Serial.begin(19200);  // Serial for communication with hoverboard mainboard
  Dabble.begin(9600);  //Change this baudrate as per your bluetooth baudrate. Connect bluetooth on digital pin 2(RX) and 3(TX) for Uno/Nano and on Serial3 pins for Mega.
}



void loop() {
Dabble.processInput();  //this function is used to refresh data obtained from smartphone.
  Serial.print("KeyPressed: ");
  // read the X axis
  float c = GamePad.getx_axis();
  Serial.print("x_axis: ");
  Serial.print(c);
  Serial.print('\t');
  mspeed = (int16_t) map(c, -7, 7, -1000, 1000);

  // read the Y axis         
  msteer = (int16_t) map(d, -7, 7, -1000, 1000);     

// write X & Y axis values       
Serial.write((uint8_t *) &msteer, sizeof(msteer));
Serial.write((uint8_t *) &mspeed, sizeof(mspeed));
delay(20);
}

If (c> max_val && c < min_val)
{
break;
delay(20);
}
If (c> max_val && c < min_val)
{
break;
delay(20);
}
If (c> max_val && c < min_val)
{
break;
delay(20);
}
If (d> max_val && d < min_val)
{
break;
delay(20);
}

fender90

Народ, может кто помочь с радиоуправлением?
Плата на GD
Купил  FlySKy FS- ia6b приемник и FS i6x передатчик к нему.
Поставил передатчик на режим PPM
Откомментил
#define CONTROL_PPM                 // use PPM-Sum as input. disable CONTROL_SERIAL_USART2!
#define PPM_NUM_CHANNELS 6          // total number of PPM channels to receive, even if they are not used.

USART2 закомментирован
ADC откомментирован по дефолту (активен)
Подключил PA3 (зеленый провод) к приемнику, взял землю и +5 вольт с того же разъёма через 12v - 5v DC/DC понижателя.

Как включаю плату колесо начинает автоматически крутиться, даже с отключенным приемником.
На команды с пульта - 0 реакции.

+ еще кнопка откючения себя странно ведет. Включает нормально а вот выключает не всегда.

verial

Давайте не будем мусорить все платы GD ведут себя неадекватно!
Каждый человек индивидум оставьте его в этом состоянии.

Dima8181

Я согласен но не все проекты.
К примеру я напишу блинк на stm32f103rc и прошью камень gd32f103rc он не будет диодом моргать.
Как выясню чот за настройки для периферии у автора которые оба версии камня в адекват приводят дам знать.
Да и еще чуть не забыл: перед компиляцией проекта после вашего изменения из папки build  удаляйте hex так как если ваш конфиг выйдет за рамки проекта или что то подобное то после компиляции проекта hex не появится.

mumix

Приветствую всех. Уже давно ,наверное как и многие тут, размышляю на тему детского электротранспорта и не только детского.. и вот случайно на авито увидел два гироскутера+ ховеркрафт за смешную цену. Ну и не упустил Шанс приобрести. После долгих раздумий и поисков информации о подключении колес от гироскутера набрел на тему прошивки матери от гироскутера.. так еще и мать на моих гироскутерах оказалась именно той которая обсуждается на чипе gd32. Прошилась прям сразу.. удивился как быстро она шьется.. Я даж не понял что она прошилась ,после нажатия programm and verify уже готово. .Ну так во общем windows 7 x64 скомпилил все по инструкции с первого раза без каких либо затруднений (проще не куда) . Когда все прошилось очень обрадовался что оно вообще получилось и оно работает. Изначально прошил прошивку Николаса.  Покрутил колесами .. и что то управление было не очень правильным. но потом понял что я просто не так подключил adc1 adc2 . В итоге прошился прошивкой от Виктора_7 (Спасибо ему большое) Все подключил как на картинке с инструкцией.. и все работает.... (блин нафлудил наверное )
Ребят большое вам СПАСИБО за эту тему и обсуждения... 
На прошивке от Виктора планирую сделать детский трайк (себе ,сыну, дочке :laugh: ). А вот для жены  чтоб с ребенком гонять на занятия в школу и разные курсы хотел бы сделать удлиненный самокат .. но суть в том что колеса на трайке крутятся в разные стороны, а на самокате должны крутится в одну сторону.. если конечно конструктивно их не перевернуть(что не очень эстетично). Так вот как поменять направление одного из колес?  как это сделать??
Еще видел кто то делал управление педалями от компа по принципу коробки автомат (чтоб плавно тормозило при отпускании газа).. Очень хотелось бы также на самокате.Может кто подскажет??
На трайке тормоз рекуперацией наверное будет приветствоваться . А вот на самокате можно здорово улететь если курок газа отпустить.. Хотелось бы узнать насколько сильно прошивка от Виктора_7 отличается от стоковой?  Програмирование изучать нет возможности и времени . А может просто кто то поделится своей модифицированой прошивкой с инструкцией .
Буду очень благодарен за любую информацию по теме.
СПАСИБО  и удачных всем проектов.

verial

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

mumix

Цитата: verial от 14 Апр. 2019 в 09:28рекуперации пока нет надо делать отдельно
имел ввиду ... тормоз двигателем

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

999

#119
Прошил сейчас тоже плату прошивкой от Viktor7.
Все работает, проц gd. Родная прошивка затёрлась при подключении.
Гула и треска быть не должно. Возможно не контачит 1 из холлов. Или перепутаны фазы или холлы.
Да хотел спросить у Viktor7 в прошивке  параметр скорости стоит на 2 . Если ставить 3 быстрее крутит ?
https://youtu.be/Tr3C8y875E8

999

Хотел поиграть с прошивкой, случайно шлейфом от платы замкнул остаточную емкость кондеров на 3.3 вольта. Проц ушёл в кз(.
В нашей деревне в наличии нет. Заказал с али....

verial

Цитата: 999 от 17 Апр. 2019 в 20:14
Хотел поиграть с прошивкой, случайно шлейфом от платы замкнул остаточную емкость кондеров на 3.3 вольта. Проц ушёл в кз(.
В нашей деревне в наличии нет. Заказал с али....
https://www.youtube.com/watch?v=gKouvaMtdbg
Каждый человек индивидум оставьте его в этом состоянии.

999

Veral не подскажите в каком файле меняется программное опережение датчиков холла? Bldc.c?

verial

Нет в майне вставляете переменную с обращением к Bldc.c
Каждый человек индивидум оставьте его в этом состоянии.

999

Спасибо.
Т.е надо дописать код ? Или он там есть ? Но закоментен?
Просто для меня это пока сложнааа.

verial

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