Jump to content
Sign in to follow this  
Guest Роман

Подбор нужного МК

Recommended Posts

Guest Роман
Posted (edited)

Добрый день, форумчане. Такая задача. Хочу создать несколько устройств на светодиодах. Задача каждого в том, чтобы от движения (датчик вибрации, наклона) светодиод начинал моргать, переливаться и т.д. Подпитывается всё от батарейки, конечно же как можно меньших размеров (таблетка).
Собственно я уже реализовал такое пробное устройство на ATtiny13, вибродатчике 18015 и батарейке CR1220. Всё работает, но хотелось бы это дело и удешевить и уменьшить в размерах, если это конечно же возможно. Особо в параметрах МК я не разбираюсь, но могу сказать что мне от неё точно нужно:
1) Маленький размер
2) Как минимум 1 канал ШИМ (а лучше 3, для переливания трёх светодиодов RGB)
3) Память на 1Кб (программу для одного такого устройства приложу ниже, может её можно и сократить, но не факт что такую же, но на три диода получится ужать)
4) Низкое потребление или возможность подключения режимов с низким потреблением.
5) Работа от 3В. (от таблетки)
6) Возможность программирования через Arduino UNO (но другие варианты тоже рассматриваю, просто Arduino уже есть)

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

Очень надеюсь на Вашу помощь. Заранее большое Вам спасибо!
Прикладываю обещанный мною код:

int vib = 4;
int led = 0;
long loopTime = 5000;

void setup() {
pinMode(led, OUTPUT);
pinMode(vib, INPUT);
}
void loop()
{
if (digitalRead(vib)){
unsigned long currentMillis = millis();
while(millis()-currentMillis<=loopTime)
{
for(int fadeValue = 0; fadeValue <=255; fadeValue+=5){
analogWrite(led,fadeValue);
delay(2);
}
for(int fadeValue = 255; fadeValue >=0; fadeValue-=5){
analogWrite(led,fadeValue);
delay(2);
}
for(int fadeValue = 0; fadeValue <=255; fadeValue+=5){
analogWrite(led,fadeValue);
delay(2);
}
for(int fadeValue = 255; fadeValue >=0; fadeValue-=5){
analogWrite(led,fadeValue);
delay(2);
}
digitalWrite(led, LOW);
delay(600);
}
}
}

 

Edited by admin

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Сообщения

    • На выпивку большие были траты... В надежде холодильник я открыл Но выпил весь рассол, ещё вчера, Гамзатов Хотя сказал, что только пригубил...
    • С релюшками особо не сталкиваюсь, не подскажу, хотя в инете много обзоров релюшек марки ЗУБР и РБУЗ , для некоторых потребителей типа насос, холодильник - лучше сразу стабилизатор напряжения. Шкаф брать на три ряда, в первом ряду после вводного автомата автоматы первой фазы. ниже третьего ряда можно поставить шины нуля и земли горизонтально, на изолированных ножках. диффавтоматы переставить в ряду в крайнее правое положение, там их удобнее коммутировать с шинами нуля на дин-рейке которые на фото справа. точнее, диффавтоматы между автоматами и шиной динрейки
    • Не считаю это обоснованным решением. Два-три эксперимента не покажут полной картины. Вам так же написал, что и как изменить. Схему покажите, так вернее. Два входа 1:1 и 1:10. С подстроечниками. Где то были два разъема от осциллографа. Подойдут ли щупы от осцилла?
    • Это слишком легко) ставил - не нашёл - мин 261тор, автор с которого взял исходник - таким образом борется с помехами - это нужно проверить - вокруг дросселя виток и на землю. 
    • А вы ручками ставьте TOPSwitch-GX. Это старая микросхема и программа по умолчанию ставит более современные и новые типы. По поводу заземления дросселя не понял-зачем КЗ виток делать? И первичка у вас странная Вот расчет в 9-ке     TOPSwitch-GX_PIDesign1.pdf TOPSwitch-GX_PIDesign2.pdf
    • Ранее в этой теме я выкладывал результаты макетирования. Кроме того в нашем личном общении обосновал бесперспективность  гу 50 в пентодном SE каскаде.     Обычный делитель, который не спалит микрофонный (или линейный) вход карты. Например,  если усилитель выдает 10 В, а вход звуковой карты расчитан на 1В то это будет обычный резистивный делитель  10:1. Грубо -два сопротивления   10К-1К. а чтобы иметь возможность маневра поставьте  в позицию 1К переменник такого же номинала. Если не понятно, могу нарисовать схему подключения..
  • Similar Content

    • By finn32
      Проводил ревизию и нашел линейку данных ШИМ, оригиналы от ST. По 50р/шт, все за 450 вместе с боксом.
      Пересыл на купившем. Находится в Брянске. Купившему насыплю бонусом эл-х конденсаторов.

    • By SAYMPR
      Друзья ! Нужна помощь,есть схема бортового устройства в протеусе,так же и программа на С.Не получается  программу связать со схемой.Помогите пожалуйста!
      Протеус принимается только асемблер,а мне нужен С.

    • By ARV
      Вот такая плата была когда-то давно разработана и изготовлена... Но ни разу не включалась, не проверялась и не налаживалась.
      Схема с перечнем сохранилась только на бумаге.
      Схема предназначалась для изучения/освоения микроконтроллера AT90PWM3 и CAN, использование их для управления трехфазным инвертором. 
      На плате установлены:
      микроконтроллер AT90PWM3-16SQ в типовой обвязке с кварцем; внешний CAN-контроллер MCP2510-I/SO; драйвер CAN-шины MCP2551-I/SN; регистр SN74HC597 для ввода 8 дискретных сигналов; 4 оптрона ILD74 для развязки дискретных сигналов; Операционный усилитель AD824AR для аналоговых сигналов, подаваемых на МК; элементы N74AHCT86D для возможности инвертирования выходных сигналов (при помощи перемычек) буфер SN74AC244DWR для умощнения выходных сигналов; преобразователь питания ИРБИС МПА10А (входное напряжение 9...18В); необходимая обвязка, включая восстанавливаемый предохранитель, кварц, защитные диоды на входах и т.п. На плате много контрольных точек, есть технологические перемычки. Схема оттрассирована в расчете на то, что МК формирует 3 двуполярных ШИМ-сигнала (т.е. всего 6 ШИМ-ов для верхних и нижних ключей отдельно)  возможностью индивидуально проинвертировать каждый (т.к. драйверы IGBT могут иметь как прямые, так и инверсные входы). 4 аналоговых сигнала с датчиков тока или напряжения поступают в МК для реализации ОС и защит. Управление ведется по CAN и с помощью 8 дискретных сигналов.
      Больше подробностей вспомнить не могу...
      Плата, как видите, даже не мылась от канифоли - так и пролежала 10 лет... Паялась профессиональнми монтажниками вручную, трассировалась тоже, но за качество, увы, не порчусь головой...
      Думаю, плата может быть хорошей основой для самодельного инвертора или как экспериментальная основа для изучения микроконтроллера, CAN-контроллера и шины, а так же вообще для всяких поделок. 
      Отправлю почтой РФ комплект: 
      Схема - 1 лист А1 эскиз размещения компонентов на плате - 1 лист А4 (немного поврежден, но читаем) перечень компонентов - 2 листа А4 эскиз печатной платы - 1/2 листа А4 плата в сборе дополнительный контролер AT90PWM3B (на плате распаян другой - AT90PWM3) Цена 3000 рублей, доставка отдельно. Бонусом могу добавить дополнительный CAN-контроллер и CAN-драйвер.
    • By WetCrow
      Добрый день!

      Пытаюсь настроить на Atmega8 Asynchronous Clock. Цель -- сделать часы.
      По задумке, мк работает на частоте 1МГц (фьюзы не трогаю, оставляю заводские значения), к пинам TOSC1/TOSK2 подключается кварц на 32.768 кГц, а Timer2 настраивается таким образом, что генерирует прерывания один раз в секунду.
      Вот, что я делаю:
      ASSR |= 1 << AS2; TCCR2 = 0b00000101; TIMSK |= 1 << TOIE2; sei();
      Нужно ли подключать кварц с конденсаторами, или без -- не понял. В даташите информации не нашёл. Пробовал и так, и эдак -- разницы не заметил.
      Что получилось:
      В Протеусе всё вроде работает правильно, однако, даже если отсоединить кварц, это ни на что не влияет. На макетной плате схема работает раза в 1.5 быстрее, чем нужно; опять таки, отсоединение кварца ничего не меняет. В чём я ошибаюсь, чего не учитываю?

      К сообщению прикладываю файл прошивки и протеуса.
      Примечания:
      в Протеусе сделал имитацию дисплея на светодиодах, так как встроенный вариант не работал корректно. Для того, чтоб цифры мигали медленнее, можно раскомментировать строку "#define DEBUG_BLINKING" -- иначе в протеусе не рассмотреть, что получается. Пишу на C++ под avr-g++, впрочем, никаких фишек языка не использую. clock.cpp clock_build_with_LEDs.pdsprj
    • By Андрей Bragslav
      Здравствуйте, если кто-то знает, подскажите, пожалуйста, какой мосфет(Q3) можно использовать. Еще интересует по каким критериям они подбираються и где это можно сделать(тобишь сайт на котором можно указать нужные параметры/или это как-то по другому подбирается?).

      На счет импульсов генерируемых Arduino Uno на микропроцесоре ATmega328P. Частота в даном примере(вообще она будет перед стартом задаваться в пределах 1-50Гц) 50Гц, период 0,02с, duty cycle 50%.

      Еще такой вопрос, подскажите, пожалуйста, нормальный ли характер графика D на осцилографе? Почему он именно такой, если не нормальный, то что исправить? 

      Если нужна дополнительная информацыя, без проблем, в мерах своих возможностей, добавлю. За любую помощь зарание спасибо.
















×
×
  • Create New...