Форум myROBOT.ru » Шаг за шагом » С чего начать? » attiny13a в реальности не так работает

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

1. micle7 - 10 Апреля, 2019 - 01:29:10 - перейти к сообщению
Написал код, на секунду подавать напряжение

#define F_CPU 9600000UL
#include <avr/io.h>
#include <util/delay.h>

int main()
{
DDRB |= (1<<2);
while (1)
{
PORTB |= (1<<2);
_delay_ms(1000);
PORTB &= ~(1<<2);
_delay_ms(1000);
}
}



в протеусе все работает, между 7й ножкой и минусом 5вольт раз в две секунды.
Прошил с фьюзами FF; 6A - подаю 3 вольта, замеряю, напряжение 0.68 вольт между 7й ножкой и минусом, стабильно, без задержек. Почему?
2. Predator - 10 Апреля, 2019 - 13:01:49 - перейти к сообщению
Если я правильно понял - то, при включении, на 7 ноге выставляется логический 0 и больше ничего не происходит.
Вероятнее всего чип в состоянии сброса, попробуйте отключить Watchdog, если не поможет - схему и фото "в студию".
3. Роботов - 11 Апреля, 2019 - 15:32:31 - перейти к сообщению
Без подтягивающего резистора напряжение меняться не будет.
Поставьте внешний резистор 5-10 ком от ножки к питанию, или подключите внутренний программно.
4. Predator - 11 Апреля, 2019 - 20:21:15 - перейти к сообщению
а разве там открытый коллектор?
5. Роботов - 12 Апреля, 2019 - 10:57:03 - перейти к сообщению
Нет. но работать будет надёжней)
6. micle7 - 16 Апреля, 2019 - 00:16:32 - перейти к сообщению
Выставив фьюзы ff;69 заработало, однако не получается получить то что нужно.

Может быть поможете, есть китайский освежитель воздуха наподобие airwick со сменными баллонами, заказывал на али, но пришел с нерабочим пультом управления, программировать режимы нельзя, прыскает раз в 30 минут, как и обычный airwick, мне нужно раз в час сделать.

Там неизвестная микросхема, во время прыска с одной ножки появляется высокий сигнал +3 вольта.

Вместо этой микросхемы (которую выпаял) я соединил проводом нужную ножку с attiny13a, на которой также каждые 5 секунд подается высокий сигнал +3 вольта.
Но моторчик как-то не понятно крутится, то вообще не срабатывает через 5 сек, то слабо нажимает, то нажимает на прыск после того как немного его подтолкнешь.

Подсоединяю родную микросхему проводами на три контакта, плюс минус и который управляет сигналом, все работает, мотор крутит как нужно.

На данны момент залита эта прошивка:

/*
ff;69
*/

#define F_CPU 1200000UL
#define LED PB2
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{

DDRB |= (1<<LED);
PORTB &= ~(1<<LED);

while (1)
{
PORTB |= (1<<LED);
_delay_ms (500);
PORTB ^= (1<<LED);
_delay_ms (5000);
}
}


Фото схемы
7. Predator - 16 Апреля, 2019 - 11:18:52 - перейти к сообщению
Цитата:
Но моторчик как-то не понятно крутится, то вообще не срабатывает через 5 сек, то слабо нажимает, то нажимает на прыск после того как немного его подтолкнешь.

дело не в прошивке
Цитата:
DC Current per I/O Pin ................................ ............... 40.0 mA

этого явно не достаточно для моторчика, вот так надо.
8. micle7 - 18 Апреля, 2019 - 19:41:15 - перейти к сообщению
Спасибо, с одним разобрался, запшикал.