Блок питания питающий 2 железки и вытекающие проблемы.
- Войдите на сайт для отправки комментариев
Вс, 27/01/2013 - 21:12
Имеется блок питания 12v - 1mA.
Он питает Arduino Mega, в свою очередь к нему подключены Relay + HC-SR04 + Internet плата.
И написан вот такой код, отрыков:
void loop() { if(millis()-lastPingTime>50){ // наша замена delay(50) digitalWrite(Trig, HIGH); // Подаем сигнал на выход микроконтроллера delayMicroseconds(10); // Удерживаем 10 микросекунд digitalWrite(Trig, LOW); // Затем убираем time_us=pulseIn(Echo, HIGH); // Замеряем длину импульса distance_sm=time_us/58; // Пересчитываем в сантиметры Serial.println(distance_sm); // Выводим на порт if (distance_sm<15 && distance_sm>1) { digitalWrite(Relay_1, HIGH);// off } if (distance_sm<150 && distance_sm>15) { digitalWrite(Relay_1, LOW);// on } lastPingTime=millis(); // запомнили когда мы последний раз датчик проверяли }
Этот код включает и выключает лампочку.
Он замечательно работает, но как только я подключаю или отключаю моторчик (от блока митания я вывел еще 2 провода которые его и питают) HC-SR04 на несколько секунд начинает выдавать неправильные данные (заниженные) и происходит включение, выключение лампочки.
Подскажите пожалуйста из за чего это происходит и как с этим бороться?
Возможно, моторчик просаживает напряжение настолько, что происходит перезагрузка ардуины... Для диагностики добавьте в цикл setup несколько миганий светодиодом.
Relay - слишком общно. Способов подключить неправильно релюху - тысяча и один. Что за Relay? Как подключали?
Совет про мигания диодом в setup() - попробуйте.
Но, раз он вам глюки дает и при выключении мотора, то больше похоже на помехи в питании.
Вот можете на сон грядущий почитать про руление релешками
http://easyelectronics.ru/upravlenie-moshhnoj-nagruzkoj-postoyannogo-tok...
Спасибо за советы. Буду дома, проверю.
Реле купил здесь: http://www.ebay.com/itm/270984776686?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649
Подключение релюшки:
Ну кусок кода - это хорошо. Но, в данном случае, под подключением имелось ввиду "что куда подключили". Схема подключения.
Особенно "от чего моторы питаются". От 5v пина или от vin?
>>Имеется блок питания 12v - 1mA.<<
А чего вы хотите от блока на 1mA ? Его мегаомным резюком просадить можно.
Если серьезно , то ваше питание не расчитано на ту нагрузку какую вы ему даете. Скорее всего ваша схема потребляет приличный ток, отсюда и имеем просадку питающей напруги.
Большое потребление тока может быть связано с кривым монтажем, с явно неправильной схемой включения элементов и с действительно мощной нагрузкой (кто его знает что у вас там за моторчик и что за "Relay").
Если просадки/помехи небольшие, то верное средство - кондер электролит 16-25в 1000-1600мкф параллельно питанию всей схемы.
Ну можно еще включить кондер керамический 0.1мкф так же ему в параллель. А по хорошему нужно разбираться с вашей схемой и вашими нагрузками.
Мое предварительное заключение - слабый блок питания (его максимальный ток явно меньше 0.5А) , непосильная для него нагрузка и отсутствие фильтров по питанию.
Как проверить заявленную мощьность БП.
Приобретаем два резистора. 24 Ома и 12 Ом , мощьность - 5вт. Вообще то нужно около15 вт , но в наше время сложно найти такие резисторы в свободной продаже ( раньше были советские МЛТ и т.д. на такую мощьность). Картковременное превышение мощьность в 2-2.5 раза допустимо.
Проверку нужно производить в два этапа. Сначала проверяем его в половину допустимой мощности , потом в полную.
Проверка в половину заявленной мощности БП на 1А 12в.
Подключаем резистор 24 Ома параллельно выходу БП ( одна нога резистора к плюсу, другая к минусу). Измеряем ток , включив амперметр (мультиметр) в разрыв цепи резистора и БП. Убеждаемся что ток примерно 0.5А (если 300-400 то дальнейшую проверку можно не производить все уже ясно). Теперь измеряем напряжение на выводах резистора. Если там меньше 11в , то реальная мощьность явно ниже заявленной. Если 11-12в то пререходим ко второму этапу.
Ставим резистор 12 Ом и повторяем все вышеперечисленые шаги.
Падение напруги на данных резисторах незначительное.
Все производить максимально быстро, т.к. при задержке сгорит резистор а может быть и БП.
Приобретаем два резистора. 24 Ома и 12 Ом , мощьность - 5вт. Вообще то нужно около15 вт , но в наше время сложно найти такие резисторы в свободной продаже ( раньше были советские МЛТ и т.д. на такую мощьность).
Можно разобрать какой-нибудь нагреватель старого фена или утюга... Или автомобильную лампочку использовать: на фаре - порядка 4 ампер, на поворотники (20W) - в районе ампера.