CraftDuino v2.0
  • - это CraftDuino - наш вариант полностью Arduino-совместимой платы.
  • CraftDuino - настоящий конструктор, для очень быстрого прототипирования и реализации идей.
  • Любая возможность автоматизировать что-то с лёгкостью реализуется с CraftDuino!
Просто добавьте CraftDuino!
  
 

100КГц шим

Искал для себя, но думаю многим будет полезно.

Собственно по этой ссылке показано как сделать 100КГц ШИМ
http://forum.arduino.cc/index.php/topic,10537.0.html

// Link http://forum.arduino.cc/index.php/topic,10537.0.html

#include "arduino.h"

void setup()
{
  // configure hardware timer2 to generate a fast PWM on OC2B (Arduino digital pin 3)
  // set pin high on overflow, clear on compare match with OCR2B
  TCCR2A = 0x23;
  TCCR2B = 0x09;  // select timer2 clock as unscaled 16 MHz I/O clock
  OCR2A = 159;  // top/overflow value is 159 => produces a 100 kHz PWM
  pinMode(9, OUTPUT);  // enable the PWM output (you now have a PWM signal on digital pin 3)
  OCR2B = 80;  // set the PWM to 50% duty cycle
  Serial.begin(57600);
}

void loop()
{
	if(Serial.available()>0){
		if(Serial.read()=='1'){
			OCR2B++;
		}
		else{
			OCR2B--;
		}
	}	
}


Подправленный код из обсуждения.
В мониторе порта передаем 1 — увеличиваем скважность, любой другой символ — уменьшаем.

Колесная робоплатформа. Часть 2 - Контроллер периферии и связь.

Вот и добрался, наконец, до следующего этапа. Тут диплом, заморочки всякие страшные, жизненные трудности и перемены. Времени все не хватало на любимое хобби.
Зато у робота теперь есть имя:) Тимми, как у персонажа Южного парка. Итак, вот, что у меня пока получилось:


Как можно понять из заголовка, сегодня буду рассказывать про контроллер периферии.


( Читать дальше )
  • +4
  • 17 апреля 2012, 22:36
  • Ozze
  • 9

STM32: Урок 6.2 - Таймеры общего назначения и продвинутые

Продолжаем тему таймеров в STM32. В прошлый раз мы рассмотрели базовые таймеры, которые довольно-таки просты. Но сегодня мы поиграемся с более крутой игрушкой — таймерами общего назначения, которые на голову выше предыдущих.

( Читать дальше )
  • +5
  • 18 февраля 2012, 11:27
  • burjui
  • 35

Библиотека TimerOne

Когда программируешь для Arduino, иногда бывает нужно периодически выполнять какие-либо действия через определённые интервалы времени — скажем, 100 раз в секунду; или хочется иметь ШИМ с большим разрешением или другой частотой, чем позволяет стандартная функция analogWrite(), или вдруг хочется выполнять какую-то работу параллельно, а вездесущий delay() всё портит. Вот тут-то может пригодиться библиотека TimerOne, которую я вам в двух словах опишу.

( Читать дальше )
  • +2
  • 14 октября 2011, 15:30
  • burjui
  • 6

Ещё пара слов про L293


Когда-то, уважаемый noonv уже познакомил нас с микросхемой L293D. Попробую прояснить некоторые мелкие моменты связанные с её применением, которые были опущены в его статье.
Правда для слитности придётся немножко побыть Кэпом и несколько повториться =\


( Читать дальше )

Практическое программирование Arduino/CraftDuino - драйвер двигателей L293D

Настала пора Arduino поуправлять моторчиками :)

Для этого воспользуемся самым популярным драйвером, используемым для управления моторчиками – микросхемой L293D.

L293D содержит два драйвера для управления электродвигателями небольшой мощности. Имеет две пары входов для управляющих сигналов и две пары выходов для подключения электромоторов. Кроме того, у L293D есть два входа для включения каждого из драйверов. Эти входы используются для управления скоростью вращения электромоторов с помощью ШИМ (PWM).

( Читать дальше )
  • +1
  • 17 февраля 2010, 15:00
  • noonv
  • 49

ШИМ - Широтно-Импульсная Модуляция

ШИМ (Широтно-Импульсная Модуляция (PWM — Pulse Width Modulation))
— импульсный сигнал постоянной частоты и переменной скважности (отношение длительности импульса к периоду его следования). С помощью задания скважности можно менять среднее напряжение на выходе ШИМ.


( Читать дальше )
  • +1
  • 3 июля 2009, 11:09
  • admin
  • 6