pic12F1571 programlayan var mı?

Başlatan Rahmi, 20 Nisan 2025, 15:25:20

Rahmi

Merhaba

Elimde stokta var diye bu entegre ile bir devre yapalım dedik, kavrayamadık. Tecrübesi olan varsa hizmet satın almak isterim.

kudretuzuner

#1
.
Amatör

mehmet

Anlamadığınız yer nedir?
Kataloğu her şeyi açıklıyor. Bunu okumaya alışmalısınız.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

Rahmi

Merhaba

Alıntı yapılan: mehmet - 20 Nisan 2025, 23:51:21Anlamadığınız yer nedir?
Kataloğu her şeyi açıklıyor. Bunu okumaya alışmalısınız.

Malesef her alanda yetenekli değilim. Programlama bunlardan biri. Sizden bir yaş küçüğüm ve artık öğrenmek te zor geliyor. Programlamada gelişmekten se 3D çizim öğrenmeyi tercih ediyorum.

Belki ilk defa karşılaşınca kafa karışıklığı yaşıyoruzdur.


Rahmi

Merhaba

Üstesinden gelemediğimiz devre konusu budur :

Bağlantılar;
1 ARTI BESLEME
2-YÖN girişi
3-PWM çıkışı
4-SENSÖR girişi
5-YÖN Çıkışı
6-RAMPA trimpot girişi
7- Pot girişi
8- EKSİ BESLEME

Bir sensöre bağlı olarak çalışacak motor sürücü. Start ve stop u sağlıyor.
Yön ile bir role çekiyor.
POT ile pwm oranı ayarlanıyor.
PWM ile bir opto üzerinden N kanal bir mosfet motorun şase ucunda motor hızını ayarlıyor.
Rampa  ile motorun duruş ve kalkışlarında ani hareket ve silkeleme engelleniyor.

Tecrübeli olduğumuz işlemci yerine ucuz bulduk diye 12f1571 ile yapalım dedik, pişmanız.

power20

Pic Kodu yazan kişi bu konuda yardımcı olur. Olmalıdır. Yaptığı programın düzgün çalıştığını göstermesi gerekir.

Epsilon

Alıntı yapılan: power20 - 21 Nisan 2025, 11:41:44Pic Kodu yazan kişi bu konuda yardımcı olur. Olmalıdır. Yaptığı programın düzgün çalıştığını göstermesi gerekir.
Bu işi yapanlar kaynak koduda veriyorlarmı yoksa sadece derlenmiş kodumu veriyorlar?
Yada örneğin hex i istersen 200 USD
Kaynak koduda istiyorsan 100 bin USD  :D falanmı oluyor

power20

#7
Anlaşmaya bağlıdır.  kod veya hex varsa bile, başka pice göre yazılmış olabilir.

Yanlış pice yüklenmemelidir

mehmet

#8
Önceki mcu neydi?
1571 için şema mı istiyorsunuz?

Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

ertuğrul54

#9
#include <12F1571.h>
#fuses INTRC_IO,NOPROTECT,NOWDT,NOMCLR,NOPUT,NOBROWNOUT
#use delay(clock=8000000)
void rainbow(void) {
    unsigned int16 rr = 0;
    unsigned int16 gg = 0;
    unsigned int16 bb = 0;
    int16 say;
    say = 450;
    for (gg = 0; gg < say; gg++) {
        set_pwm1_duty(450 - gg);
        set_pwm2_duty(gg);
delay_ms(100);
    }
    for (bb = 0; bb < say; bb++) {
        set_pwm2_duty(450 - bb);
        set_pwm3_duty(bb);
delay_ms(100);
    }
    say = 450;
    for (rr = 0; rr < say; rr++) {
        set_pwm3_duty(450 - rr);
        set_pwm1_duty(rr);
delay_ms(100);
    }
}
////////////////////////////////////////////////////////////////////////////////
void Mcuinit() {
    setup_oscillator(OSC_8MHZ);
    set_tris_a(0b00100000);
    setup_comparator(NC_NC);
    setup_dac(DAC_OFF);
    setup_adc(ADC_OFF);
    set_adc_channel(NO_ANALOGS);
    setup_adc_ports(NO_ANALOGS);
    setup_cwg(CWG_DISABLED, 0, 0, 0);
    //setup_timer_1(T1_INTERNAL | T1_DIV_BY_1); // (16000000/(4*1*40000)) // 100/s
    //set_timer1(0);
    setup_pwm1(PWM_ENABLED | PWM_STANDARD | PWM_CLK_FOSC | PWM_CLK_DIV_BY_2 | PWM_OUTPUT, PWM_DUTY_INT_ENABLED);
    setup_pwm2(PWM_ENABLED | PWM_STANDARD | PWM_CLK_FOSC | PWM_CLK_DIV_BY_2 | PWM_OUTPUT, PWM_DUTY_INT_ENABLED);
    setup_pwm3(PWM_ENABLED | PWM_STANDARD | PWM_CLK_FOSC | PWM_CLK_DIV_BY_2 | PWM_OUTPUT, PWM_DUTY_INT_ENABLED);
    //setup_pwm2(PWM_ENABLED | PWM_STANDARD | PWM_PWM2_A4 | PWM_CLK_FOSC | PWM_CLK_DIV_BY_2 | PWM_OUTPUT, PWM_DUTY_INT_ENABLED);
    set_pwm1_period(511);
    set_pwm2_period(511);
    set_pwm3_period(511);
    set_pwm1_phase(0);
    set_pwm2_phase(0);
    set_pwm3_phase(0);
    set_pwm1_duty(255); //50%
    set_pwm2_duty(255); //50%
    set_pwm3_duty(255); //50%
}
//////////////////////////////////////////////////////////////////////////////////
void main(void) {
    Mcuinit();
    enable_interrupts(INT_RA);
    enable_interrupts(GLOBAL);
    for (;;) {//////////////////////////////////////////////////////////////////
        rainbow();
    }
}///////////////////////////////////////////////////////////////////////////

zamanında rgb kontrol yapmıştım bu entegre ama ne zaman yaptım inanın hatırlamıyorum ile belki yardımcı olur

Rahmi

Merhaba

Teşekkürler @ertuğrul54
Borddan bir arkadaş uğrayacak, bakacağız. Teşekkürler. Belki de kullanmaya çalıştığımız mp lab sürümü uygun değildir, belki burnumuzun ucunu göremiyoruzdur !

mehmet

Ben MPLABX 6.15, XC8 1.45 ile kullandım.
Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

Pepe

Proteus'ta örnek dosya ekleme iznim yok

moderasyon

@Pepe selam.
Link olarak verebilirsiniz.

@Pepe hola.
Puede proporcionarlo como un enlace.

Pepe