Elektronikpaket för CNC -> 3D-skrivare
Elektronikpaket för CNC -> 3D-skrivare
Jag har länge funderat på att göra ett tillägg till min CNC så att jag kan köra den som 3D-skrivare också. För detta har jag nu beställt en StepStruder MK7 från MakerBot. Det kanske inte är den billigaste extrudern (199 USD), men jag tror det är en av de bättre man kan köpa löst.
Jag är inte så sugen på att ändra en jäkla massa på fräsen och dra ett stort gäng nya kablar, så jag tänkte försöka sätta ihop ett kretskort med en d-sub-kontakt in med alla signaler och kraftmatning, och sedan kontakter ut för alla grejer som behövs ute vid extrudern. Fattar inte att det inte redan finns ett litet smidigt sånt kort som löser alla problemen att köpa. Eller har jag bara missat det?
De funktioner jag identifierat är:
1. Värmare för hotend (x2?)
2. Temperaturavläsning för typ K (x2?)
3. Stegmotordrivning (x2?)
4. Processor för temperaturreglering och övervakning
5. Spänningsgenerering för processor och annat digitalt på kortet
Eftersom jag har Granite Devices servomotorsystem på min fräs med deras BOB så tänkte jag göra den kompatibel med det interfacet. Det finns en axel över på BOB-en. Det innebär väl bara egentligen att det finns en enable-signal in till kortet och en error-signal tillbaka. Sedan kanske det är bra att se till att det går att köra utan dessa signaler. Via byglar tex.
Anledningen till "(x2?)" är tanken att tillåta körning av två extruders. Får se om jag implementerar det.
Jag tänkte använda stegmotordrivarchip från Allegro MicroSystems. De är billiga, step dir in, klarar 2,5A vilket borde duga för en extruder med stegmotor. Jag tror jag läst mig till att StepStrudern från MakerBot drar 850mA/lindning, var inte så lätt att hitta definitiv information. Den drivare jag tänkte använda har 8 mikrosteg, vilket kanske inte behövs på en stegmotordriven extruder? Men den kanske kan gå lite tystare/mjukare med dem? Jag tänkte hur som helst sätta på switchar för antal mikrosteg. "I fall att" så tänkte jag lägga in kontakt för att plocka ut step och dir om man av någon anledning vill köra extern motordrivning. En pot för ströminställning känns bra.
Trissan för värmare blir någon enkel MOSFET med TTL-styrning. Funkar ju fint med en N-kanalare på en sån här värmare, så det skall inte vara något problem.
När det kommer till temperaturavläsningen tänkte jag använda mig av någon av Maxims dyra men enkla chip. Det är väl MAX6675 eller nått många använder sig av? Den är dock NRND, så kanske MAX31855 istället (billigare också), fast då behöver man köra med 3V3 på prolle. Får se om alla andra komponenter stödjer det. Signalerna över kabeln behöver väl ändå vara optokopplade antar jag, så där kan man stödja 3V3 på kort-sidan. Borde inte vara så stort problem i övrigt att implementera mätningen om man följer design notes från tillverkaren och folks tips. Regleringen av temp förstår jag inte riktigt varför det inte skall räcka med vanlig P. Men med en processor på kortet kan man välja fritt efteråt om/när P inte fungerar.
Processorn blir säkert någon i Atmels AVR Megax8-serie. Mega88:an räcker helt klart i storlek, men jag får se vilket av dem jag har hemma.
Kortet i sig minimalt i storlek. Allt som går ytmonterat. Skruvplintar för kabelanslutningar på extrudersidan och som sagt en D-Sub för ingående data/kraft. Outline så att den passar bra att montera direkt på extrudern om det går.
Så till frågan hur man ställer in temperaturer på hot-end, eventuella reglerparametrar mm. Jag gillar inte riktigt display-grejen. Det blir för stort. Möjligen en kontakt för en display man kan sätta dit om man vill. Eller så får man helt enkelt koppla in datorn till den. Hur ofta gör man inställningar när man väl hittat parametrarna? Några knappar kan behövas. Det finns ju USART på mikroprocessorn, kanske finns det tåtar över i D-Suben att dra över dem, och så kan man ha ett litet progg gående på datorn där man läser av och ställer in.
Hur mycket kraft går åt? Är det 40W heater alla kör med, eller är det i minsta laget? 3.5A där. Fläkt hade jag tänkt ha, så några hundra mA till den också. Stegmotorn 2 x 2.5A, fast det är ju inte från 12V utan snarare runt 3-5V? Kan det gå 2A till stegmotordrivarna? 6A där. Och med dubbla extruders så är vi uppe i 12A. Nja, det lirar inge bra D-Subben. Jag tror jag går på att D-Subben matar tillräckligt för om jag kör en StepStruder från MakerBot. Så landar jag på 4-5A kanske. Och så kan man skruva in sladdar i en skruvplint för extra power. En finare D-Sub klarar väl 2A/stift. Kanske 4 stift matning, 4 jord, där matningarna är separerade i kablen så att elektroniken och fläkt får ett par, motordrivningen ett par och heatern två par. Step/Dir/Enable in/Error ut ger sammanlagt 12 poler, alltså en 15-polig D-Sub och tre kablar över för RX/TX/GND för kommunikation till PC. Alternativt RS485 för komm. Jag tror inte att jag har 5A över på mitt 12-voltsagg, så jag behöver ett nytt sånt. Borde få plats i någon av mina styrlådor.
Efter att jag skrivit texten ovan känns det som att ett kort per extruder duger bra, och det blir två kort om man vill köra två.
Finns det någon poäng i att ha alternativet att mikrocontrollern kan styra STEP/DIR in till motordrivaren? Om man har mikrocontrollern kopplad via seriekomm till datorn.
Värmeplatta kan man köra med samma kort fast med bara komponenter för värmestyrning/mätning monterade.
Något jag glömt, något feltänkt som behöver tänkas om?
Jag är inte så sugen på att ändra en jäkla massa på fräsen och dra ett stort gäng nya kablar, så jag tänkte försöka sätta ihop ett kretskort med en d-sub-kontakt in med alla signaler och kraftmatning, och sedan kontakter ut för alla grejer som behövs ute vid extrudern. Fattar inte att det inte redan finns ett litet smidigt sånt kort som löser alla problemen att köpa. Eller har jag bara missat det?
De funktioner jag identifierat är:
1. Värmare för hotend (x2?)
2. Temperaturavläsning för typ K (x2?)
3. Stegmotordrivning (x2?)
4. Processor för temperaturreglering och övervakning
5. Spänningsgenerering för processor och annat digitalt på kortet
Eftersom jag har Granite Devices servomotorsystem på min fräs med deras BOB så tänkte jag göra den kompatibel med det interfacet. Det finns en axel över på BOB-en. Det innebär väl bara egentligen att det finns en enable-signal in till kortet och en error-signal tillbaka. Sedan kanske det är bra att se till att det går att köra utan dessa signaler. Via byglar tex.
Anledningen till "(x2?)" är tanken att tillåta körning av två extruders. Får se om jag implementerar det.
Jag tänkte använda stegmotordrivarchip från Allegro MicroSystems. De är billiga, step dir in, klarar 2,5A vilket borde duga för en extruder med stegmotor. Jag tror jag läst mig till att StepStrudern från MakerBot drar 850mA/lindning, var inte så lätt att hitta definitiv information. Den drivare jag tänkte använda har 8 mikrosteg, vilket kanske inte behövs på en stegmotordriven extruder? Men den kanske kan gå lite tystare/mjukare med dem? Jag tänkte hur som helst sätta på switchar för antal mikrosteg. "I fall att" så tänkte jag lägga in kontakt för att plocka ut step och dir om man av någon anledning vill köra extern motordrivning. En pot för ströminställning känns bra.
Trissan för värmare blir någon enkel MOSFET med TTL-styrning. Funkar ju fint med en N-kanalare på en sån här värmare, så det skall inte vara något problem.
När det kommer till temperaturavläsningen tänkte jag använda mig av någon av Maxims dyra men enkla chip. Det är väl MAX6675 eller nått många använder sig av? Den är dock NRND, så kanske MAX31855 istället (billigare också), fast då behöver man köra med 3V3 på prolle. Får se om alla andra komponenter stödjer det. Signalerna över kabeln behöver väl ändå vara optokopplade antar jag, så där kan man stödja 3V3 på kort-sidan. Borde inte vara så stort problem i övrigt att implementera mätningen om man följer design notes från tillverkaren och folks tips. Regleringen av temp förstår jag inte riktigt varför det inte skall räcka med vanlig P. Men med en processor på kortet kan man välja fritt efteråt om/när P inte fungerar.
Processorn blir säkert någon i Atmels AVR Megax8-serie. Mega88:an räcker helt klart i storlek, men jag får se vilket av dem jag har hemma.
Kortet i sig minimalt i storlek. Allt som går ytmonterat. Skruvplintar för kabelanslutningar på extrudersidan och som sagt en D-Sub för ingående data/kraft. Outline så att den passar bra att montera direkt på extrudern om det går.
Så till frågan hur man ställer in temperaturer på hot-end, eventuella reglerparametrar mm. Jag gillar inte riktigt display-grejen. Det blir för stort. Möjligen en kontakt för en display man kan sätta dit om man vill. Eller så får man helt enkelt koppla in datorn till den. Hur ofta gör man inställningar när man väl hittat parametrarna? Några knappar kan behövas. Det finns ju USART på mikroprocessorn, kanske finns det tåtar över i D-Suben att dra över dem, och så kan man ha ett litet progg gående på datorn där man läser av och ställer in.
Hur mycket kraft går åt? Är det 40W heater alla kör med, eller är det i minsta laget? 3.5A där. Fläkt hade jag tänkt ha, så några hundra mA till den också. Stegmotorn 2 x 2.5A, fast det är ju inte från 12V utan snarare runt 3-5V? Kan det gå 2A till stegmotordrivarna? 6A där. Och med dubbla extruders så är vi uppe i 12A. Nja, det lirar inge bra D-Subben. Jag tror jag går på att D-Subben matar tillräckligt för om jag kör en StepStruder från MakerBot. Så landar jag på 4-5A kanske. Och så kan man skruva in sladdar i en skruvplint för extra power. En finare D-Sub klarar väl 2A/stift. Kanske 4 stift matning, 4 jord, där matningarna är separerade i kablen så att elektroniken och fläkt får ett par, motordrivningen ett par och heatern två par. Step/Dir/Enable in/Error ut ger sammanlagt 12 poler, alltså en 15-polig D-Sub och tre kablar över för RX/TX/GND för kommunikation till PC. Alternativt RS485 för komm. Jag tror inte att jag har 5A över på mitt 12-voltsagg, så jag behöver ett nytt sånt. Borde få plats i någon av mina styrlådor.
Efter att jag skrivit texten ovan känns det som att ett kort per extruder duger bra, och det blir två kort om man vill köra två.
Finns det någon poäng i att ha alternativet att mikrocontrollern kan styra STEP/DIR in till motordrivaren? Om man har mikrocontrollern kopplad via seriekomm till datorn.
Värmeplatta kan man köra med samma kort fast med bara komponenter för värmestyrning/mätning monterade.
Något jag glömt, något feltänkt som behöver tänkas om?
Re: Elektronikpaket för CNC -> 3D-skrivare
Stegmotorer brukar man ju köra på typ 10-20 x märkspänning. Visserligen är det väl inte så bråttom i en extruder, men mer än 5V vill du nog driva med.
Re: Elektronikpaket för CNC -> 3D-skrivare
Jo jo, den skall ju drivas med 12V. Med 5V menade jag den spänning som lindningen landar på när det går märkström genom lindningen. 10-20 x märkspänning verkligen? Det betyder ju 30-60V för minsta 3V-motor. Tror det var 36V som var max för motordrivaren.
Spänningen behövs ju för att snabbt kunna driva in ström i induktansen i spolen. Dubbla spänningen, halva tiden. Så ju högre spänning desto snabbare motor. Men hur mycket högre spänning man brukar/måste köra har jag inte koll på. Är det inte så att microstepping hjälper lite?
Spänningen behövs ju för att snabbt kunna driva in ström i induktansen i spolen. Dubbla spänningen, halva tiden. Så ju högre spänning desto snabbare motor. Men hur mycket högre spänning man brukar/måste köra har jag inte koll på. Är det inte så att microstepping hjälper lite?
- tecno
- Inlägg: 27244
- Blev medlem: 6 september 2004, 17:34:45
- Skype: tecnobs
- Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
- Kontakt:
Re: Elektronikpaket för CNC -> 3D-skrivare
Ja då hänger du på så mycket du kan upp til max - några volt för BEMF så en drivare med max 36VDC på typskylten så tar du ett 32-33VDC aggregat som klarar av strömmarna.Tror det var 36V som var max för motordrivaren.
Re: Elektronikpaket för CNC -> 3D-skrivare
Ah, nu kom jag på varför jag blev tveksam till att jag behöver mer än 12 volt. MakerBot kör ju den här på ett datornätagg som ger max 12V ut. Så jag hade tänkt tidigare att jag bara behöver ha 12V till den. Men jag skall efter era tips testa först med labbagg för att se vad som funkar och inte.
Sedan om jag drar matningen till stegmotordrivaren separat som jag beskrev ovan så kan man välja separat spänning till den som man vill.
Sedan om jag drar matningen till stegmotordrivaren separat som jag beskrev ovan så kan man välja separat spänning till den som man vill.
Re: Elektronikpaket för CNC -> 3D-skrivare
Någon som har bra tips på hålmonterade skruvplintar. Enklast här kanske om de har 2,54-delning så man man sätta dit billiga stiftlister om man vill, löda in kablar direkt, eller sätta dit de här skruvplintarna. Användningen är till motorer, temp-givare, värmare (kanske behövs större till den?), fläkt, extra kraft input.
Re: Elektronikpaket för CNC -> 3D-skrivare
tecno: De hade ingen 2.54, minsta var 3.5.
Kanske de här funkar: https://www.elfa.se/elfa3~se_sv/elfa/in ... &toc=19604
De är lite dyra, men å andra sidan om jag avpassar korten för de här så går det att använda vilken list som helst med 2.54-delning. De klarar 6A också, vilket borde vara tillräckligt för allt.
Men jag mottager gärna tips om billigare, kanske behövs det någon anpassning, och så länge layout inte är klar så går det ju lätt att ändra.
Kanske de här funkar: https://www.elfa.se/elfa3~se_sv/elfa/in ... &toc=19604
De är lite dyra, men å andra sidan om jag avpassar korten för de här så går det att använda vilken list som helst med 2.54-delning. De klarar 6A också, vilket borde vara tillräckligt för allt.
Men jag mottager gärna tips om billigare, kanske behövs det någon anpassning, och så länge layout inte är klar så går det ju lätt att ändra.
Re: Elektronikpaket för CNC -> 3D-skrivare
Vad jag kan se på deras hemsida så är det minsta de har 5mm rastermått.
Re: Elektronikpaket för CNC -> 3D-skrivare
Se där ja fanns det. Och till typ 2,5:- istället för 5:- per pol. Det är helt ok pris. Tackar Jonaz!
Re: Elektronikpaket för CNC -> 3D-skrivare
Lite ändringar från beskrivningen ovan.
Jag var som sagt lite anti en display på kortet. Så eftersom jag gör så att det går att snacka seriellt med PC:n över interfacekontakten så tänkte jag att jag kan lika gärna ha ett program som går där, som man kan sätta upp motordrivningen med. Som att välja antal mikrosteg och känna av enable/home mm från motordrivare och för att sätta upp temperaturregleringen. Sedan har jag lagt in en kontakt så man kan tillfälligt ansluta en dator till mikrokontrollen också.
Det hade ju varit snyggt om man kunde sätta lindningsströmmen från det interfacet också. Men jag vette fasen om jag vågar köra filtrerad PWM på strömmenreferensen. Är jag för feg? Borde inte vara komplicerat? 1u, 10k blir ju typ 100Hz på filtret, och man kan ju köra 10-30kHz på PWM:en. Börjar dock ha lite tight om pinnar på prollen. Bäst hade varit att kunna PWM:a alla analoga styrningar på kortet så att jag slipper alla POT:ar. Har någon koll på hur ofta man håller på och trimmar in RC1 och RC2 (bridge fixed off-time) på Allegros stegmotordrivare A3977? Det är visst samma chip som MakerBot valt att köra med på sina stegmotordrivare. Det går ju att sätta dem med bara resistor och konding också så slipper man de två POT:arna. Men det finns ett visst motorberoende som jag förstått det.
Sedan tar jag nog bort kristallen på processorn. Det begränsar kommunikationshastigheten till 38400 bits/s, men det behövs ju ingen hastighet för konfiguration.
Optokopplare på interface-signaler? Det är nog en bra idé. Iaf inte signaler från kabeln rakt in i prollen.
Schemat är lite grötigt med allt på bara en A4.
Jag var som sagt lite anti en display på kortet. Så eftersom jag gör så att det går att snacka seriellt med PC:n över interfacekontakten så tänkte jag att jag kan lika gärna ha ett program som går där, som man kan sätta upp motordrivningen med. Som att välja antal mikrosteg och känna av enable/home mm från motordrivare och för att sätta upp temperaturregleringen. Sedan har jag lagt in en kontakt så man kan tillfälligt ansluta en dator till mikrokontrollen också.
Det hade ju varit snyggt om man kunde sätta lindningsströmmen från det interfacet också. Men jag vette fasen om jag vågar köra filtrerad PWM på strömmenreferensen. Är jag för feg? Borde inte vara komplicerat? 1u, 10k blir ju typ 100Hz på filtret, och man kan ju köra 10-30kHz på PWM:en. Börjar dock ha lite tight om pinnar på prollen. Bäst hade varit att kunna PWM:a alla analoga styrningar på kortet så att jag slipper alla POT:ar. Har någon koll på hur ofta man håller på och trimmar in RC1 och RC2 (bridge fixed off-time) på Allegros stegmotordrivare A3977? Det är visst samma chip som MakerBot valt att köra med på sina stegmotordrivare. Det går ju att sätta dem med bara resistor och konding också så slipper man de två POT:arna. Men det finns ett visst motorberoende som jag förstått det.
Sedan tar jag nog bort kristallen på processorn. Det begränsar kommunikationshastigheten till 38400 bits/s, men det behövs ju ingen hastighet för konfiguration.
Optokopplare på interface-signaler? Det är nog en bra idé. Iaf inte signaler från kabeln rakt in i prollen.
Schemat är lite grötigt med allt på bara en A4.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Elektronikpaket för CNC -> 3D-skrivare
Lite uppdatering. Jag lade till optokopplare för STEP, DIR och ENABLE in. Tog bort E_STOP eftersom jag inte riktigt ser behovet. Tog bort kristallen. Bygel för "always enable" och kontakt för extern motordrivare. Har separerat jordarna för att lättare kunna göra ett stjärnsystem. Men jag vette fasen om jag inte ångrar mig lite. Jordarna är ihopkopplade på kortet vilket behövs för kommunikation mellan komponenterna. Men jag har ändå separata ledare i kabeln. Kopplar man inte in rätt i andra änden så kan det bli problem när returströmmarna börjar gå på fel ställen. Kanske skall behålla interna jordarna på komponenterna (motordrivaren och Heater Control) men låta dem gå ihop innan kontakten. Optokopplarna kan ju ha sitt helt separata system.
Några kommentarer innan jag börjar layouta?
Några kommentarer innan jag börjar layouta?
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Elektronikpaket för CNC -> 3D-skrivare
Kortet verkar bli ungefär 55mm x 51mm. Får se när jag får extrudern om det är någon annan dimension som är bättre. Men skall D-subben sitta på ena sidan och skruvplintarna på en sida direkt intill det och det skall finnas skruvhål i alla hörnen så är det minst den dimensionen som blir. Vill helst inte ha kontakter spridda över hela kortet i onödan. I övrigt så verkar komponenterna få plats bra.
Lägger kontakterna på ena sidan och SMD på andra så får man plats med bra silk för beskrivning av vad alla kontakter är.
Blev några ändringar i schemat också, hittat någon bugg och gjorde någon liten förbättring. Tex så satte jag ihop jordarna vid D-subben igen för att minimera problematik runt det.
Lägger kontakterna på ena sidan och SMD på andra så får man plats med bra silk för beskrivning av vad alla kontakter är.
Blev några ändringar i schemat också, hittat någon bugg och gjorde någon liten förbättring. Tex så satte jag ihop jordarna vid D-subben igen för att minimera problematik runt det.