Обява

Свий
Няма добавени обяви.

Как да си спретнем проста електроника със сложен микроконтролер.

Свий
X
 
  • Филтър
  • Час
  • Покажи
Изчисти всичко
нови мнения

  • #46
    От: Как да си спретнем проста електроника със сложен микроконтролер.

    Първоначално публикуван от Rabin Преглед на мнение
    Признавам, че хаосът вече надминава здравия разум. На единия процесор се програмирало през едни пинове, на другия през други, ако и да има пинове с означение като на предния. На третия - като на първия, ама трябвало да се разменят MISO и MOSI (за разлика от първия). Taka пишат. 30% от схемите в нета са грешни, а в останалите ги няма!
    Замислям се за PIC, взели са си бележка, но има ли платформа на модулен принцип като Ардуино? С отворен код.
    А на трети иска да му подаваш тактова честота за да се програмира... Атмел имат едно свясно нещо - серийните флашове.

    Коментар


    • #47
      От: Как да си спретнем проста електроника със сложен микроконтролер.

      Първоначално публикуван от Rabin Преглед на мнение
      Замислям се за PIC, взели са си бележка, но има ли платформа на модулен принцип като Ардуино? С отворен код.
      На тоя въпрос за съжаление не мога да ти отговоря. Не ми е трябвала такава функционалност. Или по-скоро не ми е проблем да я направя по класическия начин, поне за каквото ми е трябвало.

      Първоначално публикуван от Tisho Преглед на мнение
      Абсурди няма никакви. При RX600 връзването на TFT е повече от лесно. Малко външна памет едно DMA и заемаш не повече от 10% от ресурсите на проц-а при дисплей 640х480.
      Схемата на връзване ми е ясна, малко или много. Обаче върху една шина се съвместява четенето за TFT-то, чиито тайминг за развивката идва от таймер, и писането и четенето на външната памет от процесора. Тоест, задачата с писането и четенето в паметта, поне до колкото схванах, престава да е просто писане в памет, а трябва да се синхронизира с развивката на TFT-то. В примера си Renesas ползват RTOS за тая работа, и буферират заявките към дисплея. Дали може да се мине без и въобще как става писането и четенето от програмна гледна точка, честно казано не ми се е изяснило до край.

      От друга страна, при 320x240 дисплей и PIC32-ка със 128к вътрешна памет използва вътрешен DMA канал (един от няколкото), и отново таймер с прекъсване в края на всеки хоризонтален ред от TFTто. Данните към TFT-то текат през 8 битов паралелен порт (просто толкова памет има налична, иначе порта е 16 битов), който DMA-то управлява автоматично под "диктовката" на таймер. Програмата е "сляпа" за всичко това и фрейм буфера е просто масив в RAM паметта, съответно се чете и пише точно като такъв без нужда от никаква синхронизация. Самия DMA контролер отговаря за евентуалните конфликти, и работи на 80Mhz, срещу 50 на Renesas. Ползването на външна памет обаче е по-усложнено. Паралелния порт е 16 битов и със 16 адресни изхода, и реално може да адресира и чете 128к памет, без жертване на допълнителни крачета. Обаче не става с просто четене и писане, както при RX62N, ами трябва да се изведе адреса, и после да се прочете или запише каквото там, което вече ефективно прави 80-те мегахерца 40.

      Ако имаше PIC или RX62 с 256 или 512к RAM, нещата щяха да са други, ама няма. А и двата могат безгрижно да я адресират. Ама пусто са се вторачили в ниската консумация, и туй то.

      С две думи, ще ми се програмата да "гледа" на дисплея като на обикновен масив от данни. Възможно ли е това с RX62?
      Долните твари, измислили перверзията Erlang, имат "много здраве" от мен. Болезнено!

      Коментар


      • #48
        От: Как да си спретнем проста електроника със сложен микроконтролер.

        Първоначално публикуван от sparkybg Преглед на мнение

        Ако имаше PIC или RX62 с 256 или 512к RAM, нещата щяха да са други, ама няма. А и двата могат безгрижно да я адресират. Ама пусто са се вторачили в ниската консумация, и туй то.

        С две думи, ще ми се програмата да "гледа" на дисплея като на обикновен масив от данни. Възможно ли е това с RX62?

        RX62 повечето са с 96к RAM. Утре ще ти пусна през скайп-а един пример точно за дисплей.

        Коментар


        • #49
          От: Как да си спретнем проста електроника със сложен микроконтролер.

          Първоначално публикуван от Rabin Преглед на мнение
          Зарадвах се на Ардуино, направено е на модулен принцип. Обаче ако някой ми беше казал, как за най-класическия модел Atmega 328 P - PU или се чака 2 седмици, или плащаш двойно - НЕ, благодаря! Не, че се е минало де.
          Ардуино-то се намира и в София. Потърси в интернет. Преди половин година си взех едно да си поиграя с него. Много е сладко, софтуерът е безплатен, намират се и готови парчета софтуер. Без да имам какъвто и да е опит го накарах да си приказва със телефона ми по Bluetooth. Накратко - става. На всичко отгоре програмирането го правих на виртуална машина - да не си мацам компютъра. Със закачено Ардуино, през USB. Ако ти трябва дисплей и клавиатура - по-добре си вземи един тъч-дисплей от китайските и си рисувай върху него бутони на воля. Дисплеят си е с вътрешна памет. Намира се по магазините за ремонт на телефони. Ако не ти се занимава а пък искаш резултат веднага - продават се готови тъч-дисплеи като модул за Ардуино. Обаче това не знам дали го има в БГ.
          Като гледам в какви филми влизаш само времето което губиш вече ти е надхвърлило бюджета от 10 лева многократно.
          Все пак - успех.

          Коментар


          • #50
            От: Как да си спретнем проста електроника със сложен микроконтролер.

            Oт тоя магазин за Ардуинотата си купих процесор. Знам ги прекрасно.
            Не е толкова от пинтилък да се дърпам да си купя. Много е усложнено това Ардуино, а тая работа с bootloader-a ми бърка в здравето. Не харесвам такива варианти за прости решения.
            Темата обаче не е "Как да си купим Ардуино", аз поне такава не бих пуснал. Идеята ми беше да пусна проверени хардуерни и софтуерни решения да си изпрограмираш чипче за дребни неща из къщи. На Ардуино исках да ползвам неимоверно развитата модулна база, наистина нещата са направени като за лаици. За пръв път виждам String за embed. Също така имам 2 книги - една за връзка на Ардуино с Андроид, и една за IPhone. Простосмъртен човек няма шанс да напише всичко това, дори за 3 живота. Дори намерих пример да качиш WebServer в Атмега. Да ти управлява устройства из къщи, и да ги разцъкваш от Нета. Просто се впечатлих, и ако бях успял да си подкарам хардуерния програматор - можех да им ползвам софтуерните разработки с една заготовка от 3 лева.
            За Tiny варианта се получи, а за Mega временно се предавам. Дойде ми в повечко. Свил съм 50 левчета в джобчето, и нямам търпение днес да отвори магазина.
            Последно редактирано от Rabin; 27-02-12, 11:39.

            Коментар


            • #51
              От: Как да си спретнем проста електроника със сложен микроконтролер.

              Първоначално публикуван от Rabin Преглед на мнение
              ...Просто се впечатлих, и ако бях успял да си подкарам хардуерния програматор - можех да им ползвам софтуерните разработки с една заготовка от 3 лева...
              Една схема на програматора, на свързването му към контролера и на част от устройството би дала значително повече информация от 4096 реда текст...
              Не чета коментари и не отговарям на такива.

              И коментаторите...

              Коментар


              • #52
                От: Как да си спретнем проста електроника със сложен микроконтролер.

                Първоначално публикуван от ittso Преглед на мнение
                Една схема на програматора, на свързването му към контролера и на част от устройството би дала значително повече информация от 4096 реда текст...
                В мнение #1 има 2 схеми на програматор. Изходите му се свързват към едноименните изводи на чипа. Последният трябва да е захранен. Не знам защо за втори път се получава недоразумение, питаха ме какъв компилатор съм ползвал. Утре ще снимам схемата с Тинито с все периферия, дето бачка. Да няма повече недоразумения. Не, че е интересно на някого за какво конкретно я ползвам в нас.
                Същата схема на свързване с Атмегата не работи. Програматор - едноименни изводи чип (3 бр) - захранване. Нищо друго.
                Взех си хардуер Ардуино и същия чип тръгна. Засега спирам с проучванията в тази посока що не се бил пишел. Има по-интересни неща за копане.
                Абе тръпка си е да ровиш по компютър дето тежи 3 грама и струва 6 лева! В Протеус бяха подкарали подобен да играе на шах, при това смислено. На Атмел, PIC и Motorola.
                Последно редактирано от Rabin; 27-02-12, 19:08.

                Коментар


                • #53
                  От: Как да си спретнем проста електроника със сложен микроконтролер.

                  Натиснете снимката за да я уголемите

Име:DMC_0628.jpg
Прегледи:1
Размер:59.3 КБ
ID:5351369

                  Код:
                  // this is the header file that tells the compiler what pins and ports, etc.
                  // are available on this chip.
                  #include <avr/io.h>
                  
                  // define what pins the LEDs are connected to.
                  // in reality, 
                  #define LED PA0
                  
                  // Some macros that make the code more readable
                  #define output_low(port,pin) port &= ~(1<<pin)
                  #define output_high(port,pin) port |= (1<<pin)
                  #define set_input(portdir,pin) portdir &= ~(1<<pin)
                  #define set_output(portdir,pin) portdir |= (1<<pin)
                  #define CORR 16 
                  
                  // this is just a program that 'kills time' in a calibrated method
                  void delay_ms(int32_t ms) {
                     int32_t delay_count = F_CPU / 17500;
                     volatile int32_t i;
                   
                     while (ms != 0) {
                       for (i=0; i != delay_count; i++);
                       ms--;
                     }
                   }
                   
                   int main(void) {
                  
                      set_output(DDRA, LED); 
                      output_high(PORTA, LED); 
                      delay_ms(180000/CORR); //3 min
                   
                     while (1) {
                       output_low(PORTA, LED);
                       delay_ms(60000/CORR); //1 min
                  
                       output_high(PORTA, LED);
                       delay_ms(2000/CORR); //2 s
                     }
                   return 1;
                   }
                  Eто документацията на проекта. Високоволтовата част е направена по по-сложен начин, който не ми харесва. Нарисувания тук ще тествам някой слънчев ден. В момента нямам с какво да снимам по-добре. Дроселът е в променливотоковата верига, защото на платката само там можах да прекъсна веригата.

                  Коментар


                  • #54
                    От: Как да си спретнем проста електроника със сложен микроконтролер.

                    Ето защо харесвам Ардуино. Пускаш си платформата, влизаш в менютата, харесваш си примера за дисплей. Линк в кода - нарисувано как да го подвържеш дори ако не можеш да четеш схеми. Тръгна с първия път. При това с евтин дисплей за 8 лева, чипът на който е заместител на оригиналния, за който е писан този пример.
                    Вече си имам платформа с дисплей, клавиатура и AЦП!
                    Ардуиното остава само за програматор и компилатор. Купуваш процесор, дисплей и кварц - и става за почти всичко из къщи на цена на 15-тина лева. Без да си даваш зор да проучваш кое-как.

                    Код:
                     
                    //http://www.arduino.cc/en/Tutorial/LiquidCrystal
                    
                    // include the library code:
                    #include <LiquidCrystal.h>
                    
                    // initialize the library with the numbers of the interface pins
                    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
                    
                    void setup() {
                      // set up the LCD's number of columns and rows: 
                      lcd.begin(8, 2);
                      // Print a message to the LCD.
                      lcd.print("hello, world!");
                    }
                    
                    void loop() {
                      // set the cursor to column 0, line 1
                      // (note: line 1 is the second row, since counting begins with 0):
                      lcd.setCursor(0, 1);
                      // print the number of seconds since reset:
                      lcd.print(millis()/1000);
                    }
                    Последно редактирано от Rabin; 31-03-12, 20:59.

                    Коментар


                    • #55
                      От: Как да си спретнем проста електроника със сложен микроконтролер.





                      Задвижих нещата! Проектирах си платка, пуснах я на платкаджия, дори тръгна! Избрах си процесор с 16 MIPS, 2 КB RAM, 32K Flash (ATMEGA 328P-PU с нормален не-SMD корпус). Предвидих да може да работи с почти всички видове дисплей с контролер. Този на снимката си го купих нов, ама си намерих 2 бр. по 2 лева от стари факс апарати. Предвидих и инфрачервен приемник, да може да се командва с дистанционно вместо клавиатура. Кутийка за левче, термодатчик за стотинки... Под 30 лева на сглобка с платката. Лека полека се реализира идеята за евтина платформа за всичко из къщи. Обаче направих простотията да пусна светодиод и транзистор последователно. 5 милиампера не може да го отпуши да управлява реле. Давайте идеи кои светодиоди имат най-малко работно напрежение...
                      Последно редактирано от Rabin; 02-06-12, 16:54.

                      Коментар


                      • #56
                        От: Как да си спретнем проста електроника със сложен микроконтролер.

                        Първоначално публикуван от Rabin Преглед на мнение
                        ...Давайте идеи кои светодиоди имат най-малко работно напрежение...
                        Червените са с най-ниско напрежение. Обикновените, не с висока яркост. Сините, които ползваш, са с най-високото напрежение - близо 4 волта.

                        ...обаче, 5mА на емитера на уважаващ себе си транзистор трябва да дадат поне 500 на колектора. Релетата обикновено харчат 10 пъти по-малко. Сигурен ли си че 5mA минават през емитера? Какви резистори си сложил между процесора и диодите?

                        И къде поръчва платките, за колко време ги направиха и за какви пари?

                        Аз бих сложил и по един резистор база-емитер, примерно 100к и нагоре.
                        Долните твари, измислили перверзията Erlang, имат "много здраве" от мен. Болезнено!

                        Коментар


                        • #57
                          От: Как да си спретнем проста електроника със сложен микроконтролер.

                          Първоначално публикуван от sparkybg Преглед на мнение
                          ...обаче, 5mА на емитера на уважаващ себе си транзистор трябва да дадат поне 500 на колектора. Релетата обикновено харчат 10 пъти по-малко. Сигурен ли си че 5mA минават през емитера? Какви резистори си сложил между процесора и диодите?
                          И къде поръчва платките, за колко време ги направиха и за какви пари?
                          .
                          Дори 6 мА са на емитера, в колектора вади 12 милиампера с товар лампа. 0,55 волта база-емитер. И аз не мога да си обясня. BC 639 e транзисторът. Съпротивлението в базата е нула ома. 2 броя са веригите, държат се еднакво. Тия транзистори, които ползвам - базата и емитера са обратно на datasheet-а. Освен и колекторът да не по средата, и да работи наопаки емитерът като колектор.
                          8 лв/бр. за 3 платки. За седмица и нещо станаха. На Eagle ги правих, че е безплатен до размер на сапунерка. На ЛС изпращам повече данни.
                          Последно редактирано от Rabin; 02-06-12, 18:07.

                          Коментар


                          • #58
                            От: Как да си спретнем проста електроника със сложен микроконтролер.

                            Смени ги с BC546B/556C. Струват части от стотинката, а като минимум усилването им е 200. 546/547/556/557 или за SMD 846/847/856/857 са най-разпространените транзистори в момента. Сигурно имам по 200-300 броя от всеки вид из чарковете.

                            Твоите транзистори са нещо нефелни със сигурност, или вместо база-емитер ползваш база-колектор, където пак работи, ама бетата е мижава.
                            Долните твари, измислили перверзията Erlang, имат "много здраве" от мен. Болезнено!

                            Коментар


                            • #59
                              От: Как да си спретнем проста електроника със сложен микроконтролер.

                              Хаха, мене ме сурвакаха по 30 ст./бр. Не, че е проблем за 2 броя де...

                              Коментар


                              • #60
                                От: Как да си спретнем проста електроника със сложен микроконтролер.

                                Първоначално публикуван от Rabin Преглед на мнение
                                Хаха, мене ме сурвакаха по 30 ст./бр. Не, че е проблем за 2 броя де...
                                И кой ти ги продаде за толкова, да знам да не ходя там? В комет точно твойте са по 4 и половина стотинки бройката.
                                Долните твари, измислили перверзията Erlang, имат "много здраве" от мен. Болезнено!

                                Коментар

                                Активност за темата

                                Свий

                                В момента има 1 потребители онлайн. 0 потребители и 1 гости.

                                Най-много потребители онлайн 8,787 в 17:37 на 21-06-23.

                                Зареждам...
                                X