Borisov_E

Помогите Выбрать - Pic Или Avr Или Arm

266 сообщений в этой теме

Borisov_E    1

Давно с завистью смотрю на тех кто умеет делать всякие штучки на микроконтроллерах, вроде дозрел до того чтобы и самому что-то попытаться сделать, попытаться научится программировать. Полазил по форумам и не очень понятно за что браться :rolleyes: PIC, AVR или ARM Хочу купить какое то железо, так как в симуляторах играться не очень интересно хотя может быть и полезно когда понимаешь что делаешь.

С чего бы вы почоветовали начать ? Конечно книги надо читать и DVD с книгами навернчка будет полезен. Если выберу платформу то тогда уже понятней будет куда дальше двигаться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Shahabbas    242

Я начал с PIC , программу составил прогой FlowCode . Просимулировал в Proteusе , собрал в железе - работает .

По логике работы 1 микроконтроллер PIC12F675 и 4 резистора заменили мне 12 микросхем 74 серии 4 таймера 555 и кучу резисторов и конденсаторов . В итоге с первоначального варианта платы 10X10 сантиметров получилась плата 1,5X2 сантиметра с более чёткой работой и возможностью вносить изменения в логику работы не паяльником , перепахивая плату , а меняя программу контроллера . :)

Изменено пользователем Shahabbas

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Borisov_E    1

Да преимущества МК мне очевидны, просто предложений масса и что выбрать неясно, ясно только что в АРМ наверно не стоит начинать. Кто разбирается подскажите по функциональности и рациональности тех макеток - что бы мне купить чтоб не ошибиться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UTSource

Найдите миллионы труднодоступных

электронных компонентов

wowa    4

Если начинаете - то разницы особой нет с чем начинать... Они все одинаковы.. АРМ имеет преимущество что на нём ходит и ЛИНУКС... Если получится его там завести то потом сидите и пишете как на нормальном компе, только медленном :) А иначе - начинать желательно с того что можно недорого и в нужном количестве купить в вашем районе. Потому что во время изучения - будут жертвы :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Borisov_E    1

Почитал про макетку на AVR - там написано что можно ик USB подключать а в PIC такого не пишут, програмная реализация USB это интересно, но для каких устройств это можно применить ? Примочки приставки - гаджеты :) к ПК ? Измерение и управление с компьютера.

wowa, спасибо за совет и предупреждение про жертвы ! Тогда наверно макетку возьму на AVR так как похоже что это единственная макетная плата где микроконтроллер не впаян а в панельку ставится без пайки - значит легко заменить на другой и возможно еще ATmega8 закажу парочку-троечку. Я попоискам полазил по яндексу - на ATmega8 очень много устройств в интернете и как я понимаю в панельку вместо нее можно и ATmega168 поставить - т.е. получится Arduino очень недорогая, к ней ведь полно разных любительских проектов. Надеюсь к концу января, если получу макетку быстро, мне удасться помигать светодиодами а может побегать ими и главное понять почему и как они мигают. :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Borisov_E    1

Послал письмо с запросом макетки всеж под AVR без пайки в панельку, но не буду мегу16 а попросил 2 меги8 - теперь у меня ДВА шанса вместо одного :) Взял тетрадь толстую на пружине - рабочий журнал будет - все вопросы буду писать в него и главное решения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
SviMik    6

Если умеешь делать платы - почему бы не сделать самому? И приятнее, и даже дешевле (всякие макетки и прочие готовые комплекты, как правило, неоправданно дорогие).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Borisov_E    1

За помощь огромное спасибо. Скачал архив и обязательно изучу и посмотрю.

Я умею делать платы, я с электроникой хорошо знаком, это микроконтроллеры для мнея пока неведомы. Я заказал плату с набором компонентов потому что 450 рублей вроде не дорого и почта 120, плата с качественной металлизацией - такую я ЛУТ-ом не сделаю, микроконтроллеров ATmega8 по 48 рублей и ATmega16 по 80 рублей я больше ни где не видел.

Вот в чип-дипе ATmega8 по 220 рубликов - http://chip-dip.ru/product0/261212708.aspx почта в чип-дипе 350 рублей.

Такая же почти макетка в чип-дипе 1500 рублей http://chip-dip.ru/product0/674886318.aspx - БЕЗ МК ! вообще мрак.

Кроме того, пока идет посылка, планирую теорию поштудировать чем и занимаюсь щас, в моем журнале уже появляются вопросы, постараюсь найти ответы сам, что не найду буду туту спрашивать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
GDK    2

Нафиг ничего не надо покупать было и симуляторов тоже не надо. Надо найти сайт Корабельникова и почитать открытую инфу из самоучителя. Там немного. Доступными словами. Самое основное. Воды-минимум.

Если знаком с регистрами, триггерами и проч. то времени для понимания основ много не потратишь. У меня ушло где то пара чтения часов чтения вечером в кровати чтобы понять основы, и этого уже хватит для изготовления простых устр-в.

Программатор Пони-прог спаял сам с отдельным питанием стоимость деталей меньше 30-ки. Ну и если всё же решитесь юзать ПИКи, то обязательно MPLAB.

МК придуманы чтобы всё упростить. Помните это.

Изменено пользователем GDK

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я тоже начинающий, делюсь опытом того, как начинал)))

Начал с АВР. У меня была на тот момент конкретная задача (простая), решил изучить МК, за одно и полезное чета сделать. Тоже остановился на авр по простейшей причине - не хотелось делать программатор :)

Из железа купил штеккер ЛПТ и Мегу16. У нас она порядка 22грн стоила (=3$). Ну, сначала попробовал написать первые 3 проги из курса и проганял их в симуляторе. Работало далеко не с первого раза :) МК сначала не шил. Потом написал свою прошивку, поганял в симуляторе - исправлял баги, и потом прошил. Еще поисправлял баги... На все, с момента изучения до 1-й собвственной работающей программы ушел где-то месяц) долгий я в этом деле... Зато ничего не спалил :)

На первое время, советую остановится на 1 ХОРОШЕМ источнике информации. Потому что сначала много чего не яно. Я когда начинал, то не представлял себе что такое регистр и СИ...

В общем-то пользовался курсом 123авр и ДШ, чтобы не путать карты. Не говорю, что это самое лучшее из всего, т.к. незнаю, но там достаточно хорошо все описано. Распечатал себе 2-7 страницу курса (примерно 150 листов) и читал в свободное время. + удобно отлаживать на компе, когда инфра на бумаге.

Удачи в экспериментах!

P.S. SviMik прав, симуляторы чильно напрягают. Но для начала - для светодиодов нормально :) Не умертвишь МК, установив неправильно фьюзы. Кстати, о них, если будешь делать в АВРстудио, то там по дурацки немного сделано с этими фьюзами - можно запутаться первое время.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Borisov_E    1

Друзья, огромное вам спасибо за советы и за желание помочь!

Пока набор для AVR в пути я уже читаю и все же поставил компилятор CVAVR симулятор VMLAB и симулирую - есть кайф но пока только повторяю то что просят делать в обучалке, пока повторяю не все понимая, но круг - редактирование, перекомпиляция, симуляция уже освоил :D Щас качаю студию и PROTEUS.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ss85    0

Рекомендую начать с ассемблера. Это вам поможет в понимании того как все работает. Сразу оговорюсь, что легко не будет.

На счет Си, CVAVR не лучший пример компилятора. Лучше взять WinAVR, он интегрируется в AVR Studio и абсолютно бесплатный.

В CVAVR есть только один плюс для начинающего, а именно Wizard.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Borisov_E    1

Я на мастер и купился как неопытный рыбак на красивую снасть :) Я написал что качаю Студию и WinAVR тоже качну позже, наверняка ведь код мастера CVAVR можно будет и в WinAVR использовать.

И за АСМ спасибо. Даже если на Си учится то что-то из АСМ-а всеравно надо наверно знать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Daddy Karlo    3
Надо найти сайт Корабельникова и почитать открытую инфу из самоучителя.

помоему у него уже все закрыто. вторая часть в миру ходит?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Borisov_E    1

Да в миру то, естественнно, весь самоМучитель ходит уж давно. Страно былобы еслиб не ходил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Borisov_E    1

Я щас читаю ХХХХ - очень понятно написано, но до практики на железе я еще не дошел, так как жду получения заказаных макеток с деталями и ATmega8? пока в симуляторах пробую код.

Изменено пользователем wowa
Реклама Сайта николаева запрещена!!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Chekash    0

Я тоже плату заказал, и две АТмега16, сейчас пока что разбираюсь с Flowcode_AVR, и параллельно с ней потихоньку учу Си...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Borisov_E    1

Думаю Flowcode_AVR не есть хорошо, я разбираюсь с Си. Порыв интернет мне стало очевидно что Си это стандарт дефакто для встраиваемых систем и для Avr PIC ARM и подобных камушков.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Chekash    0

У меня немного другой случай... В тот момент когда мне на глаза попалась Flowcode_AVR, я уже честно говоря подумывал бросить все это дело... Из-за Flowcode_AVR у меня появился дополнительный интерес к изучению контроллеров и их программирования...

P.S. Не сочтите за рекламу....

Изменено пользователем Chekash

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Borisov_E    1

Главное чтоб с удовольствием было и чтоб получалось :D а в МК все равно .hex заливать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: yarosh
      Не могу никаким софтом поменять текст в бегущей строке.  Год выпуска 2011,  сделана на pic,  есть ps\2 порт под клаву, с нее залить новый текст не вышло, разные варианты пробовал но так и не смог.
      Есть ком порт, по нему с компом связь есть, но ничем сменить текст или очистить немогу, в программе терминал после коннекта если нажать send и отправить что нибудь на строку происходит секундное моргание и текст остается прежний. 
      В проге Stroka 2.9 отправка ничего не меняет,  только моргает секунду.
      фото внутрянки прилогаю.





    • Автор: Alexey104
      Всем привет!
      Возникла следующая проблема:
       
      Есть две ардуины 'Mega2560'. По несчастливому стечению обстоятельств данные платы попали в руки одному чуваку, который, вернув их, заявил, что они перестали работать после того, как он "чисто ради интереса" поковырял на обеих некоторые фьюзы. Есть у меня такой китайский usbasp v2 программатор:
      Подключив данный девайс к ICSP-пинам первой платы, удалось без проблем восстановить на ней загрузчик через стандартную Arduino-IDE, после чего работоспособность платы полностью восстановилась. Но вот при попытке сделать то же самое со второй платой, получаю это:
      Такое же сообщение получаю при попытке зашить загрузчик в неподключенную к программатору ардуину, то есть программатор вообще не видит МК. Плата прекрасно работала до того, как вышеупомянутый товарищ покрутил настройки фьюзов.
       
      Что я пытался предпринять:
      Замыкал пины JP3 программатора, отвечающие за понижение скорости, подключал к ардуине 5V от внешнего источника при прошивке загрузчика, - не помогло.
       
      Поиском пользоваться умею, аналогичную тему тут находил, но там проблема была в том, что парень неверно подключал программатор к контроллеру. В моём же случае всё подключено верно, повторюсь, что загрузчик первой платы этим же программатором был восстановлен успешно.
      Буду рад любым советам касательно того, как восстановить работоспособность платы.
       
       
       
    • Автор: Ru_s
      Здравствуйте. Подскажите пожалуйста, возможно ли на attiny13 реализовать такую штуку. Мне в процессе работы программы нужно поменять режим работы таймера/счетчика с fast PWM на обычный счёт, отсчитать длительный промежуток времени и опять вернутся в режим ШИМ. Т.е. я подаю на ногу сигнал ШИМ и когда он в максимальном значении, я его отключаю, и тупо подаю на ногу высокий лог. уровень. В это время Т/С по идее свободен, и мне надо посчитать время работы выхода на максимальном лог. уровне, при достижении какого-то значения времени нужно перевести т/с обратно в ШИМ. Возможно ли это? И как приблизительно это реализовать
    • Автор: ShimkoMax
      Здравствуйте. Требуется вывести данные температуры и влажности на экран. С LCD дисплеем разобрался, осталось разобраться с SHT21. Постоянно выводит 0 на дисплей:
      Main.c:
      #define F_CPU 8000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <stdio.h> #include <stdlib.h> #include "globals.h" #include "LCD_lib.h" #include "twi.h" // I2C #include "sht21.h" int main(void) { I2C_Init(); _delay_ms(100); LCD_init(); char buffer[20]; roomAdrInit(); SHT21_reset(); while(1) { SHT21_reset(); LCD_sendString(itoa((int)get_temperature(), buffer, 10), 4, 0, 0); _delay_ms(1000); } } twi.c:
      #include <avr/io.h> #include "twi.h" void I2C_Init(void) { TWSR = 0; TWBR = 0x20; TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN); } void I2C_StartCondition(void) { TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); while(!(TWCR & (1<<TWINT))); } void I2C_StopCondition(void) { TWCR = (1<<TWINT)|(1<<TWSTO)|(1<<TWEN); } void I2C_SendByte(uint8_t data) { TWDR = data; TWCR = (1<<TWINT) | (1<<TWEN); while(!(TWCR & (1<<TWINT))); } unsigned char I2C_ReadByteAck(void) { TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA); while(!(TWCR & (1<<TWINT))); return TWDR; } unsigned char I2C_ReadByteNak(void) { TWCR = (1<<TWINT) | (1<<TWEN); while(!(TWCR & (1<<TWINT))); return TWDR; } sht21.c:
      #define F_CPU 8000000UL #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <stdio.h> #include "twi.h" #include "sht21.h" void SHT21_reset() { unsigned char reg[1]; reg[0]=SHT21_reset_cmd; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(*reg); I2C_StopCondition(); _delay_ms(100); } uint16_t checksum(unsigned char data[],uint8_t byte, uint8_t check) { uint8_t crc=0; uint8_t bytectr,bit; for (bytectr=0; bytectr<byte;bytectr++) { crc^=(data[bytectr]); for (bit=8;bit>0;bit--) { if(crc&0x80) { crc=(crc<<1)^polynomial; } else { crc=crc<<1; } } } if (crc!=check) { return 0; } else { return data; } } void write_user_register() { unsigned char reg[3]; reg[0]=user_register_write; reg[1]=0x44; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(*reg); I2C_StopCondition(); } uint16_t read_value(uint8_t reg) { char data[4],crc; uint16_t result; data[0]=reg; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(reg); I2C_StartCondition(); I2C_SendByte(SHT21_i2c_read); data[1] = I2C_ReadByteAck(); data[2] = I2C_ReadByteAck(); crc=I2C_ReadByteNak(); I2C_StopCondition(); result=(data[1]<<8) | data[2]; checksum(result,4,crc); result &= 0xFFFC; return result; } float get_humidity() { //char buffer2[4]; uint16_t hum_value = read_value(humidity_hold_mode); return -6 + 125.0 / 65536.0 * hum_value; //dtostrf(rh,5,2,buffer2); _delay_ms(100); } float get_temperature() { //char buffer1[4]; uint16_t temp_value = read_value(temperature_hold_mode); return -46.85 + 175.72 / 65536.0 * temp_value; //dtostrf(tc,5,2,buffer1); _delay_ms(100); }  
    • Автор: GeloMik
       
      Я новичок в программировании AVR контроллеров, хотя знаю +/- C++.
      Проблема заключается в том, что я не могу написать прошивку к своему маленькому проекту. Используемый мною контроллер - ATTiny45. У него на борту имеется 1 АЦП с выходом на 4 ноги. Нужно, чтобы фактически одновременно брался замер с 3, 4 и 5 порта по АЦП, и при появлении 1 на одном из них МК должен подать 5В на 1 или 2 порты. Источник АЦП AREF. 
      Сюда прикреплю схему самого робота, если кого не затруднит помочь написать прошивку, буду очень благодарен 

  • Сообщения