Электротранспорт
Пожалуйста, войдите или зарегистрируйтесь.


Расширенный поиск    

Реклама:

AVR, STM, MSP или другой МК в качестве универсальной замены чипа на контроллере.

Страницы: 123>>ВсеВниз

Автор Тема: AVR, STM, MSP или другой МК в качестве универсальной замены чипа на контроллере.  (Прочитано 769 раз)

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

prostosergik

  • Неравнодушный
  • **
  • Репутация: 5
  • Сообщений: 149
  • Markovići, Crna Gora
  • Оффлайн Оффлайн
    • Награды
Привет братва.

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

Вопрос в следующем. Поскольку электроника там боле лимене (с)(тм) одинаковая, уровни сигналов тоже, может где-то уже существует прошивка для ATMega такая, чтобы просто подключить соответствующие ножки на нужные места, и оно выполняло бы базовую функциональность: контроль мотора, газ 1.1-4.8в, тормоза по низкому уровню, круиз, остальное не надо.

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

Ну или подскажите проект опенхардвер контроллера на базе AVR. Почему не STM? Да можно и STM в принципе =) Но c AVR опыта больше, там я могу подправить код под свои нужды.

Спасибо!
« Последнее редактирование: 14 Авг 2018 в 19:34 от prostosergik »

fondrosel

  • Старожил
  • *****
  • Репутация: 17
  • Сообщений: 1589
  • Москва, измайлово\гольяново
  • Электротрайкист
  • Оффлайн Оффлайн
    • Награды
Подобные темы уже обсуждались на форуме. Все кто мог написать прошивку ушли в коммерцию и бесплатно ничего не раздают, а кто не может тот не может. Так что это хоть и не плохая но тупиковая идея, если только не начать писать самому

Сообщение понравилось: prostosergik

acyd

  • Старожил
  • *****
  • Репутация: 74
  • Сообщений: 3756
  • Хлынов=Вятка=Киров
  • Кот-терминатор
  • Оффлайн Оффлайн
    • Награды
В теме про модельный движок товарищ Pawel поделился контроллером на авр. Там и схема и прошивка, контроллер реально рабочий, сам собирал с нуля, по технологии лут.
Думаю можно прикрутить управляющие ноги к драйверам китайца.
Но учтите надежность такой надстройки :neg:+ там с рождения нет более-менее вменяемых защит,  круиза и тормоза вроде не было, зато есть выход на экран.

В качестве ознакомления с принципом работы микроконтроллеров имеет смысл, но времени и сил заберет, проще купить нормальный контроллер.
« Последнее редактирование: 09 Июл 2018 в 23:14 от acyd »

495

  • Начинающий
  • *
  • Репутация: 0
  • Сообщений: 50
  • улус Джучи ТёплыйСтан
  • Оффлайн Оффлайн
    • Награды
В фирменной документации можно много чего найти .
http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR444.htm
Меня интересовал бездатчиковый режим , в закладках осталась ссылка .
Если АЦП у всех контроллеров мало отличаются , то таймеры и компараторы сильно влияют на код , сужу по отличию PIC и MSP430 . АЦП часто работает вместо пары компаратор + ЦАП , но на порядок медленее .
 Сделать можно , если не копать недостатки существующей схемотехники , а то можно закопаться  . /:-)
« Последнее редактирование: 10 Июл 2018 в 11:06 от 495 »

prostosergik

  • Неравнодушный
  • **
  • Репутация: 5
  • Сообщений: 149
  • Markovići, Crna Gora
  • Оффлайн Оффлайн
    • Награды
У меня на самом деле полу-академический интерес. Нашел пару проектов, нужно будет таки сесть, поправить прошивку и постараться завести =) Но на всякий случай заказал еще 4 шт MC33035. Если не МК, так хоть оно. Бездатчиковый режим не нужен, рекуперация не нужна, тормоз по низкому уровню реализуется очень просто без вмешательства МК, плавный старт не нужен, круиз тоже... ну такое, короче.

Окей, раз никто это еще не сделал, попробую сделать я себе. Если получится удачно - выложу свои наработки. 

TRO

  • Старожил
  • *****
  • Репутация: 151
  • Сообщений: 6973
  • Украина, г. Запорожье.
  • Онлайн Онлайн
    • Награды
В большинстве контроллеров которые сейчас есть применяются микроконтроллеры с встроенным трехфазным ШИМом аппаратно заточенным под управление моторами (имеющим деадтаймы и входы защиты по току). Дешевые AVR туда прямой заменой очень плохо лезут.

JT

  • Неравнодушный
  • **
  • Репутация: 3
  • Сообщений: 230
  • Украина, Каменское
  • Ездю на батарейках!
  • Оффлайн Оффлайн
    • Награды
Если я память неизменяет то clawham делал контролер и на коте вылаживал.

495

  • Начинающий
  • *
  • Репутация: 0
  • Сообщений: 50
  • улус Джучи ТёплыйСтан
  • Оффлайн Оффлайн
    • Награды
В большинстве контроллеров которые сейчас есть применяются микроконтроллеры с встроенным трехфазным ШИМом аппаратно заточенным под управление моторами (имеющим деадтаймы и входы защиты по току). 
Всё это заточено под вектор/синус для гладкого момента в сервоприводах , в транспорте достаточно сгладить фронты трапеции как функцию от скорости .
 Когда у вас нормально отлаженная петля обратной связи по току , то болшинство защит не нужны . Аналоговый тормоз становится тем же стабилзатором тока наоборот  , то есть код пишется за один день .
Дешевые AVR туда прямой заменой очень плохо лезут.
Дешёвые контроллеры не имеют достаточно таймеров для реализации всех функций одновременно . 
Ставить по дешёвому контроллеру на фазу никто не запрещает , только у 8 ног корпуса недостаточно ног для обработки датчиков . Безсенорный режим при этом в 8 ног упакуется .

on4ip

  • Старожил
  • *****
  • Репутация: 4
  • Сообщений: 2196
  • Россия, Раменское
  • Славяним Байк
  • Оффлайн Оффлайн
    • Награды
всегда все очень просто и за один день+) Но в сказках.

495

  • Начинающий
  • *
  • Репутация: 0
  • Сообщений: 50
  • улус Джучи ТёплыйСтан
  • Оффлайн Оффлайн
    • Награды
всегда все очень просто и за один день+) Но в сказках.
Коммерсанты набежали . Конец теме . :sorry:

mr.Dream

  • Старожил
  • *****
  • Репутация: 108
  • Сообщений: 3042
  • Ternopil, Ukraine
  • Ездю на лифере :)
  • Оффлайн Оффлайн
    • Награды
За один день вполне можно оживить контроллер, включая написание прошивки. У меня на примитивизм, который просто вращал мотор, опираясь на показания датчиков, подмешивая ШИМ, ушло от силы 15 минут с перекуром. И больше времени я просто подбирал рабочую комбинацию, а верней не подбирал, а логически высчитывал последовательность :)

обработку холлов делал в прерываниях

в "сетапе" проинициализировал прерывания по изменению состояния пиов порта
  PCICR |= B00000001;
  PCMSK0 |= B00011100;

ну и сам обработчик прерывния
ISR(PCINT0_vect){
  if ((PINB & 1<<2) and (~PINB & 1<<3) and (~PINB & 1<<4)){  //100
    PORTD = PORTD & B00000011;
    PORTD = PORTD | B10001000; //ab
  }
  else if ((PINB & 1<<2) and (PINB & 1<<3) and (~PINB & 1<<4)){  //110
    PORTD = PORTD & B00000011;
    PORTD = PORTD | B00101000; //cb
  }
  else if ((~PINB & 1<<2) and (PINB & 1<<3) and (~PINB & 1<<4)){  //010
    PORTD = PORTD & B00000011;
    PORTD = PORTD | B00110000; //ca
  }
  else if ((~PINB & 1<<2) and (PINB & 1<<3) and (PINB & 1<<4)){  //011
    PORTD = PORTD & B00000011;
    PORTD = PORTD | B01010000; //ba
  }
  else if ((~PINB & 1<<2) and (~PINB & 1<<3) and (PINB & 1<<4)){  //001
    PORTD = PORTD & B00000011;
    PORTD = PORTD | B01000100; //bc
  }
  else if ((PINB & 1<<2) and (~PINB & 1<<3) and (PINB & 1<<4)){  //101
    PORTD = PORTD & B00000011;
    PORTD = PORTD | B10000100; //ac
  }
  else{
    PORTD = PORTD & B00000011; //111 or 000 err
  }
}

кто то был предложил более оптимальный вариант, но даю свой рабочий )) чисто для понимания без претензий на правильность)

TRO

  • Старожил
  • *****
  • Репутация: 151
  • Сообщений: 6973
  • Украина, г. Запорожье.
  • Онлайн Онлайн
    • Награды
, в топку условия, все решается логическими операциями над группой входных бит и выдачей результата в порт (опять же группой), оптимизация делается по старинке по картам карно.

mishany

  • Начинающий
  • *
  • Репутация: 0
  • Сообщений: 13
  • Россия, Москва
  • Ездю на батарейках!
  • Оффлайн Оффлайн
    • Награды
есть у меня простой с блочной коммутацией на STM32F103, спроектировал из примеров, немного доработал...
Два таких контроллера трудятся в детском велосипеде 3-х колесном с моторами от гироскутера

kor

  • Наш человек
  • ***
  • Репутация: 6
  • Сообщений: 411
  • г. Ижевск
  • Электросамокат Xiaomi mijia m365
  • Онлайн Онлайн
    • Награды

есть у меня простой с блочной коммутацией на STM32F103, спроектировал из примеров, немного доработал...
Два таких контроллера трудятся в детском велосипеде 3-х колесном с моторами от гироскутера
Можете сказать, у вас в программе сделано задание и контроль фазного тока? Фазный ток контролируется в каждом такте шим?

mishany

  • Начинающий
  • *
  • Репутация: 0
  • Сообщений: 13
  • Россия, Москва
  • Ездю на батарейках!
  • Оффлайн Оффлайн
    • Награды
я же написал простой :-D нет никакого контроля (пока)

kor

  • Наш человек
  • ***
  • Репутация: 6
  • Сообщений: 411
  • г. Ижевск
  • Электросамокат Xiaomi mijia m365
  • Онлайн Онлайн
    • Награды
я же написал простой :-D нет никакого контроля (пока)
Даже в простых обычно имеется хотя-бы один токовый шунт и контролируется ток, у вас этого совсем нет? Тогда при нажатии газа при застопоренном колесе у вас высок шанс сжечь транзисторы.

pashist

  • Начинающий
  • *
  • Репутация: 0
  • Сообщений: 43
  • Россия, Смоленск
  • Ездю на батарейках!
  • Оффлайн Оффлайн
    • Награды
рименяются микроконтроллеры с встроенным трехфазным ШИМом аппаратно заточенным под управление моторами (имеющим деадтаймы и входы защиты по току). Дешевые AVR туда прямой заменой очень плохо лез
328-я мега, стоит копейки, можно даже в распаяном виде на али взять. Имеет 6 pwm каналов, 20 МГц тактовая для дедтаймов.

kor

  • Наш человек
  • ***
  • Репутация: 6
  • Сообщений: 411
  • г. Ижевск
  • Электросамокат Xiaomi mijia m365
  • Онлайн Онлайн
    • Награды
я же написал простой :-D нет никакого контроля (пока)
Вот тут товарищ делал проект на STM32, вроде-бы исходники есть, есть как я понял отработка превышения тока (вход от компаратора тока, тоесть, как я понял, в каждом такте шим можно сбросить раньше времени, тем самым можно стабилизировать ток фазы, а для БЛДЦ мотора это , на мой взгляд, лучше чем синус генерить). Ток фазы можно задавать меняя опорное напряжение компаратора.
http://www.avislab.com/blog/stm32-bldc/
  Может кто-то уже делал такой контроллер с этого проекта?

Вот только регенерации тут нет и не получится, из-за того что только один токовый шунт используется. В контроллерах самоката Xiaomi тоже на STM32F103C8T6 стоят три токовых шунта и далее через усилители подаются на три входа ацп (может меряться ток обоих полярностей). У них уже есть регенерация.

Страницы: 123>>ВсеВверх
 

Помощь форуму | Отказ от ответственности | Новая версия форума
©, Форум электротранспорта, electrotransport.ru, 2007—2018.
Копирование материалов возможно только с согласия правообладателя.

Размер занимаемой памяти: 5.5 мегабайт.
Страница сгенерирована за 0.227 секунд. Запросов: 124.

Powered by SMFPacks Alerts Pro Mod
Powered by SMFPacks Mentions Pro Mod