Сегодня я хочу рассказать (и показать) вам о первом шаге на пути к летающим аппаратам. Речь пойдет о двигателях, которые вращают пропеллеры самолёта.
Почитав немножко форумы авиамоделистов, я понял, что из электрических двигателей наиболее в ходу бесколлекторные движки. Но их использование сопряжено с одной трудностью: ввиду своей конструкции их нужно кормить не постоянным током, а тремя синусоидальными токами. Нужно это для того, чтобы по очереди включать катушки двигателя, заставляя магнитный сердечник совершать еще одну часть оборота. Подробнее про такие движки можно почитать здесь.
После некоторых поисков и экспериментов (пытался в качестве драйвера использовать Arduino, безуспешно) я нашел одно компактное и простое решение: MTD6501C от Microchip.
Характеристики микросхемки внушительные: способность работать с питанием от 2 до 14 вольт, встроенная защита от короткого замыкания, перегрева и блокировки мотора, управление посредством ШИМ и/или питающего напряжения. Ну просто сказка! В даташите к этой железячке есть схема подключения с необходимой обвязкой, которую я распаял на макетной плате (и ведь не поленился же, доехал до Чип-и-Дипа:).
Собственно, вот как это всё ведет себя будучи включенным:
Здесь я распаял еще пару кнопок для изменения скорости, делал вот по этому руководству.
Ниже скетч, который рулит контроллером в этом видео:
int motorPin = 9; int motorSpeed = 200; int speedStep = 5; const int upButtonPin = 2; const int downButtonPin = 3; int buttonState = 0; void setup() { // initialize the pushbutton pin as an input: pinMode(upButtonPin, INPUT); pinMode(downButtonPin, INPUT); } void loop() { //process Up button buttonState = digitalRead(upButtonPin); if (buttonState == HIGH) { if(motorSpeed < 255) motorSpeed += speedStep; Serial.println(motorSpeed); } //process down button buttonState = digitalRead(downButtonPin); if (buttonState == HIGH) { if(motorSpeed > 200) motorSpeed -= speedStep; Serial.println(motorSpeed); } analogWrite(motorPin, motorSpeed); delay(100); }
Здесь тоже всё просто: десять раз в секунду считываем состояние кнопок и обновляем скорость при необходимости. Такой узкий диапазон (200..255) я выбрал потому, что между 100 и 200 двигатель ведет себя несколько нестабильно: видимо, нужно дополнительно пошаманить с обвязкой.
На этом всё. Оставляйте свои комментарии, и спасибо за внимание!

Можете ли сделать схему , чтобы запускался жёсткий диск SAS на 15 000 об/мин. ?
ОтветитьУдалитьЖду ответа для заказа! Сколько это будет стоить ? slava-555@list.ru
Why should I play a casino without playing for real money? - Dr.Mcd
ОтветитьУдалитьOnline slots are so addicting and exhilarating 세종특별자치 출장샵 you've made it easy for 거제 출장샵 you 동해 출장안마 to enjoy them 제천 출장안마 online without spending 영천 출장샵 a dime.