chào các bạn mình là Long. Mình học vật lý và đang làm đề tài điều khiển từ trường bằng cách thay đổi cường độ dòng điện 1 chiều bạn nào biết mạch điện có thể điều khiển được dòng điện 1 chiều bằng AVR hay bất kỳ thứ gì cũng được thì giúp mình với.Cảm ơn các bạn
Thông báo
Collapse
No announcement yet.
help>Điều khiển dòng điện 1 chiều
Collapse
X
-
Cảm ơn bạn đã chỉ giúp mình hướng làm. Mình đã chọn được con DAC0808 để tạo ra dòng điện 1 chiều. Mình dùng thêm con ATmega8 để điều khiển và con LCD để hiển thị dòng điện này cho dể quan sát nhưng tìm mãi vẫn chưa biết cách nào để điều khiển được sự thay đổi của dòng điện(mình định dùng 2 phím bấm trên mạch 1 cái để tăng, 1 cái để giảm dòng điên.)còn hiển thị lên LCD nữa chứ.có ai biết cách làm chỉ giúp mình!.Cảm ơn các bạn.
Comment
-
mình đã làm theo hướng dẫn của nhiếp phong và làm được cái mạch mô phỏng như thế này.nhưng lập trình bằng codevision mãi mà vẫn chưa được các bạn xem và chỉ lỗi giúp mình nhé.cảm ơn mọi người chúc mọi người luôn vui vẻ!
- cái mạch của mình mục đích là điều khiển điện áp qua DAC0808,2 nút bấm 1 nút tăng 1 nút giảm điện áp và hiển thị điện áp lên LCD. đây là code
Comment
-
/************************************************** ***
This program was produced by the
CodeWizardAVR V2.04.9a Standard
Automatic Program Generator
© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project :
Version :
Date : 4/11/2011
Author : nonatech
Company :
Comments:
Chip type : ATmega8
Program type : Application
AVR Core Clock frequency: 1.000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
************************************************** ***/
#include <mega8.h>
#include <delay.h>
// Alphanumeric LCD Module functions
#include <alcd.h>
unsigned char dac=0, membut=0;
// Declare your global variables here
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port B initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTB=0x00;
DDRB=0xFF;
// Port C initialization
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;
// Port D initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTD=0x00;
DDRD=0xFF;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
TCNT0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// Alphanumeric LCD initialization
// Connections specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTD Bit 0
// RD - PORTD Bit 1
// EN - PORTD Bit 2
// D4 - PORTD Bit 4
// D5 - PORTD Bit 5
// D6 - PORTD Bit 6
// D7 - PORTD Bit 7
// Characters/line: 8
lcd_init(4);
PORTD=0x00;
//PORTD.0=1;
//PORTD.1=1;
lcd_init(8);
lcd_gotoxy(1,1);
lcd_putsf("wellcome");
delay_ms(50);
dac=0;
while (1)
{
lcd_gotoxy(1,1);
lcd_putsf("wellcome");
if(PINC.0==0 && PINC.1 ==0)
membut=1;
if (PINC.0==1 && membut==1) // doc trang thai chan PORTC.0
{
membut =0;
dac++; // tang bien
PORTB=dac; // gan gia tri adc_value cho PORTD
// void lcd_puts("%4d",dac*str);
}
if (PINC.1==1 && membut==1) // doc trang thai chan PORTC.0
{
membut =0;
dac--; // tang bien
PORTB=dac; // gan gia tri adc_value cho PORTD
}
delay_ms(100);
}
}
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Trình điều khiển bước rời rạcbởi mèomướpDạ nếu chú đã viết được chương trình cho vđk thì thêm 1 chương trình con chạy động cơ bước chỉ đơn giản là copy phát. Về phần cứng thì vài con cách ly quang, vài con mosfet thôi ạ. thực sự là dễ dàng như bài tập bình thường của sinh viên thôi ạ...
-
Channel: Máy công cụ
Hôm qua, 12:55 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi Minhdai95vâng mình cảm ơn mn đã góp ý
-
Channel: Điện tử công suất
Hôm qua, 11:30 -
-
bởi tom22Xin chào
Tôi có một dự án trong đó một động cơ bước tích hợp được điều khiển bởi một bộ vi điều khiển.
Nhưng tôi thực sự không thích trả tiền cho trình điều khiển bước, khi tôi có một bộ vi điều khiển có khả năng thực...-
Channel: Máy công cụ
Hôm qua, 10:54 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi mèomướpDạ chú chủ thớt có thời gian và đam mê thì cứ từ từ ngâm cứu đi ạ đừng nghe chú Chú bq... dọa mà sợ ạ. Cái nguồn nhìn cũng lởm có khi hông bằng cái máy hàn tàu của chị hàng xóm hôm nọ tháo ra sửa với chú thợ thông ống nước suốt đêm mới xong. Chú ý an toàn xíu là được ạ...
-
Channel: Điện tử công suất
05-01-2025, 15:40 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi bqvietBộ nguồn xung ở tầm công suất 2700W này, gần 3 ký, không bao giờ đơn giản để mà sửa ngay cả đối với người có kinh nghiệm chứ đừng nói người không chuyên. Đám linh kiện công suất không tự nhiên cháy mà phải xuất phát từ nguyên nhân...
-
Channel: Điện tử công suất
04-01-2025, 22:09 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi mèomướpDạ chú kiểm tra đi ốt đầu vào, ra nữa ạ. Về phần kiểm tra dao động chú hỏi chị google ấy ạ, có nhìu cô chú đã hướng dẫn rồi ạ...
-
Channel: Điện tử công suất
04-01-2025, 16:53 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi Minhdai95mình đã kiểm tra phần công suất thấy hỏng cả 4 con IGBT mà mình muốn kiểm tra phần dao động và hồi tiếp khi chưa cấp điện cho mạch thì có cách nào không b, mình không phải dân trong nghề lên chưa có kinh nghiệm sửa. Cảm ơn b
-
Channel: Điện tử công suất
04-01-2025, 14:27 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi mèomướpDạ chú nhắm phần công suất dễ kiểm tra và hay hư hỏng nhất trước ạ. Rồi đến phần dao động nguồn, hồi tiếp...
-
Channel: Điện tử công suất
04-01-2025, 11:42 -
-
bởi Minhdai95mọi người đã ai sửa bộ nguồn này chưa ạ, cho e xin ít kinh nghiệm để sửa bộ nguồn. Em cảm ơn...
-
Channel: Điện tử công suất
04-01-2025, 11:22 -
-
Trả lời cho Thắc mắc về hạ áp cho adapter laptopbởi nhathung1101
-
Channel: Điện tử dành cho người mới bắt đầu
31-12-2024, 17:39 -
Comment