Fórum témák

» Több friss téma
Fórum » Arduino
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Lapozás: OK   427 / 838
(#) majorka válasza proba hozzászólására (») Feb 12, 2018 /
 
Köszönöm
(#) mikroferi válasza proba hozzászólására (») Feb 12, 2018 /
 
Bocsánat de kezdőként nem tudom mi az a váltó rész... Kifejtenéd kicsit jobban?
(#) Medve válasza mikroferi hozzászólására (») Feb 12, 2018 /
 
A tápegység váltófeszültségű része. A trafó szekunder tekercse. Ha a táp megszűnik, ott a feszültség azonnal leesik, míg a graetz (egyenirányító) híd után a pufferkondenzátoron már kicsit késve.
A hozzászólás módosítva: Feb 12, 2018
(#) Kera_Will válasza mikroferi hozzászólására (») Feb 12, 2018 /
 
A Váltakozó áramú betáplási pont .
A trafód szekunder tekercsén lévő feszültséget egy optocsatolós leválasztóval figyelheted.
Ha kezdő vagy akkor elég csak ott figyelned !
A primer oldalt le se írtam

Amikor elmegy a váltó betápod akkor kialszik az optocsatolóban lévő led , ekkor lezár az optocsatoló eddig nyitott tranzisztora is.
Az opto csatoló open kollektora pedig elengedi a uC digitális bementét , nem húzza testre a felhúzó ellenállást. Így a uC portja magas szintet fog felvenni.

(Egy ledet tudsz méretezni X váltakozó feszültségű tápellátásra ? Mert ez is szükséges ahhoz , hogy az optocsatolóban lévő LED folyamatos üzemben túlélje az üzem időt)
A hozzászólás módosítva: Feb 12, 2018
(#) Kera_Will válasza Medve hozzászólására (») Feb 12, 2018 /
 

Egyszerre írtunk
(#) Medve válasza Kera_Will hozzászólására (») Feb 12, 2018 /
 
mitiszó?
A hozzászólás módosítva: Feb 12, 2018
(#) proba válasza mikroferi hozzászólására (») Feb 12, 2018 /
 
Lehet maradi voltam, elnézést. Valaha egy tápegység egy transzformátorból, egy graetzből egy pufferkondenzátorból, majd az őket követő stabilizátorból állt. A graetz előtt közvetlenül a transzformátor lábát egy diódán át egy osztóra kötötte az ember, esetleg némileg szűrve, azonnal rendelkezésre állt az elment a hálózat jel. A pufferkondenzátorokban még bőven volt tartalék. Ha azt figyeled, hogy a kondenzátor mikor merült 4V alá, már sokkal kevesebb tartalékod van ehhez képest.
A mai viszonyokra átrendezve talán adapter után kötnék egy diódát, ide kötném a puffer kondenzátort, utána jöhet a stabilizátor. Így talán kicsit hamarabb kapsz elment a hálózat jelet a dióda előttről.Persze ha az adapterben is nagy kondenzátor van, akkor a dióda oly mindegy, de akkor is a bemeneti kondenzátor feszültségét célszerű figyelni, nem a stabilizátor utánit.
(#) zosza18 válasza proba hozzászólására (») Feb 12, 2018 /
 
Szia!
Úgy jó ahogy mondod, én is így oldom meg a kikapcsolás mentést. Általában a tápegységekben 1000-2200µF-os kondik vannak, én ezért mindig adok a dióda után 4-5000µF-ot a tápnak, biztos ami biztos és a rángatásokat is mellőzi legalább.
(#) mikroferi válasza proba hozzászólására (») Feb 13, 2018 /
 
Köszönöm szépen! Ezt így már megértettem én is, és megfogadom a tanácsotokat, megpróbálkozom vele!
A hozzászólás módosítva: Feb 13, 2018
(#) zoz11 hozzászólása Feb 13, 2018 /
 
Üdv
Olyan kérdésem lenne, hogy Atmega328PB chip-be bele lehet e erőszakolni a Arduino nano bootloader fájlt?
Amega328P be minden gond nélkül feltölti, de a PB s chipbe nem tudom betölteni.
(#) devilke3000 hozzászólása Feb 13, 2018 /
 
Sziasztok!

char változot szeretnék multi funkciot hadver/ soft serial rendelni!

  1. eredeti:
  2.  
  3. if (Serial.available() > 0) {
  4.    
  5.  
  6.     char incoming_char = Serial.read();
  7.    
  8.  
  9.     if(incoming_char == '\n')
  10.  
  11. //--------------------------------------------------------------------
  12.  
  13. Saját ez igy jó lehet?
  14.  
  15. if (Serial.available() || Serial_GPS.available() > 0) {
  16.    
  17.    
  18.    char incoming_char = (Serial.read(),Serial_GPS.read());
  19.  
  20. if(incoming_char == '\n')  
  21.  
  22. Köszönöm!
A hozzászólás módosítva: Feb 13, 2018
(#) Kera_Will válasza mikroferi hozzászólására (») Feb 13, 2018 /
 
Apróság de fontos dolog.
Nem a uC port lábát lógatjuk sok sok m dróton az optocsatolóhoz.
Az ipari technológiában sok féle tüske és indukált feszültség lökés alakul ki.
Ennek a fordítottja történjen, az optocsatoló közvetlen a uC mellett legyen a ledjének a vezetékei lóghatnak bármerre , mivel a leden áramnak kell átfolynia ahhoz nem elég egy - egy tüske ami létre jön.
(#) kapu48 válasza devilke3000 hozzászólására (») Feb 14, 2018 /
 
Szerintem inkább igy próbáld:
  1. char incoming_char;
  2.  
  3. if (Serial.available() > 0) {
  4.      
  5.     incoming_char = Serial.read();
  6. }        
  7. else if (Serial_GPS.available() > 0) {
  8.      
  9.     incoming_char = Serial_GPS.read();   
  10.  }
  11. if(incoming_char == '\n')  
  12. ...
(#) kleinie válasza zoz11 hozzászólására (») Feb 14, 2018 /
 
Ha megvan a megoldás szólj! Én egy Atmega8L-be szeretnék optiboot-ot rakni, de egyelőre csak kóstolgatom. Nem merek nekiesni ész nélkül, nehogy elrontsam, nem mintha az a 700Ft földhözvágna.
A hozzászólás módosítva: Feb 14, 2018
(#) icserny válasza zoz11 hozzászólására (») Feb 14, 2018 /
 
Google barátod ezt mondja:
- Upgrade to ATMega328pb
- Arduino Atmega328PB Package

Gondolom, csak olyan programozóval megy a bootloader betöltése, ami felismeri és támogatja az ATmega328PB chipet (mert ennek a chipnek más az azonosítója).
A hozzászólás módosítva: Feb 14, 2018
(#) zoz11 válasza icserny hozzászólására (») Feb 14, 2018 /
 
Ezeket megtaláltam, de sajna nem jutottam vele 1ről a 2re.
(#) zoz11 válasza icserny hozzászólására (») Feb 14, 2018 /
 
Sikerült felvenni az eszközt a programba,. Az lehet esetleg probléma, hogy 20MHZ es a bootloader fálj, de csak 16MHz-en ketyeg most a proci, és azért nem tudom feltölteni?
(#) berkesandor hozzászólása Feb 17, 2018 /
 
Arduino Pro Minivel használok egy DS3231-t és egy LCD-t I2C modulon keresztül.
A kommunikációt "100%" biztosra szeretném megcsinálni. Azt szeretném, hogy ha valamiért a kommunikációban zavar keletkezik és lefagy, próbálja meg a rendszer újraindítani a kommunikáció, próbálja meg újra végrehajtani a parancsokat.
Sajnos nem találtam eddig erre jó megoldást.
Jelenleg a watchdog timer-t használom, de az újraindítja az egész rendszer.
Működik, de jobban tetszene, ha újraindítás előtt (vagy helyett) megpróbálná először az I2C parancsokat újra elküldeni.
(#) Medve válasza berkesandor hozzászólására (») Feb 17, 2018 /
 
Az ACK bit figyelése segíthet? Ám lehet, hogy ez bele van építve a könyvtárba, már ha azt használod.
(#) berkesandor válasza Medve hozzászólására (») Feb 17, 2018 /
 
Wire.h -t használok. Nem tudom, hogyan lehetne azt kivitelezni.
"Timeout" funkció kellene nekem, de az meg úgy tudom nincs benne.
(#) Medve válasza berkesandor hozzászólására (») Feb 17, 2018 /
 
Segíthet az, ha időnként kiolvasod az RTC chipből az évet, az elég fix, és összehasonlítod a tárolt értékkel? Évente javítani kell. Vagy tíz évente? Vagy inkább egy "kódot" beleírni az EEPROM-ba, s azt visszaolvasva ellenőrizgetni.
Vélhetőleg az LCD-ben is van valami fix olvasható adat.
A hozzászólás módosítva: Feb 17, 2018
(#) berkesandor válasza Medve hozzászólására (») Feb 17, 2018 /
 
Nem az idő kiolvasása a gond, hanem az interruptok beállítása.
(#) kapu48 válasza berkesandor hozzászólására (») Feb 18, 2018 /
 
Itt 1 példa, timeout interupt szervezésre:
  1. #include <stdbool.h>
  2. #include <avr/io.h>
  3. #include <avr/interrupt.h>
  4. #include <avr/sleep.h>
  5.  
  6. #define T1_MAX 0xFFFFUL
  7. #define T1_PRESCALER 1024
  8. #define T1_TICK_US (T1_PRESCALER/(F_CPU/1000000UL)) /* 64us @ 16MHz */
  9. #define T1_MAX_US (T1_TICK_US * T1_MAX) /* ~4.2s @ 16MHz */
  10.  
  11. static void led_on(void)
  12. {
  13.     PORTB |= _BV(PORTB5);
  14. }
  15.  
  16. static void led_off(void)
  17. {
  18.     PORTB &= ~_BV(PORTB5);
  19. }
  20.  
  21. static void led_init(void)
  22. {
  23.     DDRB |= _BV(DDB5); /* PORTB5 as output */
  24.     led_off();
  25. }
  26.  
  27. static void timer_stop(void)
  28. {
  29.     TCCR1B &= ~(_BV(CS10)|_BV(CS11)|_BV(CS12)); /* stop timer clock */
  30.     TIMSK1 &= ~_BV(TOIE1); /* disable interrupt */
  31.     TIFR1 |= _BV(TOV1); /* clear interrupt flag */
  32. }
  33.  
  34. static void timer_init(void)
  35. {
  36.     /* normal mode */
  37.     TCCR1A &= ~(_BV(WGM10)|_BV(WGM11));
  38.     TCCR1B &= ~(_BV(WGM13)|_BV(WGM12));
  39.     timer_stop();
  40. }
  41.  
  42. static void timer_start(unsigned long us)
  43. {
  44.     unsigned long ticks_long;
  45.     unsigned short ticks;
  46.  
  47.     ticks_long = us / T1_TICK_US;
  48.     if (ticks_long >= T1_MAX)   // ???
  49.     {
  50.         ticks = T1_MAX;
  51.     }
  52.     else
  53.     {
  54.         ticks = ticks_long;
  55.     }
  56.     TCNT1 = T1_MAX - ticks; /* overflow in ticks*1024 clock cycles */
  57.  
  58.     TIMSK1 |= _BV(TOIE1); /* enable overflow interrupt */
  59.     /* start timer clock */
  60.     TCCR1B &= ~(_BV(CS10)|_BV(CS11)|_BV(CS12));
  61.     TCCR1B |= _BV(CS10)|_BV(CS12); /* prescaler: 1024 */
  62. }
  63.  
  64. static void timer_start_ms(unsigned short ms)
  65. {
  66.     timer_start(ms * 1000UL);
  67. }
  68.  
  69. ISR(TIMER1_OVF_vect) /* timer 1 interrupt service routine */
  70. {
  71.     timer_stop();
  72. // Ide írhatod a saját feladatod végrehajtását!
  73.     led_off(); /* timeout expired: turn off LED */
  74. }
  75.  
  76. ISR(PCINT0_vect) /* pin change interrupt service routine */
  77. {
  78.     led_on();
  79.     timer_stop();
  80.     if (bit_is_set(PINB, PINB4)) /* button released */
  81.     {
  82.         timer_start_ms(2000); /* timeout to turn off LED */
  83.     }
  84. }
  85.  
  86. static void button_init(void)
  87. {
  88.     DDRB &= ~_BV(DDB4); /* PORTB4 as input */
  89.     PORTB |= _BV(PORTB4); /* enable pull-up */
  90.     PCICR |= _BV(PCIE0); /* enable Pin Change 0 interrupt */
  91.     PCMSK0 |= _BV(PCINT4); /* PORTB4 is also PCINT4 */
  92. }
  93.  
  94. int main (void)
  95. {
  96.     led_init();
  97.     button_init();
  98.     timer_init();
  99.     sei(); /* enable interrupts globally */
  100.     while(true)
  101.     {
  102.         sleep_mode();
  103.     }
  104. }


Remélem segít?
A hozzászólás módosítva: Feb 18, 2018
(#) kapu48 válasza kapu48 hozzászólására (») Feb 18, 2018 /
 
Hopp!
A végén a main részt elfelejtettem átalakítani:
  1. ...
  2. //int main (void)
  3. void setup() {
  4.  
  5.     led_init();
  6.     button_init();
  7.     timer_init();
  8.     sei(); /* enable interrupts globally */
  9. }
  10.  
  11.  //   while(true)
  12.  void loop()   {
  13.  
  14.   sleep_mode();
  15.  }
(#) berkesandor válasza kapu48 hozzászólására (») Feb 18, 2018 /
 
Ezen át kell rágnom magam, elég sok új dolog van benne nekem.
Köszönöm a válaszod.
(#) kapu48 válasza berkesandor hozzászólására (») Feb 18, 2018 /
 
Rágcsa!:
Bővebben: Link
(#) berkesandor válasza kapu48 hozzászólására (») Feb 18, 2018 /
 
Ez mit csinál pontosan? Bocs, hogy így erőre szaladok.
(#) kapu48 válasza berkesandor hozzászólására (») Feb 18, 2018 /
 
Gombnyomásra elindít, 1 időzítet LED bekapcsolást.
Minden szükséges megvan benne, csak átkel szervezni, hogy mikor indítod az időzítést (Loop-ba).
(#) devilke3000 válasza kapu48 hozzászólására (») Feb 18, 2018 /
 
Köszönöm!
(#) H2opok hozzászólása Feb 19, 2018 /
 
Sziasztok
Nem vagyok egy nagy arduinos, de rendeltem egy ilyet:
plotclock

(+ egy rtc modult is vettem)

Voszont a hozzászólások alapján nem igazán használható a mellékelt program. Meg nem is egyértelmű. Elvikeg adnak egy sensor shield expansion board-ot is a kitben, de a doksiban a szervokat közvetlenül az arduinora csatlakoztatják. Akkor ez hogy is van? Végül is mire való ez a board? Most kell hozzá vagy nem? Néztem több linket, videot, van ahol használják van ahol csak az arduinot. Esetleg valaki rakott már össze ilyen kütyüt?
Köszi előre is.
Következő: »»   427 / 838
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem