ШИМ-сигнал с рабочим циклом 50 % и рассчитанной частотой
#include <PWM.h>
int led = 9;
void setup()
{
InitTimersSafe();
Serial.begin(115200);
Serial.println();
variable_freq();
pinMode(A0,INPUT);
}
void variable_freq()
{
while(true)
{
a=analogRead(A0);
float p = (a/1024)*5;
int Vi = p/0.143;
float Vo = 12;
float Po=100;
float n=1, ni=0.9, Ntr=1, Vf=0.7, Rf=0.018, rc=0.025, Mvs=0.9;
float Rl=(Vo*Vo)/Po;
float fo = 70000;
float Mv = Vo/Vi;
float Qo=6;
float pi = 3.14159;
float g ;
g= (1+(2*(Vf/Vo))+((Rf*pi*pi)/4*Rl)+(rc/Rl)*(((pi*pi)/8)-1));
float Ri=((8*Rl*n*n)/(Ntr*pi*pi))*g;
float Mvr, MVR, h;
Mvr=(pi*Ntr)/(2*n*sqrt(2)*g);
MVR=Mv/(Mvs*Mvr);
h=(sqrt((pow((ni/MVR), 2))-1))/Qo;
float f_sw;
f_sw = ((fo*h)/2) + (sqrt(pow(fo*h,2) + 4*pow(fo,2)))/2;
SetPinFrequency(led,f_sw);
float T = 0.5;
pwmWriteHR(led,T*65536);
}
}
Я работаю над проектом, в котором мне нужно найти требуемую частоту из переменного входного напряжения постоянного тока. Я использую Arduino Nano для создания ШИМ-сигнала этой требуемой частоты.
Исходя из кода, после вычисления частоты f_sw я использовал функцию setPinFrequency, чтобы установить частоту контакта D9 на f_sw . Мне нужен ШИМ-сигнал с коэффициентом заполнения 50 % и f_sw в качестве частоты.
Выполняет ли это pwmWriteHR(led,T*65536)? Согласно этому веб-сайту, вторым аргументом pwmWrite() является рабочий цикл. Учитывая, что pwmWriteHR() — это просто версия pwmWrite() с более высоким разрешением, будет ли она выводить сигнал в соответствии с моими требованиями?
Я пока не могу проверить это на плате, поэтому смоделировал в Proteus, но частота полученного сигнала там не совпадает, хотя скважность была 50%.
1 ответ
Давайте посмотрим, что возможно с помощью Atmega328P (который есть на Nano).
Таймеры на самом деле являются просто счетчиками, а входом в счетчик являются системные часы, возможно, после деления с помощью предварительного делителя.
Таймеры 0 и 2 являются 8-разрядными таймерами, что означает, что они могут считать до 256 перед повторным циклом. Таймер 1 — это 16-разрядный таймер, что означает, что он может считать до 65536 перед переносом. Входные данные таймеров относятся к нулю, поэтому фактические пределы счетчика составляют 255 (0xFF) и 65 535 (0xFFFF).
Ваша желаемая частота 76441 означает, что период составляет 1/76441 секунды, а именно 13,082 мкс.
Без предделителя период системных часов составляет 1/16000000, а именно 0,0625 мкс.
Поделите 13,082 на 0,0625, и вы получите 209,312, что означает, что 209 отсчетов примерно дадут вам нужную частоту.
Однако тогда мы должны разделить на 2, потому что каждый раз, когда счетчик считает вверх, мы переключаем вывод, а для выполнения одного периода требуется два переключателя (один вверх, один вниз).
Поэтому нам нужно установить таймер 209/2, что равно 104,5. Поскольку мы не можем считать до половины счета, мы на самом деле считаем до 104. Код для этого, не требующий никаких библиотек, таков:
Пример кода
void setup()
{
pinMode (9, OUTPUT); // выходной контакт фиксирован (OC1A)
unsigned long Hz = 76441;
// требуется два переключателя для одного "цикла"
unsigned long ocr = (F_CPU / Hz / 2) - 1;
// остановить таймер
TCCR1A = 0;
TCCR1B = 0;
// сброс счетчика
TCNT1H = 0;
TCNT1L = 0;
// до чего считать
OCR1AH = highByte (ocr);
OCR1AL = lowByte (ocr);
TCCR1A = bit (COM1A0); // переключаем выходной пин
TCCR1B = bit (WGM12) | bit (CS10); // запуск таймера, режим CTC
} // конец настройки
void loop() { }
Результаты на контакте 9 были измерены как 76,805 кГц, что немного отличается, отчасти из-за того, что разрешение имеет шаг 62,5 нс, а отчасти потому, что Nano имеет резонатор*, а не кристалл, поэтому его часы могут не быть ровно 16 МГц.
* Я не уверен в этом.
Рабочий цикл
В этом конкретном примере у нас есть рабочий цикл 50%, потому что каждый раз, когда таймер достигает своего счета, он переключает выход. При этом он делает это симметрично. То есть включенная часть будет той же длины, что и выключенная часть.
Существуют и другие режимы таймера, которые можно использовать для генерации ШИМ, когда рабочий цикл не составляет 50 %. Дополнительную информацию см. в техническом описании.
Предделитель
Предварительные делители (не используемые в данном конкретном примере) используются для увеличения периода времени, на который может рассчитывать таймер.
Возможные предварительные делители: 1, 8, 32, 64, 128, 256 и 1024. Предварительные делители 32 и 128 доступны только на таймере 2.
Например, если вы используете предварительный масштаб 8, то каждый "галочка" таймера будет 8 * 62,5 нс, поэтому он может считать в 8 раз дольше, прежде чем переполнится. Однако каждый отсчет будет иметь разрешение только 500 нс, а не 62,5 нс, поэтому вы можете получить менее точное измерение времени.
Выбор предделителей — это компромисс между разрешением и доступным периодом времени, на который вы можете рассчитывать.
Дополнительную информацию о таймерах Atmega328P см. на моей странице о таймерах.
Список возможных частот
Со своей страницы выше я воспроизвел этот список, который показывает, какую частоту и период вы получаете для различных счетчиков таймеров и предварительных делителей.
n -- Prescale 1 -- -- Prescale 8 -- -- Prescale 64 -- -- Prescale 256 -- -- Prescale 1024--
Freq (Hz) Per (µs) Freq (Hz) Per (µs) Freq (Hz) Per (µs) Freq (Hz) Per (µs) Freq (Hz) Per (µs)
1: 8,000,000* 0.125 1,000,000 1.000 125,000 8.000 31,250 32.000 7,813 128.000
2: 5,333,333 0.188 666,667 1.500 83,333 12.000 20,833 48.000 5,208 192.000
3: 4,000,000 0.250 500,000 2.000 62,500 16.000 15,625 64.000 3,906 256.000
4: 3,200,000 0.313 400,000 2.500 50,000 20.000 12,500 80.000 3,125 320.000
5: 2,666,667 0.375 333,333 3.000 41,667 24.000 10,417 96.000 2,604 384.000
6: 2,285,714 0.438 285,714 3.500 35,714 28.000 8,929 112.000 2,232 448.000
7: 2,000,000 0.500 250,000 4.000 31,250 32.000 7,813 128.000 1,953 512.000
8: 1,777,778 0.563 222,222 4.500 27,778 36.000 6,944 144.000 1,736 576.000
9: 1,600,000 0.625 200,000 5.000 25,000 40.000 6,250 160.000 1,563 640.000
10: 1,454,545 0.688 181,818 5.500 22,727 44.000 5,682 176.000 1,420 704.000
11: 1,333,333 0.750 166,667 6.000 20,833 48.000 5,208 192.000 1,302 768.000
12: 1,230,769 0.813 153,846 6.500 19,231 52.000 4,808 208.000 1,202 832.000
13: 1,142,857 0.875 142,857 7.000 17,857 56.000 4,464 224.000 1,116 896.000
14: 1,066,667 0.937 133,333 7.500 16,667 60.000 4,167 240.000 1,042 960.000
15: 1,000,000 1.000 125,000 8.000 15,625 64.000 3,906 256.000 977 1024.000
16: 941,176 1.063 117,647 8.500 14,706 68.000 3,676 272.000 919 1088.000
17: 888,889 1.125 111,111 9.000 13,889 72.000 3,472 288.000 868 1152.000
18: 842,105 1.187 105,263 9.500 13,158 76.000 3,289 304.000 822 1216.000
19: 800,000 1.250 100,000 10.000 12,500 80.000 3,125 320.000 781 1280.000
20: 761,905 1.313 95,238 10.500 11,905 84.000 2,976 336.000 744 1344.000
21: 727,273 1.375 90,909 11.000 11,364 88.000 2,841 352.000 710 1408.000
22: 695,652 1.438 86,957 11.500 10,870 92.000 2,717 368.000 679 1472.000
23: 666,667 1.500 83,333 12.000 10,417 96.000 2,604 384.000 651 1536.000
24: 640,000 1.562 80,000 12.500 10,000 100.000 2,500 400.000 625 1600.000
25: 615,385 1.625 76,923 13.000 9,615 104.000 2,404 416.000 601 1664.000
26: 592,593 1.688 74,074 13.500 9,259 108.000 2,315 432.000 579 1728.000
27: 571,429 1.750 71,429 14.000 8,929 112.000 2,232 448.000 558 1792.000
28: 551,724 1.813 68,966 14.500 8,621 116.000 2,155 464.000 539 1856.000
29: 533,333 1.875 66,667 15.000 8,333 120.000 2,083 480.000 521 1920.000
30: 516,129 1.938 64,516 15.500 8,065 124.000 2,016 496.000 504 1984.000
31: 500,000 2.000 62,500 16.000 7,813 128.000 1,953 512.000 488 2048.000
32: 484,848 2.062 60,606 16.500 7,576 132.000 1,894 528.000 473 2112.000
33: 470,588 2.125 58,824 17.000 7,353 136.000 1,838 544.000 460 2176.000
34: 457,143 2.188 57,143 17.500 7,143 140.000 1,786 560.000 446 2240.000
35: 444,444 2.250 55,556 18.000 6,944 144.000 1,736 576.000 434 2304.000
36: 432,432 2.313 54,054 18.500 6,757 148.000 1,689 592.000 422 2368.000
37: 421,053 2.375 52,632 19.000 6,579 152.000 1,645 608.000 411 2432.000
38: 410,256 2.438 51,282 19.500 6,410 156.000 1,603 624.000 401 2496.000
39: 400,000 2.500 50,000 20.000 6,250 160.000 1,563 640.000 391 2560.000
40: 390,244 2.563 48,780 20.500 6,098 164.000 1,524 656.000 381 2624.000
41: 380,952 2.625 47,619 21.000 5,952 168.000 1,488 672.000 372 2688.000
42: 372,093 2.687 46,512 21.500 5,814 172.000 1,453 688.000 363 2752.000
43: 363,636 2.750 45,455 22.000 5,682 176.000 1,420 704.000 355 2816.000
44: 355,556 2.812 44,444 22.500 5,556 180.000 1,389 720.000 347 2880.000
45: 347,826 2.875 43,478 23.000 5,435 184.000 1,359 736.000 340 2944.000
46: 340,426 2.938 42,553 23.500 5,319 188.000 1,330 752.000 332 3008.000
47: 333,333 3.000 41,667 24.000 5,208 192.000 1,302 768.000 326 3072.000
48: 326,531 3.063 40,816 24.500 5,102 196.000 1,276 784.000 319 3136.000
49: 320,000 3.125 40,000 25.000 5,000 200.000 1,250 800.000 313 3200.000
50: 313,725 3.188 39,216 25.500 4,902 204.000 1,225 816.000 306 3264.000
51: 307,692 3.250 38,462 26.000 4,808 208.000 1,202 832.000 300 3328.000
52: 301,887 3.313 37,736 26.500 4,717 212.000 1,179 848.000 295 3392.000
53: 296,296 3.375 37,037 27.000 4,630 216.000 1,157 864.000 289 3456.000
54: 290,909 3.437 36,364 27.500 4,545 220.000 1,136 880.000 284 3520.000
55: 285,714 3.500 35,714 28.000 4,464 224.000 1,116 896.000 279 3584.000
56: 280,702 3.562 35,088 28.500 4,386 228.000 1,096 912.000 274 3648.000
57: 275,862 3.625 34,483 29.000 4,310 232.000 1,078 928.000 269 3712.000
58: 271,186 3.688 33,898 29.500 4,237 236.000 1,059 944.000 265 3776.000
59: 266,667 3.750 33,333 30.000 4,167 240.000 1,042 960.000 260 3840.000
60: 262,295 3.813 32,787 30.500 4,098 244.000 1,025 976.000 256 3904.000
61: 258,065 3.875 32,258 31.000 4,032 248.000 1,008 992.000 252 3968.000
62: 253,968 3.938 31,746 31.500 3,968 252.000 992 1008.000 248 4032.000
63: 250,000 4.000 31,250 32.000 3,906 256.000 977 1024.000 244 4096.000
64: 246,154 4.063 30,769 32.500 3,846 260.000 962 1040.000 240 4160.000
65: 242,424 4.125 30,303 33.000 3,788 264.000 947 1056.000 237 4224.000
66: 238,806 4.188 29,851 33.500 3,731 268.000 933 1072.000 233 4288.000
67: 235,294 4.250 29,412 34.000 3,676 272.000 919 1088.000 230 4352.000
68: 231,884 4.313 28,986 34.500 3,623 276.000 906 1104.000 226 4416.000
69: 228,571 4.375 28,571 35.000 3,571 280.000 893 1120.000 223 4480.000
70: 225,352 4.437 28,169 35.500 3,521 284.000 880 1136.000 220 4544.000
71: 222,222 4.500 27,778 36.000 3,472 288.000 868 1152.000 217 4608.000
72: 219,178 4.563 27,397 36.500 3,425 292.000 856 1168.000 214 4672.000
73: 216,216 4.625 27,027 37.000 3,378 296.000 845 1184.000 211 4736.000
74: 213,333 4.688 26,667 37.500 3,333 300.000 833 1200.000 208 4800.000
75: 210,526 4.750 26,316 38.000 3,289 304.000 822 1216.000 206 4864.000
76: 207,792 4.813 25,974 38.500 3,247 308.000 812 1232.000 203 4928.000
77: 205,128 4.875 25,641 39.000 3,205 312.000 801 1248.000 200 4992.000
78: 202,532 4.938 25,316 39.500 3,165 316.000 791 1264.000 198 5056.000
79: 200,000 5.000 25,000 40.000 3,125 320.000 781 1280.000 195 5120.000
80: 197,531 5.062 24,691 40.500 3,086 324.000 772 1296.000 193 5184.000
81: 195,122 5.125 24,390 41.000 3,049 328.000 762 1312.000 191 5248.000
82: 192,771 5.188 24,096 41.500 3,012 332.000 753 1328.000 188 5312.000
83: 190,476 5.250 23,810 42.000 2,976 336.000 744 1344.000 186 5376.000
84: 188,235 5.312 23,529 42.500 2,941 340.000 735 1360.000 184 5440.000
85: 186,047 5.375 23,256 43.000 2,907 344.000 727 1376.000 182 5504.000
86: 183,908 5.438 22,989 43.500 2,874 348.000 718 1392.000 180 5568.000
87: 181,818 5.500 22,727 44.000 2,841 352.000 710 1408.000 178 5632.000
88: 179,775 5.563 22,472 44.500 2,809 356.000 702 1424.000 176 5696.000
89: 177,778 5.625 22,222 45.000 2,778 360.000 694 1440.000 174 5760.000
90: 175,824 5.687 21,978 45.500 2,747 364.000 687 1456.000 172 5824.000
91: 173,913 5.750 21,739 46.000 2,717 368.000 679 1472.000 170 5888.000
92: 172,043 5.813 21,505 46.500 2,688 372.000 672 1488.000 168 5952.000
93: 170,213 5.875 21,277 47.000 2,660 376.000 665 1504.000 166 6016.000
94: 168,421 5.937 21,053 47.500 2,632 380.000 658 1520.000 164 6080.000
95: 166,667 6.000 20,833 48.000 2,604 384.000 651 1536.000 163 6144.000
96: 164,948 6.063 20,619 48.500 2,577 388.000 644 1552.000 161 6208.000
97: 163,265 6.125 20,408 49.000 2,551 392.000 638 1568.000 159 6272.000
98: 161,616 6.188 20,202 49.500 2,525 396.000 631 1584.000 158 6336.000
99: 160,000 6.250 20,000 50.000 2,500 400.000 625 1600.000 156 6400.000
100: 158,416 6.313 19,802 50.500 2,475 404.000 619 1616.000 155 6464.000
101: 156,863 6.375 19,608 51.000 2,451 408.000 613 1632.000 153 6528.000
102: 155,340 6.438 19,417 51.500 2,427 412.000 607 1648.000 152 6592.000
103: 153,846 6.500 19,231 52.000 2,404 416.000 601 1664.000 150 6656.000
104: 152,381 6.562 19,048 52.500 2,381 420.000 595 1680.000 149 6720.000
105: 150,943 6.625 18,868 53.000 2,358 424.000 590 1696.000 147 6784.000
106: 149,533 6.688 18,692 53.500 2,336 428.000 584 1712.000 146 6848.000
107: 148,148 6.750 18,519 54.000 2,315 432.000 579 1728.000 145 6912.000
108: 146,789 6.813 18,349 54.500 2,294 436.000 573 1744.000 143 6976.000
109: 145,455 6.875 18,182 55.000 2,273 440.000 568 1760.000 142 7040.000
110: 144,144 6.938 18,018 55.500 2,252 444.000 563 1776.000 141 7104.000
111: 142,857 7.000 17,857 56.000 2,232 448.000 558 1792.000 140 7168.000
112: 141,593 7.063 17,699 56.500 2,212 452.000 553 1808.000 138 7232.000
113: 140,351 7.125 17,544 57.000 2,193 456.000 548 1824.000 137 7296.000
114: 139,130 7.187 17,391 57.500 2,174 460.000 543 1840.000 136 7360.000
115: 137,931 7.250 17,241 58.000 2,155 464.000 539 1856.000 135 7424.000
116: 136,752 7.313 17,094 58.500 2,137 468.000 534 1872.000 134 7488.000
117: 135,593 7.375 16,949 59.000 2,119 472.000 530 1888.000 132 7552.000
118: 134,454 7.437 16,807 59.500 2,101 476.000 525 1904.000 131 7616.000
119: 133,333 7.500 16,667 60.000 2,083 480.000 521 1920.000 130 7680.000
120: 132,231 7.563 16,529 60.500 2,066 484.000 517 1936.000 129 7744.000
121: 131,148 7.625 16,393 61.000 2,049 488.000 512 1952.000 128 7808.000
122: 130,081 7.687 16,260 61.500 2,033 492.000 508 1968.000 127 7872.000
123: 129,032 7.750 16,129 62.000 2,016 496.000 504 1984.000 126 7936.000
124: 128,000 7.813 16,000 62.500 2,000 500.000 500 2000.000 125 8000.000
125: 126,984 7.875 15,873 63.000 1,984 504.000 496 2016.000 124 8064.000
126: 125,984 7.938 15,748 63.500 1,969 508.000 492 2032.000 123 8128.000
127: 125,000 8.000 15,625 64.000 1,953 512.000 488 2048.000 122 8192.000
128: 124,031 8.063 15,504 64.500 1,938 516.000 484 2064.000 121 8256.000
129: 123,077 8.125 15,385 65.000 1,923 520.000 481 2080.000 120 8320.000
130: 122,137 8.188 15,267 65.500 1,908 524.000 477 2096.000 119 8384.000
131: 121,212 8.250 15,152 66.000 1,894 528.000 473 2112.000 118 8448.000
132: 120,301 8.313 15,038 66.500 1,880 532.000 470 2128.000 117 8512.000
133: 119,403 8.375 14,925 67.000 1,866 536.000 466 2144.000 117 8576.000
134: 118,519 8.438 14,815 67.500 1,852 540.000 463 2160.000 116 8640.000
135: 117,647 8.500 14,706 68.000 1,838 544.000 460 2176.000 115 8704.000
136: 116,788 8.563 14,599 68.500 1,825 548.000 456 2192.000 114 8768.000
137: 115,942 8.625 14,493 69.000 1,812 552.000 453 2208.000 113 8832.000
138: 115,108 8.688 14,388 69.500 1,799 556.000 450 2224.000 112 8896.000
139: 114,286 8.750 14,286 70.000 1,786 560.000 446 2240.000 112 8960.000
140: 113,475 8.812 14,184 70.500 1,773 564.000 443 2256.000 111 9024.000
141: 112,676 8.875 14,085 71.000 1,761 568.000 440 2272.000 110 9088.000
142: 111,888 8.938 13,986 71.500 1,748 572.000 437 2288.000 109 9152.000
143: 111,111 9.000 13,889 72.000 1,736 576.000 434 2304.000 109 9216.000
144: 110,345 9.063 13,793 72.500 1,724 580.000 431 2320.000 108 9280.000
145: 109,589 9.125 13,699 73.000 1,712 584.000 428 2336.000 107 9344.000
146: 108,844 9.188 13,605 73.500 1,701 588.000 425 2352.000 106 9408.000
147: 108,108 9.250 13,514 74.000 1,689 592.000 422 2368.000 106 9472.000
148: 107,383 9.313 13,423 74.500 1,678 596.000 419 2384.000 105 9536.000
149: 106,667 9.375 13,333 75.000 1,667 600.000 417 2400.000 104 9600.000
150: 105,960 9.437 13,245 75.500 1,656 604.000 414 2416.000 103 9664.000
151: 105,263 9.500 13,158 76.000 1,645 608.000 411 2432.000 103 9728.000
152: 104,575 9.563 13,072 76.500 1,634 612.000 408 2448.000 102 9792.000
153: 103,896 9.625 12,987 77.000 1,623 616.000 406 2464.000 101 9856.000
154: 103,226 9.688 12,903 77.500 1,613 620.000 403 2480.000 101 9920.000
155: 102,564 9.750 12,821 78.000 1,603 624.000 401 2496.000 100 9984.000
156: 101,911 9.813 12,739 78.500 1,592 628.000 398 2512.000 100 10048.000
157: 101,266 9.875 12,658 79.000 1,582 632.000 396 2528.000 99 10112.000
158: 100,629 9.938 12,579 79.500 1,572 636.000 393 2544.000 98 10176.000
159: 100,000 10.000 12,500 80.000 1,563 640.000 391 2560.000 98 10240.000
160: 99,379 10.062 12,422 80.500 1,553 644.000 388 2576.000 97 10304.000
161: 98,765 10.125 12,346 81.000 1,543 648.000 386 2592.000 96 10368.000
162: 98,160 10.188 12,270 81.500 1,534 652.000 383 2608.000 96 10432.000
163: 97,561 10.250 12,195 82.000 1,524 656.000 381 2624.000 95 10496.000
164: 96,970 10.313 12,121 82.500 1,515 660.000 379 2640.000 95 10560.000
165: 96,386 10.375 12,048 83.000 1,506 664.000 377 2656.000 94 10624.000
166: 95,808 10.438 11,976 83.500 1,497 668.000 374 2672.000 94 10688.000
167: 95,238 10.500 11,905 84.000 1,488 672.000 372 2688.000 93 10752.000
168: 94,675 10.563 11,834 84.500 1,479 676.000 370 2704.000 92 10816.000
169: 94,118 10.625 11,765 85.000 1,471 680.000 368 2720.000 92 10880.000
170: 93,567 10.687 11,696 85.500 1,462 684.000 365 2736.000 91 10944.000
171: 93,023 10.750 11,628 86.000 1,453 688.000 363 2752.000 91 11008.000
172: 92,486 10.813 11,561 86.500 1,445 692.000 361 2768.000 90 11072.000
173: 91,954 10.875 11,494 87.000 1,437 696.000 359 2784.000 90 11136.000
174: 91,429 10.938 11,429 87.500 1,429 700.000 357 2800.000 89 11200.000
175: 90,909 11.000 11,364 88.000 1,420 704.000 355 2816.000 89 11264.000
176: 90,395 11.063 11,299 88.500 1,412 708.000 353 2832.000 88 11328.000
177: 89,888 11.125 11,236 89.000 1,404 712.000 351 2848.000 88 11392.000
178: 89,385 11.188 11,173 89.500 1,397 716.000 349 2864.000 87 11456.000
179: 88,889 11.250 11,111 90.000 1,389 720.000 347 2880.000 87 11520.000
180: 88,398 11.312 11,050 90.500 1,381 724.000 345 2896.000 86 11584.000
181: 87,912 11.375 10,989 91.000 1,374 728.000 343 2912.000 86 11648.000
182: 87,432 11.438 10,929 91.500 1,366 732.000 342 2928.000 85 11712.000
183: 86,957 11.500 10,870 92.000 1,359 736.000 340 2944.000 85 11776.000
184: 86,486 11.563 10,811 92.500 1,351 740.000 338 2960.000 84 11840.000
185: 86,022 11.625 10,753 93.000 1,344 744.000 336 2976.000 84 11904.000
186: 85,561 11.688 10,695 93.500 1,337 748.000 334 2992.000 84 11968.000
187: 85,106 11.750 10,638 94.000 1,330 752.000 332 3008.000 83 12032.000
188: 84,656 11.813 10,582 94.500 1,323 756.000 331 3024.000 83 12096.000
189: 84,211 11.875 10,526 95.000 1,316 760.000 329 3040.000 82 12160.000
190: 83,770 11.937 10,471 95.500 1,309 764.000 327 3056.000 82 12224.000
191: 83,333 12.000 10,417 96.000 1,302 768.000 326 3072.000 81 12288.000
192: 82,902 12.063 10,363 96.500 1,295 772.000 324 3088.000 81 12352.000
193: 82,474 12.125 10,309 97.000 1,289 776.000 322 3104.000 81 12416.000
194: 82,051 12.188 10,256 97.500 1,282 780.000 321 3120.000 80 12480.000
195: 81,633 12.250 10,204 98.000 1,276 784.000 319 3136.000 80 12544.000
196: 81,218 12.313 10,152 98.500 1,269 788.000 317 3152.000 79 12608.000
197: 80,808 12.375 10,101 99.000 1,263 792.000 316 3168.000 79 12672.000
198: 80,402 12.437 10,050 99.500 1,256 796.000 314 3184.000 79 12736.000
199: 80,000 12.500 10,000 100.000 1,250 800.000 313 3200.000 78 12800.000
200: 79,602 12.562 9,950 100.500 1,244 804.000 311 3216.000 78 12864.000
201: 79,208 12.625 9,901 101.000 1,238 808.000 309 3232.000 77 12928.000
202: 78,818 12.688 9,852 101.500 1,232 812.000 308 3248.000 77 12992.000
203: 78,431 12.750 9,804 102.000 1,225 816.000 306 3264.000 77 13056.000
204: 78,049 12.813 9,756 102.500 1,220 820.000 305 3280.000 76 13120.000
205: 77,670 12.875 9,709 103.000 1,214 824.000 303 3296.000 76 13184.000
206: 77,295 12.938 9,662 103.500 1,208 828.000 302 3312.000 75 13248.000
207: 76,923 13.000 9,615 104.000 1,202 832.000 300 3328.000 75 13312.000
208: 76,555 13.062 9,569 104.500 1,196 836.000 299 3344.000 75 13376.000
209: 76,190 13.125 9,524 105.000 1,190 840.000 298 3360.000 74 13440.000
210: 75,829 13.187 9,479 105.500 1,185 844.000 296 3376.000 74 13504.000
211: 75,472 13.250 9,434 106.000 1,179 848.000 295 3392.000 74 13568.000
212: 75,117 13.313 9,390 106.500 1,174 852.000 293 3408.000 73 13632.000
213: 74,766 13.375 9,346 107.000 1,168 856.000 292 3424.000 73 13696.000
214: 74,419 13.438 9,302 107.500 1,163 860.000 291 3440.000 73 13760.000
215: 74,074 13.500 9,259 108.000 1,157 864.000 289 3456.000 72 13824.000
216: 73,733 13.563 9,217 108.500 1,152 868.000 288 3472.000 72 13888.000
217: 73,394 13.625 9,174 109.000 1,147 872.000 287 3488.000 72 13952.000
218: 73,059 13.687 9,132 109.500 1,142 876.000 285 3504.000 71 14016.000
219: 72,727 13.750 9,091 110.000 1,136 880.000 284 3520.000 71 14080.000
220: 72,398 13.812 9,050 110.500 1,131 884.000 283 3536.000 71 14144.000
* = может работать ненадежно, как показывает тестирование.
Ограничения по пространству не позволяют включить весь список. Дополнительные строки см. на упомянутой выше странице.
- Arduino непрерывно считывает значение АЦП с помощью прерывания
- Кнопка с таймером переключения и функцией сброса времени + светодиод обратной связи
- Можно ли сгенерировать точный тактовый импульс 15 кГц с помощью ардуино?
- Как включить и выключить зуммер
- Как прочитать значение PIN PWM-выхода?
- Генерация сигнала частотой 38 кГц без таймеров
- Светодиод Arduino PWM с замиранием в сборке
- Отрегулируйте расчет времени после изменения частоты Timer0
Какую частоту вы получаете и какую частоту ожидаете?, @Nick Gammon
Частота, рассчитанная для определенного значения входного напряжения, составляет 76 кГц. Но я даже не получаю 100 Гц., @curious_direwolf
Не могли бы вы напечатать значение
f_sw
непосредственно перед выполнением этой строки:SetPinFrequency(led,f_sw);
, @Nick Gammon@НикГаммон https://imgur.com/a/2sRb40c Я изменил код без AnalogRead(), так как у меня не было готовых настроек., @curious_direwolf
На изображении частота показана как «76441,25»., @Nick Gammon
@NickGammon Да, это соответствует ручным расчетам. Мой вопрос заключается в том, верны ли значения «float T = 0,5» и «pwmWriteHR (led, T * 65536)» для требуемой формы сигнала, который мне нужен., @curious_direwolf
pwmWriteHR
устанавливает рабочий цикл, и вы сами говорите, что рабочий цикл действительно составляет 50%, так что конкретный вызов функции не кажется проблемой. «Но я даже не получаю 100 Гц» — что вы получаете? Гораздо полезнее рассказать нам о том, что вы получаете, а не о том, чего вы не получаете, не так ли?, @Nick GammonНе могли бы вы дать ссылку на точный файл библиотеки, который вы скачали для этого? На странице, на которую вы ссылались, похоже, не было ссылки для загрузки, и часто в Интернете есть множество копий библиотек Arduino, иногда немного отличающихся друг от друга., @Nick Gammon