Eigen PCB ontwerpen op basis van Arduino

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Shamone
  • Registratie: November 2012
  • Laatst online: 28-09 13:10
Hoi allemaal,

Ik wil graag een eigen PCB ontwerpen op basis van een Arduino en vervolgens ergens laten maken, maar ik heb er geen ervaring mee dus heb ik een aantal vragen.

Allereerst mijn idee:

Afbeeldingslocatie: https://i.imgur.com/TTUntDD.png

Ik heb een aantal button boxes gemaakt voor mijn sim race hobby wat tot dusver een combinatie is van héél veel kabeltjes kriskras door elkaar gesoldeerd aan een Arduino Pro Micro. De nadelen tot dusver zijn dat wanneer een knop defect is je alles moeilijk los moet halen, er een limiet is aan poorten (tenzij je een grid gebruikt) en, ondanks dat alles verscholen is in een behuizing, er niet netjes uit ziet.

Op het plaatje hierboven staan een aantal JST aansluitingen (aangeduid met '[aantal pins]p' die ik graag wil gebruiken op een PCB die naar de chip (ATMega328?) in het midden gaan. Elke aansluiting heeft ten minste één 'draad' die naar de chip gaan en één ground. De rondjes rondom de chip zijn gaten i.v.m. installatie.

Ik heb zelf al een paar tutorials gevolgd voor het gebruik van het programma Eagle van Autodesk, maar na een paar simpele aansluitingen stopt het wel bij mij.

Vragen:
  1. Hoe kan ik een Arduino combineren met wat ik wil maken? Op een Arduino Pro Micro zijn zo veel kleine onderdelen waarvan ik niet precies weet wat ze doen en of ze per se nodig zijn op een ander bord.
  2. Op een Arduino zijn rond de 16 aansluitingen. Is het mogelijk er zelf meer toe te voegen aan de chip?
Alvast bedankt voor potentiële informatie!

Beste antwoord (via Shamone op 16-10-2019 16:50)


  • SuperKris
  • Registratie: Juni 2010
  • Laatst online: 16-09 18:00
Oei, dat zijn wel lastige vragen... Een atmega heeft in principe weinig extra nodig, maar wat je nodig hebt is afhankelijk van de applicatie. Een paar voorbeelden van externe componenten zoals deze op een bordje zitten:

- Een stabiele voeding (meestal een simpele lineaire regelaar) benodigd voor een breed spanninsbereik
- beveiligingen tegen verkeerd aansluiten of kortsluiting
- Condensatoren voor het stabiel houden van alle aansluitingen (ontkoppelen)
- Oscillator met kristal voor verbeterde klok/timing (heb je volgens mij ook wel echt nodig voor serial)
- 3V voeding die vaak handig is voor specifieke componenten
- usb-serieel interface
- etc.

Al deze zaken hebben verschillende componenten nodig die samen een taak uitvoeren. Dit is uiteraard nog even los van wat jij eventueel aan hardware wil toevoegen van componenten die jij wil aansluiten.

Mijn advies: Maak die PCB, maar gebruik een complete arduino als basis.

Bijvoorbeeld een nano. Dan heb je een compacte oplossing waarbij alle bovengenoemde zaken op één print zitten. Zo'n ding kost geen drol. Ik adviseer de arduinos van Robotdyn (eigen webshop of aliexpress). Deze hebben een wat zwaardere 3 en 5V voeding dan het gemiddelde spul waardoor je veel vanuit de USB aansluiting op de arduino kan voeden. Software aanpassen gaat natuurlijk helemaal makkelijk met de USB aansluiting.

Wil je meer I/O of geheugen kan je ook deze speciale "embedded" mega nemen. Ik ben zelf groot fan van deze oplossing.

Je soldeert de pinheaders dan aan de onderkant van de arduinio, en gebruikt dezelfde layout met female headers op je custom PCB. Het mooie is, wanneer er iets mis gaat, en je de arduino moet vervangen, je zo een nieuwe op de print kan klikken.

Misschien heb je verder nog wat externe componenten nodig voor je I/O zoals een MOSFET en een weerstandje voor een lampje, of en spanningsdeler voor een analoge ingang, maar zo kan je de PCB lekker simpel houden :)

Alle reacties


Acties:
  • 0 Henk 'm!

  • raze88
  • Registratie: September 2009
  • Laatst online: 10:14
Begin eerst eens te specificeren hoeveel inputs/outputs je wil. Misschien is hier wel een standaard bordje voor te vinden die die inputs ondersteunt. als dat zo is kun je een printje maken waar dat boardje op geprikt kan worden door middel van bijv headerpins.

Een bord van begin af aan opzetten zonder ervaring is een leuke uitdaging maar kan, afhankelijk van de eisen, best complex worden.

Zou je bijvoorbeeld ook met een raspberry of beaglebone uit de voeten kunnen? https://beagleboard.org/black

Acties:
  • 0 Henk 'm!

  • Shamone
  • Registratie: November 2012
  • Laatst online: 28-09 13:10
raze88 schreef op donderdag 10 oktober 2019 @ 16:01:
Begin eerst eens te specificeren hoeveel inputs/outputs je wil. Misschien is hier wel een standaard bordje voor te vinden die die inputs ondersteunt. als dat zo is kun je een printje maken waar dat boardje op geprikt kan worden door middel van bijv headerpins.

Een bord van begin af aan opzetten zonder ervaring is een leuke uitdaging maar kan, afhankelijk van de eisen, best complex worden.

Zou je bijvoorbeeld ook met een raspberry of beaglebone uit de voeten kunnen? https://beagleboard.org/black
Het zijn:
  • 12x button inputs
  • 2x 5V
  • 2x inputs voor een LED stick en LED display
  • 1x clock output
  • Alles ground
De software die ik gebruik tijdens het racen ondersteund alleen Arduino als ik mij niet vergis. Dit ga ik nog even na.

Acties:
  • +3 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 07:02

Damic

Tijd voor Jasmijn thee

Ik zou meestal een ander pcb maken waar je een arduino kunt op inprikken, scheelt er iets met de arduino kan je een andere programmeren en inprikken anders zal het zoldere nworden.

Extra in/outputs kun je toevoegen via de i2c bus zoek op: arduino io expander

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • Beste antwoord
  • +2 Henk 'm!

  • SuperKris
  • Registratie: Juni 2010
  • Laatst online: 16-09 18:00
Oei, dat zijn wel lastige vragen... Een atmega heeft in principe weinig extra nodig, maar wat je nodig hebt is afhankelijk van de applicatie. Een paar voorbeelden van externe componenten zoals deze op een bordje zitten:

- Een stabiele voeding (meestal een simpele lineaire regelaar) benodigd voor een breed spanninsbereik
- beveiligingen tegen verkeerd aansluiten of kortsluiting
- Condensatoren voor het stabiel houden van alle aansluitingen (ontkoppelen)
- Oscillator met kristal voor verbeterde klok/timing (heb je volgens mij ook wel echt nodig voor serial)
- 3V voeding die vaak handig is voor specifieke componenten
- usb-serieel interface
- etc.

Al deze zaken hebben verschillende componenten nodig die samen een taak uitvoeren. Dit is uiteraard nog even los van wat jij eventueel aan hardware wil toevoegen van componenten die jij wil aansluiten.

Mijn advies: Maak die PCB, maar gebruik een complete arduino als basis.

Bijvoorbeeld een nano. Dan heb je een compacte oplossing waarbij alle bovengenoemde zaken op één print zitten. Zo'n ding kost geen drol. Ik adviseer de arduinos van Robotdyn (eigen webshop of aliexpress). Deze hebben een wat zwaardere 3 en 5V voeding dan het gemiddelde spul waardoor je veel vanuit de USB aansluiting op de arduino kan voeden. Software aanpassen gaat natuurlijk helemaal makkelijk met de USB aansluiting.

Wil je meer I/O of geheugen kan je ook deze speciale "embedded" mega nemen. Ik ben zelf groot fan van deze oplossing.

Je soldeert de pinheaders dan aan de onderkant van de arduinio, en gebruikt dezelfde layout met female headers op je custom PCB. Het mooie is, wanneer er iets mis gaat, en je de arduino moet vervangen, je zo een nieuwe op de print kan klikken.

Misschien heb je verder nog wat externe componenten nodig voor je I/O zoals een MOSFET en een weerstandje voor een lampje, of en spanningsdeler voor een analoge ingang, maar zo kan je de PCB lekker simpel houden :)

Acties:
  • 0 Henk 'm!

Verwijderd

Als je zo’n i2c port extender gebruikt voor alle pinnen ben je met 2 draadjes + voeding klaar. Je kunt alle knopjes en ledjes dan aansturen. Denk dat het dan ook vrij eenvoudig op perfboard kan, hoef je dus geen PCB te ontwerpen en laten maken.

[ Voor 3% gewijzigd door Verwijderd op 10-10-2019 19:07 ]


Acties:
  • +1 Henk 'm!

  • jctjepkema
  • Registratie: Mei 2011
  • Laatst online: 29-09 12:52
ik denk dat je voor sim racing een programma gebruikt op de arduino wat al geschreven is? Want dan is het misschien best pittig om een i2c io expander te gebruiken.

De tip om een nano te gebruiken op het board kan ik adviseren. Ik heb vaak genoeg gehad dat de arduino door het een of ander toch kapot ging. En kunnen swappen bij dit soort doeleinden is dan toch wel chil. Als je de ruimte niet hebt in het stuur is dat natuurlijk wel te begrijpen.

Acties:
  • +1 Henk 'm!

  • _ferry_
  • Registratie: Januari 2002
  • Niet online

_ferry_

Moderator Tweaking

Nipple Tweaker

Met hierboven. Een Arduino nano prik je zo op je eigen bordje, en de normale kun je een bord bovenop prikken maar de posities van de pinheaders komen iets lastiger uit.

Acties:
  • 0 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 09:58

memphis

48k was toen meer dan genoeg.

En als een nano te hoog uitsteekt om je knoppen nog fatsoenlijk in een paneel te krijgen kan je de nano ook aan de onderkant van de print plaatsen.

Er zijn mensen die mij een GOD vinden


Acties:
  • +1 Henk 'm!

  • FireAge
  • Registratie: Augustus 2002
  • Laatst online: 07:36
Qua software zou je naar Kicad kunnen kijken om je PCB te routen. Een open source EDA.

Als het af is, kun je je bordje bestellen bij Eurocircuits. Als je het bord standaard houdt, is het daar erg goedkoop.

Acties:
  • +1 Henk 'm!

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
In de Arduino Nano form-factor heeft de PJRC Teensy 3.2 echt mijn voorkeur. Als je een beetje handig bent met een soldeerbout heeft die ook nog wat extra I/O op een SMD veldje op de onderkant, micro-USB, supergoede libraries en een snelle M4 MCU. Als je weinig ruimte hebt kun je ze ook zonder headers vlak op je dochter-PCB vastsolderen, maar dan gaan ze er niet zo eenvoudig meer af.

https://www.pjrc.com/teensy/pinout.html

(ja hij heeft ook nog de 3.6 voor nog meer I/O, maar die is vrij duur)

Acties:
  • 0 Henk 'm!

  • cowandchicken
  • Registratie: September 2018
  • Laatst online: 10-02 22:23
ik zou gewoon een pcb ontwerpen waar je de arduino pro micro zo op kan steken/solderen.
Die dingen zijn zo goedkoop, dat je aan losse componenten vaak 3 of 4x zoveel kwijt bent.
Dan is je pcb niet meer dan een plaat met wat connectoren die naar de arduino pinnen lopen.
Ik kan je wel helpen in Eagle. Heb het denk ik zo getekend voor je. Als je de aansluitingen van de arduino hebt

Acties:
  • 0 Henk 'm!

  • memphis
  • Registratie: Oktober 2000
  • Laatst online: 09:58

memphis

48k was toen meer dan genoeg.

Veel gedaan is de chip van de arduino uno verwerken in de schakeling. Deze processor zit in een simpele DIL behuizing en kan je zo in een voetje steken. Lege processors kosten geen drol, overal te bestellen en kan je via een UNO bordje voorzien van de bootloader.

Er zijn mensen die mij een GOD vinden


Acties:
  • 0 Henk 'm!

  • cowandchicken
  • Registratie: September 2018
  • Laatst online: 10-02 22:23
de arduino pro micro heeft een Mega32U4, die is er niet in DIP. de mega 328 wel.
Maar ik vermoed dat de TS de Mega32U4 gebruikt omdat di USB HID ondersteund wat voor een button box wel handig is om een joystick te emuleren op de pc.
Maar goed de footprint van het arduino pro micro printje is eigenlijk ook gewoon een groot IC.

Acties:
  • 0 Henk 'm!

  • Yucon
  • Registratie: December 2000
  • Laatst online: 11:50

Yucon

*broem*

Je hebt toch allerlei multiplexer bordjes, kun je die niet voor die extra buttons gebruiken? Eventueel in losse chipvariant die je alsnog op zo'n PCB kunt gebruiken.

[ Voor 28% gewijzigd door Yucon op 21-10-2019 07:39 ]


Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 29-09 11:59

SA007

Moderator Tweaking
Voor 12 knopjes heb je geen 12 inputs op je arduino nodig.
Met simpel multiplexen heb je aan 7 pinnen genoeg.

Dat scheelt al flink in je i/o die je nodig hebt.

Ik weet niet wat je led 'stick' en display nodig hebben, maar dat zal ook niet veel zijn, dan kom je prima weg met een pro micro ofzo welke je dan op je al bestaande bord prikt.
Pagina: 1