Покажи участието

От тук може да видиш всички публикации на този потребител.


Публикации - BuGomix

Страници: [1]
1
Общ форум / Вижте какво намерих
« -: Юли 06, 2009, 02:10:11 am »
Тая игра съм я играл много е добра.

2
За всичко... / Google Lunar X PRIZE
« -: Ноември 28, 2008, 06:09:01 pm »
Ако е ракета не трябва да е в такива размери, каквито сме свикнали да гледаме. Цялото устройство да е 100кг, а големите ракети които се използват са за изпращане на сателити, които са тонове. Ракетата се състои главно от две неща- резервоари за водород и кислород в течно състояние, температурата трябва да е -253C. И другата част ще е двигателя, които е изграден от един конус и дюзи. Фатката е че метала които ще се използва трябва да има много голям температурен диапазон, за при двигателите температурата достига 3000C, това може да е титан. Именно тези две неща ускапяват доста конструкцията. Останалото са регулатори, изолации и тн.
Ето повече инфо ако някои се интересува:
http://www2.jpl.nasa.gov/basics/bsf3-2.html

3
Имам доста трафота, които съм вземал от стари уреди, захранвания на комп, но не знам нищо за тях. Въпроса ми е как мога да им разбера стойностите. Най-вече ме интересуват напреженията на първичната и вторичните намотки. Би трябвало на тях да си пише, действително пише някакви цифри но не мога да разбера нищо от тях нап. на един пише R32028110051 QG. 0311 ???? Ще съм ви благодарен ако някои ми каже как мога да им разбера стойностите, някакви схеми за изследване или нещо такова?

4
За всичко... / Google Lunar X PRIZE
« -: Ноември 24, 2008, 09:35:15 pm »
Ето малко информация относно ракетата. Това е pdf файл, направен е от NASA точно за такива като нас това се вижда и от името на файла Basics of Space fight. В него пише доста неща с които може да се започне. Доста е задълбочена темата за комуникацията между ракетата и базата на земята, изобщо има доста интересни неща.
Basics of Space Flight

5
За всичко... / Google Lunar X PRIZE
« -: Ноември 24, 2008, 09:21:00 pm »
Тава са моите 2 любими теми космос и роботика. Ще следя развитието на тази тема, надявам се да има продължение...

6
Програмиране / PIC За начинаещи.
« -: Ноември 23, 2008, 07:07:03 pm »
Функции на програмна памет, паметта за данни, стека и програмния брояч

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

За да сте наясно с означенията ще ги разясня преди да почна да обяснявам. За да покажем че дадено число е в дадена бройна система ще използвам 2 начина. Единият е с главна буква пред самото число ето така:H-heximal 16, B-binary 2, D-decimal 10. Например числото А1 е в 16бройна система и ще го означаваме така H'A1', числото 100110 е в двоична броина система: B'100110'. Вторият начин е като след числото с малка буква означим бройната система. Напр. A1h, 100110b, 256d.
Под програма се има на предвид инструкции изпълнени по определен ред(алгоритъм)

Как работи МК:
МК изпълнява инструкции, кото са съхранени в паметта му. Всички инструкции се изпълняват за едно и също време, което зависи от самия контролер и най-вече от честотата която ние подаваме. Да приемем че подаваме на контролера честота 4MHz, периода на тази честота ще бъде T=1/F , тоест T=1/4000000Hz T=0,00000025 секунди (250ns), за да получим периода за които ще се изпълни една инструкция трябва да умножим периода на подаваната честота по 4: 250ns * 4 = 1us(микро секунда). От това следва че за 1s МК ще изпълнява 1милион инструкции:shock: . Така се определя и скоростта на процесора, тя се измерва във милиони инструкции за секунда - MIPS. На МК PIC16F84A можем да подаваме честота максимум 20MHz, тоест МК ще изпълнява 5MIPS(има и доста по-бързи)

Елементи на микроконтролерите:
Главните елементи без които не може да работи МК са:
Програмна памет
В програмната памет се записва програмата която ще изпълнява процесора. Представете си я като една страница с редове.

(паметта е долната част на картинката от 0000h до 1FFFh, а отгоре са стека и програмния брояч PC- program counter. Нас ни интересува само бялото поле от 0000h до 3FFh)
Всеки ред(дума) се състои от 14 бита. Един бит може да е 1 или 0. Информацията, която може да се съхранява в 1 ред(дума) може да изглежда например така: 00011101001100
Всеки дума си има адрес, които представлява шестнадесетично число.
Например първия ред има адрес H'0000'(относно това H прочети по-горе). В един ред може да се съхранява една инструкция. На картинката са показани 2 специални вектора(думи, редове). Те са със адрес 000h и 0004h, във тях ще се съхраняват инструкциите, които ще се изпълнят при определени ситуации. В нашия МК имаме на разположение 1К(1024) думи. Следователно нашите програми може да са дълги максимум 1024 инструкции. Както казах всяка дума си има адрес, като на последната адреса е : 3FFh, а например на 20 адреса е : 14h.

Съвместна работа на програмния брояч, стека и програмната памет.
Процесора изпълнява по 1 инструкция едновременно, тоест не може да изпълнява по 2, именно ПБ казва на процесора коя да е тази инструкция. Програмния брояч(ПБ) извлича подред всички инструкции, като започне от адрес 0000h. По този начин се постига последователност на програмата. Тази последователност може да бъде разкъсана чрез определени инструкции. Това става чрез стека. Да приемем че на адрес 0010h има инструкция CALL H'00A0', това означава че трябва да се изпълни инструкция на адрес 00A0h, следователно в ПБ трябва да се извлече инструкцията съхранявана на адрес 00A0h. В това няма проблем, но преди да заредим инструкцията на въпросния адрес трябва да запишем някъде докъде е стигнало изпълнението на програмата преди да сме извикали инструкция CALL H'00A0', за да не се получава прекъсване на програмата. Адреса точно след инструкция CALL H'00A0' трябва да бъде записан в стека, зада може след това да се върнем на него. В нашия случай стека може да съхранява до 8 такива адреса. Това означава че ще можем да правим 8 прекъсвания на текущата програма и после да се връщаме във всяка предишна докато не стигнем до началната. Ако сега не ви се е изяснила работата на стека при описанието на инструкциите ще я разберете.

Памет за данни(RAM)
В Паметта за данни се съхраняват стойности, необходими за изпълнението на програмата(променливи). В PIC16F84A тази памет е реализирана в 2 банки(банка0 и банка1)

Представете си отново листа. Този път са 2 листа(2 банки). При тях всеки ред е един регистър от 8 бита(1байт) 8 битова дума, докато при програмната памет беше 14 битова дума. Тези регистри се адресират по същия начин, като думите от програмната памет, като тук трябва преди да се обърнем към даден адрес да посочим в коя от двете банки се намира нашия регистър(на картинката не е точно така, по-нататък ще разберете). За да конфигурираме нашия контролер да работи както ние искаме трябва някъде да съхраняваме нашите настройки, това може да е например дали даден извод да е вход или изход. Нашите настройки и друга важна информация за работата на МК се съхранява в специални регистри, които се намират в паметта за данни. Това са регистрите с адреси 00h - 0Ch и в двете банки, някои от тях са STATUS, PORTA, TRISA(вижтеги на картинката). Тези специални регистри се означават с SFR, а останалите достъпни за потребителя - регистри с  общо предназначение или GPR. В нашия МК имаме 80 регистъра, 12 от кото са резервирани за SFR. Останалите 68 регистъра(от 0Ch до 4Fh) са на разположение за потребителя. В тях той може да съхранява различни стойности, кото са нужни за функционирането на програмата. Относно адресирането. Когато се обръщаме към SFR регистър трябва преди да извлечем информацията от адреса да посочим в коя банка е регистъра. Например ако преди сме работили с банка 1 и без да сме избрали банка 0, ако се обърнем към регистър PORTA, ще получим съобщение за грешка. По-нататък ще обясня функцията на всички SFR регистрите.
Но паметта за данни има един недостатък. За разлика от програмната памет паметта за данни е енергозависима, тоест когато МК не работи информацията съхранявана в паметта се изтрива. Затова трябва всеки път преди да започне изпълнението на главната програма трябва да конфигурираме МК. Ако се нуждаем от някаква информация, която да е достъпна винаги, можем да използваме енергонезависимата памет EEPROM. За нея и останалите неща по-нататък в темата.

7
Литература / Инструменти
« -: Ноември 22, 2008, 09:08:16 pm »
Здравейте искам да попитам каде от софия мога да си пазарувам на евтини цени. Само да кажа за един магазин, наистина в него има всичко, но цените са много високи. Става въпрос за този на бул. Мария Луиза.

Интересуват ме най-вече материалите а не инстроментите, като разтвора за ецването, платките преди да са ецнати и тн.

Страници: [1]