Skocz do zawartości

Dobór przetwornicy step down do projektu


vadim1983

Pomocna odpowiedź

8 minut temu, ethanak napisał:

W motocyklu raczej nie ma instalacji na prąd zmienny...

Kazda pradnica wytwarza prad zmienny...pytanie co z nim robisz pozniej...no w wskach zarowki chodza na zmienny prad, a mozliwosc dodania aku byla...

Naprawde nie wiem jak jest dzisiaj chocby w tych chinskich skuterach...bez aku wszystko chodzi (ladowanie jest osobnym kablem, osobnym swiatla) nochyba ze tak jak mowie, regulator zalatwia sprawe pradu stalego i tyle😉

8 minut temu, ethanak napisał:

nie wiem skąd Ci się te kiloherce wzięły

No majac np. 1k obrotow pola zmieniaja sie kilka razy na pradnicy wiec kilka kHz wyjdzie napewno "impulsow" pradu zmiennego😉

Tfu tfu! Podzielic przez 60!

Edytowano przez farmaceuta
Link do komentarza
Share on other sites

Motocykl to Suzuki Bandit z 1995 roku. Posiada alternator i regulator napięcia. Muszę poczytać o tych transoptorach choć temat jest mi zupełnie nieznany. Po prostu dostałem wsad do Arduino i chciałem do niego założyć projekt.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

26 minut temu, vadim1983 napisał:

Motocykl to Suzuki Bandit z 1995 roku. Posiada alternator i regulator napięcia. Muszę poczytać o tych transoptorach choć temat jest mi zupełnie nieznany. Po prostu dostałem wsad do Arduino i chciałem do niego założyć projekt.

Transoptory to taka izolacja...oddziela logike od zasilan ktore moga zagrozic tej logice (spalic ja)...podlaczenie tego to nie bedzie nic skomplikowanego...

Link do komentarza
Share on other sites

(edytowany)


#include <Adafruit_NeoPixel.h>

#define LeftSignal A2
#define RightSignal A1
#define StopSignal A0
#define PIN 4
#define BRIGHTNESS 255
#define NUM_PIXELS  19






Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_PIXELS, PIN, NEO_GRB + NEO_KHZ800);

int LeftBlinkerState  = 0;
int RightBlinkerState = 0;
int runLightState     = 0;
int StopBlinkerState = 0;
int AMBER = strip.Color(255, 130, 0);
int OFF   = strip.Color(0, 0, 0);
int STOPE = strip.Color(255, 255, 0);
/**
 * Setup pins and do fancy start-up sequence. 
 * Red/White/Blue Larson scanner. 
 */
void setup() {
  pinMode(LeftSignal, INPUT); 
  pinMode(RightSignal, INPUT);
  pinMode(StopSignal, INPUT);   
  strip.begin();
  strip.setBrightness(BRIGHTNESS);
  strip.show();   
  knightRider(1, 20, 2, 0xFF0000);  
  knightRider(1, 20, 2, 0xFFFFFF);
  knightRider(1, 20, 2, 0x0000FF);    
}

/**
 * Main loop
 */
void loop() {
  // Read the state of the left turn-signal voltage
  LeftBlinkerState = analogRead(LeftSignal);
  float LeftVoltage = LeftBlinkerState * (5.0 / 1023.0);  

  // Read the state of the right turn-signal voltage
  RightBlinkerState = analogRead(RightSignal);
  float RightVoltage = RightBlinkerState * (5.0 / 1023.0);  

//stop
// Read the state of the left turn-signal voltage
  StopBlinkerState = analogRead(StopSignal);
  float StopVoltage = StopBlinkerState * (5.0 / 1023.0); 

  
  // If we have voltage clear the strip from 'run light state' 
  // and start Larson scan to the left. 
  if (LeftVoltage  > 3.99) {
    runLightState = 0;
    clearStrip();
    leftTurn();
    delay(10);
  }

  // If we have voltage clear the strip from 'run light state' 
  // and start Larson scan to the right. 
  if (RightVoltage  > 3.99 ) {
    runLightState = 0;
    clearStrip();
    rightTurn();
    delay(10);
  }
  //Stop
  if (StopVoltage  > 3.99 ) {
    runLightState = 0;
    clearStrip();
    StopTurn();
    delay(10);
  }

  // If there's < 3v (capasitor drain) revert to run light state. 
  if (RightVoltage < 2.0 && LeftVoltage < 2.0 && StopVoltage < 2.0) {
    runLight();
  }
  delay(20);
}

// Larson scan for right turn.
void rightTurn() {
  strip.setBrightness(BRIGHTNESS);
  for(uint16_t i = NUM_PIXELS / 2; i < NUM_PIXELS; i++) {
    strip.setPixelColor(i, AMBER);
    strip.show();
    delay(10);
  }

  delay(300);
  
  for(uint16_t i = NUM_PIXELS / 2; i < NUM_PIXELS; i++) {
    strip.setPixelColor(i, OFF);
    strip.show();
    delay(10);
  }
  delay(300);
}
//stop xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

// Larson scan for stop turn.
void StopTurn() 
{
    strip.setBrightness(BRIGHTNESS / 1);
    spread(15, 0xFF0000);
    StopBlinkerState = 1;  
    all(0xFF0000);
    strip.show();

  delay(10);

 
}

   

// Larson scan for left turn.
void leftTurn() {
  strip.setBrightness(BRIGHTNESS);
  for(int16_t i = (NUM_PIXELS-1) /2 ; i > -1; i--) {
    strip.setPixelColor(i, AMBER);
    strip.show();
    delay(10);
  }

  delay(300);

  for(int16_t i = NUM_PIXELS / 2; i > -1; i--) {
    strip.setPixelColor(i, OFF);
    strip.show();
    delay(10);
  }  
  delay(300);
}

// Helper function to make all LEDs color (c)
void all(uint32_t c) {
  for(uint16_t i=0; i < strip.numPixels(); i++) {
    strip.setPixelColor(i, c);  
  }
  strip.show();
}

// Dim red, run-light state.vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
void runLight()
{
  if (runLightState == 0) {
    strip.setBrightness(BRIGHTNESS / 12);
    spread(15, 0xFF0000);
    runLightState = 1;  
    all(0xFF0000);
    strip.show();
  }
}

// Function for larson scan. 
void knightRider(uint16_t cycles, uint16_t speed, uint8_t width, uint32_t color) {
  uint32_t old_val[NUM_PIXELS]; // up to 256 lights!

  for(int i = 0; i < cycles; i++){
    for (int count = 1; count < NUM_PIXELS; count++) {
      strip.setPixelColor(count, color);
      old_val[count] = color;
      for(int x = count; x>0; x--) {
        old_val[x-1] = dimColor(old_val[x-1], width);
        strip.setPixelColor(x-1, old_val[x-1]); 
      }
      strip.show();
      delay(speed);
    }
    
    for (int count = NUM_PIXELS-1; count>=0; count--) {
      strip.setPixelColor(count, color);
      old_val[count] = color;
      for(int x = count; x<=NUM_PIXELS ;x++) {
        old_val[x-1] = dimColor(old_val[x-1], width);
        strip.setPixelColor(x+1, old_val[x+1]);
      }
      strip.show();
      delay(speed);
    }

  }
}

// Set all LEDs to off/black. 
void clearStrip() {
  for( int i = 0; i<NUM_PIXELS; i++){
    strip.setPixelColor(i, 0x000000); 
    strip.show();
  }
}

// Dim a color across a width of leds. 
uint32_t dimColor(uint32_t color, uint8_t width) {
   return (((color&0xFF0000)/width)&0xFF0000) + (((color&0x00FF00)/width)&0x00FF00) + (((color&0x0000FF)/width)&0x0000FF);
}

// Function to light LEDS from the center one at a time (spreading). 
void spread(uint16_t speed, uint32_t color) {
  clearStrip();
  delay(3);
  int center = NUM_PIXELS / 2;
  for(int x = 0; x < center; x++) {
    strip.setPixelColor(center + x, color); 
    strip.setPixelColor(center + (x*-1), color); 
    strip.show();
    delay(speed);
  }    
}

 

Edytowano przez vadim1983
Link do komentarza
Share on other sites

Na transoptorach to cos takiego bedzie...mozesz uzyc pc817, tylko tu jest odwrocona logika, wiec jak wlaczysz kierunek to na wyjsciu jest stan niski (jedynie nie wiem czy taki rezystor wystarczy na diode)

 

images (2).png

Edytowano przez farmaceuta
  • Lubię! 1
Link do komentarza
Share on other sites

Można odwrócić podłączenie transoptora (kolektor do +5v, emiter do pinu i rezystor pulldown), wtedy nic nie trzeba odwracać w programie.

BTW polecałbym PC847, tam w tym mrygadle są trzy wejścia więc po co trzy oddzielne układy jak starczy jeden.

  • Lubię! 2
Link do komentarza
Share on other sites

1 minutę temu, vadim1983 napisał:

Jak dobrze zrozumiałem transoptor od strony diody trzeba zasilić napięciem 1,2V.??

Nie. Transoptor od strony diody łączysz przez rezystor np. do wyłącznika (kierunki, stop) czy ogólnie czego tam chcesz żeby sprawdzić, czy jest tam napięcie. Tylko uważaj na biegunowość.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Akurat podlaczenie transoptorow jest bardzo proste...tylko trzeba sie bawic przeciaganiem tych kabli etc...to jest jak na tym schemacie powyzej..jedynie nie wiem czy taki rezystor wystarczy, i sygnal dla Ardu na emiterze i rezystor tez jak @ethanak wspomnial, zeby juz nie trzeba bylo w kodzie nic poprawiac

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.