Расширенная функция analogWrite

Megawollt
Offline
Зарегистрирован: 06.12.2015

Из за несущей частоты в 400гц мотор при вращении воет гудком телефонной трубки. Необходимо уменьшить или увеличить несущую частоту. Как это сделать лучше всего?

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

для тех кто только что вылез из пещеры. micros() или millis()

Megawollt
Offline
Зарегистрирован: 06.12.2015

А дальше?

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016
/* Led_resist.ino
#1 подстроечник -> A0 (R1_pin) 0...1023
#2 светодиод -> 2 (led_pin) 1 горит / 0 нет
*/
//#1
const int R1_pin = A0;// нога светодиода
int R1;
//#2
const int led_pin = 2;// нога светодиода
bool led;
const uint16_t period = 5000; // полный период ШИМ
uint16_t time_ON;

void setup() {
  //#1
  //#2
  pinMode (led_pin, OUTPUT);
  digitalWrite(led_pin, led = 0 );
}

void loop() {
  //#1
  R1 = analogRead(R1_pin);
  //#2
  static uint32_t past_2 = 0;
  time_ON = map (R1, 0, 1023, 0, period);
  if (led == 1 && millis() - past_2 >= time_ON) {
    digitalWrite(led_pin, led = 0 );
  }
  if (millis() - past_2 >= period) {
    past_2 = millis();
    digitalWrite(led_pin, led = 1 );
  }
}

 

Megawollt
Offline
Зарегистрирован: 06.12.2015

Интересно. Спасибо. А библиотеки есть сразу с выбором несущей?

evgta
Offline
Зарегистрирован: 02.09.2016

Megawollt пишет:

Из за несущей частоты в 400гц мотор при вращении воет гудком телефонной трубки. Необходимо уменьшить или увеличить несущую частоту. Как это сделать лучше всего?

а конденсатор стоит в паралель двигателю?

Megawollt
Offline
Зарегистрирован: 06.12.2015

Нет, он сбивает работу H-моста. А параллельно выходу его тоже не поставить, так как h-мост на вход принимает только шим. Аппаратный выход то конечно есть, но хотелось бы программно, на будущее

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Megawollt пишет:

Как это сделать лучше всего?

Лучше всего самому разобраться с аппаратными таймерами (с режимом PWM) и не пользовать ардуиновскую analogWrite(). Настроить частоту ШИМ по своему усмотрению.

Megawollt
Offline
Зарегистрирован: 06.12.2015

Давно хотел этим заняться. Сейчас проект сдам и куплю кучу книг по AVR

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Хватит одного даташита