Алтернативни енергоизточници > Електромагнитни и импулсни мотори И генератори
управление на монофазен асинхронен двигател / генератор
x_name41:
--- Цитат ---Идеята ми е да се ползва без знания на Си, всички конфигурации са в текстови файлове. Те се обработват от пърл скрипт, който изготвя допълнителните необходими Си сорсове - хедери и код. И фактически промяната става в задаване параметри в текста /например - Максимален коефициент на запълване 65 , мин обороти 12 .... /.
--- Край на цитат ---
колега avr, бихте ли посочили заглавието на въпросната програма, тъй-като аз също проявявам интерес към подобен тип програмиране (може би се води обектно ориентирано програмиране), незная но моята идея е също чрез просто текстово задаване на параметри (изходни данни като примерно, честота на импулсите, коефициент на запълване, и тем подобни), програмата сама (автоматично) да изготвя съответния вид скрипт (на съответния програмен език), който впоследствие да компилира във съответния изпълним hex файл. Ако не съществува такава програма, добре би било програмистите да се замислят по въпроса и да сътворят нещо подобно, сигурен съм интересът би бил невероятен (още повече за хора не владеещи програмни езици, както са всъщност повечето от нас)
avr:
--- Цитат на: x_name41 в Юли 28, 2014, 03:01:39 pm ---колега avr, бихте ли посочили заглавието на въпросната програма,
--- Край на цитат ---
В този конкретен случай даже е невъзможно да се пише на ръка. Става дума за генериране на много таблици, с различен обем и стойности, а да се смятат с калкулатор и вкарват е хамалогия.
Пърл скрипта съм си го писал да си облекча живота, и понеже се налагат промени докато се изтества при каква честота на импулсите, и т.н. Отгоре на всичко има и правилото волт/херц до номинални обороти, затова пъръла прави за 2 секунди всичко. Копирам файловете които е генерирал в проекта и компилирам направо.
Ма да кажем, имаме някакъв по-голям мотор, или транзистори с по-малки ключови характеристики, естествено е да вкараме други параметри.
Но идеята ми се състои в друго - да се напише така, че хора без специално знание на Си да могат да го ползват, конфигурират и работят техни си проекти.
Това не е толкова трудно, защото става дума за най-различни модули - таймери, ацп-та и т.н. Просто вадиш от кошница и слагаш, после компилираш.
Тук проблема е по скоро в хардуера - трябва да е стандартен. Например горната показана платчица за управление. Като са означени изводите, може да сложим текстов файл в който казваме че на извода PA1 ще имаме аналогов вход. Натам неговата стойност се появява автоматично за нас в променлива adc_pa1
x_name41:
ами нещо като при програмата Circuit Maker да е, със библиотеки от елементи, просто правиш схемата и програмата изготвя програмния код по нея
CPU:
Как е решен въпроса с кондензатора при еднофазния асинхронен двигател?
При работа като мотор например, променяш честотата от 25 до 85 Hz, а кондензатора е оразмерен само за 50 Хц.
avr:
--- Цитат на: CPU в Юли 28, 2014, 04:45:22 pm ---Как е решен въпроса с кондензатора при еднофазния асинхронен двигател?
При работа като мотор например, променяш честотата от 25 до 85 Hz, а кондензатора е оразмерен само за 50 Хц.
--- Край на цитат ---
Оригиналния е, но тръгва при 50 хц за секунда да кажем / конфигурируема величина/, ако е с центробежка също, при затворено реле на възбуждането.
Това е за да дадем хубав старт. Макар че и без него, при случая с кондензатор си тръгва плавно. Тествал съм сума ти варианти, без кондензатор и развъртян мотор си държи екстра оборотите и се регулират. Пак казвам - правил съм сума ти тестове, но си трябват много, а аз съм го позарязал в момента. По ме вълнува генераторният режим. Дали да го правя.
--- Цитат на: x_name41 в Юли 28, 2014, 04:12:11 pm ---ами нещо като при програмата Circuit Maker да е, със библиотеки от елементи, просто правиш схемата и програмата изготвя програмния код по нея
--- Край на цитат ---
Не, имаш определен набор от устройства.
Това са таймери, цифрови и аналогови входове и изходи. Други видове като usart, spi и т.н. Просто избираш кое искаш, и му задаваш параметри, но в общия случай ти не може да променяш крачето на който ще ти излезе да кажем PWM сигнали, може само да го избереш като опция и зададеш параметри. При това става дума за точно конкретна платка и чип. Затова ще правя платката адски елементарна и просто едни изводи и най-необходимото захранване, стандартни изводи за програмиране и толкова. Целта е да е една и съща за всички проекти.
Софтуера също е доста стандартизиран. В един безкраен цикъл се извикват функции с различна честота , в смисъл, има много нива , едни се викат всеки път, други, всеки 8-ми път, трети по условие, четвърти, всяка минута и т.н.
Това са къси функции, и в общия случай празни.
Като извадим от кошницата предварително написан файл step_motor/ motor.c функцията set_position( uint32_t pos);
ако извадим пък от ac_mfotor / motor.c ще има същата функция, но ще прави съвсем друго.
Сглобяваме проекта, а какво точно ще извадим ще реши конфигурацията.
Не може да направим универсален проект, не че е невъзможно, но е много играчка, няма кой да пише толкова.
Но може така - проект SUN TRACKER
На него вече правим конфигурация - брой мотори, какви, как, алгоритми и т.н.
Същевременно абсолютно без програмиране няма да минем, но ще изведем 10-на функции
които ще предефинираме с ясни подсказващи имена , нещо като ардуиното, но сс програмиране за конкретен проект. Пример - проект INVERTER
main.c - абсолютно стандартен
#include "config.h"
int main(){
Setup();
while (1) plc();
}
Навигация
[0] Списък на темите
Премини на пълна версия