Ардуино мега
- Войдите на сайт для отправки комментариев
Чт, 18/06/2020 - 14:42
Ребята добрый день. Код который я привожу ниже я взял с этого форума. Он хорошо работает на ардуино нано.
Очень прошу помогите адаптировать его под ардуино мегу на любой пин. к сожалению моих знаний не хватает на таймеры и прочие сложные хитрости,
а генерация именно такая нужна.
//Строго на 9 пине генерация частоты long Set_frequency(long freq) { TCCR1A = 0b01000000; uint16_t ocr; if(freq ==0) {TCCR1B=0;} if ((freq < 134) and (freq >0)) { TCCR1B = 0b00001010; ocr = 1000000UL/freq - 1; freq = 1000000UL/(ocr+1); } if (freq >= 134) { TCCR1B = 0b00001001; ocr = 8000000UL/freq - 1; freq = 8000000UL/(ocr+1); } OCR1AH = highByte(ocr); OCR1AL = lowByte(ocr); TIMSK1 = 0; return freq; } void setup() { // put your setup code here, to run once: pinMode(9, OUTPUT); //Генерация частоты Set_frequency(5000); } void loop() { // put your main code here, to run repeatedly: }
этот код под любой пин не адаптируешь. Надо новый писать, по другому.
Эх. беда. а может кто с проверенными библиотеками работал. посоветуйте нормальную. что бы генерировать сигнал хороший сигнал для шагового на меге. кода на драйвере огромный микрошаг выставлен и раскрутить нужно до предела.
До какого предела, что такое "огромный микрошаг", как выглядит хороший сигнал? Вы что, из музыкального училища сюда пришли или из поэтического кружка?
От 0 до 300кгц хотя бы.
300кгц? Это что за двигатель и драйвер такой? Я на ютубе ролики смотрел - в них движки на лидшайновских драйверах срывались уже на 11-15кГц. И это - с плавным стартом, хочу заметить.
А так, безотносительно странностей с частотой: https://playground.arduino.cc/Code/Timer1/