Declanșarea unui solenoid de pe GPIO (Raspberry Pi, Gpio, Cablare)

economistdolly a intrebat.

acest solenoid mă omoară! L-am conectat la un pin GPIO și am încercat să îl conduc atât de la asta la 3,3v, cât și la GND. În ambele cazuri, cu Low sau High scrise pe pin, respectiv, nu funcționează. În ambele situații, un LED în locul solenoidului din circuit se aprinde. Solenoidul funcționează atunci când este conectat de la 3,3v direct la GND.

Ce fac greșit? Ajutor!

Comentarii

  • Văzând codul tău și știind ce pin GPIO și solenoid folosești ar fi de ajutor. –  > Por Steve Robillard.
  • Pinul 17 de la cizmar. Nu am pi sau solenoidul la mine chiar acum, așa că nu pot obține codul, dar practic am luat un script de blink și am conectat solenoidul în loc de un LED. Solenoidul este mic, așa cum am spus, funcționează pe șina de 3,3v de la pi. –  > Por economistdolly.
  • Care sunt specificațiile pentru solenoidul pe care îl folosiți? –  > Por HeatfanJohn.
  • Îți conectezi Pi-ul la solenoid așa cum arată acest exemplu pentru un Arduino? playground.arduino.cc/uploads/Learning/solenoid_driver.pdf –  > Por HeatfanJohn.
  • Curentul de la pinul GPIO cel mai probabil nu este suficient pentru a conduce direct solenoidul. Îmi amintesc că curentul maxim de la pinii GPIO este de 40 ma sau în acest cartier. –  > Por HeatfanJohn.
2 răspunsuri
HeatfanJohn

În conformitate cu această postare alimentarea de 3,3v vine direct de la sursa de alimentare de pe Pi, în timp ce pinii GPIO vin de la cipul BMC și pot furniza doar o cantitate limitată de curent. Asta poate explica de ce solenoidul tău se activează când este conectat la alimentarea de 3.3v și nu de la pinul GPIO.

Suspectez că trebuie să cablați solenoidul așa cum se arată mai jos (care provine de la aici pentru un Arduino), cu excepția faptului că folosiți pinul GPIO al Pi în loc de ieșirea digitală a Arduino. S-ar putea să fie nevoie să ajustați valoarea rezistenței R1 pentru a compensa pentru tensiunea GPIO de 3,3 V a Pi în loc de 5,0 V a Arduino.

Această diagramă arată utilizarea unui tranzistor ca întrerupător pentru ca o sursă de alimentare externă să activeze solenoidul. Exemplul din care am preluat-o a folosit două baterii de 9v în serie ca sursă de alimentare externă.

Iată un alt exemplu de utilizare a unui tranzistor pentru a porni un circuit extern de la Circuite de interfață RPi GPIO. Pagina web spune că sursa de alimentare de 5v prezentată poate fi orice tensiune de până la 40v pe care 2N3904 o poate suporta. Pagina spune că acest circuit este potrivit pentru un curent de până la 100mA.

Comentarii

  • Aș putea scăpa fără să folosesc dioda din acea schemă de circuit? –  > Por economistdolly.
  • cu excepția cazului în care solenoidul tău este foarte mic și tranzistorul tău este foarte mare și iertător, mai bine folosești dioda: ro.wikipedia.org/wiki/Flyback_diode –  > Por lenik.
  • Da, conform linkului Wikipedia al lui @lenik, fără dioda flyback se poate produce un arc electric de electroni fie pe comutatorul, fie pe tranzistorul din circuit. Evident, energia care se înmagazinează în inductor are nevoie de o modalitate de disipare, iar dioda permite ca acest lucru să se întâmple atunci când tranzistorul se deschide. –  > Por HeatfanJohn.
  • L-am cablat așa și a funcționat pentru a aprinde un LED dar, din nou, când am pus solenoidul în locul LED-ului, între 5v și capătul c al tranzistorului, nu s-a activat. Dacă conectez cablul de la solenoid care dă spre tranzistor la masă, se activează. Am încercat să îl conectez în acest fel și la un arduino și acolo se aprinde LED-ul, dar solenoidul nu se activează. –  > Por economistdolly.
  • Ce tranzistor ai folosit? Când ai atașat LED-ul ai folosit și un rezistor? Dacă nu, de ce nu s-a ars LED-ul? adică ce a limitat curentul prin LED când era conectat la tranzistor? –  > Por HeatfanJohn.
mirams

Eu aș conecta solenoidul prin intermediul unui mic releu mecanic de modă veche, apoi poți aplica solenoidului atâta putere cât ai nevoie, cu avantajul izolării electrice a Pi-ului de acesta. Exemplul de cablare este prezentat aici.