Автор Тема: ARDUINO на замену КИРПИЧУ  (Прочитано 2985 раз)

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

Оффлайн Кёф

  • Ветеран
  • *****
  • Сообщений: 1199
  • Репутация: +47/-0
    • Блог Александра a.k.a. Кёф
  • Откуда: Балашиха
  • Имя: Кёф, он-же Köf
ARDUINO на замену КИРПИЧУ
« : 06 Марта 2017, 01:20:43 »
Какое-то время назад подготовил и отладил такой СКЕТЧ для ARDUINO.

http://circuits.io/circuits/1698712-motor-speed-and-direction-controled-by-potentiometer-2



Запустите прямо на сайте. "Покрутите" потенциометр. Всё работает. Там имитация "кирпича" со средним положением и реверсом.

Я там даже пытался имитировать замедление, однако на макете не получилось.

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

Макет страшен, как страшны поделки Франкенштейна.

Мост использую LMD18200T - пока не все его фичи задействованы, но он может "ловить" факт КЗ и перегрева без дополнительных затрат.

Макет:



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

Оффлайн Alexandro

  • Старожил
  • ****
  • Сообщений: 475
  • Репутация: +14/-3
  • Откуда: SPb
  • Имя: Alexander
Re: ARDUINO на замену КИРПИЧУ
« Ответ #1 : 06 Марта 2017, 01:49:38 »
кондер 0,1мкф на выходе шим не поможет убрать посвисты движка ?
DR/DB/FS/MAV/SNCB

Оффлайн BNSF9399

  • Ветеран
  • *****
  • Сообщений: 1293
  • Репутация: +116/-1
  • Скайп: Мой статус
  • Откуда: Москва
  • Имя: Владимир
Re: ARDUINO на замену КИРПИЧУ
« Ответ #2 : 06 Марта 2017, 10:13:41 »
Мост использую LMD18200T
а почему бы не использовать моторшилд R3? у него встроенный измеритель тока есть с выходами на A0/A1
Если два моста запараллелить - то можно 4А получить на выходе.

Оффлайн Кёф

  • Ветеран
  • *****
  • Сообщений: 1199
  • Репутация: +47/-0
    • Блог Александра a.k.a. Кёф
  • Откуда: Балашиха
  • Имя: Кёф, он-же Köf
Re: ARDUINO на замену КИРПИЧУ
« Ответ #3 : 06 Марта 2017, 12:14:37 »
кондер 0,1мкф на выходе шим не поможет убрать посвисты движка ?
Попробую. Спасибо.

... и добавил:
Мост использую LMD18200T
а почему бы не использовать моторшилд R3? у него встроенный измеритель тока есть с выходами на A0/A1
Если два моста запараллелить - то можно 4А получить на выходе.
Дайте ссылок!
LMD18200T увидал, что где-то в бустерах используют и купил. Измерителей тока нет - только уже сигнал о том, что КЗ.
Измерители нужны!

Оффлайн qvan22

  • Постоялец
  • ***
  • Сообщений: 141
  • Репутация: +25/-0
  • Откуда: Минск
  • Имя: Владимир
Re: ARDUINO на замену КИРПИЧУ
« Ответ #4 : 06 Марта 2017, 12:38:44 »
Какое-то время назад подготовил и отладил такой СКЕТЧ для ARDUINO.
http://circuits.io/circuits/1698712-motor-speed-and-direction-controled-by-potentiometer-2
А можете код выложить сюда, например под спойлер. По вашей ссылке у меня не получается посмотреть.



Оффлайн BNSF9399

  • Ветеран
  • *****
  • Сообщений: 1293
  • Репутация: +116/-1
  • Скайп: Мой статус
  • Откуда: Москва
  • Имя: Владимир
Re: ARDUINO на замену КИРПИЧУ
« Ответ #5 : 06 Марта 2017, 12:57:43 »
Дайте ссылок!
http://www.ebay.com/itm/New-L298P-Shield-R3-DC-Motor-Driver-Module-2A-H-Bridge-2-way-Fr-Arduino-UNO-2560-/191225931078
Именно такой нужен.
Такого плана
http://robotdyn.ru/catalog/shields/motor_shield_2a_l298p_2_motors_for_l298p_/
и аналоги от Амперки и т.п. не подойдут. У них нет контроля потребляемого тока.

Оффлайн Кёф

  • Ветеран
  • *****
  • Сообщений: 1199
  • Репутация: +47/-0
    • Блог Александра a.k.a. Кёф
  • Откуда: Балашиха
  • Имя: Кёф, он-же Köf
Re: ARDUINO на замену КИРПИЧУ
« Ответ #6 : 06 Марта 2017, 14:20:25 »
По вашей ссылке у меня не получается посмотреть.
Там есть вверху кнопочка "Code Editor". Попробуйте другой браузер. Актуальный код всегда будет там.

Оффлайн qvan22

  • Постоялец
  • ***
  • Сообщений: 141
  • Репутация: +25/-0
  • Откуда: Минск
  • Имя: Владимир
Re: ARDUINO на замену КИРПИЧУ
« Ответ #7 : 06 Марта 2017, 15:10:21 »
По вашей ссылке у меня не получается посмотреть.
Там есть вверху кнопочка "Code Editor". Попробуйте другой браузер. Актуальный код всегда будет там.
Браузер помог :)

Если у вас все как на вашей схеме, то попробуйте изменить настройки таймера_1 генерирующего сигнал для пинов 9 и 10.
У меня в аналоге были такие записи в регистры:

TCCR1A=0x81;//(PhaseCorrectPWM)
TCCR1B=0x05;//настройки пред делителя

добавите эти строчки в конец функции setup()
Писк должен исчезнуть и локомотивы будут стартовать получше.
void setup()
{
 Serial.begin(9600);
 pinMode(potenPin1, INPUT);
 pinMode (toPWM, OUTPUT);
 pinMode (toDIR, OUTPUT);
 pinMode (toBRAKE, OUTPUT);

 TCCR1A=0x81;
 TCCR1B=0x05;//
}
« Последнее редактирование: 06 Марта 2017, 17:45:41 от qvan22 »

Оффлайн Alexandro

  • Старожил
  • ****
  • Сообщений: 475
  • Репутация: +14/-3
  • Откуда: SPb
  • Имя: Alexander
Re: ARDUINO на замену КИРПИЧУ
« Ответ #8 : 06 Марта 2017, 16:16:36 »
есть ли смысл делать управление энкодером ? или потенциометра хватит за глаза и за уши ?)
в моем случае пара 4х-канальных мотор шилдов имеется http://www.ebay.com/itm/Motor-Drive-Shield-Expansion-Board-L293D-For-Arduino-Duemilanove-Mega2560-UNO-/221924203360?hash=item33abb69b60:g:2BAAAOSwA4dWLtGO
как под них скетч переделать а так же есть непонятки с коммутацией - конструктивно эти платы рассчитаны на установку сверху на MEGA 2560,хочется в идеале управлять с Mini pro.С распиновкой платы понятно,вопрос с П.О. )
На будущее стоит с этой платой связываться или брать на 298й,на которые Владимир ссылку давал выше ?
« Последнее редактирование: 06 Марта 2017, 19:51:36 от Alexandro »
DR/DB/FS/MAV/SNCB

Оффлайн Кёф

  • Ветеран
  • *****
  • Сообщений: 1199
  • Репутация: +47/-0
    • Блог Александра a.k.a. Кёф
  • Откуда: Балашиха
  • Имя: Кёф, он-же Köf
Re: ARDUINO на замену КИРПИЧУ
« Ответ #9 : 06 Марта 2017, 23:02:49 »
Цитата: Alexandro от 06 Марта 2017, 16:16:36
есть ли смысл делать управление энкодером ? или потенциометра хватит за глаза и за уши ?)
в моем случае пара 4х-канальных мотор шилдов имеется http://www.ebay.com/itm/Motor-Drive-Shield-Expansion-Board-L293D-For-Arduino-Duemilanove-Mega2560-UNO-/221924203360?hash=item33abb69b60:g:2BAAAOSwA4dWLtGO
как под них скетч переделать а так же есть непонятки с коммутацией - конструктивно эти платы рассчитаны на установку сверху на MEGA 2560,хочется в идеале управлять с Mini pro.С распиновкой платы понятно,вопрос с П.О. )
На будущее стоит с этой платой связываться или брать на 298й,на которые Владимир ссылку давал выше ?

1. Энкодер нужно кодить - 100%
    Я хотел, чтобы при вращении по часовой/пртив часовой - менялась скорость, а при нажатии сбрасывалась в 0.
    Опять-же нужно в программе предусмотреть некий "виртуальный" потенциометр с мёртвой зоной.
2. Шилды, как мне кажется вообще не для того придуманы. Тем более когда они не полноценные и не дают возможности каскадироваться. Про 298й надо посмотреть Datasheet. Ещё я обычно смотрю кто и где его ставит.
3. Я ещё что хочу сказать. Нужно не забывать, что блок-участки между собой при переходе между ними составов будут пересекаться и всегда ленился разобраться как это происходит с точки зрения тока и взаимного влияния в аналоге, а тут ещё и H-bridge....

UPDATE!
4. Ваши мосты (L293D) слабоваты - 1A. Они больше для шаговика и точно не для выноса на периферию - будут КЗ и будет, видимо перегрев и может вонючий дым. (http://www.ti.com/lit/ds/symlink/l293.pdf)
5. Мосты L298 (http://www.sparkfun.com/datasheets/Robotics/L298_H_Bridge.pdf) мощнее в 2 раза (2A), однако нужны цепи измерения тока и быстрого реагирования на КЗ.
6. Мост LMD18200 ( Цитата: Alexandro от 06 Марта 2017, 16:16:36
есть ли смысл делать управление энкодером ? или потенциометра хватит за глаза и за уши ?)
в моем случае пара 4х-канальных мотор шилдов имеется http://www.ebay.com/itm/Motor-Drive-Shield-Expansion-Board-L293D-For-Arduino-Duemilanove-Mega2560-UNO-/221924203360?hash=item33abb69b60:g:2BAAAOSwA4dWLtGO
как под них скетч переделать а так же есть непонятки с коммутацией - конструктивно эти платы рассчитаны на установку сверху на MEGA 2560,хочется в идеале управлять с Mini pro.С распиновкой платы понятно,вопрос с П.О. )
На будущее стоит с этой платой связываться или брать на 298й,на которые Владимир ссылку давал выше ?

1. Энкодер нужно кодить - 100%
    Я хотел, чтобы при вращении по часовой/пртив часовой - менялась скорость, а при нажатии сбрасывалась в 0.
    Опять-же нужно в программе предусмотреть некий "виртуальный" потенциометр с мёртвой зоной.
2. Шилды, как мне кажется вообще не для того придуманы. Тем более когда они не полноценные и не дают возможности каскадироваться. Про 298й надо посмотреть Datasheet. Ещё я обычно смотрю кто и где его ставит.
3. Я ещё что хочу сказать. Нужно не забывать, что блок-участки между собой при переходе между ними составов будут пересекаться и всегда ленился разобраться как это происходит с точки зрения тока и взаимного влияния в аналоге, а тут ещё и H-bridge....

UPDATE!
4. Ваши мосты (L293D) слабоваты - 1A. Они больше для шаговика и точно не для выноса на периферию - будут КЗ и будет, видимо перегрев и может вонючий дым. (http://www.ti.com/lit/ds/symlink/l293.pdf)
5. Мосты L298 (http://www.sparkfun.com/datasheets/Robotics/L298_H_Bridge.pdf) мощнее в 2 раза (2A), однако нужны цепи измерения тока и быстрого реагирования на КЗ.
6. Мост LMD18200 (
Цитата: Alexandro от 06 Марта 2017, 16:16:36
есть ли смысл делать управление энкодером ? или потенциометра хватит за глаза и за уши ?)
в моем случае пара 4х-канальных мотор шилдов имеется http://www.ebay.com/itm/Motor-Drive-Shield-Expansion-Board-L293D-For-Arduino-Duemilanove-Mega2560-UNO-/221924203360?hash=item33abb69b60:g:2BAAAOSwA4dWLtGO
как под них скетч переделать а так же есть непонятки с коммутацией - конструктивно эти платы рассчитаны на установку сверху на MEGA 2560,хочется в идеале управлять с Mini pro.С распиновкой платы понятно,вопрос с П.О. )
На будущее стоит с этой платой связываться или брать на 298й,на которые Владимир ссылку давал выше ?

1. Энкодер нужно кодить - 100%
    Я хотел, чтобы при вращении по часовой/пртив часовой - менялась скорость, а при нажатии сбрасывалась в 0.
    Опять-же нужно в программе предусмотреть некий "виртуальный" потенциометр с мёртвой зоной.
2. Шилды, как мне кажется вообще не для того придуманы. Тем более когда они не полноценные и не дают возможности каскадироваться. Про 298й надо посмотреть Datasheet. Ещё я обычно смотрю кто и где его ставит.
3. Я ещё что хочу сказать. Нужно не забывать, что блок-участки между собой при переходе между ними составов будут пересекаться и всегда ленился разобраться как это происходит с точки зрения тока и взаимного влияния в аналоге, а тут ещё и H-bridge....

UPDATE!
4. Ваши мосты (L293D) слабоваты - 1A. Они больше для шаговика и точно не для выноса на периферию - будут КЗ и будет, видимо перегрев и может вонючий дым. (http://www.ti.com/lit/ds/symlink/l293.pdf)
5. Мосты L298 (http://www.sparkfun.com/datasheets/Robotics/L298_H_Bridge.pdf) мощнее в 2 раза (2A), однако нужны цепи измерения тока и быстрого реагирования на КЗ.
6. Мост LMD18200 ( ) - более серьёзный аппарат.
Там и датчик тока. И встроенный сенсор температуры. И встроенная защита от КЗ.

Я из-за этого его и выбрал - он одноканальный и чуть дороже стоит, однако экономится зрение без лишней пайки.
Не смотрел что он там про ток выдаёт. Не разбирался по Datasheet. Может кто подскажет.

Суть в том, что 298 и 293 - это когда движок тут-же рядом припаян, а у нас вынос на рельсы - а там и перекосы и брошенные на путях инструменты и вода с клеем  ;)

Пока тайм-аут у меня - неделя короткая и много работы.
« Последнее редактирование: 06 Марта 2017, 23:48:26 от Кёф »

Оффлайн Alexandro

  • Старожил
  • ****
  • Сообщений: 475
  • Репутация: +14/-3
  • Откуда: SPb
  • Имя: Alexander
Re: ARDUINO на замену КИРПИЧУ
« Ответ #10 : 06 Марта 2017, 23:34:18 »
с 1м пунктом согласен,с потенциометром все проще ( благо джойстики на синтах ремонтировал ))
2й - вроде 293 и 298 отличаются по мощности и по защите от разных приключений
3й - хороший вопрос,про совместимость 2х выходов не думал,чисто теоретически должно быть параллельное включение
DR/DB/FS/MAV/SNCB

Оффлайн BNSF9399

  • Ветеран
  • *****
  • Сообщений: 1293
  • Репутация: +116/-1
  • Скайп: Мой статус
  • Откуда: Москва
  • Имя: Владимир
Re: ARDUINO на замену КИРПИЧУ
« Ответ #11 : 07 Марта 2017, 12:03:21 »
Ещё я обычно смотрю кто и где его ставит.
ну например в DCC++ http://github.com/DccPlusPlus
а также, а имплементации Z21 на дуне в варианте без пайки http://forum.modelldepo.ru/showthread.php?t=18339
однако нужны цепи измерения тока и быстрого реагирования на КЗ.
это уже есть на шилде, ссылку на который я давал

Оффлайн Кёф

  • Ветеран
  • *****
  • Сообщений: 1199
  • Репутация: +47/-0
    • Блог Александра a.k.a. Кёф
  • Откуда: Балашиха
  • Имя: Кёф, он-же Köf
Re: ARDUINO на замену КИРПИЧУ
« Ответ #12 : 07 Марта 2017, 15:38:48 »
это уже есть на шилде, ссылку на который я давал
Там есть схема (http://i.ebayimg.com/images/g/8sIAAOSwFTRTqo5B/s-l1600.jpg):


В схеме, помимо моста, Есть пара операционников LMV358MMX (http://pdf1.alldatasheet.com/datasheet-pdf/view/9172/NSC/LMV358MMX.html), которые предполагают, что нужно паять схему, чтобы контролировать ток и очень быстро реагировать на КЗ.




Оффлайн BNSF9399

  • Ветеран
  • *****
  • Сообщений: 1293
  • Репутация: +116/-1
  • Скайп: Мой статус
  • Откуда: Москва
  • Имя: Владимир
Re: ARDUINO на замену КИРПИЧУ
« Ответ #13 : 07 Марта 2017, 18:49:38 »
которые предполагают, что нужно паять схему
это схема шилда, ничего паять не надо. контроль осуществляется на выходах А0/А1
скетч контролирует их и сам обрубает питание, что на DCC++, что на А21.
Все четко работает, проверено.

Оффлайн Alexandro

  • Старожил
  • ****
  • Сообщений: 475
  • Репутация: +14/-3
  • Откуда: SPb
  • Имя: Alexander
Re: ARDUINO на замену КИРПИЧУ
« Ответ #14 : 07 Марта 2017, 21:38:27 »
UPDATE!
4. Ваши мосты (L293D) слабоваты - 1A. Они больше для шаговика и точно не для выноса на периферию - будут КЗ и будет, видимо перегрев и может вонючий дым

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

опробовал вашу схему ( выдернув с шилда L293 )  с разными локами разные результаты - V100 арнольд идеально себя ведет ( так же нохаб пико и арнольд 89 ) а вот фляйш  V100 и Rivarossi V60 ехать отказались,зато пищали что-то там ))))
когда делал шим на 555 - результаты были похожи
« Последнее редактирование: 07 Марта 2017, 22:28:31 от Alexandro »
DR/DB/FS/MAV/SNCB