|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 9:36 am
| Автор |
Съобщение |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
 Re: Зарядно на PIC.
Ако съм те разбрал правилно е това което съм ти постнал долу :
charge.h #include <16F676.h> #device adc=10
#FUSES WDT //Watch Dog Timer #FUSES INTRC_IO //Internal RC Osc, no CLKOUT #FUSES BROWNOUT //No brownout reset
#use delay(int=4000000)
charge.c
#include <charge.h> // voltage devider 1:4 // ADC reading are average from 32 measurment, result is shift only 3 time left // Vref = Vdd = 5 V
#bit out_3 = 0x07.2 // out_3 port B.2 pulse here #bit out_2 = 0x07.1 // out_2 port B.1 when is low that 11.5 #bit out_1 = 0x07.0 // out_1 port B.0 when us high that 14 #bit in_1 = 0x07.3 // input_1 port B.3 enable / disable puls
const float voltage_1 = 14; //voltage 1 - 14 V const float voltage_2 = 12.5; // voltage 2 - 12.5 V const float voltage_3 = 11.5; // voltage 3 - 11.5 V float result; const int16 puls_time =5*2; // output 3 puls time const int16 loop = 10*2; // period for puls on output 3
int16 timer; int1 puls; int8 state; int8 adc_count; int16 adc_temp; int16 adc_result; int1 new_reading;
#INT_RTCC RTTC_isr() { read_adc(ADC_START_ONLY); // start ADC conversion }
#INT_AD ADC_isr() { adc_temp+=read_adc(adc_read_only); // add adc value to temp ADC if(adc_count>31) // if 32 conversion completed { adc_count=0; // reset conversion counter adc_result=adc_temp>>3; // calculate average from 32 readings, devide only by 8 becasue the input devider adc_temp=0; // reset the ADC temp value new_reading=true; // set ADC available data flag } else { adc_count++; // if not 32 conversion, increase adc conversion counter with 1 } }
#INT_TIMER1 timer_1_isr() { timer++; // increment timer variable with 1, aproximatelly each 524 ms }
void main() { setup_timer_0 (RTCC_INTERNAL); setup_adc_ports(sAN0); setup_adc(ADC_CLOCK_DIV_32); setup_wdt(WDT_576MS); //~576 ms reset setup_timer_1(T1_INTERNAL|T1_DIV_BY_8); //524 ms overflow enable_interrupts(INT_TIMER0); enable_interrupts(INT_TIMER1); enable_interrupts (INT_AD); enable_interrupts (GLOBAL); set_tris_c(248); adc_count=0; adc_temp=0; out_1=0; out_2=0; out_3=0; while(TRUE) { restart_wdt(); // restart WDT if(!puls) // when pulse low { if(timer>loop) // wait required time before pulse { timer =0; // when time gone clear timer out_3=1&&in_1; // set pulse output to 1, if in_1 is 0, output never be set to 1 puls = true; // set puls flag } } else // when pulse flag is set { if (timer > puls_time) // wait for puls time { puls = false; // when pulse time gone clear puls flag out_3 = false; // set puls output to 1 } } if(new_reading){ // when new ADC data is available { result = adc_result*5/1024; new_reading=false; // clear new data flag if(result>=voltage_1) // if voltage is higher that voltage 1 - 14 V { out_1 = true; // set output 1 to high } else // when voltage is low that voltage 1 - 14 V { out_1=false; // - clear out 1 if(result<=voltage_3) out_2 = true; // if voltage is below voltage 3 - 11.5 V, set output 2 to 1 if(result>=voltage_2) out_2 = false; // if voltage is above voltage 2 - 12.5 V, set output 2 to 0 } } } }
}
Написал съм го максимално разлято, гледал съм всичко да е на отделен ред за да ти е ясно. Напреженията, са зададени във float, това яде доста памет, после и при сметката но за да ти е по лесно, иначе може да се напише само integer. Пика е 16Ф676, на 5 V от там се взема и референс за конвертора. Изпозлва се вътрешен таймер, ресет пина е хубаво да ти е на + през 1 к да речем. Изходите са ти С.0 - за над 14 В, С.1 за под 11.5 В и С.2 за пулса. С.4 имаш джъмпер към маса и 10к към +, от него се определя дали да прави импулс на всеки час, ако джъмпера е сложен не прави. Входа за мерене на напрежение ти е А.0, делителя е 1:4.
Най-общо е това, компилира се с CCS, симулирано е на протеус, би трябвало всичко да ти е наред. Константата loop за да е на час трябва да стане 3600х2. Времето не е абсолютно точно, не съм го и правил точно, мисля няма значение особенно.
Но не знам това как ти решава проблема с акумулатора, един акумулатор иска доста по сложен алгоритъм на зареждане, па бил той и автомобилен.
|
| Чет Авг 30, 2012 2:38 am |
|
 |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
 Re: Зарядно на PIC.
Че какъв толкова пък му е проблема с акумулатора  ?
|
| Чет Авг 30, 2012 2:56 am |
|
 |
|
kabeleto
Ранг: Минаващ
Регистриран на: Вто Авг 28, 2012 11:15 pm Мнения: 23 Местоположение: София
|
 Re: Зарядно на PIC.
Проблема не е толкова в акомулатора,нещата са малко по-сложни.Освен заряд от мрежата такъв се запаралелва с ветрогенератор и слънчев панел.След няколко месеца тестове излезе един много интересен проблем засягаш почти всички ветрогенератори с мощност до 5 kw без механична спирачка.Поне всички такива които знам или използвам страдат от този недостатък.
|
| Чет Авг 30, 2012 1:37 pm |
|
 |
|
kabeleto
Ранг: Минаващ
Регистриран на: Вто Авг 28, 2012 11:15 pm Мнения: 23 Местоположение: София
|
 Re: Зарядно на PIC.
Много благодаря!.Засъжаление моя програматор няма подръжка на този чип. Ще се пояе нов програматор само за него.
|
| Чет Авг 30, 2012 2:20 pm |
|
 |
|
Пушека
Ранг: Новодошъл
Регистриран на: Пон Апр 16, 2012 9:05 pm Мнения: 182
|
 Re: Зарядно на PIC.
Ех това на час по лъжичка... Раздуй на две на три, какъв е проблема.
|
| Чет Авг 30, 2012 8:39 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
 Re: Зарядно на PIC.
Е кажи какъв поддържа програматора, то всъщност това горе е само С сорс, просто сменяш дефиницията на чипа, и евентуално ако няма С порт трябва да се прехвърли на В .... айде кажи какъв има и ще ти го редактирам. Ако искаш и компилиран hex ще ти пратя.
Аз не знам какъв е проблема с акумулатора, но заряда на тая принцип го обрича на смърт, трябва си температурна компенсация, може и в автомобилите да не я правят, ама .....
|
| Чет Авг 30, 2012 9:27 pm |
|
 |
|
perlsite
Ранг: Ориентиран
Регистриран на: Пон Апр 17, 2006 1:44 pm Мнения: 291
|
 Re: Зарядно на PIC.
До колкото видях - ползваш PonyProg. Ако не ме бърка памета - няма никакъв проблем да използваш като софтуер http://www.ic-prog.com/index1.htm който поддържа 16F676
|
| Пет Авг 31, 2012 9:32 pm |
|
 |
|
kabeleto
Ранг: Минаващ
Регистриран на: Вто Авг 28, 2012 11:15 pm Мнения: 23 Местоположение: София
|
 Re: Зарядно на PIC.
Понякога без пречина се задейства електронната спирачка.Ветрогенератора може да остане в такова положение дни наред без да зарежда акомулатора.Открих защо се получава това и в момента доработвам платката на ветрогенератора.Разбира се гаранцията отпада при отваряне.Нека да мине известно време за тестове преди да съм напълно сигурен че всичко работи.
|
| Съб Сеп 01, 2012 6:05 pm |
|
 |
|
kabeleto
Ранг: Минаващ
Регистриран на: Вто Авг 28, 2012 11:15 pm Мнения: 23 Местоположение: София
|
 Re: Зарядно на PIC.
Прочетох че само трябва да се разменят някой крачета и става на всякакъв програматор подържаш 84 ката.
|
| Съб Сеп 01, 2012 6:20 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
 Re: Зарядно на PIC.
kabeleto - за съжаление всеки ветрогенератор от 100-200 вата на горе е абсолютно безсмислено да се опитваш да зареждаш акумулатори с него. Особено с ветровете дето ги имаме тука в БГ. В мемента работя по цялостна система за утилизиране на тока от ветрогенератор (засега ще е 2 киловата) и тука става въпрос за Grid-Tie инверотр. Всичко останало е пълна безсмислица. Не знам каква електроника ползваш но проблема със спирането на машината по принцип е много сериозен. До този момент имам 4 различни системи които трябва да спрат машината при най-различни условия. Най-сериозния проблем е когато нямаш консуматор - акумулатора събира до един момент. А после? Същото е и като спре тока за инвертора. В такава ситуация е най-добре генератора да спре. Ей тука вече става сложно - единия вариант е да го натовариш с някакъв фиксиран товар. Той обаче може и да не е достатъчен ако има някаква корава буря. Другия вариант е просто да го дадеш на късо. Там обаче трябва електрическата (а и ветровата) машина да може да поеме удара - нашата може. За другите - не знам. Въпреки всичко имам и система която плавно да натовари машината до обороти позволяващи "безопасно" спиране с пълно късо. Имам и варистори които при превишаване на напрежението да окъсят. Имам и предпазители със прикачени на тях групи с контакти които като паднат пак окъсяват всичко. С две думи проблема с акумулаторите ти е най-малкия. А ако това ти е единствения буфер - не знам. Спирачката ти спира генератора щото няма какво да прави тока. Това не е чак толкова лошо освен ако не искаш да ти се врътка постоянно. Между другото в бъдеще сигурно ще имаме и подобен тип система, но засега не е планирана.
|
| Съб Сеп 01, 2012 7:21 pm |
|
 |
|
kabeleto
Ранг: Минаващ
Регистриран на: Вто Авг 28, 2012 11:15 pm Мнения: 23 Местоположение: София
|
 Re: Зарядно на PIC.
Виждам че си специалист по този въпрос.Минал съм през всички премеждия за които говориш.Не се занимавам профисионално с ветрогенератори,имам няколко за различни нужди.Три пъти ми горяха 400 ватовите машинки.Вмомента стигнах до идеята за магнитна спирачка за малките ветрогенератори.Искам да закрепя на всяка перка неодимов магнит който спрямо бобини монтирани на статора да намаля движението.Принцип:колко повече енергия толкова повече се генерира такава към спирачните бобини.В комбинация с електронна спирачка може да се окаже доста ефективно.Засега идеята е просто идея,може и нищо да не излезе.Звучи глупаво но ако...електронната спирачка се включи и акомулаторите подават енергия на спирачката от към перките,може и да оцелее генератора.При мен електроната спирачка палеше статорните навивки.Скъпо удоволствие е пренавиване на правотоков генератор.Дори 1 път 6 перки станаха на 12 части 
|
| Съб Сеп 01, 2012 9:51 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
 Re: Зарядно на PIC.
Ами значи не са ти много добре подбрани генераторите... Другия момент е генератора да е PMG тип. Нашите са такива, ама все още са повече тнтм отколкото нещо сериозно. По принцип на стенда реално мога да изцедя около 4 киловата от него, обаче КПД-то му става отвратително. 94% КПД докарахме с товар около киловат. И нали се сещаш че 4 киловатов генератор няма как да не спре турбина дето е горе-долу киловат мощност. Аварийно съм го давал на късо с реле при много високи обороти - пущината спира от 150 до 0 за 1-2 секунди. Обаче както казах нашата ветрова машина няма проблем да издържи такова ударно натоварване. И въпреки това предпочитам да го спирам "нежно". А това дето мислиш да го правиш си е мотор вързан за мотора. Безсмислена гимнастика. Не знам как си с парите, но в момента понеже нямаме много време за разработки и купуваме "железа" от едни китайци - имат прилично изглеждащи генератори всякакви мощности. Малките не знам колко струват но 4 киловатовия излиза към 1200$ с транспорта до БГ. Тежи 80 кг. С постоянни неодимови магнити. Лошото е че правят различно напрежение при различни обороти (до към 500 волта при 200 оборота) и електрониката за зареждане на акумулатори става малко по-сложна. На нас не ни е проблем, щото така или иначе после напрежението го вдигаме заради вкарването в мрежата. Въобще сбъркана ти е системата кардинално. Тия нежните генераторчета не са за такива работи. А по принцип най-добрата спирачка си е генератора.
|
| Нед Сеп 02, 2012 8:25 pm |
|
 |
|
kabeleto
Ранг: Минаващ
Регистриран на: Вто Авг 28, 2012 11:15 pm Мнения: 23 Местоположение: София
|
 Re: Зарядно на PIC.
Мерси много за помоща!Най вече на Наско и ТоНи! Програмата,схемата и платката са разработени и работят.Скоро ще публикувам всичко.Критиките са неизбежни както и доработките.Вмомента работата на устройството напълно ме устройва.Остава последен тест при -30 градуса и след това заминава да работи по предназначение.
|
| Вто Сеп 18, 2012 8:07 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
 Re: Зарядно на PIC.
Ей, ама нали няма да пуснеш тая програма в този вид на изделие, писах я 10-на минути, по скоро като пример мислех че ще я изпозлваш, поне я огледай добре и тествай че аз понякога правя глупости .. днес сипах бензин в дизеловата кола ...
|
| Вто Сеп 18, 2012 10:29 pm |
|
 |
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 9:59 pm Мнения: 6019 Местоположение: София
|
 Re: Зарядно на PIC.
Това е съвсем редовна практика ... когато караш при -25*С с лятно дизелово гориво. Ако не разредиш с малко бензин, в резервоара ти става желе.
_________________ Warriors of the Night, ASSEMBLER!!!
Последна промяна ike на Сря Сеп 19, 2012 11:36 am, променена общо 1 път
|
| Вто Сеп 18, 2012 10:53 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 3 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|