Нужен разработчик/исполнитель

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

sadman41 пишет:

Мне вот интересно было бы померять, сколько в реальности занимает разработка, заявляемая как "работы на полчаса". 

 

вот тебе (ну как пример) код для первичного теста. Если полярность для возврата менять  - чуть сложнее.

//потенциометры частоты и скважности
#define freq_p		A1
#define duty_p		A2


void setup() {

// это осталось от отладочных принтов
// Serial.begin(57600); while (!Serial);

pinMode(9,OUTPUT);

// канал А, fast PWM, делитель 64, режим 14
// прошу прощения за магические числа, но я выдернул рабочий кусок из другого проекта и расписывать биты мне лень
 TCCR1A = 0b10111110;   
 TCCR1B = 0b00011011;
 
}

void loop() {

static uint16_t fr = 100;

uint16_t nfr = 0;
uint16_t ndu = 0;

static uint16_t du = 50;
// скользящее усреднение, убрать мелкий шум
nfr = (3*nfr + analogRead(freq_p))/4;
ndu = (3*ndu + analogRead(duty_p))/4;
    
//переносим показания потенциометров в диапазоны частоты и скважности
fr = map(nfr,0,1023,30,150);
du = map(ndu,0,1023,1 , 99);  

//вот параметры таймера, читаем даташит  
noInterrupts();
      ICR1 = (uint16_t) (250000L/fr);
      OCR1A = (uint16_t) (du*2500L/fr);
interrupts();  
}  

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Ну, код-кодом, но без теста на железке я разработку законченной не считаю. А ее мне полчаса только собирать надо. Хотя, может у вас и готовые уже наборы по полкам лежат.

skif
skif аватар
Offline
Зарегистрирован: 24.03.2015

Я немного не так делал. Без магических чисел.

Драйвер от шагового двигателя. Там подключается две катушки. Я подключил одну. Удобство - полярность уже сама меняется, там мостовой выход, нужно только один импульс дать - шаг. И ток регулируется от 0,1А до 2А. (стабилизатор тока встроен в драйвер. Поэтому программа намного проще вашей. Просто задаётся частота импульсов, которые идут на пин ШАГ. Ну и на дисплей эта частота. Управление кнопками ДОБАВИТЬ-УБАВИТЬ. 

Что хорошо - нет заморочек со сборкой силовых ключей, компактность, цена драйвера около 50 рублей, защита по току и перегреву.  Да сами знаете. 

skif
skif аватар
Offline
Зарегистрирован: 24.03.2015
ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

wdrakula пишет:

sadman41 пишет:

Мне вот интересно было бы померять, сколько в реальности занимает разработка, заявляемая как "работы на полчаса". 

 

вот тебе (ну как пример) код для первичного теста. Если полярность для возврата менять  - чуть сложнее.

//потенциометры частоты и скважности
#define freq_p		A1
#define duty_p		A2


void setup() {

// это осталось от отладочных принтов
// Serial.begin(57600); while (!Serial);

pinMode(9,OUTPUT);

// канал А, fast PWM, делитель 64, режим 14
// прошу прощения за магические числа, но я выдернул рабочий кусок из другого проекта и расписывать биты мне лень
 TCCR1A = 0b10111110;   
 TCCR1B = 0b00011011;
 
}

void loop() {

static uint16_t fr = 100;

uint16_t nfr = 0;
uint16_t ndu = 0;

static uint16_t du = 50;
// скользящее усреднение, убрать мелкий шум
nfr = (3*nfr + analogRead(freq_p))/4;
ndu = (3*ndu + analogRead(duty_p))/4;
    
//переносим показания потенциометров в диапазоны частоты и скважности
fr = map(nfr,0,1023,30,150);
du = map(ndu,0,1023,1 , 99);  

//вот параметры таймера, читаем даташит  
noInterrupts();
      ICR1 = (uint16_t) (250000L/fr);
      OCR1A = (uint16_t) (du*2500L/fr);
interrupts();  
}  

Я правильно понимаю, что ШИМить с такими параметрами будет по всем доступным выводам поддерживающим ШИМ?
Даташит читать лень

Вот теперь заказчик и схему потребует, а какая тут схема, два потенциометра да ключик

sadman41
Offline
Зарегистрирован: 19.10.2016

В мануалах к таким драйверам пишут "Без подключенных обмоток напряжение не подвать".

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:

В мануалах к таким драйверам пишут "Без подключенных обмоток напряжение не подвать".

я подавал и что?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

И жив до сих пор? Не растреляли?

skif
skif аватар
Offline
Зарегистрирован: 24.03.2015

Я подавал И что? Работает полгода уже с одной обмоткой. Да и откуда вы взяли что не подавать? В даташите нет.

Нельзя ПОДКЛЮЧАТЬ обмотку, когда напряжение уже подано. 

И отключать обмотку под напряжением - драйвер горит. Проверил. 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

DetSimen пишет:

И жив до сих пор? Не растреляли?

кто бы посмел! ДШК и СГМТ для меня не набор букв )))

skif
skif аватар
Offline
Зарегистрирован: 24.03.2015

А что это?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

skif пишет:

А что это?


гугл знает

skif
skif аватар
Offline
Зарегистрирован: 24.03.2015

Так посмотрите в гугле. Зачем пишете если не знаете?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

skif пишет:

Так посмотрите в гугле. Зачем пишете если не знаете?

Я не понял - у нас киповец в гугль не смог? В очередной раз, впрочем :) Ну да бог с ним - такие сейчас киповцы: нежные и ранимые, не дай боже им про станковые пулемёты узнать.

Чудо, по ходу, и в армии не служило :)

skif
skif аватар
Offline
Зарегистрирован: 24.03.2015

Та я понял. Настоящий киповец это тот кто стреляет с танка. 

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

skif пишет:

Та я понял. Настоящий киповец это тот кто стреляет с танка. 

Алё, жертва ЕГЭ: станковый пулемёт - это не пулемёт с танка :) Проверочное слово - станок.

skif
skif аватар
Offline
Зарегистрирован: 24.03.2015

А откуда? С вертолёта?

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

skif пишет:

А откуда? С вертолёта?

Специально для киповцев - с Марса.

skif
skif аватар
Offline
Зарегистрирован: 24.03.2015

Ну это вы врёте. На Марсе жизни нет

inspiritus
Offline
Зарегистрирован: 17.12.2012

Зачем вообще тут кодить? Регулируемый ГЗЧ задаем частоту + регулируемый УНЧ задаем амплитуду. 

Можно один УНЧ с глубокой положительной ОС на rc цепочке с переменником.