Страница 1 из 1

Управление двигателем постоянного тока через мост с помощью

Добавлено: Вт янв 19, 2010 19:00:49
Maycal
Доброе время суток, так как я новичок в этом деле столкнулся с проблемой, помогите пожалуйста.
Был собран мост для управления двигателем постоянного тока (моторчиком). Все просто: подаешь 4 вольта на первый провод крутится в одну сторону, подаешь 4 вольта на второй провод - в другую сторону.
Но дело в том, что подавать напряжение нужно от микроконтроллера. А все дело в том, в микроконтроллере логическая единица не о, а где-то 2 вольта. Из-за этого ничего не получается, одна тянет в одну сторону, другая чуть слабее в другую. В результате моторчик крутиться очень медленно, бывает даже вообще не запускается и т.п Скажите пожалуйста, как выйти из этой ситуации? Как сделать так, чтобы когда нужен ноль на выходе контроллера был 0. А когда высокий был высокий.

Добавлено: Вт янв 19, 2010 19:17:53
Pooher
Надо правильно запрограммировать порты. См. даташит.
Кстати, а какой контроллер-то?

Добавлено: Вт янв 19, 2010 19:19:17
Maycal
Контроллер AVR Tiny2313.
Каким образом нужно программировать порты, и как это будет отличаться от того, что есть сейчас? Уровень же все равно 0 не будет?

Добавлено: Вт янв 19, 2010 20:47:03
YS
как это будет отличаться от того, что есть сейчас?
Это зависит от того, что есть сейчас.
Уровень же все равно 0 не будет?
Будет. Контроллер - устройство, выполненное по технологии CMOS. Поэтому на выходе лог. 0 = 0В, лог. 1 ~=Vcc. При правильно сконфигурированных портах, конечно.

Добавлено: Вт янв 19, 2010 22:05:51
Maycal
Спасибо большое за подсказку.

Re: Управление двигателем постоянного тока через мост с помо

Добавлено: Вс янв 31, 2010 15:20:53
ujin
Maycal писал(а):Доброе время суток, так как я новичок в этом деле столкнулся с проблемой, помогите пожалуйста.
Был собран мост для управления двигателем постоянного тока (моторчиком). Все просто: подаешь 4 вольта на первый провод крутится в одну сторону, подаешь 4 вольта на второй провод - в другую сторону.
Но дело в том, что подавать напряжение нужно от микроконтроллера. А все дело в том, в микроконтроллере логическая единица не о, а где-то 2 вольта. Из-за этого ничего не получается, одна тянет в одну сторону, другая чуть слабее в другую. В результате моторчик крутиться очень медленно, бывает даже вообще не запускается и т.п Скажите пожалуйста, как выйти из этой ситуации? Как сделать так, чтобы когда нужен ноль на выходе контроллера был 0. А когда высокий был высокий.
для полного взаимопонимания вас и микроконтроллера, ему с помощью команды DDRx.x1=1 (где x-букавка используемого порта а х1 это номер ноги катоой будете управлять) говорите что этот порт. нога будет работать как выход. после чего смело можете рулить портом установив на нем 1 или 0..команда на тоже самый порт и ногу написав PORTx.x1=1 - установка порта в 1( напряжение на ноге будет в среднем на 0.2 , 0.3 вольта ниже напряжения питания мк, или PORTx.x1=0 напряжение на на ноге будет 0 вольт.