Программа proteus
Дали работу сделать табло спортивное в этой программе, а сам ничего не знаю как это всё делается. Помочи нет, что делать не понятно. Может, в пикабу кто-то от души может помочь?
Почему в среде Proteus таймер/счётчик2 м/к Atmega16A в асинхронном режиме работает без кварцевого резонатора (32768Hz)? В дополнение могу сказать, что бит AS2 в регистре ASSR установлен в единицу. Наличие/отсутствие кварца между TOSC1 и TOSC2 роли не играет. С выхода счётчика OC2 снимается выход частотой 64 Гц = (2^15 (32768) / 256 (8-bit) / 2). Я понимаю, что протеус это симуляция, но как сделать так, чтобы он работал так, как описано в даташите? Сбивает с толку.
Хотел задать вопрос знатокам, как построить в симуляторе или же в реальной жизни дифференциальный усилитель постоянного тока с коэффициентом усиления 20 тысяч. На данный момент у меня ничего не получается. Получилось лишь добиться усиления в 3 тысячи. Может кто-то сможет помочь?(я строил схему в протеусе, ссоре если что-то корректно не написал, впервые сижу на данном сайте)
Собрал схему из arduino nano, драйвера двигателя l298n, двух моторов и джойстика. Код нашел в интернете. Схема работает но не корректно. Верхний мотор работает только при вращение потенциометра вниз ( от 511 до 0). Перепробовал много всего но в чем проблема так и не понял...
Схема:
Код:
int xValue, yValue;
int ENA = 9;
int in1 = 3;
int in2 = 4;
int ENB = 10;
int in3 = 5;
int in4 = 6;
int xPin = A1;
int yPin = A0;
void setup()
{
pinMode(ENA, OUTPUT);
pinMode(ENB, OUTPUT);
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
pinMode(xPin, INPUT);
pinMode(yPin, INPUT);
Serial.begin(9600);
}
void loop()
{
xValue = map(analogRead(xPin), 0, 1024, 0, 510);
yValue = map(analogRead(yPin), 0, 1024, 0, 510);
Serial.print(xValue);
Serial.print("\t");
Serial.print(yValue);
Serial.println("\t");
if(xValue>255)
{
analogWrite(ENA, xValue-255);
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
}
else
{
analogWrite(ENA, 255-xValue);
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
}
//////////////////////////////////////////
if(yValue>255)
{
analogWrite(ENB, yValue-255);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
}
else
{
analogWrite(ENB, 255-yValue);
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
}
}
Всем привет тут потихоньку изучаю proteus но застрял на 2х задачках уже 3 день парюсь не могли бы вы мне помочь с ними?
Задача 1:
Необходимо составить программу для микроконтролера MCS-51 которая занесёт в регистр R1 число ХХН отнимая от числа 1 необходимо отразить значения числа на светодиодах HL1-HL8 с частотой 0.5 Гц
Задача 2:
Необходимо составить схему и программу для микроконтролера ATtiny24 которая на светодиодном семисегментном индикатору отобразить увеличение значения от A до F на +1 в системе Code Vision моделирующая система ISIS Proteus
Схема включения диода.
ПАМАГИТЕ
Есть скрин схемы электрической принципиальной, есть описание элементов, все собрал, вроде должно работать- но индикатор не выдает никаких значений, программа 100 процентов рабочая.
Так же был бы не против помощи в компиляции.
скрины прилагаю.
МОЙ ВК - komarovdanya
ССЫЛКА НА ТЕКСТ ПРОГРАММЫ НА АССЕМБЛЕРЕ - https://yadi.sk/d/MvK-0jMTokTGfA
Понадобился мне для моего будущего проекта вольтампетрметр с LCD экраном. Под рукой была Mega8. На ней и будем делать. Задача как всегда простая: мерить напряжение и ток. Напряжение будет измеряться до 25 вольт. Ток до 10 ампер. Неплохо было бы еще видеть сколько вват потребляет нагрузка.
Сначала набросал в Протеусе схемку, как все должно выглядеть. Схема не представляет из себя чего то сложного. Напряжение меряется с помощью делителя напряжения. Он подбирается так, что бы максимальное напряжение на выходе делителя не превышало 5 вольт. Я взял с запасом и рассчитал на 28 вольт. Для измерения тока используется широко распространенный операционный усилитель LM358. Тут следует сказать, что вся схема будет питаться от одного и того же напряжения 5 вольт. Поэтому максимальное напряжение на выходе операционника составит около 3.51 вольт (см. даташит). Для повышения точности показаний тока нам нужно пересчитать максимальное битовое значение, подаваемое на ножку меги. Это легко можно сделать пропорцией 3,51*1023/5=718,146.
Перейдем к коду
Принцип работы весьма прост. Сначала микроконтроллер опрашивает контакты напряжения и тока 400 раз и вычисляет текущее значение. Затем суммирует эти значение и по прошествии 400 циклов вычисляет среднее арифметическое. Получаем более верные показатели и избавляемся от "скачков" цифр. И последним шагом является обнуление всех показателей и запуск цикла снова.
Значение вольтажа и тока можно легко изменить на нужные вам путем изменения этих строк. Значение максимальное значение analogRead нужно разделить на нужно напряжение или ток. И потом текущее значение analogRead делить на полученный результат.
У меня не было необходимости считать десятые или сотые доли ввата. Если Вам вдруг это понадобится, можете изменить переменную вместо int на float, это тогда это займет чуток больше процессорного времени.
Схема пока не была собрана, но прошла удачное испытание в Протеусе. Шунт можно брать практически любой. Тогда нужно будет немного подкорректировать код. Если планируете запитывать схему от напряжения 8 и выше вольт, то лучшим вариантом будет поставить линейный стабилизатор 7805 с обвязкой "по умолчанию".
На свободном месте экрана можно что нибудь сделать. Например, индикацию загрузки блока питания.
Жду критики и советов по оптимизации кода и схемы
Всем привет! Решил сделать устройство управления мотора по ИК каналу, но столкнулся с проблемой. В целях экономии места был вынужден сделать 2х стороннюю плату, но не владею фоторезистом, не знаю как сделать металлизацию отверстий, да и внешний вид нужен нормальный, поэтому и обращаюсь к Вам. Подскажите, пожалуйста, где или у кого можно заказать ОДНУ двухстороннюю печатную плату с маской, металлизацией отверстий и 6 переходными отверстиями без шелкографии? Исходный файл в программе Proteus!