какие-то глупые непонятки. Motor Controller + LCD

kentik
Offline
Зарегистрирован: 28.03.2013

Исходные данные:

1. Arduino UNO

2. 2A Dual Motor Controller (dfrobot) http://www.dfrobot.com/wiki/index.php/MD1.3_2A_Dual_Motor_Controller_%28SKU:_DRI0002%29

3. ЖК 128х64 на контроллере KS0108

4. Блок питания MeanWell 24в 100Вт

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

Первый вывод - питания мало от USB (двигатель питается от 24 вольт блока питания). Смущает в подключении что не только минус объединяется с минусом БП, но и необходимо подать питание в 5 В на motor Controller для обозначения уровня логики. подключение как тут: https://lh3.googleusercontent.com/-VxBPMg9y7UQ/TXOgDjhBsKI/AAAAAAAAAQA/QMs9Mj7p8eo/s1600/Arduino_UNO_L298N.jpg

итак - запитал UNO от отдельного 5 в блока питания, через USB разъем. реакции никакой - результат такой же.

Подал 5 в с Vin arduino на motor controller - результата нет.

Подскажите - куда еще смотреть?

 

kentik
Offline
Зарегистрирован: 28.03.2013

kentik пишет:

соеденив

соедИнив

kentik
Offline
Зарегистрирован: 28.03.2013

Дополнительные данные.

В программе работает диммер (регулирую накал лампочки) на прерываниях.

при включении двигателя лампочка начинает мигать.

если убрать motor controller а программу оставить и ШИМ-регулировку повесить на светодиод, то все работает замечательно, стоит эту шим регулировку поставить к motor controller - так косяки вылезают.

vvadim
Онлайн
Зарегистрирован: 23.05.2012

Выложите скетч и схему, может кто - то и поможет

kentik
Offline
Зарегистрирован: 28.03.2013

с этого дурацкого мегафон-интернет скорость загрузки никакая. не могу выложить схему.

Подключение motor controller такое как выше на картинке по ссылке.

экран ЖК 128х64 KS0108 подключение самое что ни на есть обычное.

потенциометр тоже вроде как сложно подключить.

скетч

    sensorValue1 = analogRead(A0);
    sensorValue1 = математические вычисления;
      if (sensorValue1<5) sensorValue1=0;      
 
     GLCD.GotoXY(80,50);
     GLCD.print("     ");
     GLCD.GotoXY(80,50);
     GLCD.print(sensorValue1);     
    
   sensorValue = analogRead(A5);
   sensorValue = еще математические вычисления;
   
     GLCD.GotoXY(10,50);
     GLCD.print("    ");
     GLCD.GotoXY(10,50);
     GLCD.print(sensorValue); 
   
Dimmer1=sensorValue;
analogWrite(E1,sensorValue1);  

все по простому.

если убрать motor controller а программу оставить и ШИМ-регулировку повесить на светодиод, то все работает замечательно и как надо, стоит эту шим регулировку поставить к motor controller - так косяки вылезают.

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

Экран скорее всего просто сбрасывается. Чтобы показания остались ему достаточно стабильного питания. Я бы его повторно инитил непосредственно перед выводом показаний.

Имхо графический дисплей - существенная нагрузка на контроллер(UNO).

А еще двигатель и PWM скорее всего висят на одном прерывании - и не будут работать вместе без доработки библиотек.

kentik
Offline
Зарегистрирован: 28.03.2013

NeiroN пишет:

Экран скорее всего просто сбрасывается. Чтобы показания остались ему достаточно стабильного питания. Я бы его повторно инитил непосредственно перед выводом показаний.

не вариант. прорисовывать там много надо.

NeiroN пишет:

А еще двигатель и PWM скорее всего висят на одном прерывании - и не будут работать вместе без доработки библиотек.

Двигатель управляется двуми пинами. один (нулевой у UNO) либо HIGH либо LOW - это направление вращения двигателем. второй пин управления (5 у UNO) - это аппаратный ШИМ, передающий значения от 0 до 255.

Я не понимаю ваши слова на счет того, что двигатель и PWM на одном прерывании?

maksim
Offline
Зарегистрирован: 12.02.2012

kentik пишет:

Я не понимаю ваши слова на счет того, что двигатель и PWM на одном прерывании?

И правильно не понимаете, потому как смысл примерно такой же - один крокодил зеленый, другой тоже на север летит.

Код весь покажите, дисплей как и куда подключен?

И если у вас действительно то шилд, на который ссылаетесь, то 5 вольт подключать не нужно:

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

kentik
Offline
Зарегистрирован: 28.03.2013

так код я показал.

Экран подключенк выходам с 13 по 5 и с А1 по А4. библиотеку немного подправил, чтоб по этим пинам работал/

а вот тут показанно по другому: http://www.funnyrobotics.com/2011/03/arduino-with-l298n-based-dual-motor...

причем эта ссылка на офсайте взял

kentik
Offline
Зарегистрирован: 28.03.2013

maksim по картинке, которую вы выложили чуть выше - просто НЕ работает. а по картинке в первом посте - работает

kentik
Offline
Зарегистрирован: 28.03.2013

блин. доигрался. поставил перемычку. шилд перестал отвечать на любые действия

maksim
Offline
Зарегистрирован: 12.02.2012

Если вы не убрали провод между +5V и VD, то могли сжечь дуину. Если же провод убран, то мог сдохнуть стабилизатор.

Код вы ВЕСЬ не показали, а описание как подклюен дисплей соответсвует тому что вы шилд и дисплей подключили на одни и теже выводы.

kentik
Offline
Зарегистрирован: 28.03.2013

maksim пишет:

Если вы не убрали провод между +5V и VD, то могли сжечь дуину. Если же провод убран, то мог сдохнуть стабилизатор.

ну диунка нормально все тут. играюсь с ней. а как проверить работоспособность стабилизатора?

maksim
Offline
Зарегистрирован: 12.02.2012

Померить напряжение на выходе стабилизатора. http://www.dfrobot.com/image/data/DRI0002/DF-MDv1.3SCH.pdf И кстати, если стабилизатор работает, то должен гореть светодиод PWR.

kentik
Offline
Зарегистрирован: 28.03.2013

да. светодиод горит. и больше никаких реакций. управляющие сигналы к motor controller проверил - все ок.

kentik
Offline
Зарегистрирован: 28.03.2013

диоды звякнул - все одинаково. т.е. не сгорели. тут остается либо 74HC00D либо L298N как узнать - что умерло?

maksim
Offline
Зарегистрирован: 12.02.2012

Проверте общая ли земля у шилда и дуины.

kentik
Offline
Зарегистрирован: 28.03.2013

maksim пишет:

Проверте общая ли земля у шилда и дуины.

да.

я уже только от 5 вольт ардуины пытаюсь хоть какой-то результат получить. поставил перемычку, соединил + и - от дуины. подаю ШИМ (или просто 1) - результата нет.

kentik
Offline
Зарегистрирован: 28.03.2013

а вопрос остался открытым:

если убрать motor controller а программу оставить и ШИМ-регулировку повесить на светодиод, то все работает замечательно и как надо, стоит эту шим регулировку поставить к motor controller - так косяки вылезают.

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

maksim
Offline
Зарегистрирован: 12.02.2012

То есть даже если сейчас шилд не работает и двигатель не крутится проблема все равно возникает?

kentik
Offline
Зарегистрирован: 28.03.2013

maksim пишет:

То есть даже если сейчас шилд не работает и двигатель не крутится проблема все равно возникает?

шилд можно поменять. проблема-то останется.

kentik
Offline
Зарегистрирован: 28.03.2013

итак проблема осталась.

вся программа работает как надо, все замечательно при оборванном проводе питания непосредственно самого двигателя, стоит только подключить все начинается фигня - экранчик гаснет, диммер 220 вольт мигает.

вопросы на вскидку:

1. может регулирование оборотов (а это ШИМ включение/выключение двигателя) как-то напругу с дуины берет? напряжение просаживается?

2. частота аппаратного шима около 500 ГЦ. может это виной - хотя ввел в setup() {} строчку TCCR2B = (TCCR2B & 0xF8) | 0x01; (так как ШИМ регулировка движка висит на пине 3) - результат монопинесуальный. вообще.

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

Подскажите люди добрые, кто чем может.

maksim
Offline
Зарегистрирован: 12.02.2012

kentik пишет:

 диммер 220 вольт мигает.

Никто вам не поможет...

Клапауций
Offline
Зарегистрирован: 10.02.2013

maksim пишет:

Никто вам не поможет...

продаю диммеры недорого.

kentik
Offline
Зарегистрирован: 28.03.2013

maksim пишет:

Никто вам не поможет...

жаль.

столько тем тут про управление двигателем постоянного тока, но никто дальше стандартных скетчей не ушел?

или вы сразу за всех ответили?

maksim
Offline
Зарегистрирован: 12.02.2012

Читайте внимательно вторую часть сообщения #11.

20 сообщений был разговор о двигателе и дисплее, и вдруг с какого то хера появился диммер. Это вообще как? О чем вы еще решили умолчать? Если считаете, что все знаете и можете решать что важно, а что нет, то и проблему свою решайте сами, зачем людям мозг парить? Вам никто не поможет потому что вы не можете показать РЕАЛЬНУЮ схему и ВЕСЬ код.

kentik
Offline
Зарегистрирован: 28.03.2013

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

подключение двигателя как на схеме выше я показывал.

диммер как тут: http://cyber-place.ru/showthread.php?t=525

вся полностью схема работает. работает прекрасно только если отключен двигатель. стоит подключить его проводком - все. начинается фигня. частота мерцания лампочки от диммера заметна глазу. Гальванически развязал motor controller от ардуинки. подал отдельно еще 5 вольт на motor controller. проблема осталась.

Видимо от движка в сеть помехи бросает. Хотя я пробовал вместо шим управления просто дать 5 вольт.

РЕАЛЬНО ВЕСЬ КОД: 

sensorValue1 = analogRead(A0);
sensorValue1 = (sensorValue1+1)/4;
   if (sensorValue1<5) sensorValue1=0;    
 
sensorValue = analogRead(A5);
sensorValue = sensorValue*98/100;

Dimmer1=sensorValue;
analogWrite(E1,sensorValue1);

 

kentik
Offline
Зарегистрирован: 28.03.2013

Ну если вдруг кому интересно:
то проблема мигания диммера решена путем уменьшения номиналов резисторов на детекторе нуля (оптрон PC814). схема диммера в посте выше. Двигатель постоянного тока давал небольшие помехи в сеть 220, но этих помех достаточно, что бы пропускались всплески на выходе PC814.
Исчезание символом с ЖК - вызвано просадкой напряжения. тут экран сам много ест, необходим отдельный источник питания. USB не хватает.

Вывод из данной ситуации - необходимо иметь в наличии осциллограф.