Електро-автосам https://electroavtosam.com.ua/forums/ |
|
Роблю собі контролер на Arduino 80/240А https://electroavtosam.com.ua/forums/viewtopic.php?f=34&t=1439 |
Сторінка 1 із 3 |
Автор: | mr.Dream [ 21 вер 2016, 15:33 ] |
Заголовок повідомлення: | Роблю собі контролер на Arduino 80/240А |
В цій гілці буду буду описувати процес розробки контролера на базі "ардуіно нано", а вірніше на mega328, а від ардуіно тільки плата і драйвер usb для зручності частої прошивки) Тему трохи давно почав на російському форумі, але руки так і не дійшли до реалізації. Зараз маю трохи більше часу, тому вечорами буду щось колупати ) І так, в контролері передбачив: - блочне управління з псевдо-синусом (через дві фази) на низах для тихішої і ефективнішої роботи - обмеження батарейного і фазного струму - налаштування відклику ручки газу - плавна рекуперація - управління швидкісттю/потужністю/моментом - дисплей з функціями ватметра і спідометра/одометра (опціонально) - робота тільки з датчиками холла - налаштування випередження фаз і корекція холів - модульна архітектура - основна плата окремо, драйвери окремо, ключі окремо (дозволить ентузіастам нарощувати потужність). До 600В, можна буде IGBT-модулі ставити Проект некомерційний. Так сказати, в підтримку електротранспортного руху в Україні. В моїй конфігурації будуть будуть 24 або 30 irfb4110. Драйвери напівмоста irs2186 (по 4А туди-сюди на кожне плече) на кожні 2 або 4 мосфети (буду дивитись осцилограми). Ключі будуть припаяні до мідної шини (6 таких шин буде), а вони в свою чергу через термоінтерфейс-ізолятор прикручені до основного радіатора, для збільшення термоінерційності і кращого теплообміну. Планую поки що батарею 72В. |
Автор: | ss182006 [ 21 вер 2016, 18:27 ] |
Заголовок повідомлення: | Re: Роблю собі контролер на Arduino 80/240А |
Отличная идея,отечественный аналог контроллера от Адапто? |
Автор: | Stalker_W [ 21 вер 2016, 19:04 ] |
Заголовок повідомлення: | Re: Роблю собі контролер на Arduino 80/240А |
Не написали самое главное - под какой тип двигателя? И максимально возможные предполагаемые токи, напряжения, мощности? |
Автор: | mr.Dream [ 21 вер 2016, 19:31 ] |
Заголовок повідомлення: | Re: Роблю собі контролер на Arduino 80/240А |
ss182006 писав(ла): Отличная идея,отечественный аналог контроллера от Адапто? не зовсім так, скоріше аналог інфінеона. Просто роблю для себе під свої потреби, і можу це зробити дешевше, ніж його ціна. Наразі питання тільки з радіатором, якого на радіоринку не знайшов ) буду замовляти на "вороні". Stalker_W писав(ла): Не написали самое главное - под какой тип двигателя? И максимально возможные предполагаемые токи, напряжения, мощности? Під BLDC з датчиками холла. На даний момент собі під GoldenMotor HPM3000B. 8 магнітів, 12 обмоток (якщо не помиляюсь) 5000 об/хв. Максимальні струми написав в шапці - 80 батарейного, 240 фазного. Хоча думаю, 100/300 без проблем на 24 фетах. Тим більше хочу синхронізувати підпирання внутрішніх діодів каналами польовиків, вже є розробка на папері, для зменшення тепловиділення. Якщо повезе, буду в суботу хвалитись першим запуском) завтра дозамовлю ще мосфетів і їх драйверів, бо трохи вирішив змінити архітектуру і використати апаратні дедтайми (захист від наскрізних струмів) Думаю, на написання примітивного ПЗ піде година, пару годин на розробку і виготовлення друкованих плат. |
Автор: | mr.Dream [ 21 вер 2016, 21:27 ] |
Заголовок повідомлення: | Re: Роблю собі контролер на Arduino 80/240А |
Компоную транзистори на радіаторі. буде таких три фет-збірки на кожну фазу. біля кожної пари транзисторів буде конденсатор на 220мФ 100В. і десь там поблизу них драйвер. Сигнальні дроти на драйвер будуть або в екрані, або "вита пара" для компенсації імпульсних перешкод при перехідних процесах. Радіатори буде таких три штуки. Вирішив таки кріпити транзистори напряму без проміжної мідної шини, чере термосилікон 0,3 мм - 0,4°С/Вт. Слюда має чомусь більше (0,1 мм - 1,2 °С/Вт) і вимагає термопасти - ненавиджу) |
Автор: | babac [ 21 вер 2016, 22:10 ] |
Заголовок повідомлення: | Re: Роблю собі контролер на Arduino 80/240А |
Буде дуже круто якщо зробыте блочну конструкцию! Маю 4 спарених модуля 1000в 600а ото монстра можна собрать Токоограничение по шунту? А вообще буду слидкувать за проектом, дуже цикаво!!! |
Автор: | mr.Dream [ 23 вер 2016, 17:14 ] |
Заголовок повідомлення: | Re: Роблю собі контролер на Arduino 80/240А |
Сьогодні експериментував з оптимізацією коду. Ось частина, яка буде відповідати за "електронний колектор". Поки що без випередження комутації. Просто читає датчики холла і видає відповідну комбінацію фазних. Спершу думав це все робити у вічному циклі, а потім вирішив використати зовнішні переривання одразу. Тест датчиків через монітор порта працює коректно)) Bxxxxxx00 - ще не підібрана комбінація. Код: #include <avr/interrupt.h>
void setup(){ cli(); DDRD = DDRD | B11111100; PORTD = PORTD & B00000011; PCICR |= B00000001; PCMSK0 |= B00011100; sei(); } void loop(){ } ISR(PCINT0_vect){ if ((PINB & 1<<2) and (~PINB & 1<<3) and (~PINB & 1<<4)){ //100 PORTD = PORTD & B00000011; PORTD = PORTD | Bxxxxxx00; } else if ((PINB & 1<<2) and (PINB & 1<<3) and (~PINB & 1<<4)){ //110 PORTD = PORTD & B00000011; PORTD = PORTD | Bxxxxxx00; } else if ((~PINB & 1<<2) and (PINB & 1<<3) and (~PINB & 1<<4)){ //010 PORTD = PORTD & B00000011; PORTD = PORTD | Bxxxxxx00; } else if ((~PINB & 1<<2) and (PINB & 1<<3) and (PINB & 1<<4)){ //011 PORTD = PORTD & B00000011; PORTD = PORTD | Bxxxxxx00; } else if ((~PINB & 1<<2) and (~PINB & 1<<3) and (PINB & 1<<4)){ //001 PORTD = PORTD & B00000011; PORTD = PORTD | Bxxxxxx00; } else if ((PINB & 1<<2) and (~PINB & 1<<3) and (PINB & 1<<4)){ //101 PORTD = PORTD & B00000011; PORTD = PORTD | Bxxxxxx00; } else{ PORTD = PORTD & B00000011; //err } } |
Автор: | mr.Dream [ 23 вер 2016, 22:25 ] |
Заголовок повідомлення: | Re: Роблю собі контролер на Arduino 80/240А |
Не удержался, очень интересно было))) питание 7В от блока питания роутера )))))) вместо драйверов - оптопары с резисторами, в качестве питания оптопар верхних ключей - три свинцовых аккума Закрутилось! пока что тупо эмулятор коллектора. все остальное управление уже буду допиливать, как соберу рабочий вариант платы. |
Автор: | irde [ 24 вер 2016, 01:18 ] |
Заголовок повідомлення: | Re: Роблю собі контролер на Arduino 80/240А |
mr.Dream, добавьте еще подстройку кривых чувствительности ручки газа , как у Келли , это важно для тех у кого полнопривод, для лучшей " синхронизации " моторов. И еще неплохо бы иметь самоопределение правильности подключения холлы\фазы. И задний ход, с настройкой скорости вращения . Зы , и еще |
Автор: | Stalker_W [ 24 вер 2016, 06:29 ] |
Заголовок повідомлення: | Re: Роблю собі контролер на Arduino 80/240А |
Реакция через прерывание усложняет програмирование угла опережения/отставания для более динамичного разгона/торможения. И усложняет отработку корректной работы при кратковременных потерях связи с датчиком. Делайте шедевр сразу! |
Автор: | -=TRO=- [ 24 вер 2016, 12:09 ] |
Заголовок повідомлення: | Re: Роблю собі контролер на Arduino 80/240А |
Может все же пересмотреть выбор контроллера? Аппаратные три канала ШИМ на одном таймере есть только у древней PWM версии АВРки и у мег начиная с меги 64 и выше. Я делал на 128й меге. У ардуиновской меги 328 есть только по два канала ШИМ на каждый из трех таймеров. Можно конечно синхронизировать два таймера и получить 3 синхронные канала ШИМ, но это требует танцев с бубнами, и лишает одного таймера (который в последствии очень будет не лишним). |
Автор: | mr.Dream [ 24 вер 2016, 12:56 ] |
Заголовок повідомлення: | Re: Роблю собі контролер на Arduino 80/240А |
Не треба забігати вперед, я тільки вчусь )) всі хотілки будуть реалізовані пізніше без пріоритетів, а головна функція - крутіння мотора ех... на всі хотілки не хватає ніг у контролера, прийдеться викручуватись. Дисплей підключати через i2c, а не напряму і т.д. А може ну його, той дисплей? ) |
Автор: | mr.Dream [ 24 вер 2016, 12:59 ] |
Заголовок повідомлення: | Re: Роблю собі контролер на Arduino 80/240А |
Stalker_W писав(ла): Реакция через прерывание усложняет програмирование угла опережения/отставания для более динамичного разгона/торможения. И усложняет отработку корректной работы при кратковременных потерях связи с датчиком. Делайте шедевр сразу! ускладнює, але не заважає. При корекції кута в перериваннях по холах будуть записуватись значення в таймер, а переключення фаз в перериваннях співпадіння чи переповнення таймера. Поки що для мене то не є валивим )) |
Автор: | mr.Dream [ 26 вер 2016, 20:50 ] |
Заголовок повідомлення: | Re: Роблю собі контролер на Arduino 80/240А |
Радіатор буде таким)) завтра буду щось ліпити помалу) |
Автор: | mr.Dream [ 27 вер 2016, 11:49 ] |
Заголовок повідомлення: | Re: Роблю собі контролер на Arduino 80/240А |
Нарізав різьбу в сверлильному вертаті ) |
Сторінка 1 із 3 | Часовий пояс: UTC + 2 години |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |