Трёхфазный генератор на ATtiny13A V2

Необходимость тестирования одного из устройств сподвигла на создание простого трёхфазного генератора. Для этого был выбран распространённый микроконтроллер ATTINY13A. Схема данного устройства представлена на рисунке 1.

Рис.1 Принципиальная схема трёхфазного генератора 

Программная часть написана в среде AtmelStudio на языке С, код представлен ниже.

/*
*Created: 28/08/18 
*Author : Aleksei Tarasov (bitenegy.ru)
*/

#include <avr/io.h>//мк ATtiny13A#define F_CPU 1168000L
#include <avr/io.h>
#include <util/delay.h>
#include <avr/sfr_defs.h>

int main(void)
{

   PORTB = 0b00000000;
   DDRB = 0b00010011;
   float delta = 3.33;// константа задержки
   while (1)
  {

   PORTB = 0b00010001;
   _delay_ms(delta);//delay_ms(3.33)
   PORTB = 0b00000001;
   _delay_ms(delta);
   PORTB = 0b00000011;
   _delay_ms(delta);
   PORTB = 0b00000010;
   _delay_ms(delta);
   PORTB = 0b00010010;
   _delay_ms(delta);
   PORTB = 0b00010000;
   _delay_ms(delta);

  }
}
 

Меню программатора

Программатор Тритон, домашняя страничка

Скомпилированный файл (3f.hex)

:1000000009C00EC00DC00CC00BC00AC009C008C09A :1000100007C006C011241FBECFE9CDBF02D02FC03C :10002000EFCF18BA83E187BB51E141E033E022E032 :1000300092E180E158BBECECF3E03197F1F700007E :1000400048BBECECF3E03197F1F7000038BBECEC87 :10005000F3E03197F1F7000028BBECECF3E03197C7 :10006000F1F7000098BBECECF3E03197F1F70000FA :1000700088BBECECF3E03197F1F70000DBCFF894AC :10008000FFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0 :00000001FF

Fuse биты (6AFF). Светодиоды служат индикацией переключения фаз, для видимого варианта можно кратно уменьшить частоту, установив другое значение константы задержки, например (333). В данном же варианте частота достаточно стабильная, около 50гц. Микроконтроллер прошивался с помощью программатора Тритон, рис.2. Подключён внутренний генератор контроллера. Выбран бесконечный цикл, как наиболее стабильный по частоте переключения.

4 комментария: Трёхфазный генератор на ATtiny13A V2

Добавить комментарий