Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Генериране на правоъгълни импулси с 3 честоти
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=5974
Страница 1 от 1

Автор:  radoslav_radev [ Съб Юли 26, 2008 10:24 pm ]
Заглавие:  Генериране на правоъгълни импулси с 3 честоти

Здравейте.
Търсеният ефект е следния:
1. Генериране на правоъгълни импулси с 3 синхронизирани честоти честоти, делящи се по между си.
2. Регулиране на честотите.
3. Регулиране на коефицента на делене между тях.
4. Регулиране на коефициента им на запълване (по отделно за дсяка честота)

До сега измислих това, като като при него единствено може да се променя тактовата честота на целия контролер през RC групата:

Код:
Radko:~$ cat specTWM-V0.0.1.c
/*
PortA - pin 0 - 3kHz
PortA - pin 1 - 2kHz
PortA - pin 2 - 1kHz
*/
#include <16f84.h>

#define PER_2 1000000/2000 //Period of frequaecy 1000000/Hz=[uS]
#define PER_3 1000000/3000 // -||-

#USE DELAY( CLOCK=4000000 ) /* Using a 4 Mhz clock */
#FUSES RC,NOWDT,NOPROTECT,NOPUT
/* Use RC mode, No Watch Dog, No Code Protect, No Power-up Timer */

#byte port_a=0x05 /* define the location of register port_a */

main()
{
    set_tris_a(0); /* set port_b to be outputs */
    port_а = 0;
    while( TRUE )
    { /* forever loop using WHILE construct */
        //first half period
                port_a = 0x07; //111
                DELAY_US(PER_3);
                port_a = 0x06; //110
                DELAY_US(PER_2-PER_3);
            port_a = 0x04; //100
                DELAY_US(PER_3-(PER_2-PER_3));
                port_a = 0x05; //101
                DELAY_US(PER_3);
        //second half period
                port_a = 0x02; //010
                DELAY_US(PER_3);
                port_a = 0x03; //011
        DELAY_US(PER_2-PER_3);
        port_a = 0x01; //001
        DELAY_US(PER_3-(PER_2 -PER_3));
        port_a = 0x00; //000
        DELAY_US(PER_3);
    }


В случая трябва да се генерира това:
Изображение
Това дали ще може да генерира описаните честоти, защото един специалист каза че едвали и 1khz ще постингне?
Благодаря предварително. ;)
Пък някой ако изявява интерес към целия проект - става дума за сравнително прост източник на свободна енергия - Toroidal Power Unit

Автор:  kiiid [ Нед Юли 27, 2008 2:27 am ]
Заглавие: 

А! Защо си играеш по тоя начин? Взимаш един PSoC, примерно CY8C29466, конфигурираш му три хардуерни PWM и после само им сменяш честотата и запълването от твоята програмка 8)

Автор:  fan [ Нед Юли 27, 2008 1:08 pm ]
Заглавие: 

Поздравления, "radoslav_radev"! Поздравления за това, че се интересуваш и експериментираш в тази ставаща все по-популярна област!
Това, което ти е казал колегата за горната граница на генериране на честоти е вярно в завсимост от процесора(може и по-големи ~ 100-200КХz)(между другото избрания от теб PICF84 въобще не става за тази работа! ). Както колегата "Kiiid" те насочва, е необходимо да прибегнеш към хардуерно решение. То е обусловено от факта, че получените до сега от множество реплики на TPU генерирани честоти(най-високата от които, достига в някои проекти до мегахерци ), не дават еднакви сойности и получените оптимални за съответната реплика честоти не са цяло число (все има по някоя десета и стотна след запетаята ), т.е. стъпката на изменение на честотата трябва да е достатъчно малка. За това, ти предлагам да си напавиш като за начало експериментите с посочените в репликите семотехники - таймер 555 или инвертори с ТШ входове, и тогава да пристъпиш към по-съвременна схемотехника (напр. DDS, PLL ...). Мисля, че колегите във форума ще помогнат в тази насока. Другия фактор за успешно TPU е и стръмноста(според теорията му) на фронта на импулсите за което също трябва да се помисли и експериментира.
Успех в начинанието!

Автор:  radoslav_radev [ Нед Юли 27, 2008 1:09 pm ]
Заглавие: 

Благодаря за бързия отговор, ще трябва да почета още.

Автор:  relsys [ Нед Юли 27, 2008 9:03 pm ]
Заглавие: 

@fan.....
sorry, ама недей да говориш глупости.....


...
пусни си едно прекъсване на 6 kHz, сменяш състоянието на изхода за 3 kHz на всяко прекъсване, за другите 2 с още 2 брояча .....

Автор:  fan [ Нед Юли 27, 2008 9:07 pm ]
Заглавие: 

Хайде сега да се извиниш за това за глупостите!

Автор:  relsys [ Пон Юли 28, 2008 12:27 am ]
Заглавие: 

то да не съм го правил......

ама както и да е, щом държиш, извинявай :)

Автор:  mk912 [ Сря Юли 30, 2008 6:24 pm ]
Заглавие: 

Такова нещо като безплатна енергия е трудно да се намери. Магнитното поле на Земята е направило възможен живота на нея.
Ако започне да се консумира енергия от него ще бъде въпрос на много силно въображение за да си представим формите и
многообразието на следващите поколения.

Автор:  bongo-bongo [ Сря Юли 30, 2008 8:56 pm ]
Заглавие:  Този път само леко ще се изцепя...

radoslav_radev, аз вече не съм светило в науката ама няма да сгрешиш ако послушаш kiiid: да ползваш някой-друг спец чип а MCUто само да управлява и да индицира. Ха на бас, че няма да ти излезе по-скъпо, а главоболията... Пък и за начинаещ е далееч по-добре поради 1001а причини.

----------------------
Ама тоя форум бил само за от професор нагоре, бе! Ако някой попита нещо по-просто всички го връщат в 1ви курс на техникума. А ако някой даде смислен отговор всички скачат отгоре му.
А аз досега само глупости съм дрънкал и гледам че ми лепнали ранг на Популярен :oops: . Благодаря на модератора за търпението му :prayer:

Автор:  rumen [ Сря Юли 30, 2008 9:26 pm ]
Заглавие: 

Предлагам да преосмилите методиката си на измерване когато пишете за КПД >1.
Прави впечатление че се въздейства върху намотка с правоъгални импулси (мери им се тока и напрежението)
На изхода обаче се мери напрежение и ток на синусоида.

Автор:  relsys [ Сря Юли 30, 2008 11:19 pm ]
Заглавие: 

mk912 написа:
..... Ако започне да се консумира енергия от него .....


... ще го дадем на късо, и как ще пуцне .... :lol: :lol: :lol: :lol:

Автор:  StiV [ Пет Окт 17, 2008 10:25 am ]
Заглавие: 

Здравейте,
Като стана дума за правоъгълни импулси - може ли някой да даде идея (ако има) за промяна на фазата на сигнала на PWM модула. Важно е честотата, ширината на импулса и коеф. на запълване да са постоянни, но да се върти фазата в границите -90 до +90град. Ширината на импулса и коеф. на запълване не са проблем, но нещо ударих на камък с въртенето на фазата... Или някакъв друг начин ако има?
Извинявам се ако темата вече е обсъждана, но не можах да открия нищо подобно с търсачката.

Автор:  Cekins [ Съб Окт 18, 2008 11:16 am ]
Заглавие: 

Първо за какъв PWM модул става на въпрос и второ каква фаза на на този модул ? Той все пак вади правоъгълен сигнал (импулс) с различно запълване, та фазата му спрямо кого(какво)?

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/