Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

Honey
2022-09-10 18:40:57

Такое качество устроит?
meandr.png
Пишите в личку.

khalimon
2022-09-10 15:45:56
Honey пише:

Даташит на ATMega328P, параграф 15 "16-bit Timer/Counter1 with PWM".
Если не хотите разбираться самостоятеьно, обращайтесь, сделаю.

Вернулся опять к этому проекту. Хочу всё таки побороть данный вопрос. Есть пару сотен грн. Если устроит, то готов обратится.

akapulko
2022-08-22 22:11:45

И встречный вопрос - как поменять сдвиг А относительно B в процессе работы?

Двухканальный тумблер поможет менять выходы местами.

akapulko
2022-08-22 22:04:54

А если нужно будет сдвиг инвертировать, т.е. сдвинуть канал А относительно B, это будет так?

OCR1A = 234;
OCR1B = 312;

Нет

И встречный вопрос - как поменять сдвиг А относительно B в процессе работы?

?А как же:

В loop будет достаточное количество вычислений, поэтому важно, что бы меандры работали независимо от основного кода программы.

khalimon
2022-08-22 07:14:39
Honey пише:

Даташит на ATMega328P, параграф 15 "16-bit Timer/Counter1 with PWM".
Если не хотите разбираться самостоятеьно, обращайтесь, сделаю.

Очень благодарен! Буду иметь ввиду.

khalimon
2022-08-22 07:13:21

Очень благодарен!
А если нужно будет сдвиг инвертировать, т.е. сдвинуть канал А относительно B, это будет так?

OCR1A = 234;
OCR1B = 312;

И встречный вопрос - как поменять сдвиг А относительно B в процессе работы?

akapulko
2022-08-21 22:05:34
void init_Timer1(void) {
  TCCR1A = (1 << COM1A0) | (1 << COM1B0); // Toggle OC1A/OC1B on Compare Match
  TCCR1B = (1 << WGM12) | (1 << CS12) | (1 << CS10); // CTC mode, clk/1024 (From prescaler)
  OCR1A = 312; // 20 ms at 16MHz
  OCR1B = 234; // 15 ms at 16MHz
  TCNT1 = 0;
}

void setup() {
  DDRB |= _BV(1) | _BV(2); // Enable the output driver on PB1, PB2 (UNO pins 9, 10)
  init_Timer1();
}

void loop() {

}
Honey
2022-08-21 11:35:00

Даташит на ATMega328P, параграф 15 "16-bit Timer/Counter1 with PWM".
Если не хотите разбираться самостоятеьно, обращайтесь, сделаю.

khalimon
2022-08-21 11:10:48

Приветствую!

Работаю над проектом для атмега328р + кварц 16мгц (или ардуино нано 3)

Нуждаюсь в создании 2х меандров 50гц со сдвигом друг от друга 5мс  (могу приложить осциллограмму, но не пойму как тут это сделать)
Меандры должны быть на разных пинах.

Очень важна именно качественная привязка второго меандра к первому. В loop будет достаточное количество вычислений, поэтому важно, что бы меандры работали независимо от основного кода программы.
Заранее благодарен за помощь!

Підвал форуму